CN105721443A - 一种链路会话密钥协商方法及装置 - Google Patents
一种链路会话密钥协商方法及装置 Download PDFInfo
- Publication number
- CN105721443A CN105721443A CN201610045975.5A CN201610045975A CN105721443A CN 105721443 A CN105721443 A CN 105721443A CN 201610045975 A CN201610045975 A CN 201610045975A CN 105721443 A CN105721443 A CN 105721443A
- Authority
- CN
- China
- Prior art keywords
- data
- host computer
- instruction
- key
- random number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种链路会话密钥协商方法及装置,属于信息安全技术领域。本发明公开的方法包括智能密钥设备向上位机返回第二公钥,以及智能密钥设备使用第二私钥从上位机发送的获取链路会话密钥的请求中解密出第二预置数据,当第二预置数据与设备中保存的第一预置数据一致时,智能密钥设备生成随机数,根据所述随机数与预设数据组成链路会话密钥,并向所述上位机返回所述随机数。本发明可有效防止链路会话密钥被非法截取,上位机与智能密钥设备进行通信时使用所述链路会话密钥对通信数据进行加解密,从而提高了通信数据传输的安全性。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种链路会话密钥协商方法及装置。
背景技术
随着电子信息科技的快速发展,通过互联网进行的网络通信(如网络交易、系统登陆等)日渐普及,由于互联网的虚拟特性,一些不法分子利用病毒、木马或其他恶意程序很容易截获互联网中传输的信息。为了防止信息被非法截取,通信双方首先通过协商生成一个会话密钥,将所传输的信息通过会话密钥加密。现有技术中普遍使用的密钥协商方法是通信双方中的一方生成一个随机数,然后将该随机数发送给另一方,从而保证通信双方共用一个随机数作为会话密钥,对传输的信息进行加解密,这种协商方式最为简单,但是会话密钥也最容易被非法截取。
发明内容
为解决上述现有技术中存在的技术问题,本发明提供了一种链路会话密钥协商方法及装置。
本发明采用的技术方案如下:一种链路会话密钥协商方法,包括:
步骤S1:当智能密钥设备接收到上位机发来的获取公钥数据的请求时,向所述上位机返回第二公钥;
步骤S2:当智能密钥设备接收到上位机发来的获取链路会话密钥的请求时,使用第二私钥从所述获取链路会话密钥的请求中解密出第二预置数据;
步骤S3:所述智能密钥设备比较所述第二预置数据与设备中的第一预置数据是否一致,若一致则所述智能密钥设备生成随机数,根据所述随机数与预设数据组成链路会话密钥,并向所述上位机返回所述随机数,执行步骤S4;否则所述智能密钥设备向所述上位机返回错误信息,结束;
步骤S4:当智能密钥设备接收到上位机发来的通信请求时,使用所述链路会话密钥解密所述通信请求,并根据解密结果执行相应操作,生成操作结果,使用所述链路会话密钥对所述操作结果进行加密后返回给上位机,结束。
上述步骤S1具体包括,当智能密钥设备接收到上位机发来的第一获取公钥数据指令时,向上位机返回一部分第二公钥数据,当智能密钥设备接收到上位机发来的第二获取公钥数据指令时,向上位机返回另一部分第二公钥数据;所述第二公钥由所述一部分第二公钥数据和所述另一部分第二公钥数据拼接组成。
上述步骤S1还包括,上位机根据第一APDU数据组成第一获取公钥数据指令,并向所述智能密钥设备发送所述第一获取公钥数据指令;上位机根据第二APDU数据组成第二获取公钥数据指令,并向所述智能密钥设备发送所述第二获取公钥数据指令。
上述当智能密钥设备接收到上位机发来的第一获取公钥数据指令时,向上位机返回一部分第二公钥数据具体包括:当智能密钥设备接收到上位机发来的第一获取公钥数据指令时,对第二公钥的第一部分数据和第二部分数据分别执行数据填充得到第一填充数据和第二填充数据,使用第一公钥对第一填充数据和第二填充数据分别执行加密运算得到第一密文数据和第二密文数据,将第一密文数据与部分第二密文数据进行数据拼接得到第一响应数据,设备对所述第一响应数据执行指令编码得到第一响应指令,向上位机返回所述第一响应指令。
上述当智能密钥设备接收到上位机发来的第二获取公钥数据指令时,向上位机返回另一部分第二公钥数据具体包括:当智能密钥设备接收到上位机发来的第二获取公钥数据指令时,取剩余的第二密文数据得到第二响应数据,对所述第二响应数据执行指令编码得到第二响应指令,向上位机返回所述第二响应指令。
上述步骤S2具体包括,当所述智能密钥设备接收到上位机发来的获取链路会话密钥指令时,使用第二私钥对所述获取链路会话密钥指令的数据域数据执行解密运算,并对解密得到的数据执行解码操作得到第二预置数据。
上述步骤S2之前包括,上位机使用第二公钥对第二预置数据执行加密运算得到第三APDU数据,根据第三APDU数据组成获取链路会话密钥指令,并向所述智能密钥设备发送所述获取链路会话密钥指令。
上述步骤S3中所述根据所述随机数与预设数据组成链路会话密钥,并向所述上位机返回所述随机数具体包括:智能密钥设备将所述随机数与当前协商密钥次数值拼接,对拼接后得到的数据执行数据填充得到第三填充数据,使用第一公钥对第三填充数据执行加密运算得到第三响应数据,对第三响应数据执行指令编码得到第三响应指令,向所述上位机返回包含所述随机数的第三响应指令。
本发明公开的一种链路会话密钥协商装置,包括第一收发模块、第二收发模块、第一操作模块、判断模块、随机数生成模块和第二操作模块;
所述第一收发模块,用于接收上位机发来的获取公钥数据的请求,以及向所述上位机返回第二公钥;
所述第二收发模块,用于接收上位机发来的获取链路会话密钥的请求,触发第一操作模块工作,以及将随机数生成模块生成的随机数返回给上位机,或者是向上位机返回错误信息;
所述第一操作模块,用于使用第二私钥从所述第二收发模块接收到的所述获取链路会话密钥的请求中解密出第二预置数据,并触发所述判断模块工作;用于根据所述随机数生成模块生成的随机数与预设数据组成链路会话密钥;
所述判断模块,用于比较所述第一操作模块解密出的所述第二预置数据与设备中的第一预置数据是否一致,若一致则触发随机数生成模块工作,否则触发第二收发模块工作;
所述随机数生成模块,用于生成随机数;
所述第二操作模块,用于接收上位机发来的通信请求,以及使用所述第一操作模块组成的所述链路会话密钥解密所述通信请求,并根据解密结果执行相应操作,生成操作结果,使用所述链路会话密钥对所述操作结果进行加密后返回给上位机。
上述第一收发模块,具体用于当接收到上位机发送的第一获取公钥数据指令时,向所述上位机返回一部分第二公钥数据;以及用于当接收到上位机发送的第二获取公钥数据指令时,向上位机返回另一部分第二公钥数据;所述第二公钥由所述一部分第二公钥数据和所述另一部分第二公钥数据拼接组成。
本发明中与所述装置连接的上位机包括第一发送模块和第二发送模块;
所述第一发送模块,用于根据第一APDU数据组成第一获取公钥数据指令,并向所述装置发送所述第一获取公钥数据指令;
所述第二发送模块,用于根据第二APDU数据组成第二获取公钥数据指令,并向所述装置发送所述第二获取公钥数据指令。
上述装置还包括第三操作模块;
所述第一收发模块,具体用于当接收到上位机发来的第一获取公钥数据指令时,触发所述第三操作模块工作,以及向上位机返回所述第三操作模块操作得到的第一响应指令;
所述第三操作模块,用于对第二公钥的第一部分数据和第二部分数据分别执行数据填充得到第一填充数据和第二填充数据,使用第一公钥对第一填充数据和第二填充数据分别执行加密运算得到第一密文数据和第二密文数据,将第一密文数据与部分第二密文数据进行数据拼接得到第一响应数据,设备对所述第一响应数据执行指令编码得到第一响应指令。
上述装置还包括第四操作模块;
所述第一收发模块,还用于当接收到上位机发来的第二获取公钥数据指令时,触发所述第四操作模块工作,以及向上位机返回所述第四操作模块操作得到的第二响应指令;
所述第四操作模块,用于取剩余的第二密文数据得到第二响应数据,对所述第二响应数据执行指令编码得到第二响应指令。
本发明中上述第二收发模块,具体用于当接收到上位机发来的获取链路会话密钥指令时,触发所述第一操作模块工作,以及将随机数生成模块生成的随机数返回给上位机,或者是向上位机返回错误状态码;
所述第一操作模块,具体用于使用第二私钥对所述获取链路会话密钥指令的数据域数据执行解密运算,并对解密得到的数据执行解码操作得到第二预置数据,并触发判断模块工作;用于根据随机数生成模块生成的随机数与预设数据组成链路会话密钥。
本发明中与所述装置连接的上位机包括指令处理模块;
所述指令处理模块,用于使用从所述装置获取的第二公钥对第二预置数据执行加密运算得到第三APDU数据,根据第三APDU数据组成获取链路会话密钥指令,并向所述装置发送所述获取链路会话密钥指令。
本发明中,上述第二收发模块,具体用于接收上位机发来的获取链路会话密钥指令,触发第一操作模块工作,以及将所述第一操作模块操作得到的第三响应指令返回给上位机,或者是向上位机返回错误状态码;
上述第一操作模块,具体用于使用第二私钥从所述第二收发模块接收到的所述获取链路会话密钥指令中解密出第二预置数据,并触发判断模块工作;用于将所述随机数生成模块生成的随机数与当前协商密钥次数值拼接,对拼接后得到的数据执行数据填充得到第三填充数据,使用第一公钥对第三填充数据执行加密运算得到第三响应数据,对第三响应数据执行指令编码得到第三响应指令。
本发明的有益效果是:本发明提出的协商生成链路会话密钥的协商模式复杂,使协商生成的链路会话密钥不易被恶意程序破解、抗攻击能力比较强,通信中传输的信息通过链路会话密钥加密后很难被非法截取。
附图说明
图1和图2是本发明实施例1提供的一种链路会话密钥协商方法的流程图;
图3和图4是本发明实施例2提供的一种链路会话密钥协商方法的流程图;
图5和图6是本发明实施例3提供的一种链路会话密钥协商方法的流程图;
图7是本发明实施例4提供的一种链路会话密钥协商装置的组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在本发明提供的实施例中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或先后顺序。
本发明提供的链路会话密钥协商方法,主要包括上位机与智能密钥设备建立连接之后,上位机通过给智能密钥设备发送两条指令来获得设备中的第二公钥,并用获取的第二公钥对上位机中保存的第二预置数据执行加密操作,根据加密操作后得到的数据组成一条指令发送到智能密钥设备,智能密钥设备解析该指令从中获取上位机中保存的第二预置数据,将其与设备中保存的第一预置数据进行比较,若不一致则协商失败,结束;若一致则设备生成随机数并保存,将生成的随机数用第一公钥加密后返回给上位机,上位机用第一私钥解密得到所述随机数,智能密钥设备和上位机将所述随机数与预设数据拼接组成的数据作为链路会话密钥值。
上述智能密钥设备执行的操作主要包括以下内容:
当智能密钥设备接收到上位机发来的获取公钥数据的请求时,向上位机返回第二公钥;
当智能密钥设备接收到上位机发来的获取链路会话密钥的请求时,使用第二私钥从所述获取链路会话密钥的请求中解密出第二预置数据;
智能密钥设备比较所述第二预置数据与设备中的第一预置数据是否一致,若一致则智能密钥设备生成随机数,根据所述随机数与预设数据组成链路会话密钥,并向上位机返回所述随机数;否则智能密钥设备向上位机返回错误信息。
当智能密钥设备接收到上位机发来的通信请求时,使用所述链路会话密钥解密所述通信请求,并根据解密结果执行相应操作,生成操作结果,使用所述链路会话密钥对所述操作结果进行加密后返回给上位机。
优选的,智能密钥设备中预先保存有两对密钥对,即第一公钥和第一私钥、第二公钥和第二私钥,上位机通过发送获取公钥数据的请求来获取智能密钥设备中的第二公钥。
实施例1
本实施例提供了一种链路会话密钥协商方法,以上位机与智能密钥设备(本实施例中简称设备)之间进行链路会话密钥的协商为例,其中设备中预先保存有两对密钥对(KeyPair1和KeyPair2),分别为第一公钥和第一私钥、第二公钥和第二私钥,优选的KeyPair1和KeyPair2为两对RSA密钥对,本实施例中的PKCS#1填充模式具体为RSAPKCS1填充模式;上位机中预先保存有与所述设备中对应一致的第一私钥,上位机和设备中还分别保存有第二预置数据和第一预置数据。如图1所示,本实施例提供的协商流程包括以下内容:
步骤101:设备与上位机建立连接;
优选的,设备与上位机可以通过USB接口建立有线连接,也可以通过蓝牙建立无线连接。
步骤102:上位机根据第一APDU数据组成第一获取公钥数据指令;
具体的,第一APDU数据为0x00500000,上位机按照以下指令格式:0x00+flag+APDULen+APDU+1字节CRC校验值,组成第一获取公钥数据指令,其中,已知flag=0x01,APDU为0x00500000,APDULen为APDU的长度,1字节CRC校验值为对数据0x00+flag+APDULen+APDU进行CRC校验得到的值。
步骤103:上位机向设备发送第一获取公钥数据指令;
步骤104:设备接收到第一获取公钥数据指令,对第二公钥的第一部分数据和第二部分数据分别执行PKCS#1填充模式的数据填充得到第一填充数据和第二填充数据,用第一公钥对第一填充数据和第二填充数据分别执行加密运算得到第一密文数据和第二密文数据,将第一密文数据与部分第二密文数据进行数据拼接得到第一响应数据,取剩余的第二密文数据得到第二响应数据;
具体的,第二公钥是长度为128字节的数据,第二公钥的第一部分数据为前117字节的数据,第二公钥的第二部分数据为后11字节的数据。部分第二密文数据具体为第二密文数据的前120字节的数据,剩余的第二密文数据具体为第二密文数据的后8字节的数据。
对第二公钥的第一部分数据执行PKCS#1填充模式的数据填充得到第一填充数据具体为,在所述第一部分数据之前填充11字节的数据得到第一填充数据,得到的第一填充数据的格式如下:0002Rand......Rand00Data,其中Rand为非0随机数,Data为所述第一部分数据;
对第二公钥的第二部分数据执行PKCS#1模式填充的数据填充得到第二填充数据具体为,在所述第二部分数据之前填充117字节的数据得到第二填充数据,得到的第二填充数据的格式如下:0002Rand......Rand00Data,其中Rand为非0随机数,Data为所述第二部分数据。
将第一密文数据与部分第二密文数据进行数据拼接得到第一响应数据,取剩余的第二密文数据得到第二响应数据具体为,将第一密文数据与第二密文数据的前120字节数据拼接得到第一响应数据,取第二密文数据的后8字节数据作为第二响应数据。
步骤105:设备对第一响应数据执行指令编码得到第一响应指令;
具体为,对第一响应数据按照0x00+flag+Len(APDU)+APDU+1字节CRC校验值的格式编码组成第一响应指令,其中,flag=0x20,Len(APDU)为APDU的长度,APDU为所述第一响应数据,1字节CRC校验值为对数据0x00+flag+Len(APDU)+APDU进行CRC校验得到的值。
步骤106:设备向上位机返回第一响应指令;
步骤107:上位机对接收到的第一响应指令进行指令解码获得第一响应数据;
具体的,上位机对接收到的第一响应指令进行CRC校验,若通过校验则根据第一响应指令格式从第一响应指令中解析获得第一响应数据,若未通过校验则结束。
步骤108:上位机取部分第一响应数据,使用第一私钥执行解密运算,并对解密得到的数据执行PKCS#1填充模式的解码操作得到一部分第二公钥数据,根据第二APDU数据组成第二获取公钥数据指令;
具体的,上位机取第一响应数据的前128字节数据,使用第一私钥对第一响应数据的的前128字节数据执行解密运算,并根据数据填充格式0x000x02Rand......Rand0x00Data对解密得到的数据进行解码获得Data,其中Rand为非0随机数,Data为解密得到的一部分第二公钥数据。具体的,第二APDU数据为0x00500090,优选的将第二APDU数据直接作为第二获取公钥数据指令。
步骤109:上位机向设备发送第二获取公钥数据指令;
具体的,上位机向设备发送的第二获取公钥数据指令为0x00500090。
步骤110:设备接收到第二获取公钥数据指令,对第二响应数据执行指令编码得到第二响应指令;
具体的,设备对第二响应数据按照0x00+flag+Len(APDU)+APDU+1字节CRC校验值的格式编码组成第二响应指令,其中,flag=0x40,Len(APDU)为APDU的长度,APDU为所述第二响应数据,1字节CRC校验值为对数据0x00+flag+Len(APDU)+APDU进行CRC校验得到的值。
步骤111:设备向上位机返回第二响应指令;
步骤112:上位机对接收到的第二响应指令进行指令解码获得第二响应数据;
具体的,上位机对接收到的第二响应指令进行CRC校验,若通过校验则根据第二响应指令格式从第二响应指令中解析获得第二响应数据,若未通过校验则结束。
步骤113:上位机取剩余的第一响应数据与第二响应数据进行拼接,对拼接得到的数据使用第一私钥执行解密运算,并对解密得到的数据执行PKCS#1填充模式的解码操作得到另一部分第二公钥数据;
具体的,取第一响应数据的后120字节数据与第二响应数据拼接,对拼接后得到的数据使用第一私钥执行解密运算,并根据数据填充格式0x000x02Rand......Rand0x00Data对解密得到的数据进行解码获得Data,其中Rand为非0随机数,Data为另一部分第二公钥数据。
步骤114:上位机将解码得到的两部分第二公钥数据拼接组成第二公钥,使用第二公钥对第二预置数据执行加密运算得到第三APDU数据,根据第三APDU数据组成获取链路会话密钥指令;
具体的,根据指令格式0x00500100+len(K)+K+1字节CRC校验值,组成获取链路会话密钥指令,其中,K为第三APDU数据,len(K)为第三APDU数据的长度,1字节的CRC校验值为对数据0x00500100+len(K)+K进行CRC校验得到值。
步骤115:上位机向设备发送获取链路会话密钥指令;
步骤116:设备接收获取链路会话密钥指令,使用第二私钥对获取链路会话密钥指令的数据域数据执行解密运算,并对解密得到的数据执行PKCS#1填充模式的解码操作得到第二预置数据;
步骤117:设备比较第二预置数据与设备中的第一预置数据是否一致,是则执行步骤118,否则向上位机返回错误状态码,结束;
具体的,第一预置数据test_mycode为128字节数据。
步骤118:设备生成随机数并保存;
具体的,设备生成长度为四个字节的随机数并保存。
步骤119:设备将随机数与当前协商密钥次数值拼接,对拼接后得到的数据执行PKCS#1填充模式的数据填充得到第三填充数据,使用第一公钥对第三填充数据执行加密运算得到第三响应数据,对第三响应数据执行指令编码得到第三响应指令;
具体的,当前协商密钥次数值的长度为一个字节。
步骤120:设备向上位机返回第三响应指令;
步骤121:上位机对接收到的第三响应指令进行指令解码获得第三响应数据,对第三响应数据使用第一私钥执行解密运算,并对解密得到的数据执行PKCS#1填充模式的解码操作得到随机数,将得到的随机数与预设数据进行拼接组成链路会话密钥,结束。
具体的,预设数据为0x1234567F。
进一步的,步骤121还包括,上位机使用所述链路会话密钥对通信数据进行加密组成通信请求,向设备发送所述通信请求;设备收到所述通信请求之前还执行步骤122。
步骤122:设备将保存的随机数与预设数据拼接组成链路会话密钥,将当前协商密钥次数值加1,结束。
进一步的,步骤122还包括,设备使用所述链路会话密钥解密所述通信请求,根据解密结果执行相应操作,生成操作结果,并使用所述链路会话密钥对所述操作结果进行加密后返回给上位机。
例如,所述通信请求为签名操作请求,设备接收到所述签名操作请求后,使用链路会话密钥解密所述签名操作请求获得待签名数据,对所述待签名数据执行签名操作后生成签名结果,使用链路会话密钥对所述签名结果进行加密后返回给上位机。
如图2所示,本实施例提供的一种链路会话密钥协商方法,以智能密钥设备进行链路会话密钥协商所执行的操作为例进行详细描述,其中智能密钥设备中预先保存有两对密钥对(KeyPair1和KeyPair2),分别为第一公钥和第一私钥、第二公钥和第二私钥;智能密钥设备中还预先保存有第一预置数据。
如图2所示,包括以下步骤:
步骤201:设备与上位机建立连接;
步骤202:设备接收到上位机发送的第一获取公钥数据指令,对第二公钥的第一部分数据和第二部分数据分别执行PKCS#1填充模式的数据填充得到第一填充数据和第二填充数据,用第一公钥对第一填充数据和第二填充数据分别执行加密运算得到第一密文数据和第二密文数据,将第一密文数据与部分第二密文数据进行数据拼接得到第一响应数据,取剩余的第二密文数据得到第二响应数据;
本实施例中具体的,执行PKCS#1填充模式的数据填充之后得到的数据的格式为:0x000x02Rand......Rand0x00Data,其中,Data为数据填充之前的有效数据,Rand为非0随机数。第一填充数据和第二填充数据的长度与第二公钥的长度相等。
步骤203:设备对第一响应数据执行指令编码得到第一响应指令返回给上位机;
步骤204:设备接收到上位机发送的第二获取公钥数据指令,对第二响应数据执行指令编码得到第二响应指令返回给上位机;
步骤205:设备接收到上位机发送的获取链路会话密钥指令,使用第二私钥对获取链路会话密钥指令的数据域数据执行解密运算,并对解密得到的数据执行PKCS#1填充模式的解码操作得到第二预置数据;
步骤206:设备比较第二预置数据与设备中的第一预置数据是否一致,是则执行步骤207,否则向上位机返回错误状态码,结束;
步骤207:设备生成随机数并保存;
具体的,设备生成一个四字节的随机数并保存。
步骤208:设备将随机数与当前协商密钥次数值拼接,对拼接后得到的数据执行PKCS#1填充模式的数据填充得到第三填充数据,使用第一公钥对第三填充数据执行加密运算得到第三响应数据,对第三响应数据执行指令编码得到第三响应指令返回给上位机;
具体的,当前协商密钥次数值为一个字节的数值。
步骤209:设备将保存的随机数与预设数据拼接组成链路会话密钥,将当前协商密钥次数值加1。
具体的,预设数据为0x1234567F,将保存的随机数与预设数据拼接得到的八字节数据作为链路会话密钥。
进一步的,步骤209之后还包括,当设备接收到上位机发来的通信请求时,设备使用所述链路会话密钥解密所述通信请求,根据解密结果执行相应操作,生成操作结果,并使用所述链路会话密钥对所述操作结果进行加密后返回给上位机。
本实施例中优选的,当设备与上位机断开连接时,设备将自动清除所述链路会话密钥和所述随机数,或者是,当设备与上位机建立连接时,先清除保存的链路会话密钥和所述随机数,然后再通过执行图2所示流程重新生成链路会话密钥。
实施例2
本实施例提供了一种链路会话密钥协商方法,以上位机与智能密钥设备(本实施例中简称设备)之间进行链路会话密钥的协商为例,如图3所示,本实施例提供的协商流程包括以下内容:
步骤301:设备与上位机建立连接;
步骤302:设备生成随机数,并将所述随机数作为链路会话密钥保存;
具体的,设备生成一个16字节的随机数,并将其保存为链路会话密钥。
优选的,设备每次上电即与上位机建立连接时生成一个随机数,用新生成的随机数覆盖之前保存的随机数。
步骤303:上位机向设备发送获取链路会话密钥指令;
具体的,已知APDU为0x80ef0000020408,上位机根据指令格式0x12+APDU长度+APDU组成获取链路会话密钥指令,即0x120780ef0000020408。
步骤304:设备接收并解析所述获取链路会话密钥指令;
步骤305:设备判断是否解析成功,是则执行步骤306,否则向上位机返回错误状态码,结束;
具体的,设备判断解析结果是否为0x80ef0000020408,是则解析成功,执行步骤306,否则向上位机返回错误状态码,结束。
步骤306:设备对保存的链路会话密钥进行指令编码得到响应指令;
具体的,设备根据指令格式0x21+APDU长度+APDU对保存的随机数进行指令编码得到响应指令,其中,APDU为所述随机数的值,APDU长度为0x10。
步骤307:设备向上位机返回响应指令;
步骤308:上位机对接收到的响应指令进行指令解码获得链路会话密钥,结束。
具体的,上位机根据指令格式:0x21+APDU长度+APDU,对所述指令响应进行解码,并将解码得到的APDU作为所述链路会话密钥。
进一步的,上位机与设备之间进行通信时,使用生成的链路会话密钥对通信数据进行加解密操作,从而加强通信数据的安全性。
如图4所示,本实施例提供的一种链路会话密钥协商方法,以智能密钥设备进行链路会话密钥协商所执行的操作为例进行详细描述,包括以下步骤:
步骤401:设备与上位机建立连接;
步骤402:设备生成随机数,并将所述随机数作为链路会话密钥保存;
步骤403:设备接收到上位机发送的获取链路会话密钥指令,解析并判断是否解析成功,是则执行步骤405,否则执行步骤404;
例如,接收到的获取链路会话密钥指令为0x120780ef0000020408,对其进行解析,若解析结果为0x80ef0000020408则解析成功,否则解析失败。
步骤404:设备向上位机返回错误状态码,结束;
例如,向上位机返回0x21020000。
步骤405:设备对保存的链路会话密钥进行指令编码得到响应指令,将响应指令返回给上位机。
实施例3
本实施例提供了一种链路会话密钥协商方法,以上位机与设备之间进行链路会话密钥的协商为例,其中设备中预先保存有一对RSA密钥对,本实施例中的PKCS#1填充模式具体为RSAPKCS#1填充模式;即本实施例中所述设备公钥和设备私钥,且设备公钥以第一公钥数据和第二公钥数据的形式存在;如图5所示,本实施例提供的协商流程包括以下内容:
步骤501:上位机与设备建立连接;
步骤502:上位机向设备发送获取第一公钥数据指令;
步骤503:设备接收所述获取第一公钥数据指令;
步骤504:设备向上位机返回预置的第一公钥数据;
步骤505:上位机接收并保存第一公钥数据;
步骤506:上位机向设备发送获取第二公钥数据指令;
步骤507:设备接收所述获取第二公钥数据指令;
步骤508:设备向上位机返回预置的第二公钥数据;
步骤509:上位机接收第二公钥数据,将第一公钥数据和第二公钥数据作为设备公钥保存;
步骤510:上位机判断设备公钥是否正确,是则执行步骤511,否则结束;
具体的,上位机调用RSA算法接口判断设备公钥是否正确,是则执行步骤511,否则结束。
步骤511:上位机生成长度为16字节的随机数并保存,对随机数执行PKCS#1填充模式的数据填充,使用设备公钥对填充后得到的数据执行加密运算得到密文数据,根据密文数据组织得到获取链路会话密钥指令;
步骤512:上位机向设备发送获取链路会话密钥指令;
步骤513:上位机接收所述获取链路会话密钥指令,解析指令获取数据域数据,使用预置的设备私钥对数据域执行解密运算,并对解密得到的数据执行PKCS#1填充模式的解码操作得到解码数据;
步骤514:设备判断所述解密数据的长度是否为16字节,是则执行步骤515,否则向上位机返回错误状态码,结束;
步骤515:设备生成8字节的随机数作为链路会话密钥,使用所述解码数据对链路会话密钥进行加密得到密文的链路会话密钥;
步骤516:设备向上位机返回密文的链路会话密钥;
步骤517:上位机使用保存的随机数对接收到的密文的链路会话密钥进行解密得到链路会话密钥。
进一步的,上位机与设备之间进行通信时,使用生成的链路会话密钥对通信数据进行加解密操作,从而加强通信数据的安全性。
如图6所示,本实施例提供的链路会话密钥协商方法,以智能密钥设备进行链路会话密钥协商所执行的操作为例进行详细描述,包括以下步骤:
步骤601:设备与上位机建立连接;
步骤602:当设备接收到上位机发来的获取第一公钥数据指令时,向上位机返回第一公钥数据;当设备接收到上位机发来的获取第二公钥数据时,向上位机返回第二公钥数据;
具体的,设备中预先保存有一对RSA密钥对,即设备公钥和设备私钥,且设备公钥以第一公钥数据和第二公钥数据的形式存在。
步骤603:当设备接收到上位机发来的获取链路会话密钥指令时,解析指令获取数据域数据,使用预置的设备私钥对数据域数据执行解密运算,并对解密得到的数据执行PKCS#1填充模式的解码操作得到解码数据;
步骤604:设备判断所述解码数据是否满足预设条件,是则执行步骤606,否则执行步骤605;
具体的,设备判断所述解码数据的长度是否为16字节,是则满足预设条件,执行步骤606,否则执行步骤605。
步骤605:设备向上位机返回错误状态码,结束;
步骤606:设备生成8字节的随机数作为链路会话密钥,使用所述解码数据对链路会话密钥进行加密得到密文的链路会话密钥,向上位机返回所述密文的链路会话密钥。
实施例4
本实施例在实施例1的基础上提供了一种链路会话密钥协商装置,如图7所示,包括第一收发模块701、第二收发模块702、第一操作模块703、判断模块704、随机数生成模块705和第二操作模块706;
所述第一收发模块701,用于接收上位机发来的获取公钥数据的请求,以及向所述上位机返回第二公钥;
所述第二收发模块702,用于接收上位机发来的获取链路会话密钥的请求,触发第一操作模块703工作,以及将随机数生成模块705生成的随机数返回给上位机,或者是当所述判断模块704判断结果为否时向上位机返回错误信息;
所述第一操作模块703,用于使用第二私钥从所述第二收发模块702接收到的所述获取链路会话密钥的请求中解密出第二预置数据,并触发所述判断模块704工作;用于根据所述随机数生成模块705生成的随机数与预设数据组成链路会话密钥;
所述判断模块704,用于比较所述第一操作模块703解密出的所述第二预置数据与设备中的第一预置数据是否一致,若一致则触发随机数生成模块705工作,否则触发第二收发模块702工作;
所述随机数生成模块705,用于生成随机数;
所述第二操作模块706,用于接收上位机发来的通信请求,以及使用所述第一操作模块703组成的所述链路会话密钥解密所述通信请求,并根据解密结果执行相应操作,生成操作结果,使用所述链路会话密钥对所述操作结果进行加密后返回给上位机。
例如,本实施例中所述通信请求为签名操作请求,设备接收到所述签名操作请求后,使用链路会话密钥解密所述签名操作请求获得待签名数据,对所述待签名数据执行签名操作后生成签名结果,使用链路会话密钥对所述签名结果进行加密后返回给上位机。
所述第一收发模块701,具体用于当接收到上位机发送的第一获取公钥数据指令时,向所述上位机返回一部分第二公钥数据;以及用于当接收到上位机发送的第二获取公钥数据指令时,向上位机返回另一部分第二公钥数据;所述第二公钥由所述一部分第二公钥数据和所述另一部分第二公钥数据拼接组成。
进一步的,图7所示装置还可以包括接口模块,所述接口模块包括第一收发模块701和第二收发模块702,所述接口模块可以具体为USB接口或蓝牙接口,所述装置通过接口模块与上位机建立连接,与图7所示装置连接的上位机可以包括第一发送模块和第二发送模块;
所述第一发送模块,用于根据第一APDU数据组成第一获取公钥数据指令,并向所述装置发送所述第一获取公钥数据指令;
所述第二发送模块,用于根据第二APDU数据组成第二获取公钥数据指令,并向所述装置发送所述第二获取公钥数据指令。
本实施例提供的所述装置还包括第三操作模块;所述第一收发模块701,具体用于当接收到上位机发来的第一获取公钥数据指令时,触发所述第三操作模块工作,以及向上位机返回所述第三操作模块操作得到的第一响应指令;
所述第三操作模块,用于对第二公钥的第一部分数据和第二部分数据分别执行数据填充得到第一填充数据和第二填充数据,使用第一公钥对第一填充数据和第二填充数据分别执行加密运算得到第一密文数据和第二密文数据,将第一密文数据与部分第二密文数据进行数据拼接得到第一响应数据,设备对所述第一响应数据执行指令编码得到第一响应指令。所述执行数据填充具体为根据RSAPKCS#1填充模式执行数据填充。
本实施例提供的所述装置还包括第四操作模块;所述第一收发模块701,还用于当接收到上位机发来的第二获取公钥数据指令时,触发所述第四操作模块工作,以及向上位机返回所述第四操作模块操作得到的第二响应指令;
所述第四操作模块,用于取剩余的第二密文数据得到第二响应数据,对所述第二响应数据执行指令编码得到第二响应指令。
本实施例中,所述第二收发模块702,具体用于当接收到上位机发来的获取链路会话密钥指令时,触发所述第一操作模块703工作,以及将随机数生成模块705生成的随机数返回给上位机,或者是向上位机返回错误状态码;所述第一操作模块703,具体用于使用第二私钥对所述获取链路会话密钥指令的数据域数据执行解密运算,并对解密得到的数据执行解码操作得到第二预置数据,并触发判断模块704工作;用于根据随机数生成模块705生成的随机数与预设数据组成链路会话密钥。所述执行解码操作具体为根据RSAPKCS#1填充模式执行解码操作。
相应的,与所述装置连接的上位机包括指令处理模块;所述指令处理模块,用于使用从所述装置获取的第二公钥对第二预置数据执行加密运算得到第三APDU数据,根据第三APDU数据组成获取链路会话密钥指令,并向所述装置发送所述获取链路会话密钥指令。
本实施例中,所述第二收发模块702,还可以是具体用于接收上位机发来的获取链路会话密钥指令,触发第一操作模块703工作,以及将所述第一操作模块703操作得到的第三响应指令返回给上位机,或者是向上位机返回错误状态码;所述第一操作模块703,具体用于使用第二私钥从所述第二收发模块702接收到的所述获取链路会话密钥指令中解密出第二预置数据,并触发判断模块704工作;用于将所述随机数生成模块705生成的随机数与当前协商密钥次数值拼接,对拼接后得到的数据执行数据填充得到第三填充数据,使用第一公钥对第三填充数据执行加密运算得到第三响应数据,对第三响应数据执行指令编码得到第三响应指令。所述执行数据填充具体为根据RSAPKCS#1填充模式执行数据填充。
本实施例中优选的,所述装置还可以包括清除模块,用于当装置与上位机建立连接或者断开连接时,清除所述第一操作模块703组成的链路会话密钥以及所述随机数生成模块705生成的随机数。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (20)
1.一种链路会话密钥协商方法,其特征是,包括:
步骤S1:当智能密钥设备接收到上位机发来的获取公钥数据的请求时,向所述上位机返回第二公钥;
步骤S2:当智能密钥设备接收到上位机发来的获取链路会话密钥的请求时,使用第二私钥从所述获取链路会话密钥的请求中解密出第二预置数据;
步骤S3:所述智能密钥设备比较所述第二预置数据与设备中的第一预置数据是否一致,若一致则所述智能密钥设备生成随机数,根据所述随机数与预设数据组成链路会话密钥,并向所述上位机返回所述随机数,执行步骤S4;否则所述智能密钥设备向所述上位机返回错误信息,结束;
步骤S4:当智能密钥设备接收到上位机发来的通信请求时,使用所述链路会话密钥解密所述通信请求,并根据解密结果执行相应操作,生成操作结果,使用所述链路会话密钥对所述操作结果进行加密后返回给上位机,结束。
2.根据权利要求1所述的方法,其特征是:所述步骤S1具体包括,当智能密钥设备接收到上位机发来的第一获取公钥数据指令时,向上位机返回一部分第二公钥数据,当智能密钥设备接收到上位机发来的第二获取公钥数据指令时,向上位机返回另一部分第二公钥数据;
所述第二公钥由所述一部分第二公钥数据和所述另一部分第二公钥数据拼接组成。
3.根据权利要求2所述的方法,其特征是:所述步骤S1还包括,上位机根据第一APDU数据组成第一获取公钥数据指令,并向所述智能密钥设备发送所述第一获取公钥数据指令;
上位机根据第二APDU数据组成第二获取公钥数据指令,并向所述智能密钥设备发送所述第二获取公钥数据指令。
4.根据权利要求2所述的方法,其特征是:所述当智能密钥设备接收到上位机发来的第一获取公钥数据指令时,向上位机返回一部分第二公钥数据具体包括:当智能密钥设备接收到上位机发来的第一获取公钥数据指令时,对第二公钥的第一部分数据和第二部分数据分别执行数据填充得到第一填充数据和第二填充数据,使用第一公钥对第一填充数据和第二填充数据分别执行加密运算得到第一密文数据和第二密文数据,将第一密文数据与部分第二密文数据进行数据拼接得到第一响应数据,设备对所述第一响应数据执行指令编码得到第一响应指令,向上位机返回所述第一响应指令。
5.根据权利要求4所述的方法,其特征是:所述当智能密钥设备接收到上位机发来的第二获取公钥数据指令时,向上位机返回另一部分第二公钥数据具体包括:当智能密钥设备接收到上位机发来的第二获取公钥数据指令时,取剩余的第二密文数据得到第二响应数据,对所述第二响应数据执行指令编码得到第二响应指令,向上位机返回所述第二响应指令。
6.根据权利要求1所述的方法,其特征是:所述步骤S2具体包括,当所述智能密钥设备接收到上位机发来的获取链路会话密钥指令时,使用第二私钥对所述获取链路会话密钥指令的数据域数据执行解密运算,并对解密得到的数据执行解码操作得到第二预置数据。
7.根据权利要求6所述的方法,其特征是:所述步骤S2之前包括,上位机使用第二公钥对第二预置数据执行加密运算得到第三APDU数据,根据第三APDU数据组成获取链路会话密钥指令,并向所述智能密钥设备发送所述获取链路会话密钥指令。
8.根据权利要求6所述的方法,其特征是:所述执行解码操作具体为根据RSAPKCS#1填充模式执行解码操作。
9.根据权利要求1所述的方法,其特征是:步骤S3中所述根据所述随机数与预设数据组成链路会话密钥,并向所述上位机返回所述随机数具体包括:智能密钥设备将所述随机数与当前协商密钥次数值拼接,对拼接后得到的数据执行数据填充得到第三填充数据,使用第一公钥对第三填充数据执行加密运算得到第三响应数据,对第三响应数据执行指令编码得到第三响应指令,向所述上位机返回包含所述随机数的第三响应指令。
10.根据权利要求4或9所述的方法,其特征是:所述执行数据填充具体为根据RSAPKCS#1填充模式执行数据填充。
11.一种链路会话密钥协商装置,其特征是:包括第一收发模块、第二收发模块、第一操作模块、判断模块、随机数生成模块和第二操作模块;
所述第一收发模块,用于接收上位机发来的获取公钥数据的请求,以及向所述上位机返回第二公钥;
所述第二收发模块,用于接收上位机发来的获取链路会话密钥的请求,触发第一操作模块工作,以及将随机数生成模块生成的随机数返回给上位机,或者是向上位机返回错误信息;
所述第一操作模块,用于使用第二私钥从所述第二收发模块接收到的所述获取链路会话密钥的请求中解密出第二预置数据,并触发所述判断模块工作;用于根据所述随机数生成模块生成的随机数与预设数据组成链路会话密钥;
所述判断模块,用于比较所述第一操作模块解密出的所述第二预置数据与设备中的第一预置数据是否一致,若一致则触发随机数生成模块工作,否则触发第二收发模块工作;
所述随机数生成模块,用于生成随机数;
所述第二操作模块,用于接收上位机发来的通信请求,以及使用所述第一操作模块组成的所述链路会话密钥解密所述通信请求,并根据解密结果执行相应操作,生成操作结果,使用所述链路会话密钥对所述操作结果进行加密后返回给上位机。
12.根据权利要求11所述的装置,其特征是:所述第一收发模块,具体用于当接收到上位机发送的第一获取公钥数据指令时,向所述上位机返回一部分第二公钥数据;以及用于当接收到上位机发送的第二获取公钥数据指令时,向上位机返回另一部分第二公钥数据;
所述第二公钥由所述一部分第二公钥数据和所述另一部分第二公钥数据拼接组成。
13.根据权利要求12所述的装置,其特征是:与所述装置连接的上位机包括第一发送模块和第二发送模块;
所述第一发送模块,用于根据第一APDU数据组成第一获取公钥数据指令,并向所述装置发送所述第一获取公钥数据指令;
所述第二发送模块,用于根据第二APDU数据组成第二获取公钥数据指令,并向所述装置发送所述第二获取公钥数据指令。
14.根据权利要求12所述的装置,其特征是:所述装置还包括第三操作模块;
所述第一收发模块,具体用于当接收到上位机发来的第一获取公钥数据指令时,触发所述第三操作模块工作,以及向上位机返回所述第三操作模块操作得到的第一响应指令;
所述第三操作模块,用于对第二公钥的第一部分数据和第二部分数据分别执行数据填充得到第一填充数据和第二填充数据,使用第一公钥对第一填充数据和第二填充数据分别执行加密运算得到第一密文数据和第二密文数据,将第一密文数据与部分第二密文数据进行数据拼接得到第一响应数据,设备对所述第一响应数据执行指令编码得到第一响应指令。
15.根据权利要求14所述的装置,其特征是:所述装置还包括第四操作模块;
所述第一收发模块,还用于当接收到上位机发来的第二获取公钥数据指令时,触发所述第四操作模块工作,以及向上位机返回所述第四操作模块操作得到的第二响应指令;
所述第四操作模块,用于取剩余的第二密文数据得到第二响应数据,对所述第二响应数据执行指令编码得到第二响应指令。
16.根据权利要求11所述的装置,其特征是:
所述第二收发模块,具体用于当接收到上位机发来的获取链路会话密钥指令时,触发所述第一操作模块工作,以及将随机数生成模块生成的随机数返回给上位机,或者是向上位机返回错误状态码;
所述第一操作模块,具体用于使用第二私钥对所述获取链路会话密钥指令的数据域数据执行解密运算,并对解密得到的数据执行解码操作得到第二预置数据,并触发判断模块工作;用于根据随机数生成模块生成的随机数与预设数据组成链路会话密钥。
17.根据权利要求16所述的装置,其特征是:与所述装置连接的上位机包括指令处理模块;
所述指令处理模块,用于使用从所述装置获取的第二公钥对第二预置数据执行加密运算得到第三APDU数据,根据第三APDU数据组成获取链路会话密钥指令,并向所述装置发送所述获取链路会话密钥指令。
18.根据权利要求16所述的装置,其特征是:所述执行解码操作具体为根据RSAPKCS#1填充模式执行解码操作。
19.根据权利要求11所述的装置,其特征是:
所述第二收发模块,具体用于接收上位机发来的获取链路会话密钥指令,触发第一操作模块工作,以及将所述第一操作模块操作得到的第三响应指令返回给上位机,或者是向上位机返回错误状态码;
所述第一操作模块,具体用于使用第二私钥从所述第二收发模块接收到的所述获取链路会话密钥指令中解密出第二预置数据,并触发判断模块工作;用于将所述随机数生成模块生成的随机数与当前协商密钥次数值拼接,对拼接后得到的数据执行数据填充得到第三填充数据,使用第一公钥对第三填充数据执行加密运算得到第三响应数据,对第三响应数据执行指令编码得到第三响应指令。
20.根据权利要求14或19所述的装置,其特征是:所述执行数据填充具体为根据RSAPKCS#1填充模式执行数据填充。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610045975.5A CN105721443B (zh) | 2016-01-25 | 2016-01-25 | 一种链路会话密钥协商方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610045975.5A CN105721443B (zh) | 2016-01-25 | 2016-01-25 | 一种链路会话密钥协商方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105721443A true CN105721443A (zh) | 2016-06-29 |
CN105721443B CN105721443B (zh) | 2019-05-10 |
Family
ID=56153964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610045975.5A Active CN105721443B (zh) | 2016-01-25 | 2016-01-25 | 一种链路会话密钥协商方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105721443B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357403A (zh) * | 2016-11-23 | 2017-01-25 | 神州融安科技(北京)有限公司 | 一种链路通讯加密保护的装置及方法,安全报文处理系统 |
CN106453380A (zh) * | 2016-10-28 | 2017-02-22 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN108183795A (zh) * | 2017-12-29 | 2018-06-19 | 新开普电子股份有限公司 | 一卡通密钥管理方法 |
CN108418811A (zh) * | 2017-02-09 | 2018-08-17 | 罗伯特·博世有限公司 | 在第一与第二节点之间协商共同密钥的方法和装置 |
CN110856170A (zh) * | 2019-11-18 | 2020-02-28 | 中国联合网络通信集团有限公司 | 数据传输方法、装置及物联网通信系统 |
CN111600854A (zh) * | 2020-04-29 | 2020-08-28 | 北京智芯微电子科技有限公司 | 智能终端与服务端建立安全通道的方法 |
CN112311728A (zh) * | 2019-07-29 | 2021-02-02 | 中国移动通信集团重庆有限公司 | 主机攻陷判定方法、装置、计算设备及计算机存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005361A (zh) * | 2007-01-22 | 2007-07-25 | 北京飞天诚信科技有限公司 | 一种服务器端软件保护方法及系统 |
CN101122942A (zh) * | 2007-09-21 | 2008-02-13 | 北京飞天诚信科技有限公司 | 数据安全读取方法及其安全存储装置 |
CN101140605A (zh) * | 2007-10-24 | 2008-03-12 | 北京飞天诚信科技有限公司 | 数据安全读取方法及其安全存储装置 |
CN101420297A (zh) * | 2008-09-08 | 2009-04-29 | 北京飞天诚信科技有限公司 | 协商密钥的方法和系统 |
CN101789934A (zh) * | 2009-11-17 | 2010-07-28 | 北京飞天诚信科技有限公司 | 网上安全交易方法和系统 |
US20140057601A1 (en) * | 2010-12-30 | 2014-02-27 | France Telecom | Method of authenticating a first and a second entity at a third entity |
-
2016
- 2016-01-25 CN CN201610045975.5A patent/CN105721443B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005361A (zh) * | 2007-01-22 | 2007-07-25 | 北京飞天诚信科技有限公司 | 一种服务器端软件保护方法及系统 |
CN101122942A (zh) * | 2007-09-21 | 2008-02-13 | 北京飞天诚信科技有限公司 | 数据安全读取方法及其安全存储装置 |
CN101140605A (zh) * | 2007-10-24 | 2008-03-12 | 北京飞天诚信科技有限公司 | 数据安全读取方法及其安全存储装置 |
CN101420297A (zh) * | 2008-09-08 | 2009-04-29 | 北京飞天诚信科技有限公司 | 协商密钥的方法和系统 |
CN101789934A (zh) * | 2009-11-17 | 2010-07-28 | 北京飞天诚信科技有限公司 | 网上安全交易方法和系统 |
US20140057601A1 (en) * | 2010-12-30 | 2014-02-27 | France Telecom | Method of authenticating a first and a second entity at a third entity |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453380A (zh) * | 2016-10-28 | 2017-02-22 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN106453380B (zh) * | 2016-10-28 | 2019-12-31 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN106357403A (zh) * | 2016-11-23 | 2017-01-25 | 神州融安科技(北京)有限公司 | 一种链路通讯加密保护的装置及方法,安全报文处理系统 |
CN108418811A (zh) * | 2017-02-09 | 2018-08-17 | 罗伯特·博世有限公司 | 在第一与第二节点之间协商共同密钥的方法和装置 |
CN108418811B (zh) * | 2017-02-09 | 2022-03-04 | 罗伯特·博世有限公司 | 在第一与第二节点之间协商共同密钥的方法和装置 |
CN108183795A (zh) * | 2017-12-29 | 2018-06-19 | 新开普电子股份有限公司 | 一卡通密钥管理方法 |
CN112311728A (zh) * | 2019-07-29 | 2021-02-02 | 中国移动通信集团重庆有限公司 | 主机攻陷判定方法、装置、计算设备及计算机存储介质 |
CN110856170A (zh) * | 2019-11-18 | 2020-02-28 | 中国联合网络通信集团有限公司 | 数据传输方法、装置及物联网通信系统 |
CN111600854A (zh) * | 2020-04-29 | 2020-08-28 | 北京智芯微电子科技有限公司 | 智能终端与服务端建立安全通道的方法 |
CN111600854B (zh) * | 2020-04-29 | 2022-03-08 | 北京智芯微电子科技有限公司 | 智能终端与服务端建立安全通道的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105721443B (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105721443A (zh) | 一种链路会话密钥协商方法及装置 | |
CN109462476B (zh) | 密钥协商方法、装置、终端及计算机可读存储介质 | |
CN103338215B (zh) | 基于国密算法建立tls通道的方法 | |
CN108650210A (zh) | 一种认证系统和方法 | |
CN105141420B (zh) | 一种安全导入、签发证书的方法、设备及服务器 | |
CN110784322B (zh) | 一种网关设备与云平台连接的方法、系统、设备及介质 | |
CN108509787B (zh) | 一种程序认证方法 | |
CN101631305B (zh) | 一种加密方法及系统 | |
CN110198295A (zh) | 安全认证方法和装置及存储介质 | |
CN103036681B (zh) | 一种密码安全键盘装置及系统 | |
CN110149209A (zh) | 物联网设备及其提高数据传输安全性的方法和装置 | |
CN104901935A (zh) | 一种基于cpk的双向认证及数据交互安全保护方法 | |
CN109150526A (zh) | 密钥协商方法、设备、终端、存储介质以及系统 | |
CN102811224A (zh) | 一种ssl/tls连接的实现方法、装置及系统 | |
CN109039657A (zh) | 密钥协商方法、设备、终端、存储介质以及系统 | |
CN112672342B (zh) | 数据传输方法、装置、设备、系统和存储介质 | |
US20220103376A1 (en) | Method and apparatus for realizing secure signature | |
CN104579679A (zh) | 用于农配网通信设备的无线公网数据转发方法 | |
CN113868672B (zh) | 模组无线固件升级方法、安全芯片和无线固件升级平台 | |
CN105791258A (zh) | 一种数据传输方法、终端及开放平台 | |
CN109068321A (zh) | 协商会话密钥的方法、系统、移动终端及智能家居设备 | |
CN105142134A (zh) | 参数获取以及参数传输方法和装置 | |
CN108900540A (zh) | 一种基于双重加密的配电终端的业务数据处理方法 | |
CN109756451B (zh) | 一种信息交互方法及装置 | |
CN109451504B (zh) | 物联网模组鉴权方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |