CN114024673A - 防止中间人攻击的密钥协商方法、系统及计算机可读介质 - Google Patents

防止中间人攻击的密钥协商方法、系统及计算机可读介质 Download PDF

Info

Publication number
CN114024673A
CN114024673A CN202111385100.7A CN202111385100A CN114024673A CN 114024673 A CN114024673 A CN 114024673A CN 202111385100 A CN202111385100 A CN 202111385100A CN 114024673 A CN114024673 A CN 114024673A
Authority
CN
China
Prior art keywords
key
signature
request packet
distribution host
ecdh
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
Application number
CN202111385100.7A
Other languages
English (en)
Other versions
CN114024673B (zh
Inventor
杨宇航
林喆
俞杰耀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Sunmi Technology Group Co Ltd
Shenzhen Michelangelo Technology Co Ltd
Original Assignee
Shanghai Sunmi Technology Group Co Ltd
Shenzhen Michelangelo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Sunmi Technology Group Co Ltd, Shenzhen Michelangelo Technology Co Ltd filed Critical Shanghai Sunmi Technology Group Co Ltd
Priority to CN202111385100.7A priority Critical patent/CN114024673B/zh
Publication of CN114024673A publication Critical patent/CN114024673A/zh
Application granted granted Critical
Publication of CN114024673B publication Critical patent/CN114024673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种防止中间人攻击的密钥协商方法、系统及计算机可读介质。该方法包括用户端生成第一请求包,第一请求包中包括用户端身份证书;用户端采用第一签名私钥对第一请求包进行签名,并将第一签名请求包发送至密钥分发主机;密钥分发主机接收第一签名请求包,根据第一签名公钥对第一签名请求包的签名进行验证;密钥分发主机生成第二请求包,第二请求包中包括密钥分发主机身份证书;密钥分发主机采用第二签名私钥对第二请求包进行签名,并将第二签名请求包发送至用户端;以及用户端接收第二签名请求包,根据第二签名公钥对第二签名请求包的签名进行验证。本发明解决了密钥协商过程中中间人攻击的问题,提高了用户信息安全。

Description

防止中间人攻击的密钥协商方法、系统及计算机可读介质
技术领域
本发明主要涉及信息安全领域,具体地涉及一种防止中间人攻击的密钥协商方法、系统及计算机可读介质。
背景技术
椭圆曲线迪菲-赫尔曼秘钥交换(Elliptic Curve Diffie–Hellman keyExchange,简称ECDH),主要是用来在一个不安全的通道中建立起安全的共有加密资料,一般来说交换的都是私钥,这个密钥一般作为“对称加密”的密钥而被双方在后续数据传输中使用。由于ECDH密钥协商中不验证公钥发送者的身份,因此无法阻止中间人攻击。例如,各POS(Point of sale)机厂商与收单机构之间进行ECDH密钥协商时,存在中间人攻击的风险。
因此,亟需一种防止中间人攻击的密钥协商方法和系统,提高用户的信息安全。
发明内容
本发明所要解决的技术问题是提供一种防止中间人攻击的密钥协商方法、系统及计算机可读介质,解决ECDH密钥协商中中间人攻击的问题。
本发明为解决上述技术问题,本申请提出一种防止中间人攻击的密钥协商方法,包括:用户端生成第一请求包,所述第一请求包中包括用户端身份证书,所述用户端身份证书中包括第一签名公钥;所述用户端采用第一签名私钥对所述第一请求包进行签名,获得第一签名请求包,并将所述第一签名请求包发送至密钥分发主机;所述密钥分发主机接收所述第一签名请求包,从所述用户端身份证书中提取所述第一签名公钥,根据所述第一签名公钥对所述第一签名请求包的签名进行验证;所述密钥分发主机生成第二请求包,所述第二请求包中包括密钥分发主机身份证书,所述密钥分发主机身份证书中包括第二签名公钥;所述密钥分发主机采用第二签名私钥对所述第二请求包进行签名,获得第二签名请求包,并将所述第二签名请求包发送至所述用户端;以及所述用户端接收所述第二签名请求包,从所述密钥分发主机身份证书中提取所述第二签名公钥,根据所述第二签名公钥对所述第二签名请求包的签名进行验证。
在本申请的一实施例中,防止中间人攻击的密钥协商方法还包括:所述用户端生成第一ECDH私钥,所述第一请求包中还包括根据所述第一ECDH私钥生成的第一ECDH公钥;所述密钥分发主机生成第二ECDH私钥,所述第二请求包中还包括根据所述第二ECDH私钥生成的第二ECDH公钥,所述第一ECDH公钥的长度和所述第二ECDH公钥的长度相等。
在本申请的一实施例中,所述密钥分发主机还根据所述第二ECDH私钥和所述第一ECDH公钥获得第一传输密钥,并根据所述第一传输密钥生成第一传输密钥校验值;所述第二请求包中还包括所述第一传输密钥校验值。
在本申请的一实施例中,防止中间人攻击的密钥协商方法还包括:根据所述第一ECDH私钥和所述第二ECDH公钥生成第二传输密钥,生成所述第二传输密钥的第二传输密钥校验值,比较所述第一传输密钥校验值和所述第二传输密钥校验值,若所述第一传输密钥校验值和所述第二传输密钥校验值相等,则所述用户端和所述密钥分发主机之间的密钥协商成功。
在本申请的一实施例中,所述密钥分发主机接收到所述第一签名请求包之后还包括:使用证书链对所述用户端身份证书进行验证。
在本申请的一实施例中,所述用户端接收到所述第二签名请求包之后还包括:使用证书链对所述密钥分发主机身份证书进行验证。
在本申请的一实施例中,所述证书链包括根证书和二级证书。
在本申请的一实施例中,所述第一请求包中还包括所述用户端的终端序列号。
本发明为解决上述技术问题,本申请提出一种防止中间人攻击的密钥协商系统,包括:用户端;密钥分发主机;存储器,用于存储可由控制器执行的指令;控制器,用于控制所述用户端和所述密钥分发主机执行所述指令以实现如上所述的密钥协商方法。
本发明为解决上述技术问题,本申请提出一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的密钥协商方法。
与现有技术相比,本申请的密钥协商方法在用户端和密钥分发主机之间通过签名机制验证传输过程中数据包是否被篡改,防止了中间人篡改信息;本申请的密钥协商方法在用户端和密钥分发主机之间通过身份证书验证通信双方的身份,防止了中间人冒充身份;本申请解决了密钥协商过程中中间人攻击的问题,提高了用户信息安全。
附图说明
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:
图1是根据本发明一实施例的密钥协商方法的示例性流程图;
图2是根据本发明一实施例的密钥协商方法的交互流程示意图;
图3是根据本发明一实施例的密钥协商系统的系统框图。
具体实施方式
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本发明一实施例的密钥协商方法的示例性流程图。如图1所示,本实施例的密钥协商方法10包括以下步骤:
步骤S11:用户端生成第一请求包,第一请求包中包括用户端身份证书,用户端身份证书中包括第一签名公钥。
步骤S12:用户端采用第一签名私钥对第一请求包进行签名,获得第一签名请求包,并将第一签名请求包发送至密钥分发主机。
步骤S13:密钥分发主机接收第一签名请求包,从用户端身份证书中提取第一签名公钥,根据第一签名公钥对第一签名请求包的签名进行验证。
步骤S14:密钥分发主机生成第二请求包,第二请求包中包括密钥分发主机身份证书,密钥分发主机身份证书中包括第二签名公钥。
步骤S15:密钥分发主机采用第二签名私钥对第二请求包进行签名,获得第二签名请求包,并将第二签名请求包发送至用户端。
步骤S16:用户端接收第二签名请求包,从密钥分发主机身份证书中提取第二签名公钥,根据第二签名公钥对第二签名请求包的签名进行验证。
下面结合图1-图2对上述步骤S11-S16进行详细说明。
图2是根据本发明一实施例的密钥协商方法的交互流程示意图。根据步骤S11-S16,本发明的密钥协商方法包括2个任务执行主体,分别是用户端(Device)和密钥分发主机(Key Distribution Host,简称KDH)。如图2所示:
在步骤S11中,用户端生成第一请求包,第一请求包中包括用户端身份证书(Device Authenticate Certificate,简称DA_CERT),用户端身份证书用于证明用户端的身份,其中用户端身份证书包含第一签名公钥(Device public key,简称DA_PUK),第一签名公钥用于校验数据签名,以防止中间人攻击。签名用于验证传输的内容是不是真实服务器发送的数据,发送的数据有没有被篡改过。签名通常采用私钥加密,公钥解密。签名的工作流程可以是当A向B发送数据,A先通过非对称加密算法,生成一对公钥和私钥,并把公钥公开;使用消息摘要算法(如SHA、MD5等),生成数据的摘要信息;使用私钥“加密”得到签名,并将签名附加在数据上,一起发送给B。而校验数据签名的工作流程是B收到签名后,用消息摘要算法生成摘要;用公钥“解密”签名得到A生成的摘要;比对两个摘要,如果一致则说明没有第三方修改。
在一些实施例中,第一请求包中还包括第一ECDH公钥。如图2所示,用户端根据预先约定的配置,生成第一ECDH私钥DE_ECDH_PVK;然后根据第一ECDH私钥利用椭圆曲线原理生成第一ECDH公钥DE_ECDH_PUK。配置参数可以是素数P、底数g及随机数a等,本申请对此不作限制。
在一些实施例中,第一请求包中还包括所述用户端的终端序列号SN。用户端可以根据终端序列号SN确定配置参数,本申请对此不作限制。
在步骤S12中,用户端包含与第一签名公钥对应的第一签名私钥(Device privatekey,简称DA_PVK),第一签名私钥用于签名第一请求包,以防止中间人攻击。如图2所示,用户端采用第一签名私钥DA_PVK对第一请求包进行签名,获得第一签名请求包,然后用户端将第一签名请求包发送至密钥分发主机KDH。
本发明对用户端和密钥分发主机KDH之间的通信方式不做限制。在步骤S12中,用户端可以通过网络将第一签名请求包发送至密钥分发主机KDH,该网络可以是/或包括公共网络(例如,因特网)、专用网络(例如,局域网(LAN)、广域网(WAN)等)、有线网络(例如,以太网)、无线网络(例如,802.11网络、Wi-Fi网络等)、蜂窝网络(例如,长期演进(LTE)网络)、帧中继网络、虚拟专用网(“VPN”)、卫星网络、电话网络、路由器、集线器、交换机、服务器计算机和/或其任意组合。仅作为示例,网络可包括电缆网络、有线网络、光纤网络、电信网络、内联网、无线局域网(WLAN)、城域网(MAN)、公共电话交换网(PSTN)、蓝牙TM网络、ZigBeeTM网络、近场通信(NFC)网络等或者其任意组合。
第一签名请求包中包括第一请求包和签名,具体地,包括用户端身份证书和签名。在一些实施例中,第一签名请求包中包括第一请求包和经签名之后的第一请求包。
在一些实施例,第一请求包中还包括远程密钥注入的请求(Req)。用户端向密钥分发主机KDH发送第一签名请求包时,密钥分发主机KDH根据该请求接收该第一请求包。
在步骤S13中,密钥分发主机KDH接收第一签名请求包;密钥分发主机KDH从用户端身份证书DA_CERT中提取第一签名公钥DA_PUK,根据第一签名公钥DA_PUK对第一签名请求包的签名进行验证。若验证成功,则说明传输过程中数据包没有被中间人篡改。
如图2所示,在一些实施例中,在验证第一签名请求包之前,还包括对用户端身份的认证。数字签名可以验证传输过程中数据包有没有被中间人篡改,但是当中间人将自己的公钥替换用户端的公钥发送给密钥分发主机之后,用户端之后发送的第一签名请求包将无法通过签名验证,因为验证签名的第一签名公钥被替换了。因此,需要对用户端的身份进行验证。具体的,密钥分发主机KDH包括预先设置好的证书链,密钥分发主机KDH利用已有的证书链对用户端身份证书DA_CERT进行验证,若验证成功,则认可用户端身份。证书链是由一系列证书发出的数字证书序列,最终以根证书结束。数字证书一般由数字证书认证机构CA(Certificate Authority)颁发,CA会将证书的颁布机构、有效期、公钥、持有者(subject)等信息用CA的私钥进行签名,并且将签名结果和这些信息放在一起,形成数字证书。密钥分发主机KDH利用CA的公钥进行验证,验证通过即证明这确实是用户端的证书,也就可以使用证书中包含的第一签名公钥验证第一签名请求包。
在一些实施例中,密钥分发主机KDH的证书链包括根证书(Root CertificateAuthority,简称Root CA)和二级证书(Sub Certificate Authority,简称Sub CA),根证书是由根CA自己对自己签发的,二级证书是由根CA生成一对公钥、私钥,并用私钥将中间CA的信息和公钥进行“加密”生成签名,最后封装得到二级证书。根证书,位于证书体系顶层,用于验证Sub CA,在设备出厂时预置到密钥分发主机KDH。二级CA证书,用于验证普通证书,在设备出厂时预置到密钥分发主机KDH。
在步骤S14中密钥分发主机生成第二请求包,第二请求包中包括密钥分发主机身份证书(KDH Authenticate Certificate,简称KDH_CERT),密钥分发主机身份证书用于证明密钥分发主机的身份,其中密钥分发主机身份证书包含第二签名公钥(KDH public key,简称KDH_PUK),第二签名公钥用于校验数据签名,以防止中间人攻击。
在一些实施例中,第二请求包还包括第二ECDH公钥(KDH ECDH public key,简称KDH_ECDH_PUK)。第一ECDH公钥的长度和第二ECDH公钥的长度相等。如图2所示,第二ECDH公钥是由密钥分发主机根据预先约定的配置,生成第二ECDH私钥(KDH ECDH private key,简称KDH_ECDH_PVK),然后根据KDH_ECDH_PVK利用椭圆曲线原理生成KDH_ECDH_PUK。配置参数可以是素数P、底数g及随机数b等,本申请对此不作限制。
在一些实施例中,第二请求包还包括第一传输密钥校验值。如图2所示,密钥分发主机KDH使用第二ECDH私钥KDH_ECDH_PVK和第一ECDH公钥DE_ECDH_PUK进行ECDH运算,获得第一传输密钥(Transport Key 1,简称TK1),并根据第一传输密钥生成第一传输密钥校验值KCV1。其中,TK1用于加密传输工作密钥的传输密钥。
在步骤S15中,密钥分发主机KDH包含与第二签名公钥KDH_PUK对应地第二签名私钥(KDH private key,简称KDH_PVK)。第二签名私钥用于签名传输至用户端的数据,以防止中间人攻击。如图2所示,密钥分发主机KDH采用第二签名私钥KDH_PVK对第二请求包进行签名,获得第二签名请求包,密钥分发主机KDH通过网络将第二签名请求包发送至用户端。
在步骤S16中,用户端接收第二签名请求包,从密钥分发主机身份证书中提取第二签名公钥KDH_PUK,根据第二签名公钥对第二签名请求包的签名进行验证。若验证成功,则说明传输过程中第二请求包没有被中间人篡改。如图2所示,用户端从KDH_CERT中把公钥KDH_PUK提取出来,使用KDH_PUK对第二签名请求包进行校验,若验证成功,则说明传输过程中数据包没有被中间人篡改。
在一些实施例中,在验证第二签名请求包之前,还包括对密钥分发主机身份的认证。如图2所示,用户端包括预先设置好的证书链,证书链是由一系列CA证书发出的证书序列,最终以根证书结束。用户端利用已有的证书链对密钥分发主机身份证书进行验证,若验证成功,则认可密钥分发主机身份。证书链是由一系列证书发出的证书序列,最终以根证书结束。数字证书一般由数字证书认证机构CA(Certificate Authority)颁发,CA会将证书的颁布机构、有效期、公钥、持有者(subject)等信息用CA的私钥进行签名,并且将签名结果和这些信息放在一起,形成数字证书。用户端利用CA的公钥进行验证,验证通过即证明这确实是密钥分发主机的证书,也就可以使用证书中包含的第二签名公钥验证第二签名请求包。
在一些实施例中,密钥分发主机KDH的证书链包括根证书Root CA和二级证书SubCA,根证书是由根CA自己对自己签发的,二级证书是由根CA生成一对公钥、私钥,并用私钥将中间CA的信息和公钥进行“加密”生成签名,最后封装得到二级证书。根证书,位于证书体系顶层,用于验证Sub CA,在设备出厂时预置到用户端。二级CA证书,用于验证普通证书,在设备出厂时预置到用户端。
如图2所示,在一些实施例中,密钥协商方法还包括如下步骤:用户端根据第一ECDH私钥和第二ECDH公钥生成第二传输密钥,生成第二传输密钥的第二传输密钥校验值,比较第一传输密钥校验值和第二传输密钥校验值,若第一传输密钥校验值和第二传输密钥校验值相等,则用户端和密钥分发主机之间的密钥协商成功。具体地,用户端使用第一ECDH私钥和第二ECDH公钥进行ECDH运算,获得第二传输密钥(Transport Key 2,简称TK2),并根据第二传输密钥生成第二传输密钥校验值KCV2。其中,TK2用于加密传输工作密钥的传输密钥。由ECDH的原理决定,TK1=TK2,可知第一传输密钥校验值和第二传输密钥校验值也应该相等,即KCV1=KCV2,比较第一传输密钥校验值和第二传输密钥校验值,若第一传输密钥校验值和第二传输密钥校验值相等,则用户端和密钥分发主机之间的密钥协商成功。
本申请的密钥协商方法在用户端和密钥分发主机之间通过签名机制验证传输过程中数据包是否被篡改,防止了中间人篡改信息;本申请的密钥协商方法在用户端和密钥分发主机之间通过身份证书验证通信双方的身份,防止了中间人冒充身份;本申请解决了密钥协商过程中中间人攻击的问题,提高了用户信息安全。
本申请还提供了一种防止中间人攻击的密钥协商系统,包括:用户端;密钥分发主机;存储器,用于存储可由控制器执行的指令;控制器,用于控制用户端和密钥分发主机执行该指令以实现如前文所记载的密钥协商方法。具体地,存储器和控制器可以分别包括用户端存储器、密钥分发主机存储器、用户端控制器和密钥分发主机控制器。
图3是根据本发明一实施例的密钥协商系统的系统框图。如图3所示,系统包括用户端31、用户端存储器311、用户端控制器312、密钥分发主机32、密钥分发主机存储器321、和密钥分发主机控制器322、网络33。用户端31和密钥分发主机32通过网络33实行密钥协商。用户端存储器311用于存储可由用户端控制器312执行的指令。密钥分发主机存储器321用于存储可由密钥分发主机控制器322执行的指令。用户端控制器312用于控制用户端31执行指令以实现本发明的密钥协商方法。密钥分发主机控制器322用于控制密钥分发主机32执行指令以实现本发明的密钥协商方法。
本申请还提供了一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现本发明的密钥协商方法。
密钥协商方法实施为计算机程序时,也可以存储在计算机可读存储介质中作为制品。例如,计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩盘(CD)、数字多功能盘(DVD))、智能卡和闪存设备(例如,电可擦除可编程只读存储器(EPROM)、卡、棒、键驱动)。此外,本文描述的各种存储介质能代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于能存储、包含和/或承载代码和/或指令和/或数据的无线信道和各种其它介质(和/或存储介质)。
应该理解,上文所描述的实施例仅是示意。本文描述的实施例可在硬件、软件、固件、中间件、微码或者其任意组合中实现。对于硬件实现,处理器可以在一个或者多个特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器和/或设计为执行本文所述功能的其它电子单元或者其结合内实现。
本申请的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DAPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器或者其组合。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,压缩盘CD、数字多功能盘DVD……)、智能卡以及闪存设备(例如,卡、棒、键驱动器……)。
计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。

