CN108206739A - 密钥生成方法及装置 - Google Patents

密钥生成方法及装置 Download PDF

Info

Publication number
CN108206739A
CN108206739A CN201611169675.4A CN201611169675A CN108206739A CN 108206739 A CN108206739 A CN 108206739A CN 201611169675 A CN201611169675 A CN 201611169675A CN 108206739 A CN108206739 A CN 108206739A
Authority
CN
China
Prior art keywords
random data
key
server
data
user terminal
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.)
Withdrawn
Application number
CN201611169675.4A
Other languages
English (en)
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.)
FAFA Automobile (China) Co., Ltd.
Original Assignee
LeTV Automobile Beijing 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 LeTV Automobile Beijing Co Ltd filed Critical LeTV Automobile Beijing Co Ltd
Priority to CN201611169675.4A priority Critical patent/CN108206739A/zh
Publication of CN108206739A publication Critical patent/CN108206739A/zh
Withdrawn legal-status Critical Current

Links

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/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/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

Abstract

本发明公开了一种密钥生成方法及装置,所述方法包括:向服务器发送第一随机数据;接收所述服务器反馈的第二随机数据、服务器数字证书、第一数字签名,其中所述第一数字签名是所述服务器利用服务器私钥对所述第一随机数据进行签名而得到的签名信息;利用所述服务器数字证书验证所述第一数字签名是否正确;当所述第一数字签名正确时,利用用户端私钥对所述第二随机数据进行签名得到第二数字签名;向所述服务器发送第三随机数据、第二数字签名、用户端数字证书;当接收到所述服务器发送的对称密钥生成通知时,根据所述第一随机数据、第二随机数据和第三随机数据生成密钥。

Description

密钥生成方法及装置
技术领域
本发明涉及数据通讯安全领域,具体涉及密钥生成方法及装置。
背景技术
为了提高通信安全性,终端之间的过程通常会应用加密技术。加密系统是由明文、密文、算法和密钥组成的。发送方通过加密设备或加密算法,用加密密钥将数据加密后发送出去,接收方在收到密文后,用解密密钥将密文解密,恢复为明文。在传输过程中,即使密文被非法分子偷窃获取,得到的也只是无法识别的密文,从而起到数据保密的作用。
密钥是加密系统中的重要组成部分,它是由数字、字母或特殊符号组成的字符串,用于控制数据加密、解密的过程。现有的加密系统中,密钥通常是由参与通信的其中一方(例如服务器)单方面生成的,然后将密钥发送给其他终端,使其能够解密密文。现有的密钥内容固定,且在发送的过程中容易被拦截、复制和破解,由此可见现有的密钥生成方式安全性较低。
发明内容
本发明要解决的是现有的密钥生成方式安全性低的问题。
有鉴于此,本发明提供了一种密钥生成方法,包括:向服务器发送第一随机数据;接收所述服务器反馈的第二随机数据、服务器数字证书、第一数字签名,其中所述第一数字签名是所述服务器利用服务器私钥对所述第一随机数据进行签名而得到的签名信息;利用所述服务器数字证书验证所述第一数字签名是否正确;当所述第一数字签名正确时,利用用户端私钥对所述第二随机数据进行签名得到第二数字签名;向所述服务器发送第三随机数据、第二数字签名、用户端数字证书;当接收到所述服务器发送的对称密钥生成通知时,根据所述第一随机数据、第二随机数据和第三随机数据生成密钥。
优选地,在所述接收所述服务器反馈的第二随机数据、服务器数字证书、第一数字签名的步骤之前,还包括:
向所述服务器发送所述用户端支持的加密算法信息;
接收所述服务器反馈的对数据加密时所采用的加密算法信息;
根据所述加密算法信息确定所述服务器所采用的加密算法及相应的解密算法;
所述接收所述服务器反馈的第二随机数据包括:
接收所述服务器发送的利用所述加密算法和所述服务器私钥加密的第二随机数据;
利用所述解密算法和所述服务器数字证书中的公钥对所述加密的第二随机数据进行解密得到所述第二随机数据。
优选地,所述向所述服务器发送所述第三随机数据包括:
利用所述加密算法和所述服务器数字证书中的公钥对所述第三随机数据进行加密;
向所述服务器发送加密后的所述第三随机数据。
优选地,所述根据所述第一随机数据、第二随机数据和第三随机数据生成密钥包括:
以所述第一随机数据、第二随机数据和第三随机数据为种子生成用于数据通信的密钥;
根据所述用于数据通信的密钥生成用于消息认证的密钥。
本发明还提供了另一种密钥生成方法,包括:当接收到用户端发送第一随机数据时,利用服务器私钥对所述第一随机数据的进行签名得到第一数字签名;向所述用户端发送第二随机数据、服务器数字证书和所述第一数字签名;接收所述用户端发送的第三随机数据、第二数字签名、用户端数字证书时,其中所述第二数字签名是所述用户端利用所述用户端私钥对所述第二随机数据进行签名而得到的签名信息;利用所述用户端数字证书验证所述第二数字签名是否正确;当所述第二数字签名正确时,向所述用户端发送对称密钥生成通知;根据所述第一随机数据、第二随机数据和第三随机数据生成密钥。
优选地,在所述利用服务器私钥对所述第一随机数据的进行签名得到第一数字签名的步骤之前,还包括:接收所述用户端发送的所述用户端支持的加密算法信息;根据所述加密算法信息确定对数据加密时所采用的加密算法及相应的解密算法;向所述用户端发送对数据加密时所采用的加密算法信息;所述向所述用户端发送第二随机数据包括:利用所述加密算法和所述服务器私钥对所述第二随机数据进行加密;向所述用户端发送加密的第二随机数据。
优选地,所述接收所述用户端发送的第三随机数据包括:
接收所述用户端发送的利用所述加密算法和所述服务器数字证书中的服务器公钥加密的第三随机数据;
利用所述解密算法和所述服务器私钥对所述加密的第三随机数据进行解密得到所述第三随机数据。
优选地,所述根据所述第一随机数据、第二随机数据和第三随机数据生成密钥包括:
以所述第一随机数据、第二随机数据和第三随机数据为种子生成用于数据通信的密钥;
根据所述用于数据通信的密钥生成用于消息认证的密钥。
相应地,本发明还提供了一种密钥生成装置,包括:
第一发送单元,用于向服务器发送第一随机数据;
第一接收单元,用于接收所述服务器反馈的第二随机数据、服务器数字证书、第一数字签名,其中所述第一数字签名是所述服务器利用服务器私钥对所述第一随机数据进行签名而得到的签名信息;
验证单元,用于利用所述服务器数字证书验证所述第一数字签名是否正确;
签名单元,用于当所述第一数字签名正确时,利用用户端私钥对所述第二随机数据进行签名得到第二数字签名;
第二发送单元,用于向所述服务器发送第三随机数据、第二数字签名、用户端数字证书;
生成单元,用于当接收到所述服务器发送的对称密钥生成通知时,根据所述第一随机数据、第二随机数据和第三随机数据生成密钥。
优选地,还包括:
算法信息发送单元,用于在第一接收单元进行处理之前,向所述服务器发送所述用户端支持的加密算法信息;
算法信息接收单元,用于接收所述服务器反馈的对数据加密时所采用的加密算法信息;
算法确认单元,用于根据所述加密算法信息确定所述服务器所采用的加密算法及相应的解密算法;
所述第一接收单元包括:
加密数据接收单元,用于接收所述服务器发送的利用所述加密算法和所述服务器私钥加密的第二随机数据;
解密单元,用于利用所述解密算法和所述服务器数字证书中的公钥对所述加密的第二随机数据进行解密得到所述第二随机数据。
优选地,所述第二发送单元包括:
加密单元,用于利用所述加密算法和所述服务器数字证书中的公钥对所述第三随机数据进行加密;
加密数据发送单元,用于向所述服务器发送加密后的所述第三随机数据。
优选地,所述生成单元包括:
通信密钥生成单元,用于以所述第一随机数据、第二随机数据和第三随机数据为种子生成用于数据通信的密钥;
认证密钥生成单元,用于根据所述用于数据通信的密钥生成用于消息认证的密钥。
相应地,本发明还提供了另一种密钥生成装置,包括:
签名单元,用于当接收到用户端发送第一随机数据时,利用服务器私钥对所述第一随机数据的进行签名得到第一数字签名;
第一发送单元,用于向所述用户端发送第二随机数据、服务器数字证书和所述第一数字签名;
第一接收单元,用于接收所述用户端发送的第三随机数据、第二数字签名、用户端数字证书时,其中所述第二数字签名是所述用户端利用所述用户端私钥对所述第二随机数据进行签名而得到的签名信息;
验证单元,用于利用所述用户端数字证书验证所述第二数字签名是否正确;
第二发送单元,用于当所述第二数字签名正确时,向所述用户端发送对称密钥生成通知;
生成单元,用于根据所述第一随机数据、第二随机数据和第三随机数据生成密钥。
优选地,还包括:
算法信息接收单元,用于在所述签名单元进行处理之前,接收所述用户端发送的所述用户端支持的加密算法信息;
算法确认单元,用于根据所述加密算法信息确定对数据加密时所采用的加密算法及相应的解密算法;
算法信息发送单元,用于向所述用户端发送对数据加密时所采用的加密算法信息;
所述第一发送单元包括:
加密单元,用于利用所述加密算法和所述服务器私钥对所述第二随机数据进行加密;
加密数据发送单元,用于向所述用户端发送加密的第二随机数据。
优选地,所述第一接收单元包括:
加密数据接收单元,用于接收所述用户端发送的利用所述加密算法和所述服务器数字证书中的服务器公钥加密的第三随机数据;
解密单元,用于利用所述解密算法和所述服务器私钥对所述加密的第三随机数据进行解密得到所述第三随机数据。
优选地,所述根据所述第一随机数据、第二随机数据和第三随机数据生成密钥包括:
通信密钥生成单元,用于以所述第一随机数据、第二随机数据和第三随机数据为种子生成用于数据通信的密钥;
认证密钥生成单元,用于根据所述用于数据通信的密钥生成用于消息认证的密钥。
根据本发明提供的种密钥生成方法和装置,本地终端通过向服务器发送随机数据、数字签名以及本地终端的数字证书,使服务器可以对本地终端的身份进行验证;在经过服务器验证后,本地终端通过接收服务器发送的随机数据、数字签名以及服务器的数字证书,可以对服务器的身份进行验证;在互相验证身份无误后,利用双方通信过程中所使用的随机数据生成用于之后通信的密钥,本方法由本地终端生成密钥,避免了传输密钥的操作,而且生成密钥的数据来自通信双方,提高了密钥被破解的难度,由此具备较高的安全性。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了根据本发明实施例的一种密钥生成方法的流程图;
图2示出了根据本发明实施例的另一种密钥生成方法的流程图;
图3示出了根据本发明实施例的车辆通信系统的通信时序图;
图4示出了根据本发明实施例的一种密钥生成装置的示意图。
图5示出了根据本发明实施例的另一种密钥生成装置的示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种密钥生成方法,该方法可以由用户端执行,用户端可以是各种具有通信功能的电子设备,例如智能移动终端、计算机等,也可以是车载智能处理器等。如图1所示该方法包括如下步骤:
S11,向服务器发送第一随机数据,即本地终端随机生成的数据,例如可以是数字或者文字以及它们的组合;
服务器在接收到数据后则进行相应处理并反馈数据。
S12,接收服务器反馈的第二随机数据、服务器数字证书、第一数字签名,其中第一数字签名是服务器利用服务器私钥对第一随机数据进行签名而得到的签名信息。第二随机数据是服务器随机生成的数据,也可以是数字或者文字以及它们的组合。关于服务器数字证书、第一数字签名,本领域技术人员应当理解,该数字证书中包括服务器的公钥以及身份等信息;数字签名是根据数据本身生成的信息,具体地,签名方首先利用Hash函数生成数据的摘要,然后利用私钥对这个摘要进行加密即可得到数字签名。通常情况下数字签名是随着数据本身一起被发送的,也即用户端发送的可以是附有第一数字签名的第一随机数据。上述公钥与私钥是通过某种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。
S13,利用服务器数字证书验证第一数字签名是否正确,如上所述,数字证书中包含公钥,而数字签名是用私钥生成的。在此步骤中利用证书中的公钥即可对签名进行解密得到数据的摘要,然后本地终端再利用与服务器相同的Hash函数生成第一随机数据的摘要,与解密得到的摘要进行比对,如果一致即代表签名正确,也即表示服务器身份正常,然后执行步骤S14;若不一致,即签名错误则表示服务器身份异常,此时可以停止后续操作。
S14,利用用户端私钥对第二随机数据进行签名得到第二数字签名,与第一数字签名过程类似,此处不再赘述;
S15,向服务器发送第三随机数据、第二数字签名、用户端数字证书,即本地终端又一次生成随机数据(第三随机数据),该数据与之前的任何数据均无关联。用户端数字证书中包含用户端公钥和身份等信息。发送完毕则等待服务器的验证处理,并监测是否收到服务器的通知,此间服务器会根据用户端发送的上述数据对用户端的身份进行验证,验证通过后才会发送通知,当接收到服务器发送的对称密钥生成通知时,执行步骤S16。
S16,根据第一随机数据、第二随机数据和第三随机数据生成密钥。如上所述,其中第一随机数据和第三随机数据是本地生成的,第二随机数据是服务器发送来的。在此步骤中使用这三个数据生成用于后续通信加密、解密的密钥。密钥的具体生成方式有多种,利用现有的生成算法都是可行的,只要同时采纳这三个数据即可。
根据本发明实施例提供的密钥生成方法,本地终端通过向服务器发送随机数据、数字签名以及本地终端的数字证书,使服务器可以对本地终端的身份进行验证;在经过服务器验证后,本地终端通过接收服务器发送的随机数据、数字签名以及服务器的数字证书,可以对服务器的身份进行验证;在互相验证身份无误后,利用双方通信过程中所使用的随机数据生成用于之后通信的密钥,本方法由本地终端生成密钥,避免了传输密钥的操作,而且用于生成密钥的数据来自通信双方,提高了密钥被破解的难度,由此具备较高的安全性。
作为一个优选的实施方式,在上述步骤S12之前,还可以包括如下步骤:
S011,向服务器发送用户端支持的加密算法信息,本地终端可以存有多种加密算法,在正式互相验证之前,本地终端可以先向服务器提供自己所支持的算法;
S012,接收服务器反馈的对数据加密时所采用的加密算法信息,也即服务器从本地终端所支持的算法中选择一种算法作为后续的加密算法,并且通知本地终端所选的是哪一种算法;
S013,根据加密算法信息确定服务器所采用的加密算法及相应的解密算法,本地终端根据服务器的通知确定算法。
上述优选方案是本地终端与服务器之间确认加密算法的过程,这些步骤也可以与步骤S11的内容合并在一起执行。根据该方案,通信双方可以同时具备多种加密算法,实际应用时,每一次发送数据都可随机选择一种算法进行加密,以进一步提高安全性。
在本地终端和服务器双方明确了加密算法的情况下,进一步地,上述步骤S12中的接收第二随机数具体可以包括:
S121,接收服务器发送的利用所述加密算法和所述服务器私钥加密的第二随机数据;
S122,利用解密算法和所述服务器数字证书中的公钥对加密的第二随机数据进行解密得到第二随机数据。
上述步骤S15中的向服务器发送第三随机数具体可以包括:
S151,利用加密算法和所述服务器数字证书中的公钥对第三随机数据进行加密;
S152,向服务器发送加密后的第三随机数据。
根据上述优选方案,本地终端发出的随机数据和服务器发来随机数据都是经过加密处理的随机数据,由此可以进一步提高数据传输过程中的安全性。
作为一个优选的实施方式,上述步骤S16具体可以包括如下步骤:
S161,以第一随机数据、第二随机数据和第三随机数据为种子生成用于数据通信的密钥;
S162,根据用于数据通信的密钥生成用于消息认证的密钥。
根据上述优选方案,本地终端根据这三个随机数据生成两种不同用途的密钥,且是先根据随机数生成第一种密钥,然后再根据第一种密钥生成第二种密钥,增加了密钥生成过程的复杂程度,由此进一步提高了密钥生成方案的安全性。
本发明的另一个实施例还提供了一种密钥生成方法,该方法是与前一实施例相应的技术方案,可以由上述服务器执行,如图2所示该方法包括如下步骤:
S21,当接收到用户端发送第一随机数据时,利用服务器私钥对第一随机数据的进行签名得到第一数字签名,即服务器本地的私钥;
S22,向用户端发送第二随机数据、服务器数字证书和第一数字签名;
S23,接收用户端发送的第三随机数据、第二数字签名、用户端数字证书,其中第二数字签名是用户端利用用户端私钥对第二随机数据进行签名而得到的签名信息;
S24,利用用户端数字证书验证第二数字签名是否正确;
S25,当第二数字签名正确时,向用户端发送对称密钥生成通知,第二数字签名正确也即表示用户端的身份正常,服务器即通知用户端可以开始生成密钥;如果验证不正确则表示用户端身份异常,可以停止后续操作;
S26,根据第一随机数据、第二随机数据和第三随机数据生成密钥。如上,其中第一随机数据和第三随机数据是用户端发来的,第二随机数据是服务器本地生成的,在此步骤中使用这三个数据生成用于后续通信加密、解密的密钥。此步骤所采用的密钥生成算法应当与上述方法中的步骤S16所使用的算法相同,以确保用户端和服务器拥有相同的密钥。
根据本发明实施例提供的密钥生成方法,服务器通过向用户端发送随机数据、数字签名以及服务器的数字证书,可以使用户端对服务器的身份进行验证;在经过用户端验证后,通过接收用户端发送的随机数据、数字签名以及用户端的数字证书,使服务器可以对用户端的身份进行验证,在互相验证身份无误后,利用双方通信过程中所使用的随机数据生成用于之后通信的密钥,本方法由本地终端生成密钥,避免了传输密钥的操作,而且生成密钥的数据来自通信双方,提高了密钥被破解的难度,由此具备较高的安全性。
作为一个优选的实施方式,在上述步骤S21之前,还可以包括如下步骤:
S021,接收用户端发送的用户端支持的加密算法信息;
S022,根据加密算法信息确定对数据加密时所采用的加密算法及相应的解密算法;
S023,向用户端发送对数据加密时所采用的加密算法信息。
上述优选方案是本地终端与服务器之间确认加密算法的过程。根据该方案,通信双方可以同时具备多种加密算法,实际应用时,每一次发送数据都可随机选择一种算法进行加密,以进一步提高安全性。
在本地终端和服务器双方明确了加密算法的情况下,进一步地,上述步骤S22中向用户端发送第二随机数据的步骤具体可以包括:
S221,利用加密算法和服务器私钥对第二随机数据进行加密;
S222,向用户端发送加密的第二随机数据。
上述步骤S23中接收用户端发送的第三随机数据的步骤具体可以包括:
S231,接收用户端发送的利用加密算法和服务器数字证书中的服务器公钥加密的第三随机数据;
S232,利用解密算法和服务器私钥对加密的第三随机数据进行解密得到第三随机数据。
根据上述优选方案,本服务器发出的随机数据和用户端发来随机数据都是经过加密处理的随机数据,由此可以进一步提高数据传输过程中的安全性。
作为一个优选的实施方式,上述步骤S26具体可以包括如下步骤:
S261,以第一随机数据、第二随机数据和第三随机数据为种子生成用于数据通信的密钥;
S262,根据用于数据通信的密钥生成用于消息认证的密钥。
根据上述优选方案,服务器根据这三个随机数据生成两种不同用途的密钥,且是先根据随机数生成第一种密钥,然后再根据第一种密钥生成第二种密钥,增加了密钥生成过程的复杂程度,由此进一步提高了密钥生成方案的安全性。
本发明的另一个实施例提供了一种车辆通信系统,如图3所示,该系统包括车机31,即车载智能处理装置和服务器32。车机31是用于管理和控制其他车载电子部件的装置,并且车机31需要与服务器32进行通信,例如接收指令、下载数据等。该系统可以在正式通信之前,应用上述实施例提供的密钥生成方法生成对称密钥来提高数据通信的安全性。
具体地,首先由车机31向服务器发送随机数1、车机31支持的所有加密算法等信息;
服务器32将随机数1用自己的私钥进行签名,并生成随机数2,然后将选择的算法加密的随机数1、随机数2、服务器的数据签名证书发送给车机31;
车机31验证服务器32对随机数1的签名进行验证,验证正确后,用车机私钥对随机数2进行签名,生成随机数3,并用服务器公钥对随机数3进行加密。然后将加密的随机数3、车机的数字签名证书发送给服务器32;
服务器32验证车机31对随机数2的签名是否正确,并且解密随机数3,当随机数2的签名正确时,以随机数1、2、3为种子生成数据的通讯密钥,然后通过通讯密钥派生用于消息认证的密钥,同时通知车机31生成对称密钥;
车机31在接到通知后,以随机数1、2、3为种子生成数据的通讯密钥,然后通过通讯密钥派生用于消息认证的密钥。
本系统在实际通讯过程之前,采用上述方案生成数据加密密钥,在实际通讯过程中可以使用上述密钥对通信数据进行加密和解密操作,由此可以提高智能汽车与外界进行通信过程的安全性,进而提高整车的安全性。
本发明实施例还提供了一种密钥生成装置,该装置可以设置在用户端中,如图4所示,该装置包括:
第一发送单元41,用于向服务器发送第一随机数据;
第一接收单元42,用于接收所述服务器反馈的第二随机数据、服务器数字证书、第一数字签名,其中所述第一数字签名是所述服务器利用服务器私钥对所述第一随机数据进行签名而得到的签名信息;
验证单元43,用于利用所述服务器数字证书验证所述第一数字签名是否正确;
签名单元44,用于当所述第一数字签名正确时,利用用户端私钥对所述第二随机数据进行签名得到第二数字签名;
第二发送单元45,用于向所述服务器发送第三随机数据、第二数字签名、用户端数字证书;
生成单元46,用于当接收到所述服务器发送的对称密钥生成通知时,根据所述第一随机数据、第二随机数据和第三随机数据生成密钥。
根据本发明实施例提供的密钥生成装置,本地终端通过向服务器发送随机数据、数字签名以及本地终端的数字证书,使服务器可以对本地终端的身份进行验证;在经过服务器验证后,本地终端通过接收服务器发送的随机数据、数字签名以及服务器的数字证书,可以对服务器的身份进行验证;在互相验证身份无误后,利用双方通信过程中所使用的随机数据生成用于之后通信的密钥,本方法由本地终端生成密钥,避免了传输密钥的操作,而且生成密钥的数据来自通信双方,提高了密钥被破解的难度,由此具备较高的安全性。
优选地,还包括:
算法信息发送单元,用于在第一接收单元进行处理之前,向所述服务器发送所述用户端支持的加密算法信息;
算法信息接收单元,用于接收所述服务器反馈的对数据加密时所采用的加密算法信息;
算法确认单元,用于根据所述加密算法信息确定所述服务器所采用的加密算法及相应的解密算法;
所述第一接收单元包括:
加密数据接收单元,用于接收所述服务器发送的利用所述加密算法和所述服务器私钥加密的第二随机数据;
解密单元,用于利用所述解密算法和所述服务器数字证书中的公钥对所述加密的第二随机数据进行解密得到所述第二随机数据。
优选地,所述第二发送单元包括:
加密单元,用于利用所述加密算法和所述服务器数字证书中的公钥对所述第三随机数据进行加密;
加密数据发送单元,用于向所述服务器发送加密后的所述第三随机数据。
优选地,所述生成单元包括:
通信密钥生成单元,用于以所述第一随机数据、第二随机数据和第三随机数据为种子生成用于数据通信的密钥;
认证密钥生成单元,用于根据所述用于数据通信的密钥生成用于消息认证的密钥。
本发明的另一个实施例还提供了一种密钥生成装置,该装置可以设置在服务器中,如图5所示,该装置包括:
签名单元51,用于当接收到用户端发送第一随机数据时,利用服务器私钥对所述第一随机数据的进行签名得到第一数字签名;
第一发送单元52,用于向所述用户端发送第二随机数据、服务器数字证书和所述第一数字签名;
第一接收单元53,用于接收所述用户端发送的第三随机数据、第二数字签名、用户端数字证书时,其中所述第二数字签名是所述用户端利用所述用户端私钥对所述第二随机数据进行签名而得到的签名信息;
验证单元54,用于利用所述用户端数字证书验证所述第二数字签名是否正确;
第二发送单元55,用于当所述第二数字签名正确时,向所述用户端发送对称密钥生成通知;
生成单元56,用于根据所述第一随机数据、第二随机数据和第三随机数据生成密钥。
根据本发明实施例提供的密钥生成装置,服务器通过向用户端发送随机数据、数字签名以及服务器的数字证书,可以使用户端对服务器的身份进行验证;在经过用户端验证后,通过接收用户端发送的随机数据、数字签名以及用户端的数字证书,使服务器可以对用户端的身份进行验证,在互相验证身份无误后,利用双方通信过程中所使用的随机数据生成用于之后通信的密钥,本方法由本地终端生成密钥,避免了传输密钥的操作,而且生成密钥的数据来自通信双方,提高了密钥被破解的难度,由此具备较高的安全性。
优选地,还包括:
算法信息接收单元,用于在所述签名单元进行处理之前,接收所述用户端发送的所述用户端支持的加密算法信息;
算法确认单元,用于根据所述加密算法信息确定对数据加密时所采用的加密算法及相应的解密算法;
算法信息发送单元,用于向所述用户端发送对数据加密时所采用的加密算法信息;
所述第一发送单元包括:
加密单元,用于利用所述加密算法和所述服务器私钥对所述第二随机数据进行加密;
加密数据发送单元,用于向所述用户端发送加密的第二随机数据。
优选地,所述第一接收单元包括:
加密数据接收单元,用于接收所述用户端发送的利用所述加密算法和所述服务器数字证书中的服务器公钥加密的第三随机数据;
解密单元,用于利用所述解密算法和所述服务器私钥对所述加密的第三随机数据进行解密得到所述第三随机数据。
优选地,所述根据所述第一随机数据、第二随机数据和第三随机数据生成密钥包括:
通信密钥生成单元,用于以所述第一随机数据、第二随机数据和第三随机数据为种子生成用于数据通信的密钥;
认证密钥生成单元,用于根据所述用于数据通信的密钥生成用于消息认证的密钥。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (16)

