CN107534552B - 在服务器设备、客户端设备处执行的方法及服务器设备 - Google Patents

在服务器设备、客户端设备处执行的方法及服务器设备 Download PDF

Info

Publication number
CN107534552B
CN107534552B CN201580079037.0A CN201580079037A CN107534552B CN 107534552 B CN107534552 B CN 107534552B CN 201580079037 A CN201580079037 A CN 201580079037A CN 107534552 B CN107534552 B CN 107534552B
Authority
CN
China
Prior art keywords
tik
message
mac
identifier
generating
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.)
Active
Application number
CN201580079037.0A
Other languages
English (en)
Other versions
CN107534552A (zh
Inventor
L·陈
N·爱德华兹
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN107534552A publication Critical patent/CN107534552A/zh
Application granted granted Critical
Publication of CN107534552B publication Critical patent/CN107534552B/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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及在服务器设备处生成标识符、作为经加密的原始值的加密值、和消息认证码(MAC),以及生成包括消息报头和消息主体的消息,所述消息报头包括标识符和MAC,并且所述消息主体包括加密值,并且将用于计算消息认证码的所述MAC密钥包括在要加密的原始值中,并且还涉及将消息发送到客户端设备。

Description

在服务器设备、客户端设备处执行的方法及服务器设备
技术领域
本申请一般地涉及密码技术领域。
背景技术
诸如通过远程链路或经由网络连接的计算设备通过向彼此发送消息来进行通信。消息在被传送时有被第三方修改的风险。此外,在计算设备处接收到的消息可能来自伪装成合法源的第三方。
发明内容
根据本公开的一方面,提供了一种在服务器设备处执行的方法。该方法可以包括:生成交易完整性密钥TIK,其中所述TIK要被用于在所述服务器设备和预定的客户端设备之间传送的多个消息;生成不同于所述TIK的对于密码密钥K唯一的标识符,其中,所述K已经预先与所述客户端设备共享;通过基于所述K和所述标识符加密所述TIK来生成加密值;基于消息认证码MAC密钥和MAC数据生成MAC,其中,所述MAC密钥包括所述TIK,并且所述MAC数据包括所述加密值和所述标识符;生成用于分发所述TIK的消息,其中所述消息包括消息报头和消息主体,所述消息报头包括所述标识符和所述MAC,并且所述消息主体包括所述加密值;以及将所述用于分发所述TIK的消息发送到所述客户端设备。
根据本公开的另一方面,提供了一种在客户端设备处执行的方法。该方法可以包括:从服务器设备接收消息,其中所述消息与由所述服务器向所述客户端设备分发的交易完整性密钥TIK对应,并且所述TIK要被用于在所述客户端设备和所述服务器设备之间传送的不同于接收的所述消息的多个消息;取回来自所述消息主体的加密值以及来自所述消息报头的标识符和消息认证码MAC;基于所述加密值、所述标识符和不同于所述TIK的密码密钥K来生成所述TIK,其中,K已经预先与所述服务器共享;基于所述TIK计算所述MAC以提供比较结果,并将所述比较结果与所述消息报头中的所述MAC进行比较;以及响应于所述比较结果与接收的MAC匹配,接受所述TIK为可信的。
根据本公开的另一方面,提供了一种服务器设备,包括:处理器;以及存储器,用于存储指令,当所述指令由所述处理器执行时,使所述处理器:生成交易完整性密钥TIK,并生成不同于所述TIK的对于密码密钥K是唯一的标识符,其中,所述K已经预先由所述服务器设备与预定的客户端设备共享,并且所述TIK要被用于包括在所述服务器设备和所述客户端设备之间传送的多个消息的交易中;通过基于所述K和所述标识符对所述TIK进行加密来生成加密值,并且基于所述TIK、所述加密值和所述标识符生成消息认证码MAC;生成用于分发所述TIK的消息,其中所述消息包括消息报头和消息主体,所述消息报头包括所述标识符和所述MAC,并且所述消息主体包括所述加密值;以及将所述用于分发所述TIK的消息发送到所述客户端设备。
附图说明
现在参考附图描述本公开的示例,在附图中:
图1示出了包括用于实现本公开的各方面的组件的示例服务器设备;
图2示出了包括用于实现本公开的各方面的组件的示例性服务器设备和客户端设备;
图3示出了由服务器执行的方法的流程图;
图4示出了由客户端执行的方法的流程图;以及
图5示出了在服务器设备和客户端之间的通信中使用的示例分组。
具体实施方式
以下详细描述参照附图。尽可能地,在附图和以下说明书中使用相同的附图标记来表示相同或相似的部分。虽然本文档中描述了若干示例,但修改、改动和其他实现方式是可能的。因此,以下详细描述并不限制所公开的示例。相反,公开的示例的适当范围可以由所附权利要求限定。
在接收到消息之后,计算机设备可以应用密码技术,以便验证该消息未被第三方计算设备标识,并且其实际上来自其指示的源。密码技术可能需要在验证消息之前交换密码密钥。
密码密钥的一个示例包括一对非对称密钥,诸如私钥和公钥。私钥和公钥都可以利用计算设备上的专用程序生成。公钥可以分发给其他方,而私钥可以由生成它的一方作为秘密保存。任何访问公钥的人都可以对数据进行加密。但是,只有私钥的所有者可以对加密的数据进行解密。
密码密钥的另一示例包括对称密钥。访问对称密钥的任何人都可以使用对称密钥加密数据。类似地,访问对称密钥的任何人都可以对用对称密钥解密的数据进行解密。
无论使用哪种类型的密码术,通常可以针对未授权的修改和未经授权的源来验证消息。通常,接收到的数据可以被解密的事实仅确保数据被利用正确的密钥加密。类似地,附加到接收到的数据的签名可以被验证为已经由对正确密钥有访问权的一方发送。
以这种方式验证消息的工作条件是密钥已经被分发到其预期的接收者。
消息认证码(MAC)是一种验证消息完整性的方法。想要验证从目的地计算设备接收的消息的消息完整性的计算设备可以执行MAC过程。特别地,计算设备可以执行接受两个输入参数和秘密密钥的MAC过程,输入参数即数据,诸如包含在接收到的消息中的数据。计算设备可以通过从这些参数计算校验和来继续执行MAC过程,所述校验和被称为MAC。如果通信方已经交换了秘密密钥,则计算设备和目的地计算设备可以重新计算MAC以便验证所接收的消息的消息完整性。如果重新计算的MAC与包括在消息中的MAC匹配,则计算设备已经确保目的地计算设备拥有秘密密钥。MAC可以基于散列,并且被称为基于散列的消息认证码(HMAC)。对本文中对MAC的引用同样包括应用MAC和/或HMAC的可能性。
拦截秘密密钥的交换的第三方计算设备可以进行重放攻击。因此,可能的是,第三方计算设备基于所拦截的秘密密钥和任何消息数据来提供具有正确MAC的消息。为了防止重放攻击,计算设备和目的地计算设备可以用只能使用一次的号码来补充密钥。这种数字的示例包括时间戳或序列号,例如单调递增的计数器。计算设备和目的地计算设备可以基于该数字来计算MAC,从而使得目的地计算设备能够验证所接收的消息是源自其指示的源。
在一些示例中,计算设备和目的地计算设备可以使用交易完整性密钥(TIK),其是旨在用于多个消息的密钥,而不是仅针对单个消息,因此需要安全分发。计算设备和目的地计算设备可以使用各种方法来计算TIK,包括但不限于使用随机数生成器或密钥导出函数(KDF)。
计算设备和目的地计算设备可以通过使用加密协议来创建密钥。高级加密标准(AES)中提供了加密过程的示例。一些加密过程对也称为块大小的固定长度的位串进行操作。本公开的示例可以确保密钥是安全地分布的,并且在计算设备处接收到的消息来自消息指示的目的地计算设备。
本文公开的示例包括在服务器设备处执行的方法。这里,服务器设备可以指专用的计算设备,用于将密钥分发给一个或多个客户端设备。然而,希望与另一计算设备交换消息的任何计算设备也可以充当服务器。在一些示例中,服务器可以是上述计算设备,并且客户端设备可以是上述目的地计算设备。此外,服务器设备和客户端设备可以改变其角色,服务器设备充当密钥的接收者,客户端设备充当分发者。
例如,密钥K可由服务器设备与以下称为客户端设备的计算设备共享。K可以是非对称的一对密钥中的一个密钥或单个对称密钥。如果它是非对称密钥对,则该对包括公共加密密钥和私有解密密钥。为了服务器设备是消息发送者并且客户端设备是消息接收者的通信的目的,服务器设备保存公共加密密钥,而客户端设备保存私有解密密钥。如果是对称密钥,则服务器设备和客户端设备都知道对称密钥。为简单起见,假设K是对称的。在对称密钥情况下,可以根据AES或任何其他对称加密过程来计算K。然而,K不限于根据AES的对称密钥;相反,K不受本文所述的示例的限制。
服务器可以首先计算TIK。计算TIK可能涉及应用密钥导出函数(KDF)。应用KDF通常产生一个或多个秘密密钥,并且这些秘密密钥中的预定义的一个可以用作TIK。在一个实施例中,TIK的长度为128位。
此后,服务器可以创建对K唯一的标识符。标识符的示例可以包括序列号、时间戳和随机数。序列号可以是以特定间隔或事件以固定量、以变化量(例如随机量)和/或通过其他方式递增的数字。使序列号递增可能包括将1加到先前的序列号。也称为精确时间的时间戳可以以给定格式表示当前时间。时间戳的一个示例可以是以高精度提供的当前时间,例如包括毫秒。特别地,时间戳可以表示从预定义的时间点起经过的秒数和/或毫秒数。随机数是预定义范围内的任意数字,并且不太可能或甚至不可能产生第二时间。在不意图对客户端使用多于一次的程度上,该标识符对于K而言可以是唯一的。在一些实施例中,不旨在对于任何客户端使用多于一次。在其他实施例中,它也可以用于一个或多个其他客户端,但是对于每个客户端也可以不超过一次。在一些实施例中,标识符可以包括防重放标签(ART)。在一些示例中,标识符可以具有固定长度,诸如32位无符号整数。在一些示例中,标识符在创建时以1递增,因此在使用固定长度时可被视为模数计数器。
响应于创建对K唯一的标识符,服务器可以用K和标识符加密TIK以获得加密的值。在一个示例中,服务器可以基于AES加密和/或其他适当的加密协议对TIK进行加密。在使用AES加密的示例中,服务器可以使用AES协议来将TIK加密到预定义的位长度,即加密到AES加密的块大小。替代的加密协议可以被应用,包括三重数据加密标准(Triple DES),国际数据加密算法(IDEA)和Rivest-Shamir-Adleman(RSA)。在RSA算法中,使用非对称密钥对。具有预定义位长度的加密值的目的在下面进一步详细描述。使用应用的任何加密协议,服务器可以将TIK加密到与该协议相关联的预定义位长度。
此外,服务器可以将MAC过程应用于加密值和标识符。在一个示例中,服务器可以在生成MAC之前以预定义的顺序序连加密的值和标识符。在另一示例中,服务器可以以预定义的方式组合加密值和标识符,而不是通过序连,例如但不限于交织标识符和加密值的位。
服务器可以将加密的值、标识符和MAC装入数据分组中。数据分组可以符合用于服务器和客户端之间的通信的预定协议。因此,上述项目符合协议定义的格式。在最普遍的情况下,数据分组包括报头部分和数据或主体或有效载荷部分。报头部分通常可以用于协议特定的信息,而有效载荷部分通常可以用于独立于协议的数据。本公开的示例包括使服务器设备在数据分组的任一个或两个部分中插入加密的值、标识符和MAC。下面讨论具有这些项目的特定数据分组格式的具体示例。
本文公开的其它示例涉及在客户端设备处执行的方法。任何计算设备可以充当客户端。然而,下面进一步讨论具有用于应用该方法的专用硬件和/或程序组件的特定计算设备。然而,特定计算设备不应被解释为限制所公开的实施例,因为通常的计算设备可以根据下面提供的原理充当客户端。
最初,该方法可以包括由客户端设备从服务器设备(诸如从上面定义的服务器设备)接收消息。消息可以由一个或多个数据分组来表示。
在接收到消息之后,客户端设备可以从消息中取回加密值、标识符和MAC。在一些示例中,这些项目可能已经在服务器设备侧生成并且根据上面提供的细节被封装到消息中。
基于加密值、标识符和共享密钥K,客户端设备可以取回TIK。在一些示例中,共享密钥K可以先前由服务器设备与客户端设备共享。例如,如果在服务器处加密TIK是基于AES加密,则在客户端设备上取回TIK是基于AES解密。然而,这不应被解释为对AES的限制,因为可以在两侧使用用于加密和解密的替代程序。
客户端设备可以从先前取回的TIK计算MAC。在一些示例中,客户端设备可以以与在服务器设备上执行的且如上所述的相同的方式来计算MAC。在这种程度上,客户端设备可以基于作为MAC密钥的TIK以及从消息中取回的加密值和标识符而生成MAC。
客户端设备可以将客户端设备上计算出的MAC与来自消息的MAC进行比较。如果两者匹配,则客户端设备可以接受在客户端设备上生成的TIK作为可信的。在这种情况下,客户端设备可能会确定TIK实际上是由服务器设备发送的,并且TIK以后可能被用于确保未来消息的可信性(authenticity)。在一个示例中,如果比较的值不匹配,则客户端设备可以拒绝TIK。在一些示例中,客户端设备可以通过通知服务器设备和/或通知客户端设备上的用户该消息缺乏完整性并且很可能已被修改来拒绝TIK。
图1示出了适用于应用本文公开的方法的示例性的服务器设备。
首先,服务器设备100被示出为包括密钥生成器组件110、密钥加密组件120、消息生成器组件130和发送器组件140。虽然功能可以被描述为由特定组件执行,该功能可以由另一组件执行(这里列出的或相应的计算设备的其它部分,例如,下面讨论的服务器设备100或客户端设备200)。所有这些组件可以以用硬件和/或机器可执行指令编程的硬件来实现,当被执行时,机器可执行指令使硬件实现组件。组件的具体实现可以涉及诸如一个或多个安全密码处理器的硬件组件。可以特别包括密码处理器,用于实施依赖于加密和/或解密的动作,诸如生成TIK或生成MAC。此外,可以包括与图1所示相似的附加的或更少的组件。在一个实施例中,由密钥生成器组件110、密钥加密组件120和消息生成器组件130提供的功能可以由单个硬件组件来提供。在一个实施例中,服务器设备可以是仅根据本文公开的方法分发TIK的目的而提供的专用计算设备。在一个具体示例中,服务器设备100实际上不是计算设备,而是完全实现为在已被修改为包括上述组件的计算设备上运行的服务器进程。
服务器设备100中的组件可以彼此耦合以提供以下功能。
密钥生成器组件110可以如上所述生成TIK。密钥生成器组件110可以生成对于先前由服务器设备100与客户端设备200共享的密码密钥K是唯一的标识符。服务器设备100可以根据上面提供的细节来生成密码密钥K。在一些示例中,服务器设备100可以以任何顺序生成TIK和标识符。在一些示例中,服务器设备100可以诸如由并发线程或两个安全密码处理器并行地生成TIK和标识符。
服务器设备可以维护包括生成的TIK和相应的客户端设备的表(未示出)。
密钥加密组件120可以根据本文讨论的任何措施来生成加密值。具体地,可以通过基于K和标识符对TIK进行加密来生成加密值。密钥加密组件120可以基于TIK、加密值和标识符来生成MAC。
消息生成器组件130可以生成消息,诸如由包括报头部分或消息报头以及有效载荷部分或消息主体的数据分组表示的消息。消息生成器组件130可以将标识符、MAC和加密值插入到消息中。再次,可以维护消息的格式以使其符合用于传送消息的预定义协议。
图2示出了与客户端设备200相结合的图1的服务器设备110。客户端设备200包括接收器组件210、分析组件220和密钥加密组件230。与服务器设备100的组件类似,客户端设备200中的组件可以用硬件和/或用机器可读指令编程的硬件来实现。在一些示例中,客户端设备200可以包括一个或多个安全密码处理器,以实现某些功能,特别是用于加密和解密的功能。
服务器设备100和客户端设备200可以被连接,例如经由直接点对点连接或经由中间网络。
服务器设备110的发送器组件140可以将消息发送到客户端设备200,例如通过经由网络适配器发送表示该消息的数据分组。取决于服务器设备100和客户端设备200的连接,该消息可以直接发送到客户端设备200或被路由到客户端设备200。
客户端设备200可以经由其接收器组件210接收消息。接收器组件210可以将消息传递到分析组件220,在分析组件220中可以从消息中取回加密值、标识符和MAC。响应于取回加密值、标识符和MAC,分析组件220可以基于加密的值和标识符生成TIK。分析组件220可以向密钥加密组件230提供TIK和/或其他接收的信息(例如,加密的值、标识符、MAC和/或其他接收的信息)。
在一些示例中,密钥加密组件230可以与服务器设备100的密钥加密组件120具有相同的结构。密钥加密组件230可以基于TIK对加密值进行加密。特别地,密钥加密组件230可以基于MAC措施(MAC measures)来对加密值进行加密,诸如由密钥加密组件130在服务器设备中应用的功能,如上所述。响应于基于MAC措施对加密值进行加密,密钥加密组件230可以生成MAC。密钥加密组件230可以将生成的MAC与接收到的消息中的MAC进行比较。如果两个值相匹配,则密钥加密组件230可以接受TIK作为可信的。在一些示例中,如果生成的MAC与接收到的消息中的MAC不匹配,则密钥加密组件230可以拒绝TIK。在TIK被拒绝的示例中,客户端设备200可以相应地通知服务器设备和/或客户端设备的用户。
图3示出了如上所述在服务器设备(例如在服务器设备100)处执行的方法300。
尽管以下描述的方法的执行参考图1和/或图2的服务器设备100和/或客户端设备200,但是用于执行该方法的其他合适的设备对于本领域技术人员将是显而易见的。图3和其他附图中描述的方法可以以存储在机器可读存储介质上的可执行指令的形式,由本文所述的一个或多个组件和/或以电子电路的形式来实现。
方法300从框310开始,其中生成TIK。例如,密钥生成器组件110可以适合于执行框310。密钥生成器组件110可以在框320处生成标识符,所述标识符对于密码密钥K是唯一的,其中所述密码K可以先前与预定的客户端设备(例如客户端设备200)共享。在框330,上面详述的密钥加密组件120可以通过基于K和标识符对TIK进行加密来生成加密值。框340处的密钥加密组件120可以基于包括TIK的MAC密钥和包括加密值和标识符的MAC数据来生成MAC。最后,可以在框250例如由消息生成器组件130生成消息,所述消息包括消息报头和消息主体,所述消息报头包括标识符和MAC,并且所述消息主体包括加密值。在框360处,消息可以由发送器组件140发送到客户端。
图4示出了在诸如客户端设备200的客户端设备处执行的方法400,如上所述。
方法400在框410处开始接收消息。作为示例,这可以由上述接收器组件210来执行。可以例如通过分析组件210,在框420处从消息中取回加密值、标识符和MAC。分析组件220可以在框430处基于加密值和标识符生成TIK,这里被示为TIK'。可以在框440处计算MAC,这里示出为MAC'。计算MAC可以基于作为MAC密钥的TIK以及作为MAC数据的加密值和标识符。框440可以由密钥加密组件230执行。在框450处,密钥加密组件230可以将计算出的MAC与从消息中取回到的MAC进行比较。在框460处,TIK可被接受,只要这两个值匹配即可。否则,并且仅在某些示例中,TIK可能被密钥加密组件230拒绝,如框470所示。然而,该拒绝可以是可选的并且可以被省略。作为拒绝TIK的替代方案,该消息可能仍然被递送。例如,消息可以用指示验证TIK的困难的注释来标记。
可以采取某些措施以将项目嵌入到消息中。如上所述,项目可以被插入到消息报头和/或主体中。报头通常由预选的协议定义,并将报头中的某些项目限制为固定的位长度。
在一个示例中,协议可以保留消息中的一部分以用于根据本文描述的实施例分发的项目。
图5示出了示例的数据分组的图。数据分组可以表示在服务器设备和客户端设备之间发送的消息,例如图2所示的消息从服务器设备100发送到客户端设备200。图的顶行表示用于数据分组的各个部分的位数。在图5的例子中,位数是32,分别地,分开为4个8位的字节。在这种程度上,图5仅被解释为示例,因为可以使用具有替代位长度的替代数据分组。在数据分组的开始处示出了32位宽度的简化协议报头510。协议报头510可以包括协议特定的值,例如源和接收器地址,并且在此不再赘述。随后的位被操作码特定或有效载荷数据520A至520N(以下称为有效载荷520)占用,并且可以包括要传送到接收器的任意数据。在数据分组的末尾,包括报头530A至530D(以下称为报头530)。报头530显示具有128位大小,但可能具有不同的固定大小。而且,报头530不一定必须包括在数据分组的末尾,而是还可以作为扩展协议报头510的一部分显示,或者作为报头510和有效载荷数据530之间的单独的字段。
在一个示例中,报头530包括上述的标识符。例如,标识符的长度可以是32位。在这种情况下,将标识符写入报头530A的32位,然后将清除的位写入报头530B的所有32位。更一般地,标识符之后的报头530中的所有位被清除,直到报头530的所有位的前半部分被置位。更一般地,标识符之后的报头530中的所有位都被清除,直到到达报头530的预定义位位置。报头530的剩余位,即归属于报头530C和报头530D的位,用于写入根据本文公开的措施、特别是根据关于图3讨论的框240所获得的MAC。
在图3的框330处生成并在上面进一步讨论的加密值可以被写入有效载荷520,诸如有效载荷520A的前导位置(例如,由服务器100)。然而,可以提供替代位置,诸如将加密的值写入报头530的附加部分(未示出)。然而,有效载荷520作为整体可以被加密也可以不被加密,并且将加密的值写入有效载荷520不要求或甚至暗示有效载荷520的剩余部分被加密。
为了创建如上所述的数据分组,在图3的框320中生成标识符还可以包括确定标识符是否短于MAC的块大小。这在依靠报头530将标识符和MAC以相等大小包括在可预测位置的示例中可能是有利的。如果标识符小于块大小,则清除的位将附加到标识符,直到达到块大小。可替代地,清除的位可以被前置添加到标识符,直到达到块大小。如果标识符长于块大小,则可以将标识符转换为较短的值,并且可以采取上述对标识符的附加或前置添加清除的位的措施。以这种方式转换标识符可以包括将散列函数应用于标识符。如果标识符长度已经与块大小相等,则不需要修改。作为清除位直到达到块大小的替代方法,可以清除位,直到达到预定义的位位置。有效地,这些步骤得到以预定义位长度将标识符和MAC包含在预定义位置的报头530,因此使得接收客户端设备或接收器组件能够获得两个值。
当在框340处产生MAC时或者当在图3的框350处产生消息时,类似的处理可以应用于MAC。在这个程度上,可以选择所生成的MAC的前导位来将MAC写入报头530中。在一个示例中,可以选择前导64位,但是可以选择不同数量的前导位,取决于服务器设备100和客户端200两者已知的定义。在接收侧,这需要仅从在框440处计算的MAC选择前导位。有效地,写入报头530的MAC的位数等于从在框440中计算的MAC中选择的位数。
进一步示出了图5的数据分组,其具有可用于存储附加位字段(例如底层协议所需的位字段)的协议尾部540。
以上提供了密钥的安全分发,特别是TIK的分发。在这方面的一个方面是TIK在消息中以加密的形式传输,并且使用来自相同消息的伴随的项目来验证TIK。这需要有限的资源和通信,因此是高效的。同时,由此实现了高水平的安全性。
本文公开的示例由所附权利要求书反映。除了这些权利要求之外,可以提供客户端设备,其包括:用于从服务器设备接收消息的接收器组件;分析部件,用于取回来自所述消息主体的加密值,以及先前由所述服务器设备共享的标识符,以及来自所述消息报头的MAC,并且还基于加密值和标识符生成TIK;以及密钥加密组件,用于基于TIK对加密值进行加密,并将结果与MAC进行比较,并且如果结果与接收到的MAC匹配,则进一步接受TIK为可信的。
上述公开内容描述了用于分发和验证交易完整性密钥的多个示例性实施例。公开的示例可以包括系统、设备、计算机可读存储介质以及用于分发和验证交易完整性密钥的方法。为了说明的目的,参考图1至图5所示的组件描述了某些示例。然而,所示组件的功能可以重叠,并且可以存在于更少或更多数量的元件和组件中。此外,所示元件的全部或部分功能可以共存或分布在若干地理上分散的位置之中。此外,所公开的示例可以在各种环境中实现,并且不限于所示示例。
此外,结合图1-5描述的操作序列是示例,而不是限制性的。可以使用或可以改变附加的或更少的操作或操作的组合,而不脱离所公开的示例的范围。此外,与公开的示例一致的实现方式不需要以任何特定顺序执行操作序列。因此,本公开仅仅阐述了实现方式的可能的示例,并且可以对所描述的示例进行许多变化和修改。所有这些修改和变化旨在被包括在本公开的范围内并由所附权利要求保护。

Claims (15)

1.一种在服务器设备处执行的方法,包括:
生成交易完整性密钥TIK,其中所述TIK要被用于在所述服务器设备和预定的客户端设备之间传送的多个消息;
生成对于不同于所述TIK的密码密钥K唯一的标识符,其中,所述K已经预先与所述客户端设备共享;
通过基于所述K和所述标识符加密所述TIK来生成加密值;
基于消息认证码MAC密钥和MAC数据生成MAC,其中,所述MAC密钥包括所述TIK,并且所述MAC数据包括所述加密值和所述标识符;
生成用于分发所述TIK的消息,其中所述消息包括消息报头和消息主体,所述消息报头包括所述标识符和所述MAC,并且所述消息主体包括所述加密值;以及
将所述用于分发所述TIK的消息发送到所述客户端设备。
2.根据权利要求1所述的方法,其中,所述标识符包括防重放标签ART。
3.根据权利要求1所述的方法,其中,生成所述TIK包括使用密钥导出函数KDF。
4.根据权利要求1所述的方法,其中,所述标识符是序列号或精确时间。
5.根据权利要求1所述的方法,其中,生成所述标识符还包括:
响应于所述标识符短于所述MAC的块大小,将清除的位前置添加或附加到所述标识符,直到所述标识符的位长度与所述块大小匹配;以及
响应于所述标识符长于所述MAC的块大小,将所述标识符转换为较短的值,并将清除的位前置添加或附加到所述较短的值,直到所述标识符的位长度与所述块大小匹配。
6.根据权利要求1所述的方法,其中,生成所述加密值还包括通过应用高级加密标准AES功能来对所述TIK加密。
7.根据权利要求1所述的方法,其中,生成所述MAC还包括使用基于散列的消息认证码HMAC。
8.根据权利要求1所述的方法,其中,生成用于分发所述TIK的消息还包括仅获得所述MAC的预定义数量的前导位。
9.一种在客户端设备处执行的方法,包括:
从服务器设备接收消息,其中所述消息与由所述服务器向所述客户端设备分发的交易完整性密钥TIK对应,并且所述TIK要被用于在所述客户端设备和所述服务器设备之间传送的不同于接收的所述消息的多个消息;
取回来自所述消息主体的加密值以及来自所述消息报头的标识符和消息认证码MAC;
基于所述加密值、所述标识符和不同于所述TIK的密码密钥K来生成所述TIK,其中,K已经预先与所述服务器共享;
基于所述TIK计算所述MAC以提供比较结果,并将所述比较结果与所述消息报头中的所述MAC进行比较;以及
响应于所述比较结果与接收的MAC匹配,接受所述TIK为可信的。
10.根据权利要求9所述的方法,其中,生成所述TIK包括通过应用高级加密标准AES功能来对所述加密值进行解密。
11.根据权利要求9所述的方法,其中,计算所述MAC包括使用基于散列的消息认证码HMAC。
12.根据权利要求9所述的方法,其中,计算所述MAC还包括在所述加密之后仅获得预定义数量的前导位。
13.根据权利要求9所述的方法,还包括:响应于所述比较结果与所述接收的MAC不匹配,所述客户端设备拒绝所述TIK。
14.一种服务器设备,包括:
处理器;以及
存储器,用于存储指令,当所述指令由所述处理器执行时,使所述处理器:
生成交易完整性密钥TIK,并生成对于不同于所述TIK的密码密钥K唯一的标识符,其中,所述K已经预先由所述服务器设备与预定的客户端设备共享,并且所述TIK要被用于包括在所述服务器设备和所述客户端设备之间传送的多个消息的交易中;
通过基于所述K和所述标识符对所述TIK进行加密来生成加密值,并且基于所述TIK、所述加密值和所述标识符生成消息认证码MAC;
生成用于分发所述TIK的消息,其中所述消息包括消息报头和消息主体,所述消息报头包括所述标识符和所述MAC,并且所述消息主体包括所述加密值;以及
将所述用于分发所述TIK的消息发送到所述客户端设备。
15.根据权利要求14所述的服务器设备,其中,所述指令在由所述处理器执行时,还使所述处理器仅获得所述MAC的预定义数量的前导位以便生成所述用于分发所述TIK的消息。
CN201580079037.0A 2015-11-27 2015-11-27 在服务器设备、客户端设备处执行的方法及服务器设备 Active CN107534552B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/077889 WO2017088930A1 (en) 2015-11-27 2015-11-27 Distribution and verification of transaction integrity keys

Publications (2)

Publication Number Publication Date
CN107534552A CN107534552A (zh) 2018-01-02
CN107534552B true CN107534552B (zh) 2020-10-09

Family

ID=54705193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580079037.0A Active CN107534552B (zh) 2015-11-27 2015-11-27 在服务器设备、客户端设备处执行的方法及服务器设备

Country Status (4)

Country Link
US (1) US10938553B2 (zh)
EP (1) EP3262783B1 (zh)
CN (1) CN107534552B (zh)
WO (1) WO2017088930A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11682008B2 (en) * 2020-09-28 2023-06-20 Vadim Nikolaevich ALEKSANDROV Method of authenticating a customer, method of carrying out a payment transaction and payment system implementing the specified methods
CN112104668B (zh) * 2020-11-10 2021-02-05 成都掌控者网络科技有限公司 一种分布式权限流程分离控制方法及装置
US11750397B2 (en) * 2021-01-04 2023-09-05 International Business Machines Corporation Attribute-based encryption keys as key material for key-hash message authentication code user authentication and authorization

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2368755A (en) * 2000-11-01 2002-05-08 Content Technologies Ltd Distributing public keys using 2D barcodes
FI20002453A (fi) * 2000-11-08 2002-05-09 Nokia Corp Adaptiivinen sanoman autentikointikoodi
EP2388976A1 (en) 2004-04-14 2011-11-23 Nortel Networks Limited Securing home agent to mobile node communication with HA-MN key
US7681048B2 (en) * 2006-04-27 2010-03-16 Matthew Thomas Starr Data encryption using a key and moniker for mobile storage media adapted for library storage
US7813505B2 (en) * 2006-06-28 2010-10-12 Nokia Corporation Sequence number synchronization for ciphering
US20090103730A1 (en) 2007-10-19 2009-04-23 Mastercard International Incorporated Apparatus and method for using a device conforming to a payment standard for access control and/or secure data storage
WO2009093938A1 (en) 2008-01-22 2009-07-30 Telefonaktiebolaget Lm Ericsson (Publ) Security policy distribution to communication terminals
US20120089519A1 (en) 2010-10-06 2012-04-12 Prasad Peddada System and method for single use transaction signatures
US8850206B2 (en) * 2011-11-15 2014-09-30 Apple Inc. Client-server system with security for untrusted server
US9461868B2 (en) * 2012-04-19 2016-10-04 Futurewei Technologies, Inc. System and apparatus for router advertisement options for configuring networks to support IPv6 to IPv4 multicast translation
US9578025B2 (en) * 2013-10-14 2017-02-21 Zumigo, Inc. Mobile network-based multi-factor authentication
WO2016131056A1 (en) * 2015-02-13 2016-08-18 Visa International Service Association Confidential communication management
US11210664B2 (en) * 2018-10-02 2021-12-28 Capital One Services, Llc Systems and methods for amplifying the strength of cryptographic algorithms

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
protocols for authenticaion and key establishment;colin boyd;《protocols for authenticaion and key establishment》;20030101;116-117 *

Also Published As

Publication number Publication date
EP3262783A1 (en) 2018-01-03
US20180123785A1 (en) 2018-05-03
EP3262783B1 (en) 2020-01-08
CN107534552A (zh) 2018-01-02
WO2017088930A1 (en) 2017-06-01
US10938553B2 (en) 2021-03-02

Similar Documents

Publication Publication Date Title
US10652015B2 (en) Confidential communication management
US11323276B2 (en) Mutual authentication of confidential communication
EP3476078B1 (en) Systems and methods for authenticating communications using a single message exchange and symmetric key
US20150229621A1 (en) One-time-pad data encryption in communication channels
US12010216B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
WO2017167771A1 (en) Handshake protocols for identity-based key material and certificates
WO2005008950A1 (en) Secure seed generation protocol
US20180013832A1 (en) Health device, gateway device and method for securing protocol using the same
US11722466B2 (en) Methods for communicating data utilizing sessionless dynamic encryption
KR20200067265A (ko) 실시간 데이터 전송을 위한 블록 암호 장치 및 방법
CN107534552B (zh) 在服务器设备、客户端设备处执行的方法及服务器设备
CN110572257B (zh) 基于身份的数据来源鉴别方法和系统
GB2459735A (en) Hybrid asymmetric / symmetric encryption scheme which obviates padding
Alaidi Enhanced a TCP security protocol by using optional fields in TCP header
BAI et al. Lecture Note 5: Network Security in Practice
WO2022218544A1 (en) Device and method for decision-making
CN118573672A (zh) 文件传输方法、装置、介质及设备
CN117040905A (zh) 数据加密传输方法、装置、设备及存储介质
Obaid an Improved Data Confidentiality Protocol Based on Timestamp

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