CN108075896A - 使用基于标识的密码学构建自认证消息的系统和方法 - Google Patents

使用基于标识的密码学构建自认证消息的系统和方法 Download PDF

Info

Publication number
CN108075896A
CN108075896A CN201710598707.0A CN201710598707A CN108075896A CN 108075896 A CN108075896 A CN 108075896A CN 201710598707 A CN201710598707 A CN 201710598707A CN 108075896 A CN108075896 A CN 108075896A
Authority
CN
China
Prior art keywords
key
equipment
message
self
encryption
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
CN201710598707.0A
Other languages
English (en)
Other versions
CN108075896B (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.)
Huawei International Pte Ltd
Original Assignee
Huawei International Pte 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 Huawei International Pte Ltd filed Critical Huawei International Pte Ltd
Publication of CN108075896A publication Critical patent/CN108075896A/zh
Application granted granted Critical
Publication of CN108075896B publication Critical patent/CN108075896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • H04L9/0841Key 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 involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key 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 involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)

Abstract

本文档公开了一种用于构建要从第一电子设备发送到第二电子设备的自认证消息的系统和方法。所述公开的系统和方法使用基于标识的密码学来构建自认证消息,由此使用通过发送方和/或接收方的标识来生成的加密/解密密钥对明文进行加密和解密。

Description

