本发明专利技术公开一种卡片安全通讯的方法,涉及信息安全领域。可解决通讯数据被监听或截取的问题。该方法包括:卡片生成第一数据块并对其签名,得到第一签名结果;卡外实体生成第二数据块并对其签名,得到第二签名结果,如果第一签名结果和第二签名结果相同,卡外实体生成第三数据块并对其签名,得到第三签名结果,对认证数据签名,得到卡外实体签名;卡片生成第四数据块并对其签名,得到第四签名结果,如果第三签名结果和所述第四签名结果相同,卡片对认证数据签名,得到卡片签名,如果卡外实体签名和卡片签名相同,则认证成功,卡外实体发送相应安全级别的通讯命令,卡片根据相应安全级别执行相应操作,然后向所述卡外实体发送通讯成功响应。
【技术实现步骤摘要】
本专利技术涉及信息安全领域,特别涉及。
技术介绍
随着计算机技术和互联网技术的迅猛发展,信息网络已经渗透到人们生活的每个角落,并逐步改变着人们的生活方式,同时计算机网络犯罪也不断出现。人们针对信息网络内的数据采用身份识别和加密技术的保护达成了共识,并开始广泛使用智能卡产品作为用户身份识别的标识工具。安全、有效地利用智能卡对网络中传输的数据实现实时加、解密处理,从而保证用户在安全、快捷、方便的前提下享受信息网络提供的服务。对于信息安全通信领域涉及到的安全层面,目前使用的技术并不完善,不能够避 免通讯数据被监听或截取的问题。
技术实现思路
为解决现有技术的缺陷,本专利技术提供了。,包括步骤SI :卡片生成第一数据块并对其签名,得到第一签名结果,向卡外实体发送验证命令;步骤S2 :所述卡外实体接收所述验证命令并从中获取所述第一签名结果,所述卡外实体生成第二数据块并对其签名,得到第二签名结果,比较所述第一签名结果和所述第二签名结果;相同,执行步骤S3 ;不相同,返回步骤SI ;步骤S3 :所述卡外实体生成第三数据块并对其签名,将得到第三签名结果作为认证数据的一部分,保存当前安全级别,对认证数据签名得到卡外实体签名,向所述卡片发送外部认证命令;步骤S4 :所述卡片接收所述外部认证命令并从中获取所述认证数据和所述卡外实体签名,再从所述认证数据中获取第三签名结果,所述卡片生成第四数据块并对其签名,得到第四签名结果,比较所述第三签名结果和所述第四签名结果;不相同,返回步骤Si ;相同,执行步骤S5 ;步骤S5 :所述卡片对获取的所述认证数据签名,得到卡片签名,比较所述卡外实体签名和所述卡片签名;不相同,返回步骤SI ;相同,执行步骤S6 ;步骤S6 :所述卡片保存当前安全级别,向所述卡外实体发送认证成功响应;步骤S7 :所述卡外实体读取当前安全级别后执行相应安全级别的操作,向所述卡片发送相应安全级别的通讯命令;步骤S8 :所述卡片根据接收到的所述通讯命令进行相应操作,然后向所述卡外实体发送通讯成功响应;步骤S9 :所述卡外实体接收到所述通讯成功响应后判断是否继续通讯,是则返回步骤S7;否则结束。步骤SI之前还包括所述卡外实体生成第一随机数并保存;所述卡外实体向所述卡片发送包含所述第一随机数的内部初始化命令;所述卡片接收所述内部初始化命令并从中读取第一随机数;所述卡片生成第二随机数并保存;所述卡片生成第一会话密钥、第二会话密钥、第三会话密钥并保存。所述卡外实体生成的第一随机数为8字节,所述卡片生成的第二随机数为6字节; 所述卡片生成第一会话密钥,具体包括所述卡片用序列计数值、第一常量、第一固定数据生成第一派生数据,再用内置的第一密钥对所述第一派生数据采用第一预设方式进行加密,生成第一会话密钥;所述卡片生成第二会话密钥,具体包括所述卡片用所述序列计数值、第二常量、所述第一固定数据生成第二派生数据,再用内置的第二密钥对所述第二派生数据采用所述第一预设方式进行加密,生成第二会话密钥;所述卡片生成第三会话密钥,具体包括所述卡片用所述序列计数值、第三常量、所述第一固定数据生成第三派生数据,再用内置的第三密钥对所述第三派生数据采用所述第一预设方式进行加密,生成第三会话密钥。所述步骤SI具体为所述卡片将所述第一随机数、所述序列计数值和所述第二随机数顺序拼接得到所述第一数据块;用所述第一会话密钥和第一变量对所述第一数据块进行签名,得到第一签名结果,向卡外实体发送包含所述第一签名结果、所述第二随机数和所述序列计数值的验证命令。步骤SI与S2之间还包括所述卡外实体从所述验证命令中获取第二随机数和序列计数值;所述卡外实体生成第四会话密钥,具体包括所述卡外实体用所述序列计数值、第一常量、第一固定数据生成第四派生数据,再用内置的第一密钥对所述第四派生数据采用第一预设方式进行加密,生成第四会话密钥;所述卡外实体生成第五会话密钥,具体包括所述卡外实体用所述序列计数值、第二常量、第一固定数据生成第五派生数据,再用内置的第二密钥对所述第五派生数据采用第一预设方式进行加密,生成第五会话密钥;所述卡外实体生成第六会话密钥,具体包括所述卡外实体用序列计数值、第三常量、第一固定数据生成第六派生数据,再用内置的第三密钥对所述第六派生数据采用第一预设方式进行加密,生成第六会话密钥。步骤S2所述卡外实体生成第二数据块并对其签名,得到第二签名结果具体为所述卡外实体将所述第一随机数、所述序列计数值和所述第二随机数顺序拼接得到所述第二数据块;用所述第四会话密钥和第二变量对所述第二数据块进行签名,得到第二签名结果;步骤S3所述卡外实体生成第三数据块并对其签名,具体包括所述卡外实体按照序列计数值、第二随机数、第一随机数的顺序拼接生成第三数据块,并用所述第四会话密钥和第三变量对所述第三数据块签名,得到第三签名结果。所述卡片生成第四数据块并对其签名,具体包括所述卡片按照序列计数值、第二随机数、第一随机数的顺序拼接生成第四数据块,并用所述第一会话密钥和第四变量对所述第四数据块签名,得到第四签名结果。所述签名采用的签名方式,具体包括步骤A :对待签名的数据块按预设字节数为单位进行分块,对于不足预设字节数的块,自动填充为预设字节数;步骤B :判断循环计数器的计数值是否等于分块数;是,执行步骤D ;否,执行步骤C ;步骤C :用会话密钥的指定字节和变量对等于当前计数值的分块的命令数据,采用第二预设方式进行加密,并用得到的加密结果替换所述变量,当前计数值自加1,然后执 行步骤B ;步骤D :用会话密钥和变量对最后一块命令数据,采用第二预设方式进行加密,并将得到的加密结果保存为签名结果。步骤S3中所述卡外实体保存当前安全级别之前还包括所述卡外实体修改所述认证数据的预设部分;步骤S6中所述卡片保存当前安全级别之前还包括所述卡片修改认证数据的预设部分,将所述序列计数值加1,将所述卡片签名保存为所述卡片签名信息值;所述卡外实体、卡片保存当前安全级别,具体包括将认证数据的第三字节保存为当前安全级别。所述卡外实体修改所述认证数据的预设部分,具体包括将所述认证数据的第一字节更改为第一固定值、数据域长度值加8 ;所述卡片修改所述认证数据的预设部分,具体包括将所述认证数据的第一字节更改为第二固定值,数据域长度值减8。所述卡外实体对认证数据签名,具体包括所述卡外实体用第五会话密钥和卡外实体签名信息值对所述认证数据的指定部分进行签名,得到卡外实体签名;所述卡片对认证数据签名,具体包括所述卡片用第二会话密钥和卡片签名信息值对所述认证数据的指定部分进行签名,得到卡片签名。所述认证数据的指定部分,具体包括所述认证数据除可选的应答命令数据字段长度以外的其余部分;所述卡外实体对认证数据的指定部分进行签名,具体包括步骤A :把认证数据除可选的应答命令数据字段长度以外的其余部分按8字节为单位进行分块,对于不足8字节的块,自动填充为8字节,共划分为N块;步骤B :判断循环计数器的计数值M是否等于块数N ;是,执行步骤D ;否,执行步骤C ;步骤C :用第五会话密钥的前8字节和卡外实体签名信息值对第M块命令数据进行加密,并用得到的加密结果替换原来的卡外实体签名信息值,进行保存,计数值M自加1,然后执行步骤B ;步骤D :用第本文档来自技高网...
【技术保护点】
一种卡片安全通讯的方法,其特征在于,包括:步骤S1:卡片生成第一数据块并对其签名,得到第一签名结果,向卡外实体发送验证命令;步骤S2:所述卡外实体接收所述验证命令并从中获取所述第一签名结果,所述卡外实体生成第二数据块并对其签名,得到第二签名结果,比较所述第一签名结果和所述第二签名结果;相同,执行步骤S3;不相同,返回步骤S1;步骤S3:所述卡外实体生成第三数据块并对其签名,将得到第三签名结果作为认证数据的一部分,保存当前安全级别,对认证数据签名得到卡外实体签名,向所述卡片发送外部认证命令;步骤S4:所述卡片接收所述外部认证命令并从中获取所述认证数据和所述卡外实体签名,再从所述认证数据中获取第三签名结果,所述卡片生成第四数据块并对其签名,得到第四签名结果,比较所述第三签名结果和所述第四签名结果;不相同,返回步骤S1;相同,执行步骤S5;步骤S5:所述卡片对获取的所述认证数据签名,得到卡片签名,比较所述卡外实体签名和所述卡片签名;不相同,返回步骤S1;相同,执行步骤S6;步骤S6:所述卡片保存当前安全级别,向所述卡外实体发送认证成功响应;步骤S7:所述卡外实体读取当前安全级别后执行相应安全级别的操作,向所述卡片发送相应安全级别的通讯命令;步骤S8:所述卡片根据接收到的所述通讯命令进行相应操作,然后向所述卡外实体发送通讯成功响应;步骤S9:所述卡外实体接收到所述通讯成功响应后判断是否继续通讯,是则返回步骤S7;否则结束。...
【技术特征摘要】
【专利技术属性】
技术研发人员:陆舟,于华章,
申请(专利权)人:飞天诚信科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。