1.有可靠的硬件基础,不可复制、抵御攻击都靠硬件的安全来完成。
2.支持代码移植功能。简单来说,就是把最重要的代码从软件中挖出并移植到Ukey内部,这些移植代码不会在计算机中留有任何痕迹。也就是软件运行在计算机和Ukey中,保证了软件的安全性。
3.目前只能提供64k的安全存储空间。所以说,把文件全部传输过来在加密的思路是不可行的,只能分块加密,这就要求两遍功能协调配合好。
4.内部有三种文件,可执行文件、数据文件和密钥文件,都不可能直接从硬件读出。
5.关于内置信息。设备序列号,每个设备都不同,不可更改;开发商编号,各个软件开发商不同,不可更改;开发商PIN码,开发商自己设定,可以更改(这样的话,就可以改成user-key+序列号);用户PIN码,开发商自己设定,可以更改。
6.内部代码使用的语言必须是标准的C语言。
7.通讯缓冲区。计算机和Ukey互相传送的数据都保存在缓冲区中,但是缓冲区大小不超过250字节。所以在编程的时候要很精细设计。
8.在VM模式下,内部RAM256字节RAM2K字节,需要标注要把变量存在哪里;在XA模式下,没有内部RAM和外部RAM之分。XA模式对于Ukey的版本要求高,但是效率比VM高。
目前大概就搞清楚这些事情,从Ukey的特点来看,我们的方案是可以实行的。