CN107707518B - 用于基于事务的消息安全性的设备及方法 - Google Patents

用于基于事务的消息安全性的设备及方法 Download PDF

Info

Publication number
CN107707518B
CN107707518B CN201710542900.2A CN201710542900A CN107707518B CN 107707518 B CN107707518 B CN 107707518B CN 201710542900 A CN201710542900 A CN 201710542900A CN 107707518 B CN107707518 B CN 107707518B
Authority
CN
China
Prior art keywords
data
communication key
message
key
communication
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
CN201710542900.2A
Other languages
English (en)
Other versions
CN107707518A (zh
Inventor
罗德·D·沃特曼
罗德里戈·费利克斯·德·阿尔梅达
布赖恩·艾伦·伯德特
蒂莫西·温思罗普·金斯伯里
布拉德利·帕克·斯特齐萨
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.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore 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 Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Publication of CN107707518A publication Critical patent/CN107707518A/zh
Application granted granted Critical
Publication of CN107707518B publication Critical patent/CN107707518B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

公开了用于基于事务的消息安全性的设备及方法。数据模块确定在第一装置与第二装置之间共有的数据集合。密钥模块基于数据集合在第一装置上生成通信密钥。消息模块使用该通信密钥来确保从第一装置发送至第二装置的消息安全。第二装置响应于该通信密钥与在第二装置上生成的对应的通信密钥匹配来接受消息。

Description

用于基于事务的消息安全性的设备及方法
技术领域
本文所公开的主题涉及网络安全性,更具体地涉及使用事务数据来确保消息传输安全。
背景技术
装置可以使用各种安全性方案诸如共享秘钥、公钥密码等来建立安全通信链路。例如,客户端可以通过向服务器传输预限定的用户名和密码来访问服务器。然而,未授权第三方可以试图拦截或以其他方式盗用安全性信息诸如用户名和密码,以获得对他们通常无权访问的装置的访问权限。
发明内容
公开了一种用于基于事务的消息安全性的设备。方法和计算机程序产品也执行该设备的功能。在一个实施方式中,设备包括处理器和存储器,该存储器存储能够由处理器执行的代码。在一个实施方式中,设备包括能够由处理器执行以确定在第一装置与第二装置之间共有的数据集合的代码。
在又一实施方式中,设备包括能够由处理器执行以基于数据集合在第一装置上生成通信密钥的代码。在一些实施方式中,设备包括能够由处理器执行以使用通信密钥来确保从第一装置发送至第二装置的消息安全的代码。
在某些实施方式中,设备包括能够由处理器执行以针对从第一装置发送至第二装置的每个消息生成新的通信密钥的代码。在又一实施方式中,设备包括能够由处理器执行以在从生成现有通信密钥起预定时间段到期之后生成新的通信密钥的代码。
在各种实施方式中,设备包括能够由处理器执行以使用预定散列函数散列数据集合以生成通信密钥的代码。在一个实施方式中,设备包括能够由处理器执行以使用根据数据集合生成的盐值来对用于生成通信密钥的散列函数加盐的代码。在一些实施方式中,设备包括能够由处理器执行以使用所生成的通信密钥对被发送至第二装置的消息进行加密的代码。
在某些实施方式中,设备包括能够由处理器执行以将通信密钥与消息一起发送至第二装置的代码。在某些实施方式中,设备包括能够由处理器执行以响应于与第二装置建立安全通信会话来从第二装置接收访问令牌的代码。消息可以使用访问令牌进一步确保安全。
在某些实施方式中,设备包括能够由处理器执行以响应于将消息发送至第二装置来丢弃通信密钥的代码。在一些实施方式中,数据集合包括在预定时间段内的事务数据集合。在一些实施方式中,数据集合包括从第二装置接收到的在一个或更多个先前接收到的消息中的事务数据。在各种实施方式中,数据集合包括以下中的一项或更多项:电子邮件数据、金融数据、社交媒体数据、后台通信、心跳数据和装置属性。
在一个实施方式中,方法包括由处理器确定在第一装置与第二装置之间共有的数据集合。在又一实施方式中,方法包括基于数据集合在第二装置上生成通信密钥。在一些实施方式中,方法包括响应于验证在第二装置上生成的通信密钥与用于确保接收到的消息安全的通信密钥对应来接受在第二装置处从第一装置接收到的消息。
在一个实施方式中,方法包括确定在第二装置上生成的通信密钥和来自第一装置的与消息一起接收到的通信密钥是否匹配。可以响应于确定通信密钥匹配来接受消息。在又一实施方式中,方法包括使用所生成的通信密钥对被发送至第二装置的接收到的消息进行解密。可以响应于对消息成功地进行解密来接受消息。
在又一实施方式中,方法包括在从生成现有通信密钥起预定时间段到期之后生成新的通信密钥。在某些实施方式中,方法包括使用预定散列函数散列数据集合以生成通信密钥。
在一些实施方式中,方法包括响应于在第二装置上生成的通信密钥与用于确保接收到的消息安全的通信密钥不匹配来停止第一装置与第二装置之间的通信。在各种实施方式中,方法包括响应于与消息一起发送的通信密钥和在第二装置上生成的通信密钥不匹配来生成通知。
在一个实施方式中,程序产品包括存储能够由处理器执行的代码的计算机可读存储介质。在一个实施方式中,程序产品包括能够由处理器执行以执行确定在第一装置与第二装置之间共有的数据集合的代码。
在又一实施方式中,程序产品包括能够由处理器执行以执行基于数据集合在第一装置上生成通信密钥的代码。在一些实施方式中,程序产品包括能够由处理器执行以执行使用通信密钥来确保从第一装置发送至第二装置的消息安全的代码。
附图说明
将通过参照附图中示出的具体实施方式对上面简要描述的实施方式进行更具体的描述。应理解,这些附图仅描绘了一些实施方式,因此并不应被认为是对范围的限制,通过使用附图来更加具体详细地描述和说明实施方式,在附图中:
图1是示出用于基于事务的消息安全性的系统的一个实施方式的示意性框图;
图2是示出用于基于事务的消息安全性的设备的一个实施方式的示意性框图;
图3是示出用于基于事务的消息安全性的另一设备的一个实施方式的示意性框图;
图4是示出用于基于事务的消息安全性的方法的一个实施方式的示意性流程图;以及
图5是示出用于基于事务的消息安全性的另一方法的一个实施方式的示意性流程图。
具体实施方式
如本领域技术人员将会理解的,实施方式的各方面可以被实施为系统、方法或程序产品。因此,实施方式可以采取完全硬件的实施方式、完全软件的实施方式(包括固件、常驻软件、微代码等)或者结合了软件和硬件方面的实施方式的形式,所有这些在本文中可以全部统称为“电路”、“模块”或“系统”。此外,实施方式可以采取包含在一个或更多个计算机可读存储装置中的程序产品的形式,所述计算机可读存储装置对机器可读代码、计算机可读代码和/或程序代码(下文中称为代码)进行存储。存储装置可以是有形的、非暂态的和/或非传输的。存储装置可以不包含信号。在特定实施方式中,存储装置仅采用用于访问代码的信号。
本说明书中描述的许多功能单元被标记为模块以更特别地强调其实现独立性。例如,模块可以被实现为硬件电路,该硬件电路包括定制VLSI电路或门阵列、现成半导体诸如逻辑芯片、晶体管或者其他分立部件。模块还可以以可编程硬件装置例如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等来实现。
模块还可以以用于由各种类型的处理器执行的代码和/或软件来实现。例如,所标识的代码模块可以包括例如可以被组织成对象、过程或功能的可执行代码的一个或更多个物理或逻辑块。尽管如此,对所标识的模块的执行不需要被物理地定位在一起,而是可以包括存储在不同位置的完全不同的指令,这些指令当在逻辑上被结合在一起时包括模块并且实现模块的规定目的。
实际上,代码模块可以是单个指令或多个指令,并且甚至可以被分布在若干个不同的代码段上、分布在不同的程序之中以及跨若干个存储器装置进行分布。类似地,在本文中,操作数据可以在模块内被标识和示出,以及可以以任何适当形式被实施并且在任何适当类型的数据结构内被组织。操作数据可以被收集作为单个数据集合,或者可以分布在不同的位置,包括分布在不同的计算机可读存储装置中。在模块或模块的一部分是以软件来实现的情况下,软件部分被存储在一个或更多个计算机可读存储装置上。
可以利用一个或更多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读存储介质。计算机可读存储介质可以是存储代码的存储装置。存储装置例如可以是但不限于电子的、磁的、光学的、电磁的、红外的、全息的、微机械的或半导体的系统、设备或装置或前述的任何适当组合。
存储装置的更具体的示例(非穷举性列表)包括以下:具有一个或更多个导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、便携式致密盘只读存储器(CD-ROM)、光存储装置、磁存储装置或前述的任何适当的组合。在本文的上下文中,计算机可读存储介质可以是下述任何有形介质,该有形介质可以包含或存储用于由指令执行系统、设备或装置使用或者结合指令执行系统、设备或装置一起使用的程序。
可以以一种或更多种编程语言的任何组合来编写用于执行各实施方式的操作的代码,所述编程语言包括面向对象编程语言,例如Python、Ruby、Java、Smalltalk、C++等,以及传统程序编程语言例如“C”编程语言等,和/或机器语言,例如汇编语言。代码可以作为单独的软件包全部在用户的计算机上执行、部分地在用户的计算机上执行、一部分在用户的计算机上执行且一部分在远程计算机上执行或者全部在远程计算机或服务器上执行。在后者情形中,远程计算机可以通过任何类型的网络包括局域网(LAN)或广域网(WAN)连接至用户的计算机,或者可以(例如,通过使用因特网服务提供商的因特网)与外部计算机进行连接。
贯穿本说明书所提及的“一个实施方式”或“实施方式”或类似语言是指结合实施方式所描述的特定特征、结构或特性被包含在至少一个实施方式中。因此,除非另外明确地指出,否则贯穿本说明书所出现的短语“在一个实施方式中”、“在实施方式中”及类似语言可以但不一定全部指代同一实施方式,而是指“一个或更多个实施方式而非所有实施方式”。除非另外明确地指出,否则术语“包括”、“包含”、“具有”及其变型是指“包括但不限于”。除非另外明确地指出,否则枚举列出的项目并不暗示项目中任何项目或所有项目是互相排斥的。除非另外明确地指出,否则术语“一个”、“一种”以及“该”还指代“一个或更多个”。
此外,实施方式的所描述的特征、结构或特性可以以任何适当的方式进行组合。在以下描述中,提供了多种具体细节例如编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等的示例以提供对实施方式的全面理解。然而,相关领域技术人员将认识到,可以在没有这些特定细节中的一个或更多个的情况下实践实施方式、或者可以利用其他方法、部件、材料等来实践实施方式。在其他实例中,未详细地示出或描述公知的结构、材料或操作以避免混淆实施方式的各方面。
以下参照根据实施方式的方法、设备、系统和程序产品的示意性流程图和/或示意性框图来描述实施方式的各方面。应当理解,示意性流程图和/或示意性框图中的每个块以及示意性流程图和/或示意性框图中的块的组合可以通过代码来实现。这些代码可以被提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器,使得经由其他可编程数据处理设备或计算机的处理器执行的指令能够创建用于实现示意性流程图和/或示意性框图的一个或多个块中指定的功能/动作的装置。
代码还可以被存储在存储装置中,这些代码可以指导计算机、其他可编程数据处理设备、或其他装置以特定方式起作用,使得存储在存储装置中的指令产生制造品,该制造品包括实现示意性流程图和/或示意性框图的一个或更多个块中所指定的功能/动作的指令。
代码还可以被加载至计算机、其他可编程数据处理设备或其他装置上,使得要在计算机、其他可编程数据处理设备或其他装置上执行的一系列操作步骤产生计算机实现的处理,从而使得在计算机或其他可编程设备上执行的代码能够提供用于实现流程图和/或框图的一个或更多个块中所指定的功能/动作的处理。
附图中的示意性流程图和/或示意性框图示出了根据各实施方式的设备、系统、方法及程序产品的可能实现的架构、功能和操作。在这方面,示意性流程图和/或示意性框图中的每个块可以表示包括用于实现一个或多个特定逻辑功能的代码的一个或更多个可执行指令的代码模块、代码段或代码的一部分。
应当注意,在一些替选的实现中,块中所标注的功能可以不按附图中标注的顺序发生。例如,相继示出的两个块事实上可以大致同时被执行,或者有时可以根据所涉及的功能而以相反的顺序来执行块。可以设想在功能、逻辑或效果上与所示附图的一个或更多个块或其一部分等同的其他步骤和方法。
尽管在流程图和/或框图中采用了各种箭头类型和线条类型,但是这不应被理解为限制相应实施方式的范围。实际上,一些箭头或其他连接符可以用于指示所描述的实施方式的仅逻辑流程。例如,箭头可以指示在所描述的实施方式的所列举步骤之间的、未指定持续时间的等待或监测时段。还应当注意,框图和/或流程图中的每个块以及框图和/或流程图中的块的组合可以由执行专用功能或动作的专用硬件系统来实现,或者由专用硬件和代码的组合来实现。
对每个附图中的元素的描述可以参照在先附图中的元素。在所有附图中,相似的附图标记指代相似的元素,包括相似元素的替选实施方式。
图1描绘了用于基于事务的消息安全性的系统100的一个实施方式。在一个实施方式中,系统100包括一个或更多个信息处理装置102、一个或更多个安全性模块104、一个或更多个数据网络106和一个或更多个服务器108。在某些实施方式中,即使在图1中描绘了具体数量的信息处理装置102、安全性模块104、数据网络106和服务器108,但是本领域技术人员根据本公开内容应认识到在系统100中可以包括任何数量的信息处理装置102、安全性模块104、数据网络106和服务器108。
在一个实施方式中,系统100包括一个或更多个信息处理装置102。信息处理装置102可以包括台式计算机、膝上型计算机、平板计算机、智能电话、机顶盒、游戏机、智能TV、智能手表、健身带、光学头戴式显示器(例如,虚拟现实耳机、智能眼镜等)、HDMI或其他电子显示器加密狗、个人数字助理或者包括处理器(例如,中央处理单元(“CPU”)、处理器内核、现场可编程门阵列(“FPGA”)或其他可编程逻辑、专用集成电路(“ASIC”)、控制器、微控制器和/或另一半导体集成电路器件)、易失性存储器和/或非易失性存储介质的另一计算装置。如本文所使用的,信息处理装置102还可以被认为是客户端装置、发送器装置等。
如下所述,在某些实施方式中,信息处理装置102通过数据网络106能够通信上耦接至一个或更多个服务器108以及/或者能够彼此通信上耦接。在又一实施方式中,信息处理装置102能够执行各种固件、程序、程序代码、应用、指令、功能、命令、shell脚本、cron作业等,并且可以对位于一个或更多个服务器108上的数据进行访问、存储、下载、上传等。在一些实施方式中,信息处理装置102被配置成发送数据、文件等以及从一个或更多个不同的信息处理设备102接收数据、文件等。
在一个实施方式中,安全性模块104被配置成确定在第一装置与第二装置之间共有的数据集合。第一装置和第二装置可以是客户端装置、服务器108和/或所述两者的组合。如本文所使用的,客户端可以是信息处理装置102、在信息处理装置上执行的应用等。使用客户端与服务器108之间的通信示出了本文所述的许多示例和实施方式;然而,通信可以在多个客户端装置、多个服务器108以及/或者客户端装置和服务器108的组合之间。
在又一实施方式中,安全性模块104被配置成在第一装置上基于数据集合来生成通信密钥。在各种实施方式中,安全性模块104被配置成使用所述通信密钥来确保从第一装置发送至第二装置的消息安全。在一个实施方式中,第二装置响应于所述通信密钥与在第二装置上生成的对应的通信密钥匹配来接受消息。
在一个实施方式中,安全性模块104通常通过向网络通信添加额外的一层安全性来改进计算机和/或计算机技术的功能。在一些现有网络通信系统中,可以使用例如由客户端从服务器108请求的、可以用于确保与服务器108的后续通信安全的专用安全性令牌(例如,访问令牌)来提供单层安全性。因此,如果在被发送至服务器108的消息中未提供专用安全性令牌,则服务器108不会接受所述消息。因为仅单个令牌用于确保客户端与服务器108之间的通信安全,所以如果未授权第三方拦截或以其他方式盗用专用安全性令牌,则未授权第三方可以获得对服务器108上的安全资源的访问权限。
安全性模块104通过生成用于与专用安全性令牌一起确保消息安全的通信密钥来添加额外的一层安全性,从而改进现有技术。在一些实施方式中,使用从与服务器108的先前通信接收到的数据来生成通信密钥使得数据对于客户端和服务器108两者是唯一的且共有的,并且可以针对从客户端发送至服务器108的每条消息来生成新的通信密钥。因此,即使专用安全性令牌被拦截,但是如果未授权第三方不能生成与由服务器108生成的通信密钥匹配的通信密钥,则也不能允许未授权第三方访问服务器108。
安全性模块104、客户端、服务器108等可以使用一个或更多个应用程序接口(“API”)来访问在不同的客户端或服务器108上所存储的数据和/或文件。在一些实施方式中,安全性模块104、客户端或服务器108通过向客户端或服务器108的API发送使用预限定的秘钥、专用密钥、访问令牌等确保安全的消息来与客户端和/或服务器108进行安全地通信。例如,客户端可以是在OAuth基础架构中代表用户从资源服务器108请求数据的应用(如本文中所使用的,OAuth是用于授权的开放标准,通常用作互联网用户在无需透漏其密码的情况下使用他们的
Figure BDA0001342280800000081
Figure BDA0001342280800000082
等帐户登录到第三方网站的方式)。安全性模块104或客户端可以包括在经由服务器的API发送至服务器108的任何消息中所包括的授权头部中的访问令牌,使得服务器108可以验证客户端被授权代表用户访问用户的账户。
以这种方式,在一个实施方式中,安全性模块104提供用于在OAuth基础架构中防止令牌使用不当的方法。OAuth的固有缺点在于无论哪个实体拥有访问令牌都可以访问在发出访问令牌的装置上的数据,所述实体例如客户端或服务器108,例如未被授权访问用于发出访问令牌的装置的不同的客户端或服务器108。在一些实施方式中,除了访问令牌以外,安全性模块104还使用通信密钥来添加额外的一层验证/安全性以验证访问令牌由被授权使用访问令牌的客户端或服务器108使用。
在各种实施方式中,安全性模块104可以被实施为可以安装或者部署在信息处理装置102、服务器108或数据网络106上别处的硬件设施。在某些实施方式中,安全性模块104可以包括硬件装置诸如安全硬件加密狗或者其他硬件设施装置(例如,机顶盒、网络设施等),所述其他硬件设施装置通过有线连接(例如,USB连接)或无线连接(例如,
Figure BDA0001342280800000091
Figure BDA0001342280800000092
近场通信(“NFC”)等)附接至装置、膝上型计算机、服务器108、平板计算机、智能电话等;所述其他硬件设施装置附接至电子显示装置(例如,使用HDMI端口、DisplayPort端口、Mini DisplayPort端口、VGA端口、DVI端口等的电视机或监视器)等。安全性模块104的硬件设施可以包括电力接口、有线和/或无线网络接口、附接至显示器的图形接口、以及/或者如下所述的半导体集成电路装置,该半导体集成电路装置被配置成执行文中关于安全性模块104描述的功能。
在这样的实施方式中,安全性模块104可以包括半导体集成电路装置(例如,一个或更多个芯片、管芯或其他分立逻辑硬件)等,例如现场可编程门阵列(“FPGA”)或其他可编程逻辑、用于FPGA或其他可编程逻辑的固件、用于在微控制器上执行的微代码、专用集成电路(“ASIC”)、处理器、处理器内核等。在一个实施方式中,安全性模块104可以安装在具有一个或更多个电线路或(例如,到易失性存储器、非易失性存储介质、网络接口、外围装置、图形/显示器接口等的)连接的印刷电路板上。硬件设施可以包括一个或更多个引脚、焊盘或被配置成发送和接收数据(例如,与印刷电路板的一个或更多个电线路等通信)的其他电连接、以及一个或更多个硬件电路和/或被配置成执行安全性模块104的各种功能的其他电路。
在某些实施方式中,安全性模块104的半导体集成电路装置或其他硬件设施包括一个或更多个易失性存储介质以及/或者通信上耦接至一个或更多个易失性存储介质,一个或更多个易失性存储介质可以包括但不限于:随机存取存储器(“RAM”)、动态RAM(“DRAM”)、高速缓存等。在一个实施方式中,安全性模块104的半导体集成电路装置或其他硬件设施包括一个或更多个非易失性存储介质以及/或者通信上耦接至一个或更多个非易失性存储介质,一个或更多个非易失性存储介质可以包括但不限于:NAND闪存、NOR闪存、纳米随机存取存储器(纳米RAM或“NRAM”)、纳米晶体线基存储器、二氧化硅基亚10纳米工艺存储器、石墨烯存储器、硅-二氧化硅-氮化硅-二氧化硅-硅(“SONOS”)、电阻式RAM(“RRAM”)、可编程金属化单元(“PMC”)、导电桥接RAM(“CBRAM”)、磁阻式RAM(“MRAM”)、动态RAM(“DRAM”)、相变RAM(“PRAM”或“PCM”)、磁存储介质(例如,硬盘、磁带)、光存储介质等。
在一个实施方式中,数据网络106包括传送数字通信的数字通信网络。数据网络106可以包括无线网络诸如无线蜂窝网络,本地无线网络诸如Wi-Fi网络、
Figure BDA0001342280800000101
网络、近场通信(“NFC”)网络、ad hoc网络等。数据网络106可以包括广域网(“WAN”)、存储区域网(“SAN”)、局域网(“LAN”)、光纤网络、互联网或其他数字通信网络。数据网络106可以包括两个或更多个网络。数据网络106可以包括一个或更多个服务器、路由器、交换机和/或其他网络设备。数据网络106还可以包括一个或更多个计算机可读存储介质,例如硬盘驱动器、光盘驱动器、非易失性存储器、RAM等。
在一个实施方式中,一个或更多个服务器108可以被实施为刀片服务器、大型机服务器、塔式服务器、机架式服务器等。一个或更多个服务器108可以被配置成邮件服务器、web服务器、应用服务器、FTP服务器、媒体服务器、数据服务器、文件服务器、虚拟服务器等。在某些实施方式中,一个或更多个服务器108将数据存储在一个或更多个数据库和/或文件诸如文本文档、电子表格、便携式文档格式(“PDF”)文件、电子邮件、音频文件、视频文件、源代码等中。在一些实施方式中,一个或更多个服务器108可以位于组织的所在地、数据中心、云等中。一个或更多个服务器108可以通过像互联网那样的数据网络106远程地访问或者通过像内部网那样的数据网络106本地地访问。
图2描绘了用于基于事务的消息安全性的设备200的一个实施方式。设备200可以包括安全性模块104的实施方式。在一个实施方式中,安全性模块104包括下文更详细描述的数据模块202、密钥模块204和消息模块206中的一个或更多个。
在一个实施方式中,数据模块202被配置成确定在第一装置与第二装置之间例如在客户端与服务器108之间共有的数据集合。如本文所使用的,数据可以包括被存储在装置诸如服务器108上和/或由服务器108、客户端等可访问的、以及由通信上连接至存储有数据的装置的不同的装置可访问的各种类型的数据诸如消息、记录等。数据可以是与事件、事务、发生等相关联的数据,以及数据可以与时间戳相关联。数据的示例可以包括电子邮件数据、文本消息数据、即时消息数据、金融数据、社交媒体数据、图像数据、销售数据、信用卡数据、旅行数据、存储数据、传送数据、订单数据、支付数据、心跳数据(例如,由硬件或软件生成的用于指示正常运转、用于同步系统的其他部分的周期性信号等)、背景通信数据(例如,同步数据、推送通知数据、地理位置数据等)、机器特定属性数据(例如,硬件规格、序列号、型号等)等。
例如,服务器108可以是用于存储针对用户的电子邮件账户的电子邮件的电子邮件服务器。客户端可以是用于在用户的装置上请求用户的电子邮件并且向用户呈现用户的电子邮件的电子邮件客户端应用。客户端可以通过使用电子邮件服务器108的API向电子邮件服务器108发送消息来从电子邮件服务器108请求电子邮件数据。在这样的实施方式中,因为客户端可以接收和/或存储在服务器108上所存储的电子邮件数据,所以至少一部分电子邮件数据对于客户端和服务器108两者是共有的。换言之,因为客户端从服务器108接收到电子邮件数据,所以客户端和服务器108可以都具有同一电子邮件数据的副本。其他实施方式可以包括使用金融服务器108的API来请求信用卡事务数据的客户端、使用线上零售商的服务器108的API来请求订单数据的客户端等。
在一个实施方式中,数据模块202通过从预限定的时间段中选择数据或者通过选择预限定数量的最近接收到的数据来确定数据集合。例如,数据模块202可以选择先前30分钟内从服务器108接收到的所有电子邮件消息。在另一示例中,数据模块202可以选择从服务器108接收到的先前的五个电子邮件消息。以这种方式,客户端和服务器108两者可以具有用于生成通信密钥的相同的事务数据集合。此外,因为数据模块202基于预限定的时间段和/或预限定数量的最近接收到的消息来选择数据,所以可以基于不同的数据来创建所生成的通信密钥,这使得试图在通信密钥被拦截或以其他方式被盗用的情况下防止通信密钥使用不当时能够以滚动的方式创建新的密钥。
在一个实施方式中,密钥模块204被配置成基于数据集合来生成通信密钥。在一个实施方式中,密钥模块204采用由数据模块202所选择的共有数据并且生成通信密钥。如本文所使用的,通信密钥可以是字符串、数字、数字和字符的组合等。在一个实施方式中,通信密钥与客户端相关联(例如,如下所述,客户端可以由访问令牌标识)。在一个实施方式中,通信密钥可以是唯一的密钥。在另一实施方式中,通信密钥可以不是唯一的,而是可以与和客户端相关联的另一标识符(例如访问令牌)成对,所述另一标识符将通信密钥与客户端唯一地相关联。
在一个实施方式中,密钥模块204在彼此通信的两个装置例如客户端和服务器108上创建通信密钥。以这种方式,例如,当客户端向服务器108发送消息,并且使用通信密钥确保消息安全时,密钥模块204可以确定使用客户端上的数据由客户端创建且发送的密钥与使用服务器108上的数据由服务器108创建的密钥是否匹配。
在一个实施方式中,密钥模块204通过使用所选择的数据集合作为预限定的散列函数的输入来生成通信密钥。在这样的实施方式中,密钥模块204在处于通信的装置中的每个装置上使用相同的散列函数使得在装置中的每个装置上选择并使用相同的数据集合的情况下创建相同的通信密钥。例如,数据模块202可以选择五个最近的信用卡事务的时间戳作为要被用作散列函数的输入的事务数据集合。服务器108可以响应于一个或更多个客户端请求在一个或更多个先前的通信中向客户端发送信用卡信息使得信用卡信息在客户端和服务器108上可用。因此,通信密钥可以是由散列函数生成的结果散列值。
在某些实施方式中,密钥模块204散列数据的各个部分、分量、元素、内容等。例如,密钥模块204可以选择电子邮件事务数据的各个部分以散列例如发件人、收件人、主题、正文、时间戳等。在另一示例中,密钥模块204可以选择社交媒体内容的各个部分以散列例如好友、墙贴、图像、链接等。因此,密钥模块204可以选择所选择的数据集合的各个部分以生成对于未授权第三方而言由于数据的用户特定特性而难以重建的唯一通信密钥。
在一些实施方式中,密钥模块204通过使用根据共有数据集合生成的散列值来对用于生成通信密钥的散列函数“加盐”。如本文所使用的,“盐”可以是用作散列函数的附加输入的数据。例如,密钥模块204可以生成在发送消息的装置与接收装置之间共有的先前五个电子邮件消息的散列值。密钥模块204可以通过使用所生成的散列值对散列函数“加盐”来生成通信密钥,散列函数用于生成令牌(例如,访问令牌)、消息内容、发件人的标识符、收件人的标识符等和/或前述的任何组合的散列值。在接收装置上,如下文所述,密钥模块204使用相同的共有数据集合单独地或者独立地生成散列值来对用于生成相同数据例如,令牌、消息内容等的散列值的同一散列函数“加盐”,所述相同数据用于生成通信密钥。
在一些实施方式中,密钥模块204向通信密钥分配到期指示符诸如到期日期、时间、时间段等使得当通信密钥到期时通信密钥可以被无效。例如,密钥模块204可以向通信密钥分配特定到期日期例如2016年9月1日。在另一示例中,密钥模块204向通信密钥分配特定时间段,该特定时间段指示密钥在多长时间内有效,例如一分钟、一小时、一天、一周等。在某些实施方式中,到期指示符与通信密钥一起发送、与通信密钥一起存储或以其他方式与通信密钥相关联使得客户端和/或服务器108可以验证通信密钥是否到期。
在又一示例中,密钥模块204指定通信密钥针对多少个消息有效,例如一个消息(这可以要求密钥模块204针对每个消息生成新的通信密钥)、五个消息、十个消息等。在这样的实施方式中,装置可以追踪与通信密钥一起发送了多少个消息。例如,客户端或服务器108可以追踪与消息一起向不同的客户端或服务器108发送了多少次通信密钥。
在一个实施方式中,密钥模块204响应于通信密钥到期而生成新的通信密钥。在另一实施方式中,密钥模块204针对从一个装置发送至另一装置例如从客户端发送至服务器108的每个消息、事务等生成新的通信密钥。在这样的实施方式中,密钥模块204可以在现有通信密钥用于确保被发送至装置的消息安全之后丢弃现有通信密钥以防止攻击者使用被盗用的通信密钥。在这些实施方式中,数据模块202可以选择与密钥模块204用于生成先前通信密钥的数据集合不同的新的数据集合,例如,如包括从服务器108接收到的最近消息并且也在客户端与服务器108之间共有的事务数据集合,并且密钥模块204可以基于新的事务数据来生成新的通信密钥。
在一个实施方式中,消息模块206被配置成使用密钥模块204生成的通信密钥来确保从另一装置发送至装置的消息安全。在某些实施方式中,消息模块206将通信密钥与要被呈现的消息一起发送至用于接收消息的装置。在装置接收到消息之后,密钥模块204可以将接收到的通信密钥与在接收装置上生成的通信密钥进行比较以验证消息是由授权装置发送的,授权装置例如向服务器108发送消息的授权客户端。例如,密钥模块204可以使用与客户端用于生成接收到的通信密钥相同的事务数据来在服务器108上生成通信密钥以验证通信密钥匹配。
在一些实施方式中,消息模块206在发送装置上使用通信密钥来对消息进行加密,并且密钥模块204可以试图使用在接收装置上生成的通信密钥来在接收装置上对消息进行解密。在一个实施方式中,如果密钥模块204对消息成功地进行了解密,则密钥模块204可以验证在发送装置和接收装置上生成的通信密钥匹配。
如果密钥模块204确定接收到的通信密钥与在接收装置上生成的通信密钥匹配,则消息模块206可以接受消息,满足消息所包含的请求等。例如,消息可以包括对服务器108可访问(例如,存储在服务器108上,由服务器108访问以发送至客户端等)的事务数据的请求,事务数据例如,电子邮件数据、社交媒体数据、金融数据等。如果密钥模块204确定接收到的通信密钥与在接收装置上生成的通信密钥不匹配,则消息模块206可以如下文参照反应模块304所述的拒绝消息。如果密钥模块204确定接收到的通信密钥和在接收装置上生成的通信密钥不匹配,则这可以指示未授权第三方已拦截访问令牌和先前使用的通信密钥并且试图获取访问接收到消息的装置例如服务器108的权限。
在一些实施方式中,例如,当消息模块206将消息从客户端发送至服务器108时,消息模块206可以使用服务器108提供的一个或更多个API功能、呼叫等来发送消息、通信密钥和/或其他信息(例如,访问令牌)。例如,
Figure BDA0001342280800000141
服务器可以为客户端提供API以用于请求用户的社交媒体数据,例如,用户的好友列表、墙贴、下载的图像等。
在一个实施方式中,消息模块206使用密钥模块204生成的通信密钥来对被发送的消息进行加密。在这样的实施方式中,消息模块206不将密钥模块204生成的通信密钥与消息一起发送,而是替代的使用通信密钥对消息进行加密。在接收装置上,消息模块206可以使用密钥模块204在用于接收消息的装置上生成的通信密钥对消息进行解密。未能使用在接收装置上生成的通信密钥对消息进行解密可以指示消息不是由授权发送者发送。以这种方式,因为通信密钥不与消息一起传送,因此防止了未授权实体拦截或以其他方式盗用通信密钥的风险。
图3描绘了用于基于事务的消息安全性的设备300的一个实施方式。设备300可以包括安全性模块104的实施方式。在一个实施方式中,安全性模块104包括可以与上文参照图2所描述的数据模块202、密钥模块204和消息模块206基本上类似的数据模块202、密钥模块204和消息模块206中的一个或更多个。在又一实施方式中,安全性模块104包括下文更详细描述的令牌模块302和反应模块304中的一个或更多个。
在一个实施方式中,令牌模块302被配置成响应于第二装置例如客户端装置与第一装置建立安全通信会话来从第一装置例如服务器108接收访问令牌。如本文所使用的,访问令牌是由第二装置(例如,授权第三方客户端或服务器108)访问的第一装置例如服务器108响应于第一装置上的资源的拥有者同意第二装置访问第一装置上的资源而提供的验证令牌。
例如,
Figure BDA0001342280800000151
可以请求在用户的
Figure BDA0001342280800000152
墙上发布图像。
Figure BDA0001342280800000153
用户可以告诉
Figure BDA0001342280800000154
允许
Figure BDA0001342280800000155
在用户的
Figure BDA0001342280800000156
墙上发布图像,而
Figure BDA0001342280800000157
服务器可以向
Figure BDA0001342280800000158
生成并发出访问令牌,所述访问令牌用于将
Figure BDA0001342280800000159
标识为具有访问用户的
Figure BDA00013422808000001510
帐户的权限的授权客户端,并且还设置
Figure BDA00013422808000001511
的访问权限的界限(例如,如将
Figure BDA00013422808000001512
的访问权限限制为只发布图片,并且不访问用户的好友列表等)。这可以例如使用OAuth基础架构来完成。从
Figure BDA00013422808000001513
Figure BDA00013422808000001514
的任何将来的通信都会需要包括访问令牌使得
Figure BDA00013422808000001515
可以验证消息发送者的身份。
然而,未授权第三方可以拦截或以其他方式盗用访问令牌,并且向
Figure BDA00013422808000001516
Figure BDA00013422808000001517
服务器发送消息、数据请求等以访问用户的账户和数据。因此,为了防止对
Figure BDA00013422808000001518
服务器上的用户账户的未授权访问,除了访问令牌以外,消息模块206还使用通信密钥来确保消息安全以提供第二层安全性。以这种方式,即使未授权第三方拦截到访问令牌,未授权第三方还需要使用未授权第三方和目标服务器108共有的数据来生成通信密钥。
在一个实施方式中,反应模块304被配置成响应于确定在第二装置例如服务器108处接收到的通信密钥与在第一装置例如客户端处生成的并且从第一装置发送至第二装置的通信密钥不匹配来执行安全性行动。确定接收到的通信密钥与在接收装置处生成的通信密钥不匹配可以指示未授权第三方例如中间人攻击中的未授权第三方已盗用、拦截或以其他方式获得了对访问令牌的访问权限,并且试图看起来像是被授权访问用于发出访问令牌的装置的装置。
在一个实施方式中,反应模块304响应于与消息一起发送的通信密钥与在接收装置上生成的通信密钥不匹配而生成通知。例如,反应模块304可以通知客户端或服务器108的用户接收到的通信密钥与在接收服务器108上生成的通信密钥不匹配。通知可以包括标识消息的发送者的信息例如IP地址、MAC地址或其他标识信息。
在又一实施方式中,反应模块304响应于确定与消息一起发送的通信密钥与在接收装置上生成的通信密钥不匹配来停止装置之间例如客户端与服务器108之间的通信。在这样的实施方式中,在发送装置上的密钥模块204基于接收装置和发送装置共有的数据来生成新的通信密钥,并且响应于通过请求新的访问令牌、使用双因子认证等与接收装置重新认证或重新建立安全通信会话来使用新的通信密钥来重新开始与接收装置的通信。以这种方式,安全性模块104可以检测出通信密钥已被例如中间人攻击盗用,并且可以通过改变通信密钥以绕开攻击者来继续接收装置与发送装置之间的通信。
图4描绘了用于基于事务的消息安全性的方法400的一个实施方式的示意性流程图。在一个实施方式中,方法400开始并且数据模块202确定402在第一装置与第二装置之间例如在客户端与服务器108之间共有的数据集合。在一些实施方式中,密钥模块204基于所述数据在第一装置上生成404通信密钥。在又一实施方式中,消息模块206使用通信密钥确保406从第一装置发送至第二装置的消息安全。消息模块206可以将通信密钥与消息一起发送、使用通信密钥对消息进行加密等。在某些实施方式中,第二装置响应于接收到的通信密钥与在接收第二装置上生成的对应的通信密钥匹配而接受消息,使用在接收第二装置上生成的通信密钥对消息进行解密等,并且方法400结束。
图5描绘了用于基于事务的消息安全性的方法500的一个实施方式的示意性流程图。在一个实施方式中,方法500开始并且令牌模块302响应于来自第一装置例如客户端的建立安全通信会话的请求来从第二装置例如服务器108接收502访问令牌。在又一实施方式中,数据模块202确定504在第一装置与第二装置之间共有的数据集合。数据可以包括在先前的通信中从第二装置接收到的数据例如从电子邮件服务器108接收到的先前五个电子邮件消息、在先前十分钟内从第二装置接收到的事务数据等。
在一个实施方式中,密钥模块204基于所述数据在第一装置上生成506通信密钥。例如,密钥模块204可以使用来自事务数据集合中的电子邮件的头部信息(例如,使用在主题头部、发件人头部、接收人头部、正文头部等中的内容)来生成506散列值。在各种实施方式中,消息模块206使用生成的通信密钥以及访问令牌通过将通信密钥与消息一起发送、使用通信密钥对消息进行加密等来确保508从第一装置发送至第二装置的消息安全。
密钥模块204可以在第二装置处确定510访问令牌和/或通信密钥与从第二装置向第一装置发出的访问令牌和/或使用镜像第一装置上的数据集合的数据集合在第二装置上生成的通信密钥是否匹配。例如,密钥模块204可以对与消息一起接收到的通信密钥和在第二装置上生成的通信密钥进行比较以确定通信密钥是否匹配。在另一示例中,密钥模块204可以试图使用在第二装置上生成的通信密钥对使用在第一装置上生成的通信密钥加密的消息进行解密以确定通信密钥是否匹配。
如果密钥模块204确定510存在不匹配,则在一个实施方式中,反应模块304停止512第一装置与第二装置之间例如客户端与服务器108之间的通信。在一些实施方式中,反应模块304创建514与发送的访问令牌和/或通信密钥存在不匹配的通知,并且方法500结束。否则,如果密钥模块204确定接收到的访问令牌和通信密钥与发出的访问令牌和在第二装置上生成的通信密钥匹配,则第二装置接受516消息,并且方法500结束。
可以以其他具体形式来实现实施方式。所描述的实施方式在所有方面被认为仅为说明性的而非限制性的。因此,本发明的范围由所附权利要求书来表明而非由前述描述来表明。落入权利要求书的等同意义和等同范围内的所有变化被包含在权利要求书的范围内。

Claims (20)

1.一种用于基于事务的消息安全性的设备,包括:
处理器;
存储器,所述存储器存储能够由所述处理器执行以进行下述操作的代码:
确定在第一装置与第二装置之间共有的数据集合;所述数据集合包括先前在所述第一装置与所述第二装置之间传输的数据,使得所述第一装置与所述第二装置分别具有该数据的副本;
基于所述数据集合在所述第一装置上生成通信密钥;以及
使用所述通信密钥来确保从所述第一装置发送至所述第二装置的消息安全。
2.根据权利要求1所述的设备,还包括能够由所述处理器执行以进行下述操作的代码:针对从所述第一装置发送至所述第二装置的每个消息生成新的通信密钥。
3.根据权利要求1所述的设备,还包括能够由所述处理器执行以进行下述操作的代码:在从生成现有通信密钥起预定时间段到期之后生成新的通信密钥。
4.根据权利要求1所述的设备,还包括能够由所述处理器执行以进行下述操作的代码:使用预定散列函数散列所述数据集合以生成所述通信密钥。
5.根据权利要求1所述的设备,还包括能够由所述处理器执行以进行下述操作的代码:使用根据所述数据集合生成的盐值来对用于生成所述通信密钥的散列函数加盐。
6.根据权利要求1所述的设备,还包括能够由所述处理器执行以进行下述操作的代码:使用所生成的通信密钥对被发送至所述第二装置的所述消息进行加密。
7.根据权利要求1所述的设备,还包括能够由所述处理器执行以进行下述操作的代码:将所述通信密钥与所述消息一起发送至所述第二装置。
8.根据权利要求1所述的设备,还包括能够由所述处理器执行以进行下述操作的代码:响应于与所述第二装置建立安全通信会话来从所述第二装置接收访问令牌,其中,所述消息使用所述访问令牌进一步确保安全。
9.根据权利要求1所述的设备,还包括能够由所述处理器执行以进行下述操作的代码:响应于将所述消息发送至所述第二装置来丢弃所述通信密钥。
10.根据权利要求1所述的设备,其中,所述数据集合包括在预定时间段内的事务数据集合。
11.根据权利要求1所述的设备,其中,所述数据集合包括从所述第二装置接收到的在一个或更多个先前接收到的消息中的事务数据。
12.根据权利要求1所述的设备,其中,所述数据集合包括以下中的一项或更多项:电子邮件数据、金融数据、社交媒体数据、后台通信、心跳数据和装置属性。
13.一种用于基于事务的消息安全性的方法,包括:
由处理器确定在第一装置与第二装置之间共有的数据集合;所述数据集合包括先前在所述第一装置与所述第二装置之间传输的数据,使得所述第一装置与所述第二装置分别具有该数据的副本;
基于所述数据集合在所述第二装置上生成通信密钥;以及
响应于验证用于表示在所述第二装置上生成的通信密钥与用于确保接收到的消息安全的通信密钥对应的结果,来接受在所述第二装置处从所述第一装置接收到的消息。
14.根据权利要求13所述的方法,还包括确定在所述第二装置上生成的通信密钥和来自所述第一装置的与所述消息一起接收到的通信密钥是否匹配,其中,响应于确定所述通信密钥匹配来接受所述消息。
15.根据权利要求13所述的方法,还包括使用所生成的通信密钥对被发送至所述第二装置的接收到的消息进行解密,其中,响应于对所述消息成功地进行解密来接受所述消息。
16.根据权利要求13所述的方法,还包括在从生成现有通信密钥起预定时间段到期之后生成新的通信密钥。
17.根据权利要求13所述的方法,还包括使用预定散列函数散列所述数据集合以生成所述通信密钥。
18.根据权利要求13所述的方法,还包括响应于在所述第二装置上生成的通信密钥与用于确保接收到的消息安全的通信密钥不匹配来停止所述第一装置与所述第二装置之间的通信。
19.根据权利要求13所述的方法,还包括响应于与所述消息一起发送的通信密钥和在所述第二装置上生成的通信密钥不匹配来生成通知。
20.一种计算机可读存储介质,所述计算机可读存储介质存储能够由处理器执行的可执行代码,所述可执行代码包括用于执行下述操作的代码:
确定在第一装置与第二装置之间共有的数据集合;所述数据集合包括先前在所述第一装置与所述第二装置之间传输的数据,使得所述第一装置与所述第二装置分别具有该数据的副本;
基于所述数据集合在所述第一装置上生成通信密钥;以及
使用所述通信密钥来确保从所述第一装置发送至所述第二装置的消息安全。
CN201710542900.2A 2016-08-09 2017-07-05 用于基于事务的消息安全性的设备及方法 Active CN107707518B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/232,359 US10230700B2 (en) 2016-08-09 2016-08-09 Transaction based message security
US15/232,359 2016-08-09

Publications (2)

Publication Number Publication Date
CN107707518A CN107707518A (zh) 2018-02-16
CN107707518B true CN107707518B (zh) 2020-12-08

Family

ID=59894751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710542900.2A Active CN107707518B (zh) 2016-08-09 2017-07-05 用于基于事务的消息安全性的设备及方法

Country Status (4)

Country Link
US (1) US10230700B2 (zh)
CN (1) CN107707518B (zh)
DE (1) DE102017117742A1 (zh)
GB (1) GB2553667B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860724B2 (en) * 2017-06-13 2020-12-08 Microsoft Technology Licensing, Llc Active key rolling for sensitive data protection
US11061920B2 (en) 2018-03-28 2021-07-13 Opus Global, Inc. Application programming interfaces (“APIs”) for accessing and amalgamating data from incongruent sources
GB2577494A (en) * 2018-09-25 2020-04-01 Univ Warwick Feature(s) generation
US20210377240A1 (en) * 2020-06-02 2021-12-02 FLEX Integration LLC System and methods for tokenized hierarchical secured asset distribution
AU2021203680B2 (en) * 2020-06-22 2022-10-27 Honeywell International Inc. Configuration of devices for business management systems
US11818097B2 (en) * 2021-04-25 2023-11-14 A10 Networks, Inc. Packet watermark with static salt and token validation
US20230188336A1 (en) * 2021-12-10 2023-06-15 Advanced Micro Devices, Inc. Automatic Key Rolling for Link Encryption

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592196A (zh) * 2003-09-05 2005-03-09 佳能株式会社 数据共享方法、委托处理方法及装置
CN1617484A (zh) * 2003-11-14 2005-05-18 大世界有限公司 使用密钥的双向通信方法
CN1642072A (zh) * 2004-01-16 2005-07-20 株式会社日立制作所 内容发送装置和内容接收装置
CN101563884A (zh) * 2006-12-19 2009-10-21 日本电气株式会社 共同数据生成方法和用于该方法的设备
CN105556893A (zh) * 2013-08-22 2016-05-04 索利德移动公司 使用口令对移动设备的安全访问

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093137B1 (en) * 1999-09-30 2006-08-15 Casio Computer Co., Ltd. Database management apparatus and encrypting/decrypting system
DE60106802T2 (de) * 2000-04-06 2005-03-10 Matsushita Electric Industrial Co., Ltd., Kadoma Urheberrechtsschutzsystem, Verschlüsselungsvorrichtung, Entschlüsselungsvorrichtung und Aufzeichnungsmedium
WO2003101071A1 (en) * 2002-05-29 2003-12-04 Matsushita Electric Industrial Co., Ltd. Data transmitting apparatus, data receiving apparatus, data transmission system and data transmission method
CA2502134A1 (en) * 2002-06-19 2004-03-04 Secured Communications, Inc. Inter-authentication method and device
DE60315853D1 (de) * 2003-12-24 2007-10-04 St Microelectronics Srl Verfahren zur Entschlüsselung einer Nachricht
JP4304298B2 (ja) * 2004-02-13 2009-07-29 日本電気株式会社 通信システム及びその同期方法
JP4748774B2 (ja) * 2004-06-02 2011-08-17 キヤノン株式会社 暗号化通信方式及びシステム
EP1758294A4 (en) * 2004-06-08 2011-09-07 Nec Corp DATA COMMUNICATION PROCESS AND SYSTEM
US8238554B2 (en) * 2004-07-22 2012-08-07 Sanyo Electric Co., Ltd. Method for transmission/reception of contents usage right information in encrypted form, and device thereof
KR100670005B1 (ko) * 2005-02-23 2007-01-19 삼성전자주식회사 모바일 플랫폼을 위한 메모리의 무결성을 원격으로 확인하는 확인장치 및 그 시스템 그리고 무결성 확인 방법
JP5384781B2 (ja) * 2005-08-18 2014-01-08 日本電気株式会社 秘匿通信システムおよび共有秘密情報の生成方法
US20090100264A1 (en) * 2006-04-28 2009-04-16 Yuichi Futa Communication device and communication system
JP4841519B2 (ja) * 2006-10-30 2011-12-21 富士通株式会社 通信方法、通信システム、鍵管理装置、中継装置及びコンピュータプログラム
WO2008099682A1 (ja) * 2007-02-16 2008-08-21 Panasonic Corporation 分散情報配布装置、保持装置、認証局装置及びシステム
KR101200572B1 (ko) * 2007-07-09 2012-11-13 삼성전자주식회사 공개 브로드캐스트 암호화를 이용한 인증 방법 및 컨텐츠재생 방법과 그 장치
JP4856743B2 (ja) * 2009-08-06 2012-01-18 株式会社バッファロー 無線通信装置、無線通信システム、および、ネットワーク装置
US8341710B2 (en) * 2009-12-14 2012-12-25 Verizon Patent And Licensing, Inc. Ubiquitous webtoken
WO2011111370A1 (ja) * 2010-03-11 2011-09-15 パナソニック株式会社 記録システム、再生システム、鍵配信サーバ、記録装置、記録媒体装置、再生装置、記録方法、及び、再生方法
US8856901B2 (en) * 2010-05-26 2014-10-07 Marcel Van Os Digital handshake for authentication of devices
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
US9888214B2 (en) * 2012-08-10 2018-02-06 Logitech Europe S.A. Wireless video camera and connection methods including multiple video streams
JP5662391B2 (ja) * 2012-08-17 2015-01-28 株式会社東芝 情報操作装置、情報出力装置および情報処理方法
US9143383B2 (en) * 2012-11-01 2015-09-22 Miiicasa Taiwan Inc. Method and system for managing device identification
US9818315B2 (en) * 2013-06-04 2017-11-14 At&T Intellectual Property I, L.P. Secure multi-party device pairing using sensor data
CN105264815A (zh) * 2013-06-04 2016-01-20 三星电子株式会社 使用组密钥的基于无线对接的服务的方法和设备
EP3065334A4 (en) * 2013-10-30 2016-11-09 Huawei Device Co Ltd BUTTON CONFIGURATION METHOD, SYSTEM AND APPARATUS
US9641488B2 (en) * 2014-02-28 2017-05-02 Dropbox, Inc. Advanced security protocol for broadcasting and synchronizing shared folders over local area network
KR20150105806A (ko) * 2014-03-10 2015-09-18 삼성전자주식회사 데이터 처리 방법 및 그 전자 장치
CN104980928B (zh) * 2014-04-03 2018-12-07 华为终端(东莞)有限公司 一种用于建立安全连接的方法、设备及系统
US9887839B2 (en) * 2014-06-06 2018-02-06 Rainberry, Inc. Securely sharing information via a public key-value data store
US10002236B2 (en) * 2014-07-21 2018-06-19 Apple Inc. Controlling use of shared content items based on client device
US9438417B2 (en) * 2014-08-12 2016-09-06 Robert Bosch Gmbh System and method for shared key agreement over untrusted communication channels
US9430628B2 (en) * 2014-08-13 2016-08-30 Qualcomm Incorporated Access authorization based on synthetic biometric data and non-biometric data
US20160066184A1 (en) * 2014-08-29 2016-03-03 Intel Corporation Pairing Computing Devices According To A Multi-Level Security Protocol
WO2016033610A1 (en) * 2014-08-29 2016-03-03 Visa International Service Association Methods for secure cryptogram generation
US9374222B2 (en) * 2014-09-02 2016-06-21 Alcatel Lucent Secure communication of data between devices
KR102457809B1 (ko) * 2014-09-24 2022-10-24 삼성전자주식회사 데이터 통신 보안을 위한 방법, 장치 및 시스템
US9667608B2 (en) * 2014-09-26 2017-05-30 Apple Inc. Enhanced two-factor verification for device pairing
US9331989B2 (en) * 2014-10-06 2016-05-03 Micron Technology, Inc. Secure shared key sharing systems and methods
US20160105400A1 (en) * 2014-10-08 2016-04-14 Time Warner Cable Enterprises Llc Apparatus and methods for data transfer beteween a plurality of user devices
CN105592434A (zh) * 2014-10-23 2016-05-18 中兴通讯股份有限公司 一种管理设备间d2d通信分组的方法及设备
KR20160063793A (ko) * 2014-11-27 2016-06-07 삼성전자주식회사 전자 장치 및 전자 장치에서의 정보 송신 및 수신 방법
US9473475B2 (en) * 2014-12-22 2016-10-18 Palo Alto Research Center Incorporated Low-cost authenticated signing delegation in content centric networking
US10367640B2 (en) * 2016-05-04 2019-07-30 Securerf Corporation Shared secret data production system
US10321306B2 (en) * 2016-06-24 2019-06-11 Aerohive Networks, Inc. Network device selective synchronization
JP6641241B2 (ja) * 2016-07-04 2020-02-05 株式会社日立製作所 情報共有システム、計算機、及び、情報共有方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592196A (zh) * 2003-09-05 2005-03-09 佳能株式会社 数据共享方法、委托处理方法及装置
CN1617484A (zh) * 2003-11-14 2005-05-18 大世界有限公司 使用密钥的双向通信方法
CN1642072A (zh) * 2004-01-16 2005-07-20 株式会社日立制作所 内容发送装置和内容接收装置
CN101563884A (zh) * 2006-12-19 2009-10-21 日本电气株式会社 共同数据生成方法和用于该方法的设备
CN105556893A (zh) * 2013-08-22 2016-05-04 索利德移动公司 使用口令对移动设备的安全访问

Also Published As

Publication number Publication date
DE102017117742A1 (de) 2018-02-15
CN107707518A (zh) 2018-02-16
US10230700B2 (en) 2019-03-12
US20180048631A1 (en) 2018-02-15
GB2553667B (en) 2020-01-15
GB201712552D0 (en) 2017-09-20
GB2553667A8 (en) 2018-05-02
GB2553667A (en) 2018-03-14

Similar Documents

Publication Publication Date Title
CN107707518B (zh) 用于基于事务的消息安全性的设备及方法
AU2021201121B2 (en) Aggregation platform portal
US11671425B2 (en) Cross-region requests
US10680827B2 (en) Asymmetric session credentials
CN110417750B (zh) 基于区块链技术的文件读取和存储的方法、终端设备和存储介质
US9813247B2 (en) Authenticator device facilitating file security
US10182044B1 (en) Personalizing global session identifiers
US10878080B2 (en) Credential synchronization management
US10277569B1 (en) Cross-region cache of regional sessions
CN110445840B (zh) 一种基于区块链技术的文件存储和读取的方法
JP2022534677A (ja) ブロックチェーンを使用するオンラインアプリケーションおよびウェブページの保護
US20230308277A1 (en) Anonymous authentication with token redemption
JP2015220526A (ja) 情報処理システム、情報処理方法、及びプログラム

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