一种数据封装方法及装置的制造方法_2

文档序号:9787731阅读:来源:国知局
元,用于在数据存储区划定两个独立区域。
[0079]数据分析单元,用于对数据类型进行分析分类。
[0080]更具体的,所述数据分成逻辑处理数据和信息数据,逻辑处理数据包括:所有指令分发流程、用于交易或者运算的数据拼接和外设响应装置,信息数据包括:文件系统、秘钥管理系统和安全算法内核部分。
[0081 ] 更具体的,所述外设响应装置:包括按键响应处理和屏幕显示处理,以及超时处理机制等;
[0082]所述文件系统包括:文件系统创建,文件写入,文件读取以及文件访问权限管理等;
[0083]所述秘钥管理系统包括:秘钥生成,秘钥写入,秘钥读取,秘钥更新,秘钥生命周期管理,秘钥状态管理等;
[0084]所述安全算法内核部分包括:Key或者SE所使用的安全算法实施等。
[0085]存储单元,将属于安全数据的存储于安全数据存储区,将属于逻辑处理数据的存储于逻辑处理数据存储区,并对存储的数据增加CRC校验码。
[0086]更具体的,在数据存储区划定一页的存储空间,命名为信息数据存储区,当存入数据大于该页的时候,再划定一页的存储空间供其使用,并记录其起始地址,在存储区预留前6位字节作为下一块地址信息和长度信息,在从第7位开始,划定一块区域为CRC校验码区域,此区域大小等于CRC校验码长度;在数据存储区划定另一页的存储空间,命名为逻辑处理数据存储区当存入数据大于该页的时候,再划定一页的存储空间供其使用,并记录其起始地址,在存储区预留前6位字节作为地址信息和长度信息,在从第7位开始,划定一块区域为CRC校验码区域,此区域大小等于CRC校验码长度。
[0087]更具体的,将安全数据存入安全数据存储区时,由于安全数据是分块处理的,在前3位记录文件存储后下一个空块地址,在前3到6位地址记录文件长度,每次存储时,读取前一块的空块地址,将数据存储在空块中。同样的,将逻辑处理数据存入逻辑处理数据存储区时,由于安全数据是分块处理的,在前3位记录文件存储后下一个空块地址,在前3到6位地址记录文件长度,每次存储时,读取前一块的空块地址,将数据存储在空块中。
[0088]更具体的,将新生成的CRC校验码存储到存储区预留的CRC效验码区中,在数据封装的过程中用CRC校验码进行封装数据的检测。
[0089]数据封装模块303,用于将数据封装在模块中。
[0090]包括接收数据封装指令请求,调用存储区中等待封装的数据,并确认需要封装数据的完整性,按封装算法分别对安全数据和逻辑处理数据进行封装,并验证数据封装是否执行成功。
[0091 ]更具体的,如图5所示,所述数据封装模块303包括:
[0092]数据接收单元501,用于接收数据封装指令请求。
[0093]数据调用单元502,用于调用存储区中等待封装的数据。
[0094]更具体的,调用的整个数据包为CRC校验码加文件数据。
[0095]数据分析单元503,用于确认需要封装数据的完整性。
[0096]更具体的,验证数据完整性首先将调取整个数据包,存储区对文件包先进行CRC校验运算,得到的数据存储在文件包的末端得到新的文件包,新的文件包应为CRC校验码加文件数据最后还有验算数据,封装模块对新文件包中的CRC效验码加文件数据进行CRC校验运算,若得到同样的验算数据,则说明数据没有丢失,否则认为数据异常,需要重新将数据进行存储。
[0097]数据封装单元504,用于按封装算法分别对安全数据和逻辑处理数据进行封装。
[0098]更具体的,所述封装算法与所述存储区存储的数据一致,若通过数据完整性验证的数据包即可以通过封装算法进行分级封装,并将封装好的数据映射到安全数据模块和逻辑处理模块中。
[0099]校验单元505,用于验证数据封装是否执行成功。
[0100]更具体的,对封装好的数据进行解析,得到可见的明文数据,将数据和存储区的数据进行比对,比对完全一致则认为数据封装完成。若比对失败则重新调用封装指令,重新进行安全数据和逻辑处理数据的封装。
[0101]更具体的,安全数据的封装与逻辑处理数据的封装可以分开执行,单独验证,若安全数据封装验证失败则只对安全数据进行重新封装,若逻辑处理数据封装失败则只对逻辑处理数据进行重新封装。
[0102]更具体的,验证数据封装时,对其进行计数,如果计数次数达到5次,则验证完成,不再执行步骤S302,退出封装方法,并向用户进行告警。
[0103]安全通信模块304,用于在模块间建立安全通道。
[0104]包括接收数据封装指令请求,调用存储区中等待封装的数据,并确认需要封装数据的完整性,按封装算法分别对安全数据和逻辑处理数据进行封装,并验证数据封装是否执行成功。
[0105]更具体的,如图6所示,所述安全通信模块304包括
[0106]通信单元601,用于逻辑处理模块通过底层与安全数据模块进行双向通信。
[0107]加密单元602,用于逻辑处理模块生成一个信息钥匙对,并用公钥加密信息钥匙对。
[0108]更具体的,所述信息钥匙对由随机数发生器生成,可以是任意随机数。本实施例中的随机数为8位二进制随机数。
[0109]更具体的,所述公钥将8位二进制随机数进行异或运算,得到加密的信息钥匙对。
[0110]解密单元603,用于安全数据模块用公钥进行解密得到信息钥匙对。
[0111]基于上述数据封装装置,本申请还提出一种数据封装方法,如图7所示,包括:
[0112]步骤S1:建立数据模块和逻辑处理模块。
[0113]具体的,在Applet中分别建立数据模块和逻辑处理模块,是两个独立模块,使得在逻辑处理模块被攻破时,可以通过数据模块的本身自毁功能清除敏感数据,确保安全;若数据模块被攻破,则也可采取同样措施,通过逻辑处理模块对数据模块数据进行自毁。
[0114]更具体的,所述自毁功能为先将手机盾进行临时锁定,确认是否被入侵,如果入侵则将手机盾永久锁定,并将手机盾数据模块中的数据全部删除。
[0115]步骤S2:对数据进行分类、存储。
[0116]具体的,如图8所示,所述步骤S1:对数据进行分类、存储的方法包括:
[0117]步骤S201:在数据存储区划定两个独立区域。
[0118]更具体的,在数据存储区划定一页的存储空间,命名为信息数据存储区,当存入数据大于该页的时候,再划定一页的存储空间供其使用,并记录其起始地址,在存储区预留前6位字节作为下一块地址信息和长度信息,在从第7位开始,划定一块区域为CRC校验码区域,此区域大小等于CRC校验码长度;在数据存储区划定另一页的存储空间,命名为逻辑处理数据存储区当存入数据大于该页的时候,再划定一页的存储空间供其使用,并记录其起始地址,在存储区预留前6位字节作为地址信息和长度信息,在从第7位开始,划定一块区域为CRC校验码区域,此区域大小等于CRC校验码长度。
[0119]步骤S202:对数据类型进行分析分类。
[0120]更具体的,所述数据分成逻辑处理数据和信息数据,逻辑处理数据包括:所有指令分发流程、用于交易或者运算的数据拼接和外设响应装置等,信息数据包括:文件系统、秘钥管理系统和安全算法内核部分等等。
[0121 ] 更具体的,所述外设响应装置:包括按键响应处理和屏幕显示处理,以及超时处理机制等;
[0122]所述文件系统包括:文件系统创建,文件写入,文件读取以及文件访问权限管理等;
[0123]所述秘钥管理系统包括:秘钥生成,秘钥写入,秘钥读取,秘钥更新,秘钥生命周期管理,秘钥状态管理等;
[0124]所述安全算法内核部分包括:Key或者SE所使用的安全算法实施等。
[0125]步骤S203:将属于安全数据的存储于安全数据存储区,将属于逻辑处理数据的存储于逻辑处理数据存储区。
[0126]更具体的,将安全数据存入安全数据存储区时,由于安全数据是分块处理的,在前3位记录文件存储后下一个空块地址,在前3到6位地址记录文件长度,每次存储时,读取前一块的空块地址,将数据存储在空块中。同样的,将逻辑处理数据存入逻辑处理数据存储区时,由于安全数据是分块处理的,在前3位记录文件存储后下一个空块地址,在前3到6位地址记录文件长度,每次存储时,读取前一块的空块地址,将数据存储在空块中。
[0127]步骤S204:对存储的数据增加CRC校验码。
[0128]更具体的,将新生成的CRC校验码存储到存储区预留的CRC效验码区中,在数据封装的过程中用CRC校验码进行封装数据的检测。
[0129]步骤S3:将数据封装在模块中。
[0130]更具体的,如图9所示,所述步骤S3:将数据封装在模块中的方法包括:
[0131]步骤S301:收到数据封装指令请求。
[0132]步骤S302:调用存储区中等待封装的数据。
[0133]更具体的,调用的整个数据包为CRC校验码加文件数据。
[0134]步骤S303:确认需要封装数据的完整性。
[0135]更具体的,验证数据完整性首先将调取整个数据包,存储区对文件包先进行CRC校验运算,得到的数据存储在文件包的末端得到新的文件包,新的文件包应为CRC校验码加文件数据最后还有验算数据
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1