发明名称 一种基于安全芯片的可信移动存储方法
摘要 一种基于安全芯片的可信移动存储方法属于信息安全技术领域。其特征在于:其功能实体包括可信第三方、可信移动存储设备、可信用户主机;所述各功能实体均内置安全芯片;所述可信第三方由内置安全芯片的第三方服务器,或内嵌安全芯片的安全计算机担任;所述的可信移动存储设备是内嵌安全芯片且能够存储数据,并能够与可信用户主机交互数据的可移动装置;所述的可信用户主机,是内嵌安全芯片的计算机,是可信移动存储设备的访问主体。本发明提供了一种基于安全芯片的可信移动存储方法。
申请公布号 CN102427449B 申请公布日期 2014.04.09
申请号 CN201110346200.9 申请日期 2011.11.04
申请人 北京工业大学 发明人 王冠;李天亮;周珺;李健
分类号 H04L29/06(2006.01)I;H04L29/08(2006.01)I;H04L9/32(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 刘萍
主权项 一种基于安全芯片的可信移动存储方法,其特征在于:其功能实体包括可信第三方、可信移动存储设备、可信用户主机;所述各功能实体均内置安全芯片;所述可信第三方由内置安全芯片的第三方服务器,或内嵌安全芯片的安全计算机担任;所述的可信移动存储设备是内嵌安全芯片且能够存储数据,并能够与可信用户主机交互数据的可移动装置;所述的可信用户主机,是内嵌安全芯片的计算机,是可信移动存储设备的访问主体;所述的安全芯片内部结构至少包括控制与执行部件、易失性存储部件、非易失性存储部件、非对称密码算法引擎部件、对称密码算法引擎部件、哈希算法引擎部件、随机数生成部件、I/O接口部件;安全芯片内部包含表征芯片唯一性的EK密钥对,所述EK密钥对为非对称密钥,包括EK公钥和EK私钥;所述EK公钥是EK证书的一部分,在安全芯片出厂发行时随EK证书下发至安全芯片,所述EK私钥在安全芯片出厂发行时注入安全芯片内部,所述EK私钥受到安全芯片保护;与所述EK证书在出厂发行时一同下发至安全芯片的还有发行证书,所述发行证书内容至少包括安全芯片的设备唯一序列号;所述的基于安全芯片的可信移动存储方法,其特征在于:至少包括可信域建立、可信域成员的认证与添加、可信域成员之间的双向身份认证、可信域成员之间的数据交互;所述的可信域是一个逻辑集合,可信域成员是经过可信第三方认证与授权的可信用户主机、可信移动存储设备,只有属于同一可信域的可信域成员之间允许交互数据;1)可信域建立的步骤如下,其中的安全芯片均是指可信第三方的安全芯片:a1)可信第三方的安全芯片的设备唯一序列号,与安全芯片的随机数生成部件产生的随机数一同,经过安全芯片的哈希算法引擎部件处理,生成可信第三方唯一标识信息,由安全芯片的非对称密码算法引擎部件加密保护;a2)可信第三方的安全芯片的非对称密码算法引擎部件生成非对称密钥对,作为可信第三方根密钥;所述可信第三方根密钥包括公钥和私钥,所述可信第三方根密钥作为可信第三方认证授权信息,由安全芯片的非对称密码算法引擎部件加密保护;a3)可信第三方由安全芯片的随机数生成部件产生用于生成可信域唯一标识信息的随机数,所述用于生成可信域唯一标识信息的随机数经过安全芯片的 哈希算法引擎部件处理,生成可信域唯一标识信息,所述可信域唯一标识信息由安全芯片的对称密码算法引擎部件加密保护;a4)可信第三方生成可信第三方根证书,所述可信第三方根证书至少包括可信第三方标识字段、可信第三方公钥字段、可信第三方根证书序列号字段、可信第三方根证书有效期字段、可信第三方自签名字段;所述可信第三方标识字段填充如a1)所述的可信第三方唯一标识信息,所述可信第三方公钥字段,填充如a2)所述的可信第三方根密钥的公钥,所述可信第三方根证书序列号字段填充可信第三方为可信第三方根证书产生的序列号,所述可信第三方根证书有效期字段填充由可信第三方设定的可信第三方根证书有效期,所述可信第三方自签名字段,填充安全芯片的哈希算法引擎部件和非对称密码算法引擎部件使用可信第三方根密钥的私钥,对所述可信第三方根证书的可信第三方标识字段、可信第三方公钥字段、可信第三方根证书序列号字段、可信第三方根证书有效期字段的数字签名;所述的可信第三方根证书,由安全芯片的对称密码算法引擎部件加密保护;a5)可信第三方将可信域唯一标识信息存储于可信域数据库中相应的可信域记录中;所述的可信域数据库是可信第三方的功能模块,用于按记录存储可信域信息,所述可信域信息至少包括可信域唯一标识信息、可信域成员的安全芯片的设备唯一序列号、EK证书、发行证书;所述可信域数据库的内容存取时由安全芯片的非对称密码算法引擎部件或对称密码算法引擎部件加密解密;2)可信域成员的认证与添加步骤如下:b1)可信移动存储设备或可信用户主机的安全芯片的非对称密码算法引擎部件产生非对称的身份密钥对和加密密钥对;所述的身份密钥对包括身份公钥和身份私钥,所述身份密钥对作为所述的可信移动存储设备或可信用户主机的身份唯一标识信息,由可信移动存储设备或可信用户主机的安全芯片的非对称密码算法引擎部件加密保护;所述加密密钥对作为所述的可信移动存储设备或可信用户主机的加密密钥,加密密钥包括公钥和私钥,所述的加密密钥由可信移动存储设备或可信用户主机的安全芯片的非对称密码算法引擎部件加密保护;b2)如b1)所述的可信移动存储设备或可信用户主机,提交身份唯一标识信息 的身份公钥、加密密钥的公钥以及可信移动存储设备或可信用户主机的安全芯片的EK证书和发行证书,向可信第三方发起请求;所述EK证书至少包含EK公钥;b3)可信第三方审核并验证如b2)所述可信移动存储设备或可信用户主机提交的安全芯片的EK证书和发行证书,若通过验证则可信第三方为发出申请的可信移动存储设备或可信用户主机生成可信域成员认证证书,否则终止可信域成员的认证与添加;所述的可信域成员认证证书至少包括证书主体标识字段、证书主体身份公钥字段、证书主体加密公钥字段、可信域标识字段、可信第三方标识字段、证书序列号字段、证书有效期字段、可信第三方认证签名字段;所述的证书主体标识字段填充所述可信移动存储设备或可信用户主机的安全芯片的发行证书中的设备唯一序列号,所述的证书主体身份公钥字段填充所述可信移动存储设备或可信用户主机的身份唯一标识信息的身份公钥,所述的证书主体加密公钥字段填充所述可信移动存储设备或可信用户主机的加密密钥的公钥,所述的可信域标识字段,填充由可信域数据库中读取的可信域唯一标识信息,所述的可信第三方标识字段,填充可信第三方唯一标识信息,所述的证书序列号字段填充可信第三方产生的认证证书序列号,所述的证书有效期字段填充由可信第三方设定的可信域成员认证证书的有效期,所述的可信第三方认证签名字段,填充由可信第三方的安全芯片的非对称密码算法引擎部件使用可信第三方认证授权信息的私钥,对所述的可信域成员认证证书的证书主体标识字段、证书主体身份公钥字段、证书主体加密公钥字段、可信域标识字段、可信第三方标识字段、证书序列号字段、证书有效期字段经可信第三方的安全芯片的哈希算法引擎部件运算的结果的数字签名值;所述的可信域成员认证证书和可信第三方根证书,由可信第三方的安全芯片的非对称密码算法引擎部件加密后下发至如b2)所述的发起请求的可信移动存储设备或可信用户主机,加密使用的密钥为b2)所述的可信移动存储设备或可信用户主机提交的安全芯片EK证书中的EK公钥;b4)可信第三方将所述的可信移动存储设备或可信用户主机的安全芯片的设备唯一序列号、EK证书、发行证书以及如b3)所述生成的可信域成员认证证书存储到可信域数据库中对应的可信域记录中,所述的可信移动存储设备或可信用户主机成为可信域成员;b5)如b1)所述的可信移动存储设备或可信用户主机的安全芯片的非对称密码 算法引擎部件,使用可信移动存储设备或可信用户主机的安全芯片的EK私钥,解密收到的可信第三方签发并加密的可信域成员认证证书和可信第三方根证书;可信移动存储设备或可信用户主机的安全芯片的对称密码算法引擎部件加密存储可信域成员认证证书和可信第三方根证书;3)可信域成员之间交互数据之前,双方必须经过双向身份认证,确认通信对方属于同一可信域,双向身份认证的具体步骤如下:c1)可信移动存储设备连接到可信用户主机,双方交换各自的可信域成员认证证书;c2)可信移动存储设备和可信用户主机双方首先读取对方可信域成员认证证书各字段内容,获取对方的可信第三方认证签名、可信域成员认证证书的有效期、可信域唯一标识信息、可信第三方唯一标识信息、安全芯片的设备唯一序列号、身份唯一标识信息的身份公钥、加密密钥的公钥;然后双方由各自的可信第三方根证书中提取可信第三方根密钥的公钥,双方各自的安全芯片的非对称密码算法引擎部件和哈希算法引擎部件使用所述的提取的可信第三方根密钥的公钥验证对方的可信第三方认证签名,确认对方的可信域成员认证证书由可信第三方签发且完整而未被篡改;之后双方验证对方的可信域成员认证证书的有效期,若在有效期内则继续下一步,否则终止双向身份认证;最后双方比较对方和自己的可信域唯一标识信息与可信第三方唯一标识信息,确认是否一致,若一致则继续下一步,否则终止双向身份认证;c3)可信移动存储设备的安全芯片的随机数生成部件产生设备端随机数R1,与如c2)所述获取的可信用户主机的安全芯片的设备唯一序列号、可信域唯一标识信息、可信第三方唯一标识信息一起构成验证信息1;可信移动存储设备的安全芯片的哈希算法引擎部件对验证信息1进行哈希计算,所述哈希计算的结果由可信移动存储设备的安全芯片的非对称密码算法引擎部件使用可信移动存储设备的身份唯一标识信息的身份私钥进行数字签名,得到身份签名1,所述身份签名1与所述的验证信息1一起构成身份验证消息1;然后可信移动存储设备的安全芯片的对称密码算法引擎部件随机地产生会话密钥1,并使用会话密钥1加密身份验证消息1产生消息密文1;之后,可信移动存储设备的安全芯片的非对称密码算法引擎部件使用如c2)所述获取的可信用户主机的加密密钥的公钥加密会话密钥1,所述加密后的会话密钥1与所述的消息 密文1一起,发送至可信用户主机;c4)可信用户主机的安全芯片的非对称密码算法引擎部件使用可信用户主机自身的加密密钥的私钥,解密收到的已加密的会话密钥1,可信用户主机的安全芯片的对称密码算法引擎部件使用会话密钥1解密如c3)所述的消息密文1,得到身份验证消息1;然后可信用户主机的安全芯片的哈希算法引擎部件对身份验证消息1中的验证信息1进行哈希运算,可信用户主机的安全芯片的非对称密码算法引擎部件使用如c2)所述获取的可信移动存储设备的身份唯一标识信息的身份公钥,与所述的验证信息1的哈希运算的结果一起,对所述身份验证消息1中的身份签名1进行签名验证,若验证成功则继续,否则终止双向身份认证;之后,可信用户主机由身份验证消息1中的验证信息1获取设备端随机数R1’,并提取安全芯片的设备唯一序列号、可信域唯一标识信息、可信第三方唯一标识信息,与可信用户主机自身的安全芯片的设备唯一序列号、可信域唯一标识信息、可信第三方唯一标识信息分别进行比较,若全部一致,则继续,否则终止双向身份认证;c5)可信用户主机的安全芯片产生主机端随机数R2,与收到的设备端随机数R1’、如c2)所述获取的可信移动存储设备的安全芯片的设备唯一序列号、可信域唯一标识信息、可信第三方唯一标识信息一起构成验证信息2;可信用户主机的安全芯片的哈希算法引擎部件对验证信息2进行哈希计算,所述哈希计算的结果由可信用户主机的安全芯片的非对称密码算法引擎部件使用可信用户主机的身份唯一标识信息的身份私钥进行数字签名,得到身份签名2,所述身份签名2与所述的验证信息2一起构成身份验证消息2;然后可信用户主机的安全芯片的对称密码算法引擎部件随机地产生会话密钥2,并使用会话密钥2加密身份验证消息2产生消息密文2;之后,可信用户主机的安全芯片的非对称密码算法引擎部件使用如c2)所述获取的可信移动存储设备的加密密钥的公钥加密会话密钥2,所述加密后的会话密钥2与所述的消息密文2一起,发送至可信移动存储设备;c6)可信移动存储设备的安全芯片的非对称密码算法引擎部件使用可信移动存储设备自身的加密密钥的私钥,解密收到的已加密的会话密钥2,可信移动存储设备的安全芯片的对称密码算法引擎部件使用会话密钥2解密如c5)所述的消息密文2,得到身份验证消息2;然后可信移动存储设备的安全芯片的哈希算法引擎部件对身份验证消息2中的验证信息2进行哈希运算,可信移动 存储设备的安全芯片的非对称密码算法引擎部件使用可信用户主机的身份唯一标识信息的身份公钥,与所述的验证信息2的哈希运算的结果一起,对所述身份验证消息2中的身份签名2进行签名验证,若验证成功则继续,否则终止双向身份认证;之后,可信移动存储设备由身份验证消息2中的验证信息2获取设备端随机数R1”、安全芯片的设备唯一序列号、可信域唯一标识信息、可信第三方唯一标识信息,与设备端随机数R1、可信移动存储设备自身的安全芯片的设备唯一序列号、可信域唯一标识信息、可信第三方唯一标识信息分别进行比较,若全部一致,则继续,否则终止双向身份认证;c7)可信移动存储设备由身份验证消息2中的验证信息2获取主机端随机数R2’,将获取的主机端随机数R2’与可信用户主机的安全芯片的设备唯一序列号、可信域唯一标识信息、可信第三方唯一标识信息一起构成验证信息3;可信移动存储设备的安全芯片的哈希算法引擎部件对验证信息3进行哈希计算,所述哈希计算的结果由可信移动存储设备的安全芯片的非对称密码算法引擎部件使用可信移动存储设备的身份唯一标识信息的身份私钥进行数字签名,得到身份签名3,所述身份签名3与所述的验证信息3一起构成身份验证消息3;然后可信移动存储设备的安全芯片的对称密码算法引擎部件随机地产生会话密钥3,并使用会话密钥3加密身份验证消息3产生消息密文3;之后,可信移动存储设备的安全芯片的非对称密码算法引擎部件使用如c2)所述获取的可信用户主机的加密密钥的公钥加密会话密钥3,所述加密后的会话密钥3与所述的消息密文3一起,发送至可信用户主机;c8)可信用户主机的安全芯片的非对称密码算法引擎部件使用可信用户主机自身的加密密钥的私钥,解密收到的已加密的会话密钥3,可信用户主机的安全芯片的对称密码算法引擎部件使用会话密钥3解密如c7)所述的消息密文3,得到身份验证消息3;然后可信用户主机的安全芯片的哈希算法引擎部件对身份验证消息3中的验证信息3进行哈希运算,可信用户主机的安全芯片的非对称密码算法引擎部件使用如2)所述获取的可信移动存储设备的身份唯一标识信息的身份公钥,与所述的验证信息3的哈希运算的结果一起,对所述身份验证消息3中的身份签名3进行签名验证,若验证成功则继续,否则终止双向身份认证;之后,可信用户主机由身份验证消息3中的验证信息3提取主机端随机数R2”、安全芯片的设备唯一序列号、可信域唯一标识信息、可信第三方唯一标识信息,与主机端随机数R2、可信用户主机自身的安全芯片 的设备唯一序列号、可信域唯一标识信息、可信第三方唯一标识信息分别进行比较,若全部一致,则双向身份认证成功完成,否则终止双向身份认证;4)可信域成员之间完成所述的双向身份认证后,双方可以进行正常的数据交互,可信用户主机向可信移动存储设备传输数据的具体步骤如下:d1)可信用户主机的安全芯片的对称密码算法引擎部件随机地产生数据会话密钥1,并由数据会话密钥1对需要传输的数据1加密,生成加密数据1;可信用户主机的安全芯片的非对称密码算法引擎部件使用可信移动存储设备的加密密钥的公钥,对数据会话密钥1加密后,与加密数据1一起发送至可信移动存储设备;d2)可信移动存储设备的安全芯片的非对称密码算法引擎部件,使用可信移动存储设备的加密密钥的私钥解密对方发送的加密后的数据会话密钥1;可信移动存储设备的安全芯片的对称密码算法引擎部件使用数据会话密钥1解密加密数据1,得到数据明文1;d3)可信移动存储设备的安全芯片的对称密码算法引擎部件,将数据明文1加密后存储;可信移动存储设备向可信用户主机传输数据的具体步骤如下:e1)可信移动存储设备的安全芯片的对称密码算法引擎部件随机地产生数据会话密钥2,并由数据会话密钥2对需要传输的数据2加密,生成加密数据2;可信移动存储设备的安全芯片的非对称密码算法引擎部件使用可信用户主机的加密密钥的公钥,对数据会话密钥2加密后,与加密数据2一起发送至可信用户主机;e2)可信用户主机的安全芯片的非对称密码算法引擎部件,使用可信用户主机的加密密钥的私钥解密对方发送的加密后的数据会话密钥2;可信用户主机的安全芯片的对称密码算法引擎部件使用数据会话密钥2解密加密数据2,得到数据明文2;e3)可信用户主机的安全芯片的对称密码算法引擎部件,将数据明文2加密后存储。
地址 100124 北京市朝阳区平乐园100号