1.一种密钥生成方法,其特征在于,包括:
向服务器发送第一随机数据;
接收所述服务器反馈的第二随机数据、服务器数字证书、第一数字签名,其中所述第一数字签名是所述服务器利用服务器私钥对所述第一随机数据进行签名而得到的签名信息;
利用所述服务器数字证书验证所述第一数字签名是否正确;
当所述第一数字签名正确时,利用用户端私钥对所述第二随机数据进行签名得到第二数字签名;
向所述服务器发送第三随机数据、第二数字签名、用户端数字证书;
当接收到所述服务器发送的对称密钥生成通知时,根据所述第一随机数据、第二随机数据和第三随机数据生成密钥。
2.根据权利要求1所述的方法,其特征在于,在所述接收所述服务器反馈的第二随机数据、服务器数字证书、第一数字签名的步骤之前,还包括:
向所述服务器发送所述用户端支持的加密算法信息;
接收所述服务器反馈的对数据加密时所采用的加密算法信息;
根据所述加密算法信息确定所述服务器所采用的加密算法及相应的解密算法;
所述接收所述服务器反馈的第二随机数据包括:
接收所述服务器发送的利用所述加密算法和所述服务器私钥加密的第二随机数据;
利用所述解密算法和所述服务器数字证书中的公钥对所述加密的第二随机数据进行解密得到所述第二随机数据。
3.根据权利要求2所述的方法,其特征在于,所述向所述服务器发送所述第三随机数据包括:
利用所述加密算法和所述服务器数字证书中的公钥对所述第三随机数据进行加密;
向所述服务器发送加密后的所述第三随机数据。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述根据所述第一随机数据、第二随机数据和第三随机数据生成密钥包括:
以所述第一随机数据、第二随机数据和第三随机数据为种子生成用于数据通信的密钥;
根据所述用于数据通信的密钥生成用于消息认证的密钥。
5.一种密钥生成方法,其特征在于,包括:
当接收到用户端发送第一随机数据时,利用服务器私钥对所述第一随机数据的进行签名得到第一数字签名;
向所述用户端发送第二随机数据、服务器数字证书和所述第一数字签名;
接收所述用户端发送的第三随机数据、第二数字签名、用户端数字证书时,其中所述第二数字签名是所述用户端利用所述用户端私钥对所述第二随机数据进行签名而得到的签名信息;
利用所述用户端数字证书验证所述第二数字签名是否正确;
当所述第二数字签名正确时,向所述用户端发送对称密钥生成通知;
根据所述第一随机数据、第二随机数据和第三随机数据生成密钥。
6.根据权利要求5所述的方法,其特征在于,在所述利用服务器私钥对所述第一随机数据的进行签名得到第一数字签名的步骤之前,还包括:
接收所述用户端发送的所述用户端支持的加密算法信息;
根据所述加密算法信息确定对数据加密时所采用的加密算法及相应的解密算法;
向所述用户端发送对数据加密时所采用的加密算法信息;
所述向所述用户端发送第二随机数据包括:
利用所述加密算法和所述服务器私钥对所述第二随机数据进行加密;
向所述用户端发送加密的第二随机数据。
7.根据权利要求6所述的方法,其特征在于,所述接收所述用户端发送的第三随机数据包括:
接收所述用户端发送的利用所述加密算法和所述服务器数字证书中的服务器公钥加密的第三随机数据;
利用所述解密算法和所述服务器私钥对所述加密的第三随机数据进行解密得到所述第三随机数据。
8.根据权利要求5-7中任一项所述的方法,其特征在于,所述根据所述第一随机数据、第二随机数据和第三随机数据生成密钥包括:
以所述第一随机数据、第二随机数据和第三随机数据为种子生成用于数据通信的密钥;
根据所述用于数据通信的密钥生成用于消息认证的密钥。
9.一种密钥生成装置,其特征在于,包括:
第一发送单元,用于向服务器发送第一随机数据;
第一接收单元,用于接收所述服务器反馈的第二随机数据、服务器数字证书、第一数字签名,其中所述第一数字签名是所述服务器利用服务器私钥对所述第一随机数据进行签名而得到的签名信息;
验证单元,用于利用所述服务器数字证书验证所述第一数字签名是否正确;
签名单元,用于当所述第一数字签名正确时,利用用户端私钥对所述第二随机数据进行签名得到第二数字签名;
第二发送单元,用于向所述服务器发送第三随机数据、第二数字签名、用户端数字证书;
生成单元,用于当接收到所述服务器发送的对称密钥生成通知时,根据所述第一随机数据、第二随机数据和第三随机数据生成密钥。
10.根据权利要求9所述的装置,其特征在于,还包括:
算法信息发送单元,用于在第一接收单元进行处理之前,向所述服务器发送所述用户端支持的加密算法信息;
算法信息接收单元,用于接收所述服务器反馈的对数据加密时所采用的加密算法信息;
算法确认单元,用于根据所述加密算法信息确定所述服务器所采用的加密算法及相应的解密算法;
所述第一接收单元包括:
加密数据接收单元,用于接收所述服务器发送的利用所述加密算法和所述服务器私钥加密的第二随机数据;
解密单元,用于利用所述解密算法和所述服务器数字证书中的公钥对所述加密的第二随机数据进行解密得到所述第二随机数据。
11.根据权利要求10所述的装置,其特征在于,所述第二发送单元包括:
加密单元,用于利用所述加密算法和所述服务器数字证书中的公钥对所述第三随机数据进行加密;
加密数据发送单元,用于向所述服务器发送加密后的所述第三随机数据。
12.根据权利要求9-11中任一项所述的装置,其特征在于,所述生成单元包括:
通信密钥生成单元,用于以所述第一随机数据、第二随机数据和第三随机数据为种子生成用于数据通信的密钥;
认证密钥生成单元,用于根据所述用于数据通信的密钥生成用于消息认证的密钥。
13.一种密钥生成装置,其特征在于,包括:
签名单元,用于当接收到用户端发送第一随机数据时,利用服务器私钥对所述第一随机数据的进行签名得到第一数字签名;
第一发送单元,用于向所述用户端发送第二随机数据、服务器数字证书和所述第一数字签名;
第一接收单元,用于接收所述用户端发送的第三随机数据、第二数字签名、用户端数字证书时,其中所述第二数字签名是所述用户端利用所述用户端私钥对所述第二随机数据进行签名而得到的签名信息;
验证单元,用于利用所述用户端数字证书验证所述第二数字签名是否正确;
第二发送单元,用于当所述第二数字签名正确时,向所述用户端发送对称密钥生成通知;
生成单元,用于根据所述第一随机数据、第二随机数据和第三随机数据生成密钥。
14.根据权利要求13所述的装置,其特征在于,还包括:
算法信息接收单元,用于在所述签名单元进行处理之前,接收所述用户端发送的所述用户端支持的加密算法信息;
算法确认单元,用于根据所述加密算法信息确定对数据加密时所采用的加密算法及相应的解密算法;
算法信息发送单元,用于向所述用户端发送对数据加密时所采用的加密算法信息;
所述第一发送单元包括:
加密单元,用于利用所述加密算法和所述服务器私钥对所述第二随机数据进行加密;
加密数据发送单元,用于向所述用户端发送加密的第二随机数据。
15.根据权利要求14所述的装置,其特征在于,所述第一接收单元包括:
加密数据接收单元,用于接收所述用户端发送的利用所述加密算法和所述服务器数字证书中的服务器公钥加密的第三随机数据;
解密单元,用于利用所述解密算法和所述服务器私钥对所述加密的第三随机数据进行解密得到所述第三随机数据。
16.根据权利要求13-15中任一项所述的装置,其特征在于,所述根据所述第一随机数据、第二随机数据和第三随机数据生成密钥包括:
通信密钥生成单元,用于以所述第一随机数据、第二随机数据和第三随机数据为种子生成用于数据通信的密钥;
认证密钥生成单元,用于根据所述用于数据通信的密钥生成用于消息认证的密钥。
CN201611169675.4A 2016-12-16 2016-12-16 密钥生成方法及装置 Withdrawn CN108206739A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611169675.4A CN108206739A (zh) 2016-12-16 2016-12-16 密钥生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611169675.4A CN108206739A (zh) 2016-12-16 2016-12-16 密钥生成方法及装置