使用基于标识的密码学构建自认证消息的系统和方法
技术领域
本发明涉及一种用于构建要从第一电子设备发送到第二电子设备的自认证消息的系统和方法。本发明尤其涉及一种使用基于标识的密码学来构建自认证消息的系统和方法,由此使用加密/解密密钥对明文进行加密和解密,而加密/解密密钥使用发送方和/或接收方的标识来生成。
背景技术
随着技术的进步,越来越多的设备通过互联网或在彼此之间直接进行无缝无线通信。这种聚合使得物联网(Internet of Things,IoT)的愿景在近几年越来越受重视。在物联网网络中,数百万个实体或设备(即物体)将会彼此连接。这些设备,可以包括诸如智能芯片、智能插头、智能手表、智能电话、智能车辆、智能建筑物等设备或实体,它们彼此直接通信或者通过互联网间接通信。
在基本层面上,IoT网络中提供的设备通过经由无线或有线网络交换安全消息来相互通信。但是,这些消息很容易被恶意实体拦截。因此,不扩展防止消息被拦截的资源,而是在发送这些消息之前将这些消息的内容从明文加密成密文。然后,授权的接收方将密文进行解密以读取其中包含的明文。
目前,IoT设备通过在发送方和接收方之间建立一条安全隧道来进行安全通信。为了建立安全隧道,发送方首先对接收方进行认证,随后,接收方对发送方进行认证。一旦完成,双方就会建立和共享一个公共会话密钥,用来对这两方之间交换的消息进行加密和解密。
除了该安全隧道方法之外,确保双方之间通信安全的另一种方法涉及自认证消息的使用。自认证消息本质上是一种附加有认证标签的加密消息。消息的接收方会利用附加到接收消息的认证标签来确定加密消息的真实性,即确定消息是否被篡改和/或消息是否来自预期发送方。自认证消息通常使用对称密钥加密或非对称密钥加密技术来构建。
对于对称密钥加密方法,在两个设备之间传输一系列消息之前,这些设备都必须预先共享或预先交换对称密钥。对于这一方法,要在实体之间传输的数据消息附有一个认证码,该认证码使用预先共享或预先约定的秘密密钥来生成。如果接收实体使用该预先共享的秘密密钥正确验证接收消息附有的认证码,则意味着发送方的真实性已经被验证,接收方则可以相应地继续对接收消息进行解密。不利的是,该方法不可扩展,而且缺乏灵活性,因为需要在所有受信实体或设备可以彼此通信之前将公共秘密密钥预先共享或传送给这些实体或设备。在IoT网络中,设备的高移动性是一个标准,而且需要彼此交换数据的设备可能没有机会提前建立预先分享的对称密钥。
对于非对称密钥加密方法,使用公共加密算法对自认证消息进行加密,由此通过该算法生成的签名用作认证标签。然而,通过该公共密钥算法生成的签名通常相对很大,因此导致自认证消息的大小大幅增加。在IoT设备之间传输这样大的消息是不切实际的,因此非对称密钥加密方法通常不适合在IoT网络中使用。
由于上述原因,本领域技术人员正在不断努力提出一种构建自认证消息的系统和方法,其无需在通信方之间预先共享会话密钥而且还不会大幅增加所得传输消息的大小。
发明内容
提出了用以改进使用基于标识的密码学的自认证消息构建的系统和方法,并且根据本发明实施例在下文列出了这些系统和方法。
根据本发明的系统和方法的实施例提出的第一改进是,对称密钥不需要在通信设备之间预先共享,而且最终构建的自认证消息的大小不会大幅增加。
根据本发明的系统和方法的实施例提出的第二改进是,中间密钥的计算可以外包给其它设备并且不一定在通信设备的处理器内执行。
上述改进由根据本发明的按照以下方式操作的方法的实施例来提供。
根据本发明的第一方面,一种用于构建要从第一设备发送到第二设备的自认证消息的方法包括:所述第一设备获取所述第一设备的第一部分密钥和第二部分密钥;使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR;使用所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR;使用所述共享密钥KSR来生成加密密钥K;使用所述生成的加密密钥K对消息进行加密;至少基于所述加密消息来形成所述自认证消息;以及向所述第二设备传输所述形成的自认证消息。
结合所述第一方面,在所述第一方面的第一可能实施方式中,所述至少基于所述加密消息来形成所述自认证消息包括:所述第一设备使用所述加密密钥K和所述加密消息来计算第一消息认证码(Message Authentication Code,MAC);以及至少基于所述第一设备的所述标识ID1、所述加密消息和所述第一MAC来形成所述自认证消息。
结合所述第一方面或所述第一方面的所述第一可能实施方式,在所述第一方面的第二可能实施方式中,所述获取所述第一设备的所述第一部分密钥和所述第二部分密钥包括:所述第一设备向私有密钥生成器传输所述第一设备的所述标识ID1,使得所述生成器基于主秘密密钥s和所述第一设备的所述标识ID1来生成私有密钥Kfirst_device;从所述私有密钥生成器接收所述私有密钥Kfirst_device;以及计算所述第一设备的所述第一部分密钥和所述第二部分密钥,其中所述第二部分密钥包括一个随机数,所述第一部分密钥基于所述第二部分密钥和所述私有密钥Kfirst_device而生成。
结合所述第一方面、所述第一方面的所述第一或第二可能实施方式,在所述第一方面的第三可能实施方式中,所述第一设备使用所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥来计算所述中间密钥IKSR包括:所述第一设备向计算机服务器传输所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥,使得所述计算机服务器使用所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥来计算所述中间密钥IKSR;以及从所述计算机服务器接收所述计算得到的中间密钥IKSR
结合所述第一方面、所述第一方面的所述第一、第二或第三可能实施方式,在所述第一方面的第四可能实施方式中,所述第一设备使用所述共享密钥KSR来生成所述加密密钥K的步骤,该步骤还包括:将生成的密码随机数与所述共享密钥KSR一起用来生成所述加密密钥K,其中,在所述形成所述自认证消息的步骤处,该步骤还包括所述第一设备将所述密码随机数添加到所述自认证消息中。
根据本发明的第二方面,一种用于构建要从第一设备发送到第二设备的自认证消息的方法包括:所述第二设备获取所述第二设备的第一部分密钥和第二部分密钥;接收从所述第一设备传输而来的所述自认证消息;使用所述第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS;使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR;使用所述共享密钥KSR来生成加密密钥K;使用所述加密密钥K对所述接收到的自认证消息进行认证;以及当所述接收到的自认证消息认证成功时,使用所述生成的加密密钥K对所述接收到的自认证消息中的加密消息进行解密。
结合所述第二方面,在所述第二方面的第一可能实施方式中,在所述使用所述加密密钥K对所述接收到的自认证消息进行认证的步骤之前,所述方法还包括:所述第二设备使用所述生成的加密密钥K和所述接收到的自认证消息中的所述加密消息来计算第二MAC,其中,所述使用所述加密密钥K对所述接收到的自认证消息进行认证的步骤包括:所述第二设备确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;当所述第二MAC匹配于所述获取的第一MAC匹配时,成功认证所述自认证消息。
结合所述第二方面或所述第二方面的所述第一可能实施方式,在所述第二方面的第二可能实施方式中,所述获取所述第二设备的所述第一部分密钥和所述第二部分密钥包括:所述第二设备向私有密钥生成器传输所述第二设备的标识ID2,使得所述私有密钥生成器基于主秘密密钥s和所述第二设备的所述标识ID2来生成私有密钥Ksecond_device;从所述私有密钥生成器接收所述私有密钥Ksecond_device;以及计算所述第二设备的所述第一部分密钥和所述第二部分密钥,其中所述第二部分密钥包括一个随机数,所述第一部分密钥基于所述第二部分密钥和所述私有密钥Ksecond_device而生成。
结合所述第二方面、所述第二方面的所述第一或第二可能实施方式,在所述第二方面的第三可能实施方式中,所述第二设备使用所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥来计算所述中间密钥IKRS包括:所述第二设备向计算机服务器传输所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥,使得所述计算机服务器使用所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥来计算所述中间密钥IKRS;以及从所述计算机服务器接收所述计算得到的中间密钥IKRS
结合所述第二方面、所述第二方面的所述第一、第二或第三可能实施方式,在所述第二方面的第四可能实施方式中,在所述第二设备使用所述共享密钥KSR来生成所述加密密钥K的步骤处,所述方法还包括:所述第二设备从所述接收到的自认证消息中检索密码随机数;以及所述第二设备使用所述检索到的密码随机数和所述共享密钥KSR来生成所述加密密钥K。
根据本发明的第三方面,一种用于构建要从第一设备发送到第二设备的自认证消息的方法包括:所述第一设备获取所述第一设备的第一部分密钥和第二部分密钥;使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR;基于所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR;将所述共享密钥KSR与第一常数一起用来生成加密密钥K并且通过所述生成的加密密钥K对消息进行加密,以及使用所述共享密钥KSR和第二常数来生成认证密钥KA,其中所述第一和第二常数从所述第一设备获取;使用所述认证密钥KA和所述加密消息来计算第一消息认证码(Message Authentication Code,MAC);至少基于所述第一设备的所述标识ID1、所述加密消息和所述MAC来形成所述自认证消息;以及向所述第二设备传输所述形成的自认证消息。
结合所述第三方面,在本发明的所述第三方面的第一可能实施方式中,在所述生成所述加密密钥K和所述认证密钥KA的步骤之前,所述方法包括以下步骤:所述第一设备生成密码随机数,其中所述加密密钥K推导为:K=HMAC(KSR,密码随机数║第一常数),以及所述认证密钥KA推导为:KA=HMAC(KSR,密码随机数║第二常数),其中HMAC()为密钥-哈希消息认证码函数。
根据本发明的第四方面,一种用于构建要从第一设备发送到第二设备的自认证消息的方法包括:所述第二设备获取所述第二设备的第一部分密钥和第二部分密钥;接收从所述第一设备传输而来的所述自认证消息;使用所述第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS,以及使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR;使用所述共享密钥KSR和第一常数来计算加密密钥K以及使用所述共享密钥KSR和第二常数来计算认证密钥KA,其中所述第一和第二常数从所述第二设备获取;使用所述计算得到的认证密钥KA和所述接收到的自认证消息中的加密消息来计算第二MAC;确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及当所述第二MAC匹配于所述获取的第一MAC时,使用所述生成的加密密钥K对所述接收到的自认证消息中的所述加密消息进行解密。
结合所述第四方面,在所述第四方面的第一可能实施方式中,在所述第二设备计算所述加密密钥K和所述认证密钥KA的步骤处,所述加密密钥K推导为:K=HMAC(KSR,密码随机数║第一常数),以及所述认证密钥KA推导为:KA=HMAC(KSR,密码随机数║第二常数),其中所述第一和第二常数从所述接收到的自认证消息中获取。
根据本发明的第五方面,一种用于构建要从第一设备发送到第二设备的自认证消息的方法包括:所述第一设备获取所述第一设备的第一部分密钥和第二部分密钥;使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR;使用所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR;使用所述共享密钥KSR来生成加密密钥K;使用所述加密密钥K和消息来计算第一消息认证码(Message Authentication Code,MAC);至少基于所述第一设备的所述标识ID1、所述消息和所述第一MAC来形成所述自认证消息;以及向所述第二设备传输所述形成的自认证消息。
根据本发明的第六方面,一种用于构建要从第一设备发送到第二设备的自认证消息的方法包括:所述第二设备获取所述第二设备的第一部分密钥和第二部分密钥;接收从所述第一设备传输而来的所述自认证消息;使用所述第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS;使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR;计算加密密钥K,以及使用所述生成的加密密钥K和所述接收到的自认证消息中的消息来计算第二MAC;确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及当所述第二MAC匹配于所述获取的第一MAC时,对所述自认证消息进行认证。
根据本发明的第七方面,提供一种系统用于构建要从第一设备发送到第二设备的自认证消息,所述系统包括:设于所述第一设备内的处理器;以及所述设于所述第一设备内的处理器可读的非瞬时性介质,所述介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:获取所述第一设备的第一部分密钥和第二部分密钥;使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR;使用所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR;使用所述共享密钥KSR来生成加密密钥K;使用所述生成的加密密钥K对消息进行加密;至少基于所述加密消息来形成所述自认证消息;以及向所述第二设备传输所述形成的自认证消息。
结合所述第七方面,在所述第七方面的第一可能实施方式中,所述至少基于所述加密消息来形成所述自认证消息的指令包括:用于指示所述处理器执行以下操作的指令:使用所述加密密钥K和所述加密消息来计算第一消息认证码(Message AuthenticationCode,MAC);以及至少基于所述第一设备的所述标识ID1、所述加密消息和所述第一MAC来形成所述自认证消息。
结合所述第七方面或所述第七方面的所述第一可能实施方式,在所述第七方面的第二可能实施方式中,所述获取所述第一设备的所述第一部分密钥和所述第二部分密钥的指令包括:用于指示所述处理器执行以下操作的指令:向私有密钥生成器传输所述第一设备的所述标识ID1,使得所述生成器基于主秘密密钥s和所述第一设备的所述标识ID1来生成私有密钥Kfirst_device;从所述私有密钥生成器接收所述私有密钥Kfirst_device;以及计算所述第一设备的所述第一部分密钥和所述第二部分密钥,其中所述第二部分密钥包括一个随机数,所述第一部分密钥基于所述第二部分密钥和所述私有密钥Kfirst_device而生成。
结合所述第七方面、所述第七方面的所述第一或第二可能实施方式,在所述第七方面的第三可能实施方式中,所述用于指示所述处理器通过所述第一设备使用所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥来计算所述中间密钥IKSR的指令包括:用于指示所述处理器执行以下操作的指令:向计算机服务器传输所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥,使得所述计算机服务器使用所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥来计算所述中间密钥IKSR;以及从所述计算机服务器接收所述计算得到的中间密钥IKSR
结合所述第七方面、所述第七方面的所述第一、第二或第三可能实施方式,在所述第七方面的第四可能实施方式中,所述用于指示所述处理器使用所述共享密钥KSR来生成所述加密密钥K的指令还包括:用于指示所述处理器执行以下操作的指令:将生成的密码随机数与所述共享密钥KSR一起用来生成所述加密密钥K,其中,所述用于指示所述处理器形成所述自认证消息的指令还包括用于指示所述处理器将所述密码随机数添加到所述自认证消息中的指令。
根据本发明的第八方面,提供一种系统用于构建要从第一设备发送到第二设备的自认证消息,包括:设于所述第二设备内的处理器;以及所述设于所述第二设备内的处理器可读的非瞬时性介质,所述介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:获取所述第二设备的第一部分密钥和第二部分密钥;接收从所述第一设备传输而来的所述自认证消息;使用所述第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS;使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR;使用所述共享密钥KSR来生成加密密钥K;使用所述加密密钥K对所述接收到的自认证消息进行认证;以及当所述接收到的自认证消息认证成功时,使用所述生成的加密密钥K对所述接收到的自认证消息中的加密消息进行解密。
结合所述第八方面,在所述第八方面的第一可能实施方式中,在所述指示所述处理器使用所述加密密钥K对所述接收到的自认证消息进行认证的指令之前,所述系统还包括:用于指示所述处理器执行以下操作的指令:使用所述生成的加密密钥K和所述接收到的自认证消息中的所述加密消息来计算第二MAC,其中,所述指示所述处理器使用所述加密密钥K对所述接收到的自认证消息进行认证的指令包括:用于指示所述处理器执行以下操作的指令:确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及当所述第二MAC匹配于所述获取的第一MAC时,成功认证所述自认证消息。
结合所述第八方面或所述第八方面的所述第一可能实施方式,在所述第八方面的第二可能实施方式中,所述指示所述处理器获取所述第二设备的所述第一部分密钥和所述第二部分密钥的指令包括:用于指示所述处理器执行以下操作的指令:向私有密钥生成器传输所述第二设备的标识ID2,使得所述私有密钥生成器基于主秘密密钥s和所述第二设备的所述标识ID2来生成私有密钥Ksecond_device;从所述私有密钥生成器接收所述私有密钥Ksecond_device;以及计算所述第二设备的所述第一部分密钥和所述第二部分密钥,其中所述第二部分密钥包括一个随机数,所述第一部分密钥基于所述第二部分密钥和所述私有密钥Ksecond_device而生成。
结合所述第八方面、所述第八方面的所述第一或第二可能实施方式,在所述第八方面的第三可能实施方式中,所述用于指示所述处理器通过所述第二设备使用所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥来计算所述中间密钥IKRS的指令包括:用于指示所述处理器执行以下操作的指令:向计算机服务器传输所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥,使得所述计算机服务器使用所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥来计算所述中间密钥IKRS;以及从所述计算机服务器接收所述计算得到的中间密钥IKRS
结合所述第八方面、所述第八方面的所述第一、第二或第三可能实施方式,在所述第八方面的第四可能实施方式中,所述用于指示所述处理器生成所述加密密钥K的指令还包括:用于指示所述处理器执行以下操作的指令:从所述接收到的自认证消息中检索密码随机数;以及使用所述检索到的密码随机数和所述共享密钥KSR来生成所述加密密钥K。
根据本发明的第九方面,提供一种系统用于构建要从第一设备发送到第二设备的自认证消息,包括:设于所述第一设备内的处理器;以及所述设于所述第一设备内的处理器可读的非瞬时性介质,所述介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:获取所述第一设备的第一部分密钥和第二部分密钥;使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR;基于所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR;将所述共享密钥KSR和第一常数一起用来生成加密密钥K并且通过所述生成的加密密钥K对消息进行加密,以及使用所述共享密钥KSR和第二常数来生成认证密钥KA,其中所述第一和第二常数从所述第一设备获取;使用所述认证密钥KA和所述加密消息来计算第一消息认证码(MessageAuthentication Code,MAC);至少基于所述第一设备的所述标识ID1、所述加密消息和所述第一MAC来形成所述自认证消息;以及向所述第二设备传输所述形成的自认证消息。
结合所述第九方面,在本发明的所述第九方面的第一可能实施方式中,在所述用于指示所述处理器生成所述加密密钥K和所述认证密钥KA的指令之前,所述系统包括:用于指示所述处理器执行以下操作的指令:生成密码随机数,其中所述加密密钥K推导为:K=HMAC(KSR,密码随机数║第一常数),以及所述认证密钥KA推导为:KA=HMAC(KSR,密码随机数║第二常数),其中HMAC()为密钥-哈希消息认证码函数。
根据本发明的第十方面,提供一种系统用于构建要从第一设备发送到第二设备的自认证消息,包括:设于所述第二设备内的处理器;以及所述设于所述第二设备内的处理器可读的非瞬时性介质,所述介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:获取所述第二设备的第一部分密钥和第二部分密钥;接收从所述第一设备传输而来的所述自认证消息;使用所述第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS,以及使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR;使用所述共享密钥KSR和第一常数来计算加密密钥K以及使用所述共享密钥KSR和第二常数来计算认证密钥KA,其中所述第一和第二常数从所述第二设备获取,使用所述计算得到的认证密钥KA和所述接收到的自认证消息中的加密消息来计算第二MAC,确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及当所述第二MAC匹配于所述获取的第一MAC时,使用所述生成的加密密钥K对所述接收到的自认证消息中的所述加密消息进行解密。
结合所述第十方面,在所述第十方面的第一可能实施方式中,所述指示所述处理器计算所述加密密钥K和所述认证密钥KA的指令包括:用于指示所述处理器执行以下操作的指令:推导所述加密密钥K为:K=HMAC(KSR,密码随机数║第一常数),以及推导所述认证密钥KA为:KA=HMAC(KSR,密码随机数║第二常数),其中所述第一和第二常数从所述接收到的自认证消息中获取。
根据本发明的第十一方面,一种用于构建要从第一设备发送到第二设备的自认证消息的方法包括,提供一种系统用于构建要从第一设备发送到第二设备的自认证消息,包括:设于所述第一设备内的处理器;以及所述设于所述第一设备内的处理器可读的非瞬时性介质,所述介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:获取所述第一设备的第一部分密钥和第二部分密钥;使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR;使用所述计算得到的中间密钥IKRS和所述第一设备的所述第二部分密钥来生成共享密钥KSR;使用所述共享密钥KSR来生成加密密钥K;使用所述加密密钥K和消息来计算第一消息认证码(Message AuthenticationCode,MAC);至少基于所述第一设备的所述标识ID1、所述消息和所述第一MAC来形成所述自认证消息;以及向所述第二设备传输所述形成的自认证消息。
根据本发明的第十二方面,提供一种系统用于构建要从第一设备发送到第二设备的自认证消息,包括:设于所述第二设备内的处理器;以及所述设于所述第二设备内的处理器可读的非瞬时性介质,所述介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:获取所述第二设备的第一部分密钥和第二部分密钥;接收从所述第一设备传输而来的所述自认证消息;使用第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS;使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR;计算加密密钥K,以及使用所述生成的加密密钥K和所述接收到的自认证消息中的消息来计算第二MAC;确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及当所述第二MAC匹配于所述获取的第一MAC时,对所述自认证消息进行认证。
根据本发明的第十三方面,提供第一设备用于构建要从所述第一设备发送到第二设备的自认证消息,所述第一设备包括获取单元、运算单元、生成单元、加密单元、形成单元和传输单元,其中所述获取单元用于获取所述第一设备的第一部分密钥和第二部分密钥;所述运算单元用于使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR;所述生成单元用于使用所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR以及使用所述共享密钥KSR来生成加密密钥K;所述加密单元用于使用所述生成的加密密钥K对消息进行加密;所述形成单元用于至少基于所述加密消息来形成所述自认证消息;以及所述传输单元用于向所述第二设备传输所述形成的自认证消息。
结合所述第十三方面,在本发明的所述第十三方面的第一可能实施方式中,所述形成单元还用于:使用所述加密密钥K和所述加密消息来计算第一消息认证码(MessageAuthentication Code,MAC);以及至少基于所述第一设备的所述标识ID1、所述加密消息和所述第一MAC来形成所述自认证消息。
结合所述第十三方面或本发明的所述第十三方面的所述第一可能实施方式,在本发明的所述第十三方面的第二可能实施方式中,所述用于获取所述第一设备的所述第一部分密钥和所述第二部分密钥的获取单元还用于:向私有密钥生成器传输所述第一设备的所述标识ID1,使得所述生成器基于主秘密密钥s和所述第一设备的所述标识ID1来生成私有密钥Kfirst_device;从所述私有密钥生成器接收所述私有密钥Kfirst_device;以及计算所述第一设备的所述第一部分密钥和所述第二部分密钥,其中所述第二部分密钥包括一个随机数,所述第一部分密钥基于所述第二部分密钥和所述私有密钥Kfirst_device而生成。
结合所述第十三方面、本发明的所述第十三方面的所述第一或第二可能实施方式,在本发明的所述第十三方面的第三可能实施方式中,所述用于通过所述第一设备使用所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥来计算所述中间密钥IKSR的运算单元还用于:向计算机服务器传输所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥,使得所述计算机服务器使用所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥来计算所述中间密钥IKSR;以及从所述计算机服务器接收所述计算得到的中间密钥IKSR
结合所述第十三方面、本发明的所述第十三方面的所述第一、第二或第三可能实施方式,在本发明的所述第十三方面的第四可能实施方式中,所述用于使用所述共享密钥KSR来生成所述加密密钥K的生成单元还用于:将生成的密码随机数与所述共享密钥KSR一起用来生成所述加密密钥K,其中,所述用于指示所述处理器形成所述自认证消息的指令还包括用于指示所述处理器将所述密码随机数添加到所述自认证消息中的指令。
根据本发明的第十四方面,提供第二设备用于接收要从第一设备发送到所述第二设备的自认证消息,所述第二设备包括获取单元、接收单元、运算单元、生成单元、认证单元和解密单元,其中所述获取单元用于获取所述第二设备的第一部分密钥和第二部分密钥;所述接收单元用于接收从所述第一设备传输而来的所述自认证消息,所述运算单元用于使用所述第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS;所述生成单元用于使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR以及使用所述共享密钥KSR来生成加密密钥K;所述认证单元用于使用所述加密密钥K对所述接收到的自认证消息进行认证;以及所述解密单元用于:当所述接收到的自认证消息成功认证时,使用所述生成的加密密钥K对所述接收到的自认证消息中的加密消息进行解密。
结合所述第十四方面,在所述第十四方面的第一可能实施方式中,在所述认证单元用于使用所述加密密钥K对所述接收到的自认证消息进行认证之前,计算单元用于:使用所述生成的加密密钥K和所述接收到的自认证消息中的所述加密消息来计算第二MAC,其中,所述用于使用所述加密密钥K对所述接收到的自认证消息进行认证的认证单元还用于:确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及当所述第二MAC匹配于所述获取的第一MAC时,成功认证所述自认证消息。
结合所述第十四方面或所述第十四方面的所述第一可能实施方式,在所述第十四方面的第二可能实施方式中,所述用于获取所述第二设备的所述第一部分密钥和所述第二部分密钥的获取单元还用于:向私有密钥生成器传输所述第二设备的标识ID2,使得所述私有密钥生成器基于主秘密密钥s和所述第二设备的所述标识ID2来生成私有密钥Ksecond_device;从所述私有密钥生成器接收所述私有密钥Ksecond_device;以及计算所述第二设备的所述第一部分密钥和所述第二部分密钥,其中所述第二部分密钥包括一个随机数,所述第一部分密钥基于所述第二部分密钥和所述私有密钥Ksecond_device而生成。
结合所述第十四方面、所述第十四方面的所述第一或第二可能实施方式,在所述第十四方面的第三可能实施方式中,所述用于通过所述第二设备使用所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥来计算所述中间密钥IKRS的运算单元还用于:向计算机服务器传输所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥,使得所述计算机服务器使用所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥来计算所述中间密钥IKRS;以及从所述计算机服务器接收所述计算得到的中间密钥IKRS
结合所述第十四方面、所述第十四方面的所述第一、第二或第三可能实施方式,在所述第十四方面的第四可能实施方式中,所述用于生成所述加密密钥K的生成单元还用于:从所述接收到的自认证消息中检索密码随机数;以及使用所述检索到的密码随机数和所述共享密钥KSR来生成所述加密密钥K。
根据第十五方面,提供第一设备用于构建要从所述第一设备发送到第二设备的自认证消息,所述第一设备包括获取单元、运算单元、生成单元、计算单元、形成单元和传输单元,其中所述获取单元用于获取所述第一设备的第一部分密钥和第二部分密钥;所述运算单元用于使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR;所述生成单元用于基于所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR;所述生成单元用于将所述共享密钥KSR与第一常数一起用来生成加密密钥K并且通过所述生成的加密密钥K对消息进行加密,以及使用所述共享密钥KSR和第二常数来生成认证密钥KA,其中所述第一和第二常数从所述第一设备获取;所述计算单元用于使用所述认证密钥KA和所述加密消息来计算第一消息认证码(MessageAuthentication Code,MAC);所述形成单元用于至少基于所述第一设备的所述标识ID1、所述加密消息和所述第一MAC来形成所述自认证消息;以及所述传输单元用于向所述第二设备传输所述形成的自认证消息。
结合所述第十五方面,在所述生成单元用于生成所述加密密钥K和所述认证密钥KA之前,所述生成单元用于:生成密码随机数,其中所述加密密钥K推导为:K=HMAC(KSR,密码随机数║第一常数),以及所述认证密钥KA推导为:KA=HMAC(KSR,密码随机数║第二常数),其中HMAC()为密钥-哈希消息认证码函数。
根据本发明的第十六方面,提供第二设备用于接收要从第一设备发送到所述第二设备的自认证消息,所述第二设备包括获取单元、接收单元、运算单元、计算单元、确定单元和解密单元,其中所述获取单元用于获取所述第二设备的第一部分密钥和第二部分密钥;所述接收单元用于接收从所述第一设备传输而来的所述自认证消息;所述运算单元用于使用所述第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS以及使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR;所述运算设备用于使用所述共享密钥KSR和第一常数来计算加密密钥K以及使用所述共享密钥KSR和第二常数来计算认证密钥KA,其中所述第一和第二常数从所述第二设备获取;所述计算单元用于使用所述计算得到的认证密钥KA和所述接收到的自认证消息中的加密消息来计算第二MAC;所述确定单元用于确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及所述解密单元用于:当所述第二MAC匹配于所述获取的第一MAC时,使用所述生成的加密密钥K对所述接收到的自认证消息中的所述加密消息进行解密。
结合所述第十六方面,在本发明的所述第十六方面的第一可能实施方式中,所述用于计算所述加密密钥K和所述认证密钥KA的运算单元还用于:推导所述加密密钥K为:K=HMAC(KSR,密码随机数║第一常数),以及推导所述认证密钥KA为:KA=HMAC(KSR,密码随机数║第二常数),其中所述第一和第二常数从所述接收到的自认证消息中获取。
根据本发明的第十七方面,提供第二设备用于接收要从第一设备发送到所述第二设备的自认证消息,所述第二设备包括获取单元、接收单元、运算单元、计算单元、形成单元和传输单元,其中所述获取单元用于获取所述第一设备的第一部分密钥和第二部分密钥;所述运算单元用于使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR;所述生成单元用于使用所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR以及使用所述共享密钥KSR来生成加密密钥K;所述计算单元用于使用所述加密密钥K和消息来计算第一消息认证码(Authentication Code,MAC);所述形成单元用于至少基于所述第一设备的所述标识ID1、所述消息和所述第一MAC来形成所述自认证消息;以及所述传输单元用于向所述第二设备传输所述形成的自认证消息。
根据本发明的第十八方面,提供第二设备用于接收要从第一设备发送到所述第二设备的自认证消息,所述第二设备包括:获取单元,用于获取所述第二设备的第一部分密钥和第二部分密钥;接收单元,用于接收从所述第一设备传输而来的所述自认证消息;运算单元,用于使用所述第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS;生成单元,用于使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR;运算单元,用于:计算加密密钥K,以及使用所述生成的加密密钥K和所述接收到的自认证消息中的消息来计算第二MAC;确定单元,用于确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及认证单元,用于:当所述第二MAC匹配于所述获取的第一MAC时,对所述自认证消息进行认证。
附图说明
在以下详细描述中描述并在以下图式中示出根据本发明的以上优点和特征:
图1示出了根据本发明实施例的设备在其中交换自认证消息的网络的示例性方框图;
图2示出了根据本发明实施例的表示用于实施实施例的电子设备中的部件的方框图;
图3示出了根据本发明实施例的使用基于标识的密码学来生成中间密钥IKSR的时序图;
图4示出了根据本发明实施例的图示构建包括发送方标识、密码随机数和消息认证码的自认证消息的过程的流程图;
图5示出了根据本发明实施例的图示构建包括发送方标识和消息认证码的自认证消息的过程的流程图;
图6示出了根据本发明实施例的图示构建仅包括密码随机数的自认证消息的过程的流程图;
图7示出了根据本发明实施例的在发送设备处构建自认证消息的过程的流程图;
图8示出了根据本发明实施例的在接收设备处对接收到的自认证消息进行解密的过程的流程图。
具体实施方式
本发明涉及一种用于构建要从第一电子设备发送到第二电子设备的自认证消息的系统和方法。本发明尤其涉及一种使用基于标识的密码学来构建自认证消息的系统和方法,由此首先使用加密密钥对待传输的明文进行加密,而加密密钥使用接收方的标识和发送方的私有密钥来生成。在接收到加密消息之后,接收方首先对接收消息的真实性进行认证,并且在成功认证接收到的消息之后,接收方接着使用发送方的标识和接收方的私有密钥来生成解密密钥。接收方接着使用解密密钥对消息进行解密。
图1示出了根据本发明实施例的交换自认证消息的两个设备的方框图。图1所示的系统包括电子设备105、110,这两个设备通过直接方式130或通过间接方式125,即通过互联网115,相互进行无线连接。电子设备105和110还可以通过相同的直接方式130和/或间接方式125与安全服务器120进行无线连接。电子设备105和110各自包括但不限于能够执行无线通信功能的任何设备,例如智能电话、计算机、平板电脑、移动计算机、笔记本、以及可以在智能设备或支持物联网(Internet of Things,IoT)的设备等中发现的智能手表、智能插头或收发器等可穿戴电子设备,等等。
对于服务器120,该服务器可以包括安全云服务器或远程安全服务器,其能够通过互联网115或者直接与电子设备105和110进行无线通信。如果服务器120用于通过互联网115与电子设备105和110进行通信,则服务器120可以通过间接方式125如此通信。这些间接方式可以包括有线网络或无线网络,例如但不限于蜂窝网络、卫星网络、电信网络或广域网(Wide Area Network,WAN)。可选地,如果服务器120用于通过直接方式130与电子设备105和110进行通信,这可以通过无线和/或有线网络完成。这些网络可以包括但不限于无线保真(Wireless-Fidelity,Wi-Fi)、蓝牙或近场通信(Near Field Communication,NFC)等网络。值得说明的是,电子设备105和110可以利用间接方式125(通过互联网)或间接方式130(直接通信)来彼此交换数据消息。
图2示出了根据本发明实施例的表示用于实施实施例的设于电子设备105、110和服务器120内的模块200中的部件的方框图。本领域技术人员将认识到,设于实体或服务器内的每个电子设备的确切配置可能不同,模块200的确切配置可能有所不同,而且图2仅通过例子来提供。
在本发明实施例中,模块200包括控制器201和用户接口202。设置用户接口202支持用户与模块200之间的手动交互,该用户接口为此包括用户将指令输入到控制模块200所需的输入/输出部件。本领域技术人员将认识到,用户接口202的部件可能根据实施例而不同,但是通常包括显示器240、键盘235和跟踪板236中的一个或多个。
控制器201通过总线215与用户接口202进行数据通信并且包括存储器220、安装在电路板上的处理指令和数据以执行本实施例方法的处理器205、操作系统206、与用户接口202进行通信的输入/输出(input/output,I/O)接口230以及在本实施例中以网卡250为形式的通信接口。网卡250可用于通过有线或无线网络将数据从电子设备200发送到其它处理设备或者通过有线或无线网络接收数据,等等。网卡250可以使用的无线网络包括但不限于无线保真(Wireless-Fidelity,Wi-Fi)、蓝牙、近场通信(Near Field Communication,NFC)、蜂窝网络、卫星网络、电信网络、广域网(Wide Area Network,WAN),等等。
存储器220和操作系统206通过总线210与CPU 205进行数据通信。存储器部件包括易失性和非易失性存储器以及每种存储器中的一个以上,包括随机存取存储器(RandomAccess Memory,RAM)220、只读存储器(Read Only Memory,ROM)225和大容量存储设备245,最后一个包括一个或多个固态驱动器(solid-state drive,SSD)。存储器220还包括安全存储器246,用于安全地存储秘密密钥或私有密钥。值得注意的是,安全存储器246中的内容仅可由模块200的超级用户或管理员访问,而模块200的其它用户不可访问。本领域技术人员将认识到,上述存储器部件包括非瞬时性计算机可读介质并且应被认为包括除瞬时性传播信号之外的所有计算机可读介质。通常,指令存储为存储器部件中的程序代码,但是还可以进行硬连线。存储器220可包括内核和/或编程模块,例如可存储在易失性或非易失性存储器中的软件应用。
这里,术语“处理器”一般用于指代可以处理这类指令的任何设备或部件并且可包括:微处理器、微控制器、可编程逻辑设备或其它计算设备。也就是说,处理器205可由任何合适的逻辑电路提供以接收输入、根据存储在存储器中的指令处理输入,以及生成输出(例如生成存储器部件的输出或在显示器240上生成输出)。在本实施例中,处理器205可以是具有内存可寻址空间的单核或多核存储器。在一个示例中,存储器205可以是多核,例如8核CPU。
根据本发明实施例,存储器205可配置为具有安全环境虚拟处理器(在下文称为“安全环境”)和正常环境虚拟存储器(在下文称为“正常环境”)。安全环境通常与正常环境进行硬件隔离,从而确保位于正常环境里的应用、内核、模块和操作系统不能访问设于安全环境内的应用、内核、模块和操作系统。这种基于硬件的隔离可通过但不限于高级RISC机器(Advanced RISC Machine,ARM)提供的处理架构来提供。在ARM处理器中,这种基于硬件的隔离实施为受信区域技术。ARM处理器的受信区域技术支持基于硬件的隔离以将单个物理处理器上的代码执行划分为两个环境,即安全环境和正常环境。安装在安全环境里的部件有着严格的安全要求,因此可以执行有限功能并且仅由设备的制造商或设备的超级用户访问或修改。
图3示出了根据本发明实施例的使用基于标识的密码学生成中间密钥IKSR的时序图。在本发明实施例中,使用威尔或泰特配对等数学配对来生成或获取免交互式密钥。这些配对通常与椭圆曲线或阿贝耳变体相关联。这些配对通常涉及两个循环组,例如G1和G2,其中这些组均具有相同的大素数阶λ。第一G1包括椭圆曲线或阿贝耳变体上提供的一组点,G1的组定律通过加法写入。此外,组G1的生成器可表示为P。对于第二组G2,该组可以是有限域的乘法子组,G2的组定律通过乘法写入。配对函数,ê:G1X G1→G2,随后可用于将第一组G1中的两个元素映射到第二组G2中的一个元素。配对函数的一个重要特征是该对是双线性的。这意味着,如果点Q1和Q2在G1中并且a和b包括两个整数,则ê(aQ1,bQ2)=ê(Q1,Q2)ab。同样地,基于相同理论,这意味着ê(aP,bP)=ê(P,P)ab=ê(bP,aP)。
在本发明的本实施例中,将假设电子设备105意图根据本发明实施例构建自认证消息,其中该自认证消息发送到设备110。
电子设备105开始该过程以生成其私有密钥Key105,基于该私有密钥通过向服务器120传输其标识ID105进一步生成其第一和第二部分密钥。这发生在图3中的步骤305处。在本发明的本实施例中,服务器120充当私有密钥生成器(Private Key Generator,PKG)服务器,其中服务器120使用注册设备的标识为注册设备生成秘密密钥。从设备105传输到服务器120的标识可以包括但不限于设备名称、IP地址、媒体访问控制地址或与设备105相关联的唯一字母数字或数字标识中的任一类型。在接收到设备105的标识ID105之后,服务器120接着在步骤310处继续计算设备105的私有密钥。使用设于服务器120内的主密钥s(s是从具有大素数阶λ的Zλ*中选择的随机数,其中Zλ*是指集合[1,λ]中的整数),服务器120接着使用以下等式计算设备105的私有密钥:
Key105=s·H(ID105)
其中Key105是设备105的私有密钥,H()是哈希函数H:{0,1}*→G1。
接着在步骤315处将私有密钥Key105安全地传输回设备105。在步骤320处,设备105接着利用接收到的私有密钥Key105来计算第一部分密钥FPK105和第二部分密钥SPK105。在本发明实施例中,第一和第二部分密钥FPK105和SPK105可以使用以下等式来计算:
FPK105=r1·Key105
SPK105=r1
其中r1是从具有大素数阶λ的Zλ*中选择的随机数,Zλ*是指集合[1,λ]中的整数。
一旦电子设备105获取了第一和第二部分密钥,电子设备105就可接着继续计算其中间密钥IKSR_105。在本发明一实施例中,中间密钥IKSR_105可以在远程服务器330处计算。在本实施例中,第一部分密钥FPK105和接收自认证消息的设备的标识,即设备110的标识ID110,均从设备105传输到远程服务器330。在远程服务器330处,中间密钥IKSR_105接着使用以下等式进行计算:
IKSR_105=ê(FPK105,H(ID110)) (1)
其中FPK105是设备105的第一部分密钥,ID110是设备110的标识。一旦服务器330完成中间密钥IKSR_105的计算,服务器330接着向设备105传输回中间密钥IKSR_105
在本发明的另一实施例中,不在远程服务器处计算中间密钥IKSR_105,而是在电子设备105中的处理器的正常环境325里计算中间密钥IKSR_105。在本实施例中,第一部分密钥FPK105和标识ID110均将提供到正常环境设备325。设备105接着在正常环境325里执行等式1以获取中间密钥IKSR_105
一旦通过服务器330或通过正常环境325获取了中间密钥IKSR_105,设备105接着继续使用以下等式来计算共享密钥KSR
KSR=IKSR_105 1/r1 (2a)
其中r1是从具有大素数阶λ的Zλ*中选择的随机数,IKSR_105是中间密钥。可以扩展上面的等式(2a),得到以下等式:
KSR=ê(H(ID105),H(ID110))s (2b)
其中H()是哈希函数H:{0,1}*→G1,s是从具有大素数阶λ的Zλ*中选择的随机数。根据本发明实施例,共享密钥KSR可以在设备105的安全环境里生成以确保共享密钥KSR是安全的并且不容易被非授权用户访问。
虽然图3没有明确示出,但本领域技术人员将认识到,设备110可以类似地计算设备110的中间密钥,即IKRS_110和共享密钥KSR。为了完整性,下文列出了在设备110处生成这两个参数的过程。
再次说明,在本发明的本实施例中,设备110是从设备105发送的自认证消息的接收方。在电子设备110处,该设备接着开始该过程以通过向服务器120传输其标识ID110来生成其自己的私有密钥Key110。这同样地发生于图3的步骤305处。在接收到设备110的标识ID110之后,服务器120接着继续计算设备110的私有密钥。使用设于服务器120内的相似主密钥s,服务器120接着使用以下等式计算设备110的私有密钥:
Key110=s·H(ID110)
其中Key110是设备110的私有密钥,H()是哈希函数H:{0,1}*→G1。
接着安全地将私有密钥Key110传输回设备110。设备110接着使用接收到的私有密钥Key110来计算第一部分密钥FPK110和第二部分密钥SPK110。在本发明实施例中,第一和第二部分密钥FPK110和SPK110可以使用以下等式来计算:
FPK110=r2·Key110
SPK110=r2
其中r2是从具有大素数阶λ的Zλ*中选择的随机数。
同样地,一旦电子设备110获取了第一和第二部分密钥,电子设备110就接着继续计算其中间密钥IKRS_110。根据本发明实施例,如先前所述,中间密钥IKRS_110可以在远程服务器330处或在正常环境325里计算。不管计算在服务器330还是正常环境325里进行,中间密钥IKRS_110可以使用以下等式计算:
IKRS_110=ê(FPK110,H(ID105)) (3)
其中FPK110是设备110的第一部分密钥,ID105是设备105的标识。
一旦通过服务器330或通过正常环境325获取了中间密钥IKRS_110,设备110接着继续使用以下等式来计算共享密钥KSR
KSR=IKSR_110 1/r2 (4a)
其中r2是从具有大素数阶λ的Zλ*中选择的随机数,IKRS_110是中间密钥。可以扩展等式(4a),得到以下等式:
KSR=ê(H(ID110),H(ID105))s (4b)
其中H()是哈希函数H:{0,1}*→G1,s是从具有大素数阶λ的Zλ*中选择的随机数。同样地,根据本发明实施例,共享密钥KSR可以在设备110的安全环境里生成以确保共享密钥KSR是安全的。
一种根据本发明一实施例的图示一种用于构建自认证消息430的过程的流程图在图4中示出。在本发明的本实施例中,构建的自认证消息430包括发送方的标识、密码随机数、密文和消息认证码。为了本实施例的目的,应该理解,第一设备Device1正在构建要发送到第二设备Device2的自认证消息430。还值得注意的是,第一设备的第一部分密钥FPKDEVICE1和第二部分密钥SPKDEVICE1以及第二设备的第一部分密钥FPKDEVICE2和第二部分密钥SPKDEVICE2已经分别由这两个设备使用前面部分中论述的等式预先生成。
过程400开始于步骤405,其中第一设备Device1使用第二设备的标识IDDEVICE2和其先前计算得到的第一部分密钥FPKDEVICE1来生成其中间密钥IKSR_DEVICE1。值得注意的是,根据本发明实施例,中间密钥IKSR_DEVICE1可以在远程服务器处或在第一设备的正常环境里进行计算。不管在哪里计算中间密钥,中间密钥都可以通过过程400使用等式(1)进行计算。基于该等式,中间密钥在步骤405处获取为:
IKSR_DEVICE1==ê(FPKDEVICE1,H(IDDEVICE2))
其中H()是哈希函数H:{0,1}*→G1。
过程400接着继续步骤410,其中过程400使用第一设备的第二部分密钥SPKDEVICE1和计算得到的中间密钥IKSR_DEVICE1来生成共享密钥KSR。共享密钥KSR接着使用等式(2a)计算为:
KSR=IKSR_DEVICE1 1/r1
其中r1=SPKDEVICE1。根据本发明实施例,共享密钥KSR还可在第一设备的安全环境里生成。
在步骤415处,过程400接着在第一设备中生成密码随机数。接着将该密码随机数与共享密钥KSR一起用来生成加密密钥K。在本发明实施例中,加密密钥K可以如下生成。共享密钥KSR首先截断为中间密钥Kin。接着使用密钥-哈希消息认证码(hash messageauthentication code,HMAC)来生成加密密钥K,对此等式可以写为:
K=HMAC(Kin,随机数)
其中随机数表示所生成的密码随机数的值,HMAC()是密钥-哈希消息认证码函数。
在步骤420处使用加密密钥K将要从第一设备传输到第二设备的明文消息加密成密文。在该步骤处执行的加密过程可以使用任一对称加密算法执行,例如但不限于还称为Rijndael的高级加密标准(Advanced Encryption Standard,AES)或数据加密标准(DataEncryption Standard,DES)。过程400接着继续到步骤425,其中过程400使用加密密钥K和密文来生成消息认证码(message authentication code,MAC)。MAC可以通过MAC函数生成,例如:
MAC=HMAC(K,密文)
一旦完成,过程400接着继续通过将传输设备的标识,即IDDEVICE1,密码随机数和MAC附加到密文中来形成自认证消息430。过程400接着向第二设备Device2传输自认证消息430。
根据本发明的一实施例,在步骤415处,加密密钥K还可以使用以下等式生成:
K=HMAC(Kin,随机数║第一常数)
其中Kin是截断的共享密钥KSR,随机数表示所生成的密码随机数的值,第一常数是系统建立时预定义的值,HMAC()是密钥-哈希消息认证码函数。
过程400还可在步骤415处使用以下等式生成认证密钥KA
KA=HMAC(Kin,随机数║第二常数)
其中Kin是截断的共享密钥KSR,随机数表示所生成的密码随机数的值,第二常数是系统建立时预定义的值,HMAC()是密钥-哈希消息认证码函数。
在本发明的本实施例中,过程400接着继续在步骤420处使用加密密钥K将待传输的消息加密成密文。在步骤425处,过程400接着使用认证密钥KA和密文来生成消息认证码(message authentication code,MAC)。MAC可以通过MAC函数生成,例如:
MAC=HMAC(KA,密文)
一旦完成,过程400接着继续通过将传输设备的标识,即IDDEVICE1,密码随机数和MAC一起附加到密文中来形成自认证消息430。过程400接着向第二设备Device2传输自认证消息430。
在本发明的又一实施例中,在步骤415处生成加密密钥K之后,过程400跳过步骤420。这意味着,在本发明的本实施例中,将不对明文进行加密。过程400接着继续步骤425,其中过程400使用加密密钥K来生成消息认证码(message authentication code,MAC),如前所述,使用明文416替换密文,即MAC=HMAC(K,明文)。一旦完成,过程400接着继续通过将传输设备的标识,即IDDEVICE1,密码随机数和MAC附加到明文中来形成自认证消息430。换言之,使用明文416替换消息430中的密文。过程400接着向第二设备Device2传输自认证消息430。
在第二设备Device2处接收自认证消息430之后,第二设备首先使用第一设备的标识IDDEVICE1和其先前计算得到的第一部分密钥FPKDEVICE2来生成其中间密钥IKRS_DEVICE2。值得注意的是,根据本发明实施例,中间密钥IKRS_DEVICE2可以在远程服务器处或在第二设备的正常环境里进行计算。不管在哪里计算中间密钥,中间密钥都可以使用等式(3)进行计算。基于该等式,中间密钥获取为:
IKRS_DEVICE2==ê(FPKDEVICE2,H(IDDEVICE1))
其中H()是哈希函数H:{0,1}*→G1。
第二设备接着使用第二设备的第二部分密钥SPKDEVICE2和计算得到的中间密钥IKRS_DEVICE2来生成共享密钥KSR。共享密钥KSR接着使用等式(4a)计算为:
KSR=IKRS_DEVICE2 1/r2
其中r2=SPKDEVICE2。根据本发明实施例,共享密钥KSR还可在第一设备的安全环境里生成。
第二设备接着从接收到的自认证消息430中检索密码随机数。接着将该密码随机数与共享密钥KSR一起用来计算加密密钥K。在本发明实施例中,加密密钥K可如下生成:共享密钥KSR首先截断为中间密钥Kin。接着使用密钥-哈希消息认证码(hash messageauthentication code,HMAC)来生成加密密钥K,对此等式可以写为:
K=HMAC(Kin,随机数)
其中随机数表示所生成的密码随机数的值,HMAC()是密钥-哈希消息认证码函数。
第二设备接着使用计算得到的加密密钥K和从接收到的自认证消息430中检索到的密文来计算MAC’。MAC’可以使用MAC函数生成:
MAC’=HMAC(K,密文)
第二设备接着将计算得到的MAC’与从接收到的自认证消息430中检索到的MAC进行比较。如果MAC’匹配于检索到的MAC,则这意味着接收到的消息已经进行认证。如果MAC’不匹配于检索到的MAC,这将意味着接收到的消息没有进行认证,因此将丢弃该接收到的消息。一旦消息已经进行认证,则使用加密密钥K对从接收到的自认证消息430中检索到的密文进行解密。解密过程可以使用任一对称解密算法来执行,例如但不限于还称为Rijndael的高级加密标准(Advanced Encryption Standard,AES)或者数据加密标准(DataEncryption Standard,DES)。
根据本发明的另一实施例,如果加密密钥K使用以下等式在第一设备处生成:
K=HMAC(Kin,随机数║第一常数)
而且如果认证密钥KA使用以下等式生成:
KA=HMAC(Kin,随机数║第二常数)
则这意味着加密密钥K和认证密钥KA还必须通过第二设备使用上面相同的等式来生成。为了生成加密密钥K,第二设备从设于第二设备内的安全数据库或存储器中检索随机数和第一常数,以及为了生成认证密钥KA,第二设备从设于第二设备内的相似安全数据库或存储器中检索随机数和第二常数。
在本发明的本实施例中,一旦获取了认证密钥KA,通过MAC函数使用认证密钥KA和密文来计算MAC’:
MAC’=HMAC(KA,密文)
第二设备接着将计算得到的MAC’与从接收到的自认证消息430中检索到的MAC进行比较。如果MAC’匹配于检索到的MAC,则这意味着接收到的消息已经进行认证。如果MAC’不匹配于检索到的MAC,这将意味着接收到的消息没有进行认证,因此将丢弃该接收到的消息。
一旦该消息已经进行认证,则使用加密密钥K对从接收到的自认证消息430中检索到的密文进行解密。
根据本发明的又一实施例,如果接收到的消息430包含明文而不包含密文,则在生成加密密钥K之后,第二设备使用计算得到的加密密钥K和从接收到的自认证消息430中检索到的密文将MAC’计算为HMAC(K,明文)。第二设备接着将计算得到的MAC’与从接收到的自认证消息430中检索到的MAC进行比较。如果MAC’匹配于检索到的MAC,则这意味着接收到的消息已经进行认证。如果MAC’不匹配于检索到的MAC,这将意味着接收到的消息没有进行认证,因此将丢弃该接收到的消息。一旦该消息已经进行认证,则从接收到的自认证消息430中检索到的明文进一步由第二设备根据需要进行处理。
图5示出了本发明的另一实施例。图5示出的流程图图示了根据本发明的本实施例的一种构建自认证消息530的过程。在本发明的本实施例中,构建后的自认证消息530与自认证消息430的不同之处在于,自认证消息530不包括密码随机数。为了本实施例的目的,应该理解,第一设备Device1正在构建要发送到第二设备Device2的自认证消息530。还值得注意的是,第一设备的第一部分密钥FPKDEVICE1和第二部分密钥SPKDEVICE1以及第二设备的第一部分密钥FPKDEVICE2和第二部分密钥SPKDEVICE2已经分别由这两个设备使用前面部分中论述的等式预先生成。
过程500开始于步骤405,其中第一设备Device1将使用第二设备的标识IDDEVICE2和其先前计算得到的第一部分密钥FPKDEVICE1来生成其中间密钥IKSR_DEVICE1。如前,中间密钥可以使用等式(1)进行计算。基于该等式,中间密钥在步骤505处获取为:
IKSR_DEVICE1==ê(FPKDEVICE1,H(IDDEVICE2))
其中H()是哈希函数H:{0,1}*→G1。
过程500接着继续步骤510,其中过程500使用第一设备的第二部分密钥SPKDEVICE1和计算得到的中间密钥IKSR_DEVICE1来生成共享密钥KSR。共享密钥KSR接着使用等式(2a)计算为:
KSR=IKSR_DEVIUE1 1/r1
其中r1=SPKDEVICE1
在步骤515处,过程500接着仅使用共享密钥KSR来生成加密密钥K。在本发明实施例中,加密密钥K可以通过将共享密钥KSR截断为加密密钥K来生成,这可以写为:
K=Truncate(KSR)
接着在步骤520处使用加密密钥将要从第一设备传输到第二设备的明文消息加密成密文。该步骤处执行的加密过程可以使用任一对称加密算法执行。过程500接着继续步骤525,其中过程500使用加密密钥K和密文来生成消息认证码(message authenticationcode,MAC)。MAC可以通过MAC函数生成,例如:
MAC=HMAC(K,密文)
一旦完成,过程500接着继续通过将传输设备的标识,即IDDEVICE1,和MAC附加到密文中来形成自认证消息530。过程400接着向第二设备Device2传输自认证消息530。
根据本发明的一实施例,在步骤515处,加密密钥K还可以使用以下等式生成:
Kin=HMAC(KSR,第一常数)
K=Truncate(Kin)
其中第一常数是系统建立时预定义的值,HMAC()是密钥-哈希消息认证码函数。
过程500还可在步骤515处使用以下等式生成认证密钥KA
KA-in=HMAC(KSR,第二常数)
KA=HMAC(KA-in)
其中第二常数是系统建立时预定义的值,HMAC()是密钥-哈希消息认证码函数。
在本发明的本实施例中,过程500接着继续在步骤520处使用加密密钥K将待传输的消息加密成密文。在步骤525处,过程500接着使用认证密钥KA和密文来生成消息认证码(message authentication code,MAC)。MAC可以通过MAC函数生成,例如:
MAC=HMAC(KA,密文)
一旦完成,过程500接着继续通过将传输设备的标识,即IDDEVICE1,和MAC附加到密文中来形成自认证消息530。过程500接着向第二设备Device2传输自认证消息530。
在第二设备Device2处接收自认证消息530之后,第二设备首先使用第一设备的标识IDDEVICE1和其先前计算得到的第一部分密钥FPKDEVICE2来生成其中间密钥IKRS_DEVICE2,这可以使用等式(3)进行。基于该等式,中间密钥获取为:
IKRS_DEVICE2==ê(FPKDEVICE2,H(IDDEVICE1))
其中H()是哈希函数H:{0,1}*→G1。
第二设备接着使用第二设备的第二部分密钥SPKDEVICE2和计算得到的中间密钥IKRS_DEVICE2来生成共享密钥KSR。共享密钥KSR接着使用等式(4a)计算为:
KSR=IKRS_DEVICE2 1/r2
其中r2=SPKDEVICE2
接着使用共享密钥KSR来计算加密密钥K。在本发明实施例中,加密密钥K可以通过将共享密钥KSR截断为加密密钥K来生成,这可以写为:
K=Truncate(KSR)
第二设备接着使用计算得到的加密密钥K和从接收到的自认证消息530中检索到的密文来计算MAC’。MAC’可以使用MAC函数生成:
MAC’=HMAC(K,密文)
第二设备接着将计算得到的MAC’与从接收到的自认证消息530中检索到的MAC进行比较。如果MAC’匹配于检索到的MAC,则这意味着接收到的消息已经进行认证。如果MAC’不匹配于检索到的MAC,这将意味着接收到的消息没有进行认证,因此将丢弃该接收到的消息。一旦该消息已经进行认证,则使用加密密钥K对从接收到的自认证消息530中检索到的密文进行解密。可以使用如先前论述的任一对称解密算法执行该解密过程。
根据本发明的另一实施例,如果加密密钥K使用以下等式在第一设备处生成:
Kin=HMAC(KSR,第一常数)
K=Truncate(Kin)
而且如果认证密钥KA使用以下等式生成:
KA-in=HMAC(KSR,第二常数)
KA=Truncate(KA-in)
则这意味着加密密钥K和认证密钥KA还必须通过第二设备使用上面相同的等式来生成。为了生成加密密钥K,第二设备从设于第二设备内的安全数据库或存储器中检索第一常数,以及为了生成认证密钥KA,第二设备从设于第二设备内的相似安全数据库或存储器中检索第二常数。
在本发明的本实施例中,一旦获取了认证密钥KA,通过MAC函数使用认证密钥KA和密文来计算MAC’:
MAC’=HMAC(KA,密文)
第二设备接着将计算得到的MAC’与从接收到的自认证消息530中检索到的MAC进行比较。如果MAC’匹配于检索到的MAC,则这意味着接收到的消息已经进行认证。如果MAC’不匹配于检索到的MAC,这将意味着接收到的消息没有进行认证,因此将丢弃该接收到的消息。一旦该消息已经进行认证,则使用加密密钥K对从接收到的自认证消息530中检索到的密文进行解密。
本领域技术人员将认识到,可以在不脱离本发明的情况下使用明文516替代消息530中的密文。如果使用明文516替代消息530中的密文,则第一设备处的加密步骤520和随后第二设备处的解密步骤可以省略。同样,接着使用加密密钥K和明文而不是密文来生成发送方和接收方处的MAC。
图6示出了本发明的又一实施例。图6示出的流程图图示了根据本发明的本实施例的一种构建自认证消息630的过程。在本发明的本实施例中,构建后的自认证消息630与自认证消息430和530的不同之处在于,自认证消息630仅包括密码随机数和密文。
同样地,为了本实施例的目的,应该理解,第一设备Device1正在构建要发送到第二设备Device2的自认证消息630。还值得注意的是,第一设备的第一部分密钥FPKDEVICE1和第二部分密钥SPKDEVICE1以及第二设备的第一部分密钥FPKDEVICE2和第二部分密钥SPKDEVICE2已经分别由这两个设备使用前面部分中论述的等式预先生成。
过程600开始于步骤605,其中第一设备Device1使用第二设备的标识IDDEVICE2和其先前计算得到的第一部分密钥FPKDEVICE1来生成其中间密钥IKSR_DEVICE1,该中间密钥可以通过过程600使用等式(1)进行计算。值得注意的是,根据本发明实施例,中间密钥IKSR_DEVICE2可以在远程服务器处或在第二设备的正常环境里进行计算。基于该等式,中间密钥在步骤605处获取为:
IKSR_DEVICE1==ê(FPKDEVICE1,H(IDDEVICE2))
其中H()是哈希函数H:{0,1}*→G1。
过程600接着继续步骤610,其中过程600使用第一设备的第二部分密钥SPKDEVICE1和计算得到的中间密钥IKSR_DEVICE1来生成共享密钥KSR。共享密钥KSR接着使用等式(2a)计算为:
KSR=IKSR_DEVICE1 1/r1
其中r1=SPKDEVICE1
在步骤615处,过程600接着在第一设备中生成密码随机数。使用共享密钥KSR来生成加密密钥K。在本发明实施例中,加密密钥K可如下生成。首先使用例如但不限于安全哈希算法(SHA-1)、SHA-2或SHA-3等哈希函数对共享密钥KSR进行哈希。接着使用诸如下取整函数等截断函数对所获取的结果进行截断。推导加密密钥K的等式可以写为:
K=Truncate(H(KSR))
其中Truncate()是截断函数,H()是哈希函数。
在步骤620处,过程600接着在第一设备中生成密码随机数。接着将密码随机数与加密密钥K一起使用以将从第一设备传输到第二设备的明文消息加密成密文。可以使用任一对称加密算法,例如但不限于计数器(Counter,CTR)模式下的高级加密标准(AdvancedEncryption Standard,AES),执行该步骤进行的加密过程。
一旦完成,过程600接着继续通过将密码随机数附加到密文来形成自认证消息630。过程600接着向第二设备Device2传输自认证消息630。
在第二设备Device2处接收自认证消息630之后,第二设备首先使用第一设备的标识IDDEVICE1和其先前计算得到的第一部分密钥FPKDEVICE2来生成其中间密钥IKRS_DEVICE2。值得注意的是,根据本发明实施例,中间密钥IKRS_DEVICE2可以在远程服务器处或在第二设备的正常环境里进行计算。不管在哪里计算中间密钥,中间密钥都可以使用等式(3)进行计算。基于该等式,中间密钥获取为:
IKRS_DEVICE2==ê(FPKDEVICE2,H(IDDEVICE1))
其中H()是哈希函数H:{0,1}*→G1。
第二设备接着使用第二设备的第二部分密钥SPKDEVICE2和计算得到的中间密钥IKRS_DEVICE2来生成共享密钥KSR。共享密钥KSR接着使用等式(4a)计算为:
KSR=IKRS_DEVICE2 1/r2
其中r2=SPKDEVICE2。根据本发明实施例,共享密钥KSR还可在第一设备的安全环境里生成。
第二设备接着继续如下计算加密密钥K。首先使用例如但不限于安全哈希算法(SHA-1)、SHA-2或SHA-3等哈希函数对共享密钥KSR进行哈希。接着使用诸如下取整函数等截断函数对所获取的结果进行截断。推导加密密钥K的等式可以写为:
K=Truncate(H(KSR))
其中Truncate()是截断函数,H()是哈希函数。
第二设备接着从接收到的自认证消息630中检索密码随机数。将该密码随机数与加密密钥K一起使用以对从接收到的自认证消息630中检索到的密文进行解密。可以使用任一对称解密算法,例如但不限于计数器(Counter,CTR)模式下的高级加密标准(AdvancedEncryption Standard,AES),执行该解码过程。
根据本发明的一实施例,一种用于构建要从第一设备发送到第二设备的自认证消息的方法包括以下的六个步骤:
步骤1:第一设备获取第一设备的第一部分密钥和第二部分密钥;
步骤2:第一设备使用第二设备的标识ID2和第一设备的第一部分密钥来计算中间密钥IKSR,使用计算得到的中间密钥IKSR和第一设备的第二部分密钥来生成共享密钥KSR
步骤3:第一设备使用共享密钥KSR来生成加密密钥K并且使用所生成的加密密钥K对消息进行加密;
步骤4:第一设备使用加密消息来形成自认证消息并且向第二设备传输形成的自认证消息。
为了提供这种系统或方法,需要一种过程来构建要从第一设备发送到第二设备的自认证消息。以下说明以及图7和图8描述了根据本发明的提供流程的流程实施例。
图7示出了根据本发明实施例的由安装在电子设备内的模块执行的用来构建自认证消息的过程700。过程700开始于步骤705,其中模块使用先前接收到的私有密钥获取第一部分密钥和第二部分密钥。在本发明实施例中,如果第一和第二部分密钥已经预先加载到模块中,则过程700还可以开始于步骤710。在步骤710处,继续过程700,使用接收方的标识和在步骤705处生成的第一部分密钥来计算中间密钥IKSR。值得注意的是,在本发明实施例中,步骤710可以发生在电子设备的正常环境里或可以发生在远程服务器处。如果中间密钥的计算在远程服务器处进行,则首先需要向远程服务器传输接收方的标识,然后一旦计算过程完成,则向电子设备传输回所生成的中间密钥。
过程700将在步骤715处使用在步骤710处生成的中间密钥和在步骤705处生成的第二部分密钥来计算共享密钥。在本发明的实施例中,步骤715可发生在电子设备的安全环境里。
一旦获取了共享密钥,过程700接着使用共享密钥来计算加密密钥。这发生在步骤720处。加密密钥K用于将明文消息加密为密文。然后在步骤725处对密文附加任何其它所需值以形成自认证消息。过程700然后在步骤730处将自认证消息传输到接收设备,过程700结束。
图8示出了由安装在电子设备内的模块执行的用来根据本发明实施例接收和解密自认证消息的过程800。在步骤805之前,假设模块已经使用先前接收到的私有密钥获取了或预先加载了第一部分密钥和第二部分密钥。在步骤805处,过程800接着接收从发送方传输而来的自认证消息。过程800接着继续使用消息发送方的标识和在接收方处生成的第一部分密钥来计算中间密钥IKSR。值得注意的是,在本发明实施例中,步骤810可发生在接收方的正常环境中或者可发生在远程服务器处。如果中间密钥的计算在远程服务器处进行,则首先需要向远程服务器传输第一部分密钥和发送方的标识,然后一旦计算过程完成,则向电子设备传输回所生成的中间密钥。
过程800接着在步骤815处使用在步骤810处生成的中间密钥和先前在接收方处生成的第二部分密钥来计算共享密钥。在本发明实施例中,步骤815可发生在电子设备的安全环境中。
一旦获取了共享密钥,过程800接着使用共享密钥来计算加密密钥K。这发生于步骤820处。在步骤825处,加密密钥K接着用于认证接收到的消息。如果消息未被认证,过程800将接着丢弃该消息。相反,如果消息被认证,过程800将接着继续步骤830,其中过程800使用加密密钥k来对接收到的自认证消息中包含的密文进行解密。过程800随后结束。
以上是如在所附权利要求书中阐述的根据本发明的系统和过程的实施例的描述。设想其它实施例也是可能的并且将设计落入所附权利要求书的范围内的替代方案。