Claims (10)

1.一种防止中间人攻击的密钥协商方法,其特征在于,包括:
用户端生成第一请求包,所述第一请求包中包括用户端身份证书,所述用户端身份证书中包括第一签名公钥;
所述用户端采用第一签名私钥对所述第一请求包进行签名,获得第一签名请求包,并将所述第一签名请求包发送至密钥分发主机;
所述密钥分发主机接收所述第一签名请求包,从所述用户端身份证书中提取所述第一签名公钥,根据所述第一签名公钥对所述第一签名请求包的签名进行验证;
所述密钥分发主机生成第二请求包,所述第二请求包中包括密钥分发主机身份证书,所述密钥分发主机身份证书中包括第二签名公钥;
所述密钥分发主机采用第二签名私钥对所述第二请求包进行签名,获得第二签名请求包,并将所述第二签名请求包发送至所述用户端;以及
所述用户端接收所述第二签名请求包,从所述密钥分发主机身份证书中提取所述第二签名公钥,根据所述第二签名公钥对所述第二签名请求包的签名进行验证。
2.如权利要求1所述的密钥协商方法,其特征在于,还包括:所述用户端生成第一ECDH私钥,所述第一请求包中还包括根据所述第一ECDH私钥生成的第一ECDH公钥;所述密钥分发主机生成第二ECDH私钥,所述第二请求包中还包括根据所述第二ECDH私钥生成的第二ECDH公钥,所述第一ECDH公钥的长度和所述第二ECDH公钥的长度相等。
3.如权利要求2所述的密钥协商方法,其特征在于,所述密钥分发主机还根据所述第二ECDH私钥和所述第一ECDH公钥获得第一传输密钥,并根据所述第一传输密钥生成第一传输密钥校验值;所述第二请求包中还包括所述第一传输密钥校验值。
4.如权利要求3所述的密钥协商方法,其特征在于,还包括:根据所述第一ECDH私钥和所述第二ECDH公钥生成第二传输密钥,生成所述第二传输密钥的第二传输密钥校验值,比较所述第一传输密钥校验值和所述第二传输密钥校验值,若所述第一传输密钥校验值和所述第二传输密钥校验值相等,则所述用户端和所述密钥分发主机之间的密钥协商成功。
5.如权利要求1所述的密钥协商方法,其特征在于,所述密钥分发主机接收到所述第一签名请求包之后还包括:使用证书链对所述用户端身份证书进行验证。
6.如权利要求1所述的密钥协商方法,其特征在于,所述用户端接收到所述第二签名请求包之后还包括:使用证书链对所述密钥分发主机身份证书进行验证。
7.如权利要求5或6所述的密钥协商方法,其特征在于,所述证书链包括根证书和二级证书。
8.如权利要求1所述的密钥协商方法,其特征在于,所述第一请求包中还包括所述用户端的终端序列号。
9.一种防止中间人攻击的密钥协商系统,包括:
用户端;
密钥分发主机;
存储器,用于存储可由控制器执行的指令;
控制器,用于控制所述用户端和所述密钥分发主机执行所述指令以实现如权利要求1-8任一项所述的密钥协商方法。
10.一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如权利要求1-8任一项所述的密钥协商方法。
CN202111385100.7A 2021-11-22 2021-11-22 防止中间人攻击的密钥协商方法、系统及计算机可读介质 Active CN114024673B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111385100.7A CN114024673B (zh) 2021-11-22 2021-11-22 防止中间人攻击的密钥协商方法、系统及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111385100.7A CN114024673B (zh) 2021-11-22 2021-11-22 防止中间人攻击的密钥协商方法、系统及计算机可读介质