Publications (1)

Publication Number Publication Date
CN108206739A true CN108206739A (zh) 2018-06-26

Family

ID=62602537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611169675.4A Withdrawn CN108206739A (zh) 2016-12-16 2016-12-16 密钥生成方法及装置

Country Status (1)

Country Link
CN (1) CN108206739A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109495441A (zh) * 2018-09-10 2019-03-19 北京车和家信息技术有限公司 接入认证方法、装置、相关设备及计算机可读存储介质
CN109587164A (zh) * 2018-12-27 2019-04-05 深圳市元征科技股份有限公司 一种信息加密传输方法、装置、设备及存储介质
CN110620792A (zh) * 2019-10-24 2019-12-27 福建星网视易信息系统有限公司 通信加密方法、通信设备、系统及计算机可读存储介质
CN111132154A (zh) * 2019-12-26 2020-05-08 飞天诚信科技股份有限公司 一种协商会话密钥的方法及系统
CN111726362A (zh) * 2020-06-23 2020-09-29 广东博智林机器人有限公司 信息的传输方法、信息的传输系统、第一设备和第二设备
CN112422275A (zh) * 2020-10-26 2021-02-26 深圳Tcl新技术有限公司 Uart通信中的秘钥协商方法、系统、设备及计算机存储介质
CN113301563A (zh) * 2020-02-05 2021-08-24 阿里巴巴集团控股有限公司 网络配置方法、装置、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710605A (zh) * 2012-05-08 2012-10-03 重庆大学 一种云制造环境下的信息安全管控方法
CN102882847A (zh) * 2012-08-24 2013-01-16 山东省计算中心 基于sd密码卡的物联网健康医疗服务系统及安全通信方法
CN106101068A (zh) * 2016-05-27 2016-11-09 宇龙计算机通信科技(深圳)有限公司 终端通信方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710605A (zh) * 2012-05-08 2012-10-03 重庆大学 一种云制造环境下的信息安全管控方法
CN102882847A (zh) * 2012-08-24 2013-01-16 山东省计算中心 基于sd密码卡的物联网健康医疗服务系统及安全通信方法
CN106101068A (zh) * 2016-05-27 2016-11-09 宇龙计算机通信科技(深圳)有限公司 终端通信方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109495441A (zh) * 2018-09-10 2019-03-19 北京车和家信息技术有限公司 接入认证方法、装置、相关设备及计算机可读存储介质
CN109587164A (zh) * 2018-12-27 2019-04-05 深圳市元征科技股份有限公司 一种信息加密传输方法、装置、设备及存储介质
CN110620792A (zh) * 2019-10-24 2019-12-27 福建星网视易信息系统有限公司 通信加密方法、通信设备、系统及计算机可读存储介质
CN111132154A (zh) * 2019-12-26 2020-05-08 飞天诚信科技股份有限公司 一种协商会话密钥的方法及系统
CN113301563A (zh) * 2020-02-05 2021-08-24 阿里巴巴集团控股有限公司 网络配置方法、装置、设备和存储介质
CN111726362A (zh) * 2020-06-23 2020-09-29 广东博智林机器人有限公司 信息的传输方法、信息的传输系统、第一设备和第二设备
CN112422275A (zh) * 2020-10-26 2021-02-26 深圳Tcl新技术有限公司 Uart通信中的秘钥协商方法、系统、设备及计算机存储介质