Claims (32)

1.一种用于构建要从第一设备发送到第二设备的自认证消息的方法,其特征在于,包括:
所述第一设备获取所述第一设备的第一部分密钥和第二部分密钥;
使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR
使用所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR
使用所述共享密钥KSR来生成加密密钥K;
使用所述生成的加密密钥K对消息进行加密;
至少基于所述加密消息来形成所述自认证消息;以及
向所述第二设备传输所述形成的自认证消息。
2.根据权利要求1所述的方法,其特征在于,所述至少基于所述加密消息来形成所述自认证消息包括:
所述第一设备使用所述加密密钥K和所述加密消息来计算第一消息认证码(MessageAuthentication Code,MAC);以及
至少基于所述第一设备的所述标识ID1、所述加密消息和所述第一MAC来形成所述自认证消息。
3.根据权利要求1或2所述的方法,其特征在于,所述获取所述第一设备的所述第一部分密钥和所述第二部分密钥包括:
所述第一设备向私有密钥生成器传输所述第一设备的所述标识ID1,使得所述生成器基于主秘密密钥s和所述第一设备的所述标识ID1来生成私有密钥Kfirst_device
从所述私有密钥生成器接收所述私有密钥Kfirst_device;以及
计算所述第一设备的所述第一部分密钥和所述第二部分密钥,其中所述第二部分密钥包括一个随机数,所述第一部分密钥基于所述第二部分密钥和所述私有密钥Kfirst_device而生成。
4.根据权利要求1到3任一项所述的方法,其特征在于,所述第一设备使用所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥来计算所述中间密钥IKSR包括:
所述第一设备向计算机服务器传输所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥,使得所述计算机服务器使用所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥来计算所述中间密钥IKSR;以及
从所述计算机服务器接收所述计算得到的中间密钥IKSR
5.根据权利要求1到4任一项所述的方法,其特征在于,在所述第一设备使用所述共享密钥KSR来生成所述加密密钥K的步骤处,该步骤还包括:
将生成的密码随机数与所述共享密钥KSR一起用来生成所述加密密钥K,
其中,在所述形成所述自认证消息的步骤处,该步骤还包括所述第一设备将所述密码随机数添加到所述自认证消息中。
6.一种用于构建要从第一设备发送到第二设备的自认证消息的方法,其特征在于,包括:
所述第二设备获取所述第二设备的第一部分密钥和第二部分密钥;
接收从所述第一设备传输而来的所述自认证消息;
使用所述第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS
使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR
使用所述共享密钥KSR来生成加密密钥K;
使用所述加密密钥K对所述接收到的自认证消息进行认证;以及
当所述接收到的自认证消息认证成功时,使用所述生成的加密密钥K对所述接收到的自认证消息中的加密消息进行解密。
7.根据权利要求6所述的方法,其特征在于,在所述使用所述加密密钥K对所述接收到的自认证消息进行认证的步骤之前,所述方法还包括:
所述第二设备使用所述生成的加密密钥K和所述接收到的自认证消息中的所述加密消息来计算第二MAC,
其中,所述使用所述加密密钥K对所述接收到的自认证消息进行认证的步骤包括:
所述第二设备确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;
当所述第二MAC匹配于所述获取的第一MAC时,成功认证所述自认证消息。
8.根据权利要求6或7所述的方法,其特征在于,所述获取所述第二设备的所述第一部分密钥和所述第二部分密钥包括:
所述第二设备向私有密钥生成器传输所述第二设备的标识ID2,使得所述私有密钥生成器基于主秘密密钥s和所述第二设备的所述标识ID2来生成私有密钥Ksecond_device
从所述私有密钥生成器接收所述私有密钥Ksecond_device;以及
计算所述第二设备的所述第一部分密钥和所述第二部分密钥,其中所述第二部分密钥包括一个随机数,所述第一部分密钥基于所述第二部分密钥和所述私有密钥Ksecond_device而生成。
9.根据权利要求6到8任一项所述的方法,其特征在于,所述第二设备使用所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥来计算所述中间密钥IKRS包括:
所述第二设备向计算机服务器传输所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥,使得所述计算机服务器使用所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥来计算所述中间密钥IKRS;以及
从所述计算机服务器接收所述计算得到的中间密钥IKRS
10.根据权利要求6到9任一项所述的方法,其特征在于,在所述第二设备使用所述共享密钥KSR来生成所述加密密钥K的步骤处,所述方法还包括:
所述第二设备从所述接收到的自认证消息中检索密码随机数;以及
所述第二设备使用所述检索到的密码随机数和所述共享密钥KSR来生成所述加密密钥K。
11.一种用于构建要从第一设备发送到第二设备的自认证消息的方法,其特征在于,包括:
所述第一设备获取所述第一设备的第一部分密钥和第二部分密钥;
使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR
基于所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR
将所述共享密钥KSR和第一常数一起用来生成加密密钥K并且通过所述生成的加密密钥K对消息进行加密,以及使用所述共享密钥KSR和第二常数来生成认证密钥KA,其中所述第一和第二常数从所述第一设备获取;
使用所述认证密钥KA和所述加密消息来计算第一消息认证码(MessageAuthentication Code,MAC);
至少基于所述第一设备的所述标识ID1、所述加密消息和所述第一MAC来形成所述自认证消息;以及
向所述第二设备传输所述形成的自认证消息。
12.根据权利要求11所述的方法,其特征在于,在所述生成所述加密密钥K和所述认证密钥KA的步骤之前,所述方法包括以下步骤:
所述第一设备生成密码随机数,其中所述加密密钥K推导为:K=HMAC(KSR,密码随机数║第一常数),以及所述认证密钥KA推导为:KA=HMAC(KSR,密码随机数║第二常数),其中HMAC()为密钥-哈希消息认证码函数。
13.一种用于构建要从第一设备发送到第二设备的自认证消息的方法,其特征在于,包括:
所述第二设备获取所述第二设备的第一部分密钥和第二部分密钥;
接收从所述第一设备传输而来的所述自认证消息;
使用所述第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS,以及使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR
使用所述共享密钥KSR和第一常数来计算加密密钥K以及使用所述共享密钥KSR和第二常数来计算认证密钥KA,其中所述第一和第二常数从所述第二设备获取,
使用所述计算得到的认证密钥KA和所述接收到的自认证消息中的加密消息来计算第二MAC,
确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及
当所述第二MAC匹配于所述获取的第一MAC时,使用所述生成的加密密钥K对所述接收到的自认证消息中的所述加密消息进行解密。
14.根据权利要求13所述的方法,其特征在于,在所述第二设备计算所述加密密钥K和所述认证密钥KA的步骤处,所述加密密钥K推导为:K=HMAC(KSR,密码随机数║第一常数),以及所述认证密钥KA推导为:KA=HMAC(KSR,密码随机数║第二常数),其中所述第一和第二常数从所述接收到的自认证消息中获取。
15.一种用于构建要从第一设备发送到第二设备的自认证消息的方法,其特征在于,包括:
所述第一设备获取所述第一设备的第一部分密钥和第二部分密钥;
使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR
使用所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR
使用所述共享密钥KSR来生成加密密钥K;
使用所述加密密钥K和消息来计算第一消息认证码(Message Authentication Code,MAC);
至少基于所述第一设备的所述标识ID1、所述消息和所述第一MAC来形成所述自认证消息;以及
向所述第二设备传输所述形成的自认证消息。
16.一种用于构建要从第一设备发送到第二设备的自认证消息的方法,其特征在于,包括:
所述第二设备获取所述第二设备的第一部分密钥和第二部分密钥;
接收从所述第一设备传输而来的所述自认证消息;
使用第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS
使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR
计算加密密钥K,以及使用所述生成的加密密钥K和所述接收到的自认证消息中的消息来计算第二MAC;
确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及
当所述第二MAC匹配于所述获取的第一MAC时,对所述自认证消息进行认证。
17.一种用于构建要从第一设备发送到第二设备的自认证消息的系统,其特征在于,所述系统包括:
设于所述第一设备内的处理器;以及
所述设于所述第一设备内的处理器可读的非瞬时性介质,所述介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:
获取所述第一设备的第一部分密钥和第二部分密钥;
使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR
使用所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR
使用所述共享密钥KSR来生成加密密钥K;
使用所述生成的加密密钥K对消息进行加密;
至少基于所述加密消息来形成所述自认证消息;以及
向所述第二设备传输所述形成的自认证消息。
18.根据权利要求17所述的系统,其特征在于,所述至少基于所述加密消息来形成所述自认证消息的指令包括:
用于指示所述处理器执行以下操作的指令:
使用所述加密密钥K和所述加密消息来计算第一消息认证码(MessageAuthentication Code,MAC);以及
至少基于所述第一设备的所述标识ID1、所述加密消息和所述第一MAC来形成所述自认证消息。
19.根据权利要求17或18所述的系统,其特征在于,所述获取所述第一设备的所述第一部分密钥和所述第二部分密钥的指令包括:
用于指示所述处理器执行以下操作的指令:
向私有密钥生成器传输所述第一设备的所述标识ID1,使得所述生成器基于主秘密密钥s和所述第一设备的所述标识ID1来生成私有密钥Kfirst_device
从所述私有密钥生成器接收所述私有密钥Kfirst_device;以及
计算所述第一设备的所述第一部分密钥和所述第二部分密钥,其中所述第二部分密钥包括一个随机数,所述第一部分密钥基于所述第二部分密钥和所述私有密钥Kfirst_device而生成。
20.根据权利要求17到19任一项所述的系统,其特征在于,所述用于指示所述处理器使用所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥计算所述中间密钥IKSR的指令包括:
用于指示所述处理器执行以下操作的指令:
向计算机服务器传输所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥,使得所述计算机服务器使用所述第二设备的所述标识ID2和所述第一设备的所述第一部分密钥来计算所述中间密钥IKSR;以及
从所述计算机服务器接收所述计算得到的中间密钥IKSR
21.根据权利要求17到20任一项所述的系统,其特征在于,所述用于指示所述处理器使用所述共享密钥KSR来生成所述加密密钥K的指令还包括:
用于指示所述处理器执行以下操作的指令:
将生成的密码随机数和所述共享密钥KSR一起用来生成所述加密密钥K,
其中,所述用于指示所述处理器形成所述自认证消息的指令还包括用于指示所述处理器将所述密码随机数添加到所述自认证消息中的指令。
22.所述用于构建要从第一设备发送到第二设备的自认证消息的系统,其特征在于,包括:
设于所述第二设备内的处理器;以及
所述设于所述第二设备内的处理器可读的非瞬时性介质,所述介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:
获取所述第二设备的第一部分密钥和第二部分密钥;
接收从所述第一设备传输而来的所述自认证消息;
使用所述第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS
使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR
使用所述共享密钥KSR来生成加密密钥K;
使用所述加密密钥K对所述接收到的自认证消息进行认证;以及
当所述接收到的自认证消息认证成功时,使用所述生成的加密密钥K对所述接收到的自认证消息中的加密消息进行解密。
23.根据权利要求22所述的系统,其特征在于,在所述指示所述处理器使用所述加密密钥K对所述接收到的自认证消息进行认证的指令之前,所述系统还包括:
用于指示所述处理器执行以下操作的指令:
使用所述生成的加密密钥K和所述接收到的自认证消息中的所述加密消息来计算第二MAC,
其中,所述指示所述处理器使用所述加密密钥K对所述接收到的自认证消息进行认证的指令包括:
用于指示所述处理器执行以下操作的指令:
确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及
当所述第二MAC匹配于所述获取的第一MAC时,成功认证所述自认证消息。
24.根据权利要求22或23所述的系统,其特征在于,所述指示所述处理器获取所述第二设备的所述第一部分密钥和所述第二部分密钥的指令包括:
用于指示所述处理器执行以下操作的指令:
向私有密钥生成器传输所述第二设备的标识ID2,使得所述私有密钥生成器基于主秘密密钥s和所述第二设备的所述标识ID2来生成私有密钥Ksecond_device
从所述私有密钥生成器接收所述私有密钥Ksecond_device;以及
计算所述第二设备的所述第一部分密钥和所述第二部分密钥,其中所述第二部分密钥包括一个随机数,所述第一部分密钥基于所述第二部分密钥和所述私有密钥Ksecond_device而生成。
25.根据权利要求22到24任一项所述的系统,其特征在于,所述用于指示所述处理器通过所述第二设备使用所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥来计算所述中间密钥IKRS的指令包括:
用于指示所述处理器执行以下操作的指令:
向计算机服务器传输所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥,使得所述计算机服务器使用所述第一设备的所述标识ID1和所述第二设备的所述第一部分密钥来计算所述中间密钥IKRS;以及
从所述计算机服务器接收所述计算得到的中间密钥IKRS
26.根据权利要求22到25任一项所述的系统,其特征在于,所述用于指示所述处理器生成所述加密密钥K的指令还包括:
用于指示所述处理器执行以下操作的指令:
从所述接收到的自认证消息中检索密码随机数;以及
使用所述检索到的密码随机数和所述共享密钥KSR来生成所述加密密钥K。
27.一种用于构建要从第一设备发送到第二设备的自认证消息的系统,其特征在于,包括:
设于所述第一设备内的处理器;以及
所述设于所述第一设备内的处理器可读的非瞬时性介质,所述介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:
获取所述第一设备的第一部分密钥和第二部分密钥;
使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR
基于所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR
将所述共享密钥KSR和第一常数一起用来生成加密密钥K并且通过所述生成的加密密钥K对消息进行加密,以及使用所述共享密钥KSR和第二常数来生成认证密钥KA,其中所述第一和第二常数从所述第一设备获取;
使用所述认证密钥KA和所述加密消息来计算第一消息认证码(MessageAuthentication Code,MAC);
至少基于所述第一设备的所述标识ID1、所述加密消息和所述第一MAC来形成所述自认证消息;以及
向所述第二设备传输所述形成的自认证消息。
28.根据权利要求27所述的系统,其特征在于,在所述用于指示所述处理器生成所述加密密钥K和所述认证密钥KA的指令之前,所述系统包括:
用于指示所述处理器执行以下操作的指令:
生成密码随机数,其中所述加密密钥K推导为:K=HMAC(KSR,密码随机数║第一常数),以及所述认证密钥KA推导为:KA=HMAC(KSR,密码随机数║第二常数),其中HMAC()为密钥-哈希消息认证码函数。
29.一种用于构建要从第一设备发送到第二设备的自认证消息的系统,其特征在于,包括:
设于所述第二设备内的处理器;以及
所述设于所述第二设备内的处理器可读的非瞬时性介质,所述介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:
获取所述第二设备的第一部分密钥和第二部分密钥;
接收从所述第一设备传输而来的所述自认证消息;
使用所述第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS,以及使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR
使用所述共享密钥KSR和第一常数来计算加密密钥K以及使用所述共享密钥KSR和第二常数来计算认证密钥KA,其中所述第一和第二常数从所述第二设备获取,
使用所述计算得到的认证密钥KA和所述接收到的自认证消息中的加密消息来计算第二MAC,
确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及
当所述第二MAC匹配于所述获取的第一MAC时,使用所述生成的加密密钥K对所述接收到的自认证消息中的所述加密消息进行解密。
30.根据权利要求29所述的系统,其特征在于,所述指示所述处理器计算所述加密密钥K和所述认证密钥KA的指令包括:
用于指示所述处理器执行以下操作的指令:
推导所述加密密钥K为:K=HMAC(KSR,密码随机数║第一常数),以及推导所述认证密钥KA为:KA=HMAC(KSR,密码随机数║第二常数),其中所述第一和第二常数从所述接收到的自认证消息中获取。
31.一种用于构建要从第一设备发送到第二设备的自认证消息的系统,其特征在于,包括:
设于所述第一设备内的处理器;以及
所述设于所述第一设备内的处理器可读的非瞬时性介质,所述介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:
获取所述第一设备的第一部分密钥和第二部分密钥;
使用所述第二设备的标识ID2和所述第一设备的所述第一部分密钥来计算中间密钥IKSR
使用所述计算得到的中间密钥IKSR和所述第一设备的所述第二部分密钥来生成共享密钥KSR
使用所述共享密钥KSR来生成加密密钥K;
使用所述加密密钥K和消息来计算第一消息认证码(Message Authentication Code,MAC);
至少基于所述第一设备的所述标识ID1、所述消息和所述第一MAC来形成所述自认证消息;以及
向所述第二设备传输所述形成的自认证消息。
32.一种用于构建要从第一设备发送到第二设备的自认证消息的系统,其特征在于,包括:
设于所述第二设备内的处理器;以及
所述设于所述第二设备内的处理器可读的非瞬时性介质,所述介质存储指令,所述指令在由所述处理器执行时使得所述处理器执行以下操作:
获取所述第二设备的第一部分密钥和第二部分密钥;
接收从所述第一设备传输而来的所述自认证消息;
使用第一设备的标识ID1和所述第二设备的所述第一部分密钥来计算中间密钥IKRS
使用所述计算得到的中间密钥IKRS和所述第二设备的所述第二部分密钥来生成共享密钥KSR
计算加密密钥K,以及使用所述生成的加密密钥K和所述接收到的自认证消息中的消息来计算第二MAC;
确定所述第二MAC是否匹配于从所述接收到的自认证消息中获取的第一MAC;以及
当所述第二MAC匹配于所述获取的第一MAC时,认证所述自认证消息。
CN201710598707.0A 2016-11-11 2017-07-21 使用基于标识的密码学构建自认证消息的系统和方法 Active CN108075896B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SGSG10201609449S 2016-11-11
SG10201609449SA SG10201609449SA (en) 2016-11-11 2016-11-11 System and method for constructing a self-authenticating message using identity-based crytography