Publications (2)

Publication Number Publication Date
CN114024673A true CN114024673A (zh) 2022-02-08
CN114024673B CN114024673B (zh) 2024-10-18

Family

ID=80065692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111385100.7A Active CN114024673B (zh) 2021-11-22 2021-11-22 防止中间人攻击的密钥协商方法、系统及计算机可读介质

Country Status (1)

Country Link
CN (1) CN114024673B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180219678A1 (en) * 2017-01-31 2018-08-02 Arris Enterprises Llc Origin certificate based online certificate issuance
CN109120649A (zh) * 2018-11-02 2019-01-01 美的集团股份有限公司 密钥协商方法、云服务器、设备、存储介质以及系统
CN109639412A (zh) * 2018-12-05 2019-04-16 成都卫士通信息产业股份有限公司 一种通信方法、系统及电子设备和存储介质
CN110380862A (zh) * 2019-06-25 2019-10-25 济南晟安信息技术有限公司 签名验证方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180219678A1 (en) * 2017-01-31 2018-08-02 Arris Enterprises Llc Origin certificate based online certificate issuance
CN109120649A (zh) * 2018-11-02 2019-01-01 美的集团股份有限公司 密钥协商方法、云服务器、设备、存储介质以及系统
CN109639412A (zh) * 2018-12-05 2019-04-16 成都卫士通信息产业股份有限公司 一种通信方法、系统及电子设备和存储介质
CN110380862A (zh) * 2019-06-25 2019-10-25 济南晟安信息技术有限公司 签名验证方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王新国,张兵,胡天军,万国根: "基于证书的改进ECDH 双向认证及密钥协商协议", 《小型微型计算机系统》, pages 2 - 4 *