Similar Documents

Publication Publication Date Title
US10084760B2 (en) Secure messages for internet of things devices
CN108206739A (zh) 密钥生成方法及装置
Barker et al. Recommendation for key management part 3: Application-specific key management guidance
US7366905B2 (en) Method and system for user generated keys and certificates
US8788802B2 (en) Constrained cryptographic keys
CN103338215B (zh) 基于国密算法建立tls通道的方法
CN105162599B (zh) 一种数据传输系统及其传输方法
US9716591B2 (en) Method for setting up a secure connection between clients
CN109495445A (zh) 基于物联网的身份认证方法、装置、终端、服务器及介质
CN104901935A (zh) 一种基于cpk的双向认证及数据交互安全保护方法
CN103166958A (zh) 一种文件的保护方法及系统
CN105307165A (zh) 基于移动应用的通信方法、服务端和客户端
CN108809633B (zh) 一种身份认证的方法、装置及系统
CN101170413B (zh) 一种数字证书及其私钥的获得、分发方法及设备
JP2020530726A (ja) サプライチェーン資産管理を保護するアプリケーションを有する遠隔サーバへのnfcタグ認証
CN107483429B (zh) 一种数据加密方法和装置
CN111914291A (zh) 消息处理方法、装置、设备及存储介质
CN105577377A (zh) 带密钥协商的基于身份的认证方法和系统
CN104901803A (zh) 一种基于cpk标识认证技术的数据交互安全保护方法
CN102404337A (zh) 数据加密方法和装置
CN105554008B (zh) 用户终端、认证服务器、中间服务器、系统和传送方法
CN110493367A (zh) 无地址的IPv6非公开服务器、客户机与通信方法
CN104200154A (zh) 一种基于标识的安装包签名方法及其装置
CN102281303A (zh) 一种数据交换方法
ES2926968T3 (es) Una primera entidad, una segunda entidad, un nodo intermedio, métodos para establecer una sesión segura entre una primera y una segunda entidad, y productos de programa informático

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
TA01 Transfer of patent application right

Effective date of registration: 20180927

Address after: 511458 9, Nansha District Beach Road, Guangzhou, Guangdong, 9

Applicant after: Hengda Faraday future intelligent vehicle (Guangdong) Co., Ltd.

Address before: 100025 8 floor 909, 105 building 3, Yao Yuan Road, Chaoyang District, Beijing.

Applicant before: Music Automotive (Beijing) Co., Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190318

Address after: 100015 Building No. 7, 74, Jiuxianqiao North Road, Chaoyang District, Beijing, 001

Applicant after: FAFA Automobile (China) Co., Ltd.

Address before: 511458 9, Nansha District Beach Road, Guangzhou, Guangdong, 9

Applicant before: Hengda Faraday future intelligent vehicle (Guangdong) Co., Ltd.

TA01 Transfer of patent application right
WW01 Invention patent application withdrawn after publication

Application publication date: 20180626

WW01 Invention patent application withdrawn after publication