Publications (2)

Publication Number Publication Date
CN108075896A true CN108075896A (zh) 2018-05-25
CN108075896B CN108075896B (zh) 2021-05-11

Family

ID=62159320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710598707.0A Active CN108075896B (zh) 2016-11-11 2017-07-21 使用基于标识的密码学构建自认证消息的系统和方法

Country Status (2)

Country Link
CN (1) CN108075896B (zh)
SG (1) SG10201609449SA (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109861809A (zh) * 2019-02-20 2019-06-07 中国电子科技集团公司第三十研究所 一种实用化的分组随机加解密方法
CN110289946A (zh) * 2019-07-12 2019-09-27 深圳市元征科技股份有限公司 一种区块链钱包本地化文件的生成方法及区块链节点设备
US20210111875A1 (en) * 2017-09-27 2021-04-15 Visa International Service Association Secure shared key establishment for peer to peer communications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030235305A1 (en) * 2002-06-20 2003-12-25 Hsu Raymond T. Key generation in a communication system
CN101547095A (zh) * 2009-02-11 2009-09-30 广州杰赛科技股份有限公司 基于数字证书的应用服务管理系统及管理方法
CN102388386A (zh) * 2009-04-10 2012-03-21 皇家飞利浦电子股份有限公司 设备和用户认证
CN105897416A (zh) * 2016-06-29 2016-08-24 邓月霞 一种基于标识密码系统的前向端到端安全即时通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030235305A1 (en) * 2002-06-20 2003-12-25 Hsu Raymond T. Key generation in a communication system
CN101547095A (zh) * 2009-02-11 2009-09-30 广州杰赛科技股份有限公司 基于数字证书的应用服务管理系统及管理方法
CN102388386A (zh) * 2009-04-10 2012-03-21 皇家飞利浦电子股份有限公司 设备和用户认证
CN105897416A (zh) * 2016-06-29 2016-08-24 邓月霞 一种基于标识密码系统的前向端到端安全即时通信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
霍司天: "《智能输电网信息安全技术研究》", 《中国优秀硕士学位论文全文数据库》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210111875A1 (en) * 2017-09-27 2021-04-15 Visa International Service Association Secure shared key establishment for peer to peer communications
US11563567B2 (en) * 2017-09-27 2023-01-24 Visa International Service Association Secure shared key establishment for peer to peer communications
CN109861809A (zh) * 2019-02-20 2019-06-07 中国电子科技集团公司第三十研究所 一种实用化的分组随机加解密方法
CN109861809B (zh) * 2019-02-20 2022-03-18 中国电子科技集团公司第三十研究所 一种实用化的分组随机加解密方法
CN110289946A (zh) * 2019-07-12 2019-09-27 深圳市元征科技股份有限公司 一种区块链钱包本地化文件的生成方法及区块链节点设备

Also Published As

Publication number Publication date
CN108075896B (zh) 2021-05-11
SG10201609449SA (en) 2018-06-28

Similar Documents

Publication Publication Date Title
US9379891B2 (en) Method and system for ID-based encryption and decryption
CN110268676A (zh) 基于身份的自认证签名方案的私有密钥计算系统和方法
CN103931220B (zh) 用于网络通信的密钥推导函数
CN104038341B (zh) 一种基于身份的跨系统代理重加密方法
CN105307165B (zh) 基于移动应用的通信方法、服务端和客户端
CN107809411A (zh) 移动网络的认证方法、终端设备、服务器和网络认证实体
CN105162772A (zh) 一种物联网设备认证与密钥协商方法和装置
CN104023013A (zh) 数据传输方法、服务端和客户端
CN103415008A (zh) 一种加密通信方法和加密通信系统
CN102780698A (zh) 物联网平台中用户终端安全通信的方法
CN103957109A (zh) 一种云数据隐私保护安全重加密方法
CN109309566B (zh) 一种认证方法、装置、系统、设备及存储介质
CN110198295A (zh) 安全认证方法和装置及存储介质
WO2016161583A1 (zh) 一种gprs系统密钥增强的方法、sgsn设备、ue、hlr/hss及gprs系统
CN104270249A (zh) 一种从无证书环境到基于身份环境的签密方法
CN106549751A (zh) 密钥交换装置及方法
CN106031120B (zh) 密钥管理
US10505722B2 (en) Shared secret communication system with use of cloaking elements
CN110402560B (zh) 具有前向安全性的基于身份的认证密钥交换方案中用于计算公有会话密钥的系统和方法
CN108141444A (zh) 经改善的认证方法和认证装置
CN104219054A (zh) 一种基于nfc的点对点数据传输方法
CN108075896A (zh) 使用基于标识的密码学构建自认证消息的系统和方法
CN102916810B (zh) 传感器认证方法、系统和装置
CN109644127A (zh) 用于获得设备之间的公共会话密钥的系统和方法
CN105025036A (zh) 一种基于互联网的认知能力测试值加密和传输方法

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
GR01 Patent grant