Also Published As

Publication number Publication date
CN114024673B (zh) 2024-10-18

Similar Documents

Publication Publication Date Title
CN110380852B (zh) 双向认证方法及通信系统
US11799656B2 (en) Security authentication method and device
US11026084B2 (en) Mobile network authentication method, terminal device, server, and network authentication entity
US10382485B2 (en) Blockchain-assisted public key infrastructure for internet of things applications
CN106533689B (zh) 一种在ssl/tls通信中加载数字证书的方法和装置
CN103338215B (zh) 基于国密算法建立tls通道的方法
CN110299996B (zh) 认证方法、设备及系统
KR101508360B1 (ko) 데이터 전송 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
CN106788989B (zh) 一种建立安全加密信道的方法及设备
CN107360571B (zh) 在移动网络中的匿名相互认证和密钥协商协议的方法
KR101706117B1 (ko) 휴대용 단말기에서 다른 휴대용 단말기를 인증하는 장치 및 방법
US10389702B2 (en) Entity authentication method and device with Elliptic Curve Diffie Hellman (ECDH) key exchange capability
WO2016058404A1 (zh) 基于预共享密钥的实体鉴别方法及装置
CN111541716A (zh) 一种数据传输的方法和相关装置
CN111800377B (zh) 一种基于安全多方计算的移动终端身份认证系统
CN114143117B (zh) 数据处理方法及设备
CN110635901A (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
CN110020524A (zh) 一种基于智能卡的双向认证方法
CN108040044A (zh) 一种实现eSIM卡安全认证的管理方法及系统
CN107204985A (zh) 基于加密密钥的权限认证方法、装置及系统
US20240064027A1 (en) Identity authentication method and apparatus, and storage medium, program and program product
CN114666040B (zh) 基于量子密码网络的射频识别认证系统及方法
CN114024673B (zh) 防止中间人攻击的密钥协商方法、系统及计算机可读介质
CN110417722A (zh) 一种业务数据通信方法、通信设备及存储介质
Aiash et al. A formally verified device authentication protocol using Casper/FDR

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant