【技术实现步骤摘要】
一种适用于芯片的线路保护方法和系统
[0001]本专利技术涉及安全通信
,尤其涉及一种适用于芯片的线路保护方法和系统。
技术介绍
[0002]APDU全称Application Protocol Data Unit,应用协议数据单元,APDU定义了主机和芯片之间交互的数据格式,APDU分为发送命令(Command
‑
APDU)和返回命令(Response
‑
APDU)。
[0003]Command APDU包括必选的消息头和可选的消息体,其中可选的消息体中的Data字段,如果非线路保护的指令,该字段指发送数据明文。如果是线路保护的指令,需要在主机和芯片预置相同的对称密钥,Data字段指发送数据明文使用固定对称密钥加密的结果。Response APDU包括一个可选的数据段和一个必须的状态值,其中可选的数据段中的Data字段,如果发送命令不带线路保护,该字段为返回数据明文;否则该字段为返回数据明文使用对称密钥加密的结果。
[0004]线路保护通常指主机和芯片之间传输的数据加密和完整性保护,具体指Command APDU的数据字段和Response APDU的数据字段。现有的线路保护机制的密钥体系包括一个固定的用于数据加密的对称密钥和一个用于保护对称密钥存储的主密钥。可以理解,现有线路保护机制的数据加密阶段使用的对称密钥为静态预置密钥,数据加密的安全性不高;另外,MAC计算一般使用累加或CRC实现,完整性保护的安全性不高。
技术实现思路
[0005] ...
【技术保护点】
【技术特征摘要】
1.一种适用于芯片的线路保护方法,其特征在于,所述方法包括:步骤1,建立芯片与主机的通信链路,并分别在主机和芯片中预置第一加密密钥ENC1和第一MAC密钥MAC1;步骤2,由所述芯片与所述主机在会话建立时分别基于预置的第一加密密钥ENC1和第一MAC密钥MAC1进行协商,并分别得到第二加密密钥ENC2和第二MAC密钥MAC2;步骤3,在会话过程中,所述芯片与所述主机分别基于第二加密密钥ENC2进行会话数据加密保护,并基于第二MAC密钥MAC2进行会话数据完整性保护。2.根据权利要求1所述的适用于芯片的线路保护方法,其特征在于,在上述步骤1之后,所述方法还包括:所述芯片内置有第一主密钥,所述主机内置有第二主密钥;所述芯片采用第一主密钥对所述第一加密密钥ENC1和所述第一MAC密钥MAC1进行加密,并以密文形式进行本地存储;所述主机采用第二主密钥对所述第一加密密钥ENC1和所述第一MAC密钥MAC1进行加密,并以密文形式进行本地存储;当会话建立时,由所述芯片与所述主机分别基于第一主密钥和第二主密钥进行解密,以获取明文的第一加密密钥ENC1和第一MAC密钥MAC1。3.根据权利要求1所述的适用于芯片的线路保护方法,其特征在于,上述步骤2,具体包括:步骤2
‑
1,由所述主机向所述芯片发出挑战值的请求指令;步骤2
‑
2,所述芯片基于接收到的请求指令产生第一随机数r1,并返回给所述主机;步骤2
‑
3,所述主机使用所述第一加密密钥ENC1对接收到的第一随机数r1进行加密得到第一中间值R1;步骤2
‑
4,所述主机将所述第一中间值R1发送给所述芯片;步骤2
‑
5,所述芯片使用所述第一加密密钥ENC1对接收到的第一中间值R1进行解密得到第二中间值r1`,比较第二中间值r1`和第一随机数r1是否相同;如果相同,则进入步骤2
‑
6,如果不同,则返回比对失败结果给所述主机,并结束本次会话流程;步骤2
‑
6,由所述芯片基于比对成功结果触发产生第二随机数r2,并将其与第一随机数r1进行累加计算得到随机数和r,使用本地预置的第一加密密钥ENC1对所述随机数和r进行加密得到第二加密密钥ENC2,并使用第一MAC密钥MAC1对所述随机数和r进行加密得到第二MAC密钥MAC2;步骤2
‑
7,所述芯片将比对成功结果与第二随机数r2返回给所述主机;步骤2
‑
8,所述主机将接收到的第二随机数r2与第一随机数r1进行累加计算得到随机数和r,使用本地预置的第一加密密钥ENC1对所述随机数和r进行加密得到第二加密密钥ENC2,并使用第一MAC密钥MAC1对所述随机数和r进行加密得到第二MAC密钥MAC2。4.根据权利要求1所述的适用于芯片的线路保护方法,其特征在于,上述步骤3,具体包括:步骤3
‑
1,由所述主机产生待处理的明文数据,并采用第二加密密钥ENC2对所述待处理数据进行加密得到第一密文,并将其填充至发送消息包Command APDU的data字段;步骤3
‑
2,所述主机使用第二MAC密钥MAC2,并基于C
‑
MAC算法对所述第一密文以及协议相关的字段信息进行计算得到第一C
‑
MAC值,并将其填充至发送消息包Command APDU的SN字段;然后将发送消息包Command APDU发送给所述芯片;
步骤3
‑
3,所述芯片接收到发送消息包Command APDU后,使用第二MAC密钥MAC2并基于C
‑
MAC算法对所述第一密文以及协议相关的字段信息进行计算得到第一C
‑
MAC`值,并比对所述第一C
‑
MAC`值与发送消息包Command APDU中的第一C
‑
MAC值是否相同,如果相同,则进入步骤3
‑
4,如果不同,则返回完整性验证失败信息,并结束会话流程;步骤3
‑
4,所述芯片从发送消息包Command APDU的data字段中提取出第一密文,并采用第二加密密钥ENC2进行解密,得到待处理的明文数据;步骤3
‑
5,所述芯片对待处理的明文数据进行算法处理,得到对应的处理结果,然后采用第二加密密钥ENC2对所述处理结果进行加密得到第二密文,并将其填充至返回消息包Response APDU的data字段;步骤3
‑
6,所述芯片使用第二MAC密钥MAC2,并基于C
‑
MAC算法对所述第二密文以及协议相关的字段信息进行计算得到第二C
‑
MAC值,并将其填充至返回消息包Response APDU的MAC字段;同时复用发送消息包Command APDU的SN字段前n个字节,其中n大于等于4,作为返回消息包Response APDU的SN字段填充内容;然后将返回消息包Response APDU发送给所述主机。5.根据权利要求4所述的适用于芯片的线路保护方法,其特征在于,在上述步骤3
‑
6之后,所述方法还包括:步骤3
‑
7,所述主机接收到返回消息包Response APDU后,使用第二MAC密钥MAC2并基于C
‑
MAC算法对所述第二密文以及协议相关的字段信息进行计算得到第二C
‑
MAC`值,并比对所述第二C
‑
MAC`值与返回消息包Response APDU中的第二C
‑
MAC值是否相同,如果相同,则进入步骤3
‑
8,如果不同,则返回完整性验证失败信息...
【专利技术属性】
技术研发人员:雷宗华,彭金辉,刘武忠,乔绍虎,
申请(专利权)人:郑州信大捷安信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。