CN106571911A - 基于设备和数据认证的数据加密和解密 - Google Patents

基于设备和数据认证的数据加密和解密 Download PDF

Info

Publication number
CN106571911A
CN106571911A CN201610543748.5A CN201610543748A CN106571911A CN 106571911 A CN106571911 A CN 106571911A CN 201610543748 A CN201610543748 A CN 201610543748A CN 106571911 A CN106571911 A CN 106571911A
Authority
CN
China
Prior art keywords
equipment
message
key
mac
session
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.)
Pending
Application number
CN201610543748.5A
Other languages
English (en)
Inventor
林照源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN106571911A publication Critical patent/CN106571911A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • 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
    • 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/0457Network 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 dynamic encryption, e.g. stream encryption
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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
    • 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)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本公开涉及基于设备和数据认证的数据加密和解密。描述了一种设备,其确定用于生成与该设备和第二设备之间的通信会话相关联的消息认证代码(MAC)标签的会话密钥。设备至少部分地基于会话密钥确定用于编码或解码与第二设备相关联的消息的密码密钥。设备然后基于密码密钥对消息编码或解码。

Description

基于设备和数据认证的数据加密和解密
背景技术
一些设备采取措施以通过执行消息认证代码(MAC)技术(诸如Lim等人的美国专利第8,630,411中描述的技术)来确保从另一设备接收的数据的完整性以及数据的真实性。MAC技术可以使得接收设备能够实现挑战响应协议用于认证源设备以及用于确认从源设备接收的数据尚未从其原始形式被篡改或者被改变。
在一些情况下,从已认证的源接收的数据可以包括有价值的和/或敏感的信息(例如密码、专有秘密、个人信息或者其他敏感信息)。即使MAC技术可以使得接收设备能够确保数据完整性,但是MAC技术可能没有做任何事情以保护所传送的实际数据免于被未认证的设备拦截。这样,数据可能易受来自未认证的侦听设备的攻击,未认证的侦听设备窥探或者倾听数据交换以尝试获取对在交换中共享的有价值的和/或敏感的信息的访问。
为了保护不正当的窥探,一些设备可以执行复杂的加密算法并且执行复杂的操作以在传输之前对数据编码并且在接收到时对数据解码。执行复杂的加密算法以对数据加密和解密对于一些低成本或不太复杂的系统而言可能太复杂或者太昂贵。
发明内容
在一个示例中,本公开涉及一种方法,其包括:由第一设备确定用于生成与第一设备和第二设备之间的通信会话相关联的消息认证代码(MAC)标签的会话密钥;由第一设备至少部分地基于会话密钥确定用于对与第二设备相关联的消息进行译码的密码密钥;以及由第一设备基于密码密钥对所述消息进行译码。
在另一示例中,本公开涉及一种包括至少一个处理器的第一设备,至少一个处理器可操作用于:确定用于生成与第一设备和第二设备之间的通信会话相关联的消息认证代码(MAC)标签的会话密钥;至少部分地基于会话密钥确定用于对与第二设备相关联的消息编码或解码的密码密钥;以及基于密码密钥对所述消息进行译码。
在另一示例中,本公开涉及一种系统,包括:用于确定用于生成与第一设备和第二设备之间的通信会话相关联的消息认证代码(MAC)标签的会话密钥的装置;用于至少部分地基于会话密钥确定用于对与第二设备相关联的消息编码或解码的密码密钥的装置;以及用于基于密码密钥对消息进行译码的装置。
下面在附图和描述中给出一个或多个示例的细节。本公开的其他特征、目的和优点根据描述和附图并且根据权利要求将很清楚。
附图说明
图1是根据本公开的技术的图示用于在两个已认证设备之间交换已编码数据的示例系统的概念图;
图2是根据本公开的技术的图示用于在两个已认证设备之间交换已编码数据的附加的示例系统的概念图;
图3A和3B是根据本公开的一个或多个方面的图示用于对数据进行译码的由示例设备执行的示例操作的流程图;
图4是根据本公开的一个或多个方面的图示在两个已认证设备之间传送的示例数据流的概念图;
图5是根据本公开的技术的图示用于在单个主机设备与两个单独的从设备之间交换已编码数据的附加的示例系统的概念图;
图6是根据本公开的技术的图示用于在两个已认证设备之间交换已编码数据的认证流程的概念图;
图7是根据本公开的技术的图示用于在两个已认证设备之间交换已编码数据的附加的示例系统的概念图;
图8是根据本公开的一个或多个方面的图示用于由图7的示例系统的两个已认证设备之一执行以执行用于对数据进行译码的操作的示例伪码的概念图;以及
图9是根据本公开的一个或多个方面的图示由图7的示例系统的两个已认证设备之一在执行图8的示例伪码时执行的示例操作的流程图。
具体实施方式
通常,电路和技术被描述用于使得设备能够对在利用消息认证代码(MAC)技术设备之间交换的信息编码用于验证信息的完整性和真实性,而不需要设备预先存储或交换密码或解密密钥。例如,作为一种用于确保数据完整性的方法,第一设备和第二设备可以根据Lim等人的美国专利第8,630,411中描述的技术实现挑战响应协议。
作为实现挑战响应协议的部分,第一设备和第二设备各自可以得到(derive)会话密钥,会话密钥对于第一和第二设备二者是公共的,但是实际上从来不在通信线路上共享。在从第一设备接收到数据时,第二设备可以通过向MAC算法中输入会话密钥以得到MAC标签的实例来认证第一设备。第二设备可以将所得到的MAC标签与从第一设备接收的MAC标签连同数据传输相比较。如果所得到的和所接收的MAC标签匹配,则第二设备可以“认证”第一设备(即,确认第一设备的身份),并且验证所接收的数据的完整性(即,确认数据在传输期间没有被改变)。
为了编码和保护由两个已认证设备交换的数据使其受到不正当的窥探(例如被第三方或未认证的设备),第一和第二设备可以超出执行认证和数据完整性操作,并且可以利用所得到的会话密钥在传输之前对数据编码和在传输之后对数据解码。例如,先于到第二设备的传输,第一设备可以使用所得到的会话密钥作为“加密密码”或“加密密钥”对数据加扰来对数据编码并且防止未认证的访问。在一些示例中,第一设备可以先于传输通过在所得到的会话密钥和数据之间执行“异或”(也称为“XOR”或“排他性析取”)操作来对数据编码。在接收到数据之后,第二设备然后可以使用所得到的会话密钥作为“解密密码”或“解密密钥”对数据解扰来对数据解码。在一些示例中,第二设备可以在接收之后通过在已编码数据和所得到的会话密钥之间执行异或运算来对数据解码以获得原始的未编码数据。
图1是图示根据本公开的技术的作为用于在两个已认证设备102A和102B之间交换已编码数据的示例系统的系统100的概念图。系统100包括设备102A和设备102B(统称为“设备102”),设备102A和设备102B被配置成经由通信信道或“链路”116A来交换信息(例如数据)。系统100还包括被配置成经由链路116B接收在链路116A上交换的数据的未认证设备122。
未认证设备122表示被配置成嗅探、窥探或拦截经由数据路径交换的信息的任何类型的设备。未认证设备122的示例包括计算设备、计算系统、网络设备、或者能够读取经由数据路径在设备之间传递的数据的任何其他类型的设备。在图1的示例中,未认证设备122可以经由链路116B接收经由链路116A在设备102之间行进的信息或数据的副本。如果在链路116A上传输的数据未编码,则未认证设备122可以拦截经由链路116B接收的数据中编码的信息。相反,如果在链路116A上传输的数据被编码,则未认证设备122可以不能够拦截(例如至少没有执行另外的操作以对数据解码)经由链路116B接收的数据中编码的信息。
设备102表示被配置成经由数据路径交换信息的任何类型的设备。例如,设备102包括以下各项的任意组合:移动计算设备、可佩带计算设备、个人数字助理(PDA)、相机、音频播放器、游戏系统或操纵杆、音频和/或视频系统、其他娱乐设备、台式或膝上型计算机、计算机系统、网络和计算设备、复印机、扫描仪、多合一或其他数字成像或复制设备、医疗设备或装置或诊断物资、汽车系统、飞行器(有人和无人驾驶飞行器二者)或飞行器系统、潜水艇或潜水系统、航空和航天器或航空和航天系统、工业部件或工业系统、或者一些其他零件、附件、部件、电池、辅助装置、耳麦设备、耳机设备、扬声器设备、扩充口、游戏控制器设备、充电设备、麦克风设备、碳粉匣设备、储存式设备、网络设备、外围设备、内部或外部存储设备、或者需要其认证和安全数据传输的任何其他设备或部件。
设备102A包括认证模块130A,设备102B包括认证模块130B。认证模块130A和130B(统称为“认证模块130”)可以使得设备102能够执行挑战响应协议用于认证设备102并且确保在链路116A上交换的数据的完整性,并且还可以使用从挑战响应协议的执行得到的会话密钥对在数据链路116A上交换的数据编码和解码(例如以防止未认证设备122的侵入)。
认证模块130可以包括硬件、软件、固件或者其任意组合的任意合适的布置以执行本文中描述的归因于认证模块130的技术。例如,认证模块130各自可以包括任何一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或者任何其他等同的集成或离散逻辑电路系统、以及这样的部件的任意组合。如果认证模块130包括软件或固件,则认证模块130还包括用于存储和执行软件或固件的任何必要的硬件,诸如一个或多个处理器或处理单元。
通常,处理单元可以包括一个或多个微处理器、DSP、ASIC、FPGA、或任何其他等同的集成或离散逻辑电路系统、以及这样的部件的任意组合。虽然图1中未示出,但是认证模块130可以包括被配置成存储数据的存储器。存储器可以包括任何易失性或非易失性介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、非易失性RAM(NVRAM)、电可擦除可编程ROM(EEPROM)、闪存存储器等。在一些示例中,存储器可以在认证模块130外部,例如可以在其中容置有认证模块130的封装件外部。
在操作中,如Lim等人的美国专利第8,630,411中描述的,认证模块130A和130B可以一起实现挑战响应协议用于认证设备102并且确保在链路116A上交换的数据的额完整性。例如,在特定通信会话期间,设备102B可以经由链路116A向设备102A传输数据。因此,设备102A可以验证经由链路116A接收的数据已经到达并且没有变化并且实际上源自于设备102B,设备102B的认证模块130B可以得到设备102之间的特定通信会话的会话密钥的第一实例。会话密钥的第一实例可以由认证模块130B针对每个通信会话(例如周期性地等)重新生成。
基于所得到的会话密钥的第一实例,认证模块130B然后可以生成用于特定通信会话的第一消息认证代码(MAC)标签并且将第一MAC标签包括在设备102A向链路116A输出的数据中。例如,认证模块130B可以向MAC函数中输入会话密钥,MAC函数输出第一MAC标签,认证模块130B然后使用第一MAC标签在传输之前标记数据。
在从链路116A接收到数据时,设备102A的认证模块130A可以使用经由链路116A接收的数据分析第一MAC标签以确定设备102B实际上是否传输数据以及进一步确定数据是否从其原始形式发生变化。比如,设备102A的认证模块130A可以得到设备102之间的特定通信会话的会话密钥的第二实例。会话密钥的第二实例可以由认证模块130A针对每个通信会话(例如周期性地等)重新生成。
在一些示例中,可以基于在设备之间传送的数据的量来重新生成会话密钥的第一和第二实例。例如,可以由设备102在某些字节量(例如1024字节或某个其他量的数据)已经在链路116上被传递之后重新生成会话密钥的第一和第二实例。在其他示例中,设备102使用时间作为用于确定何时得到已更新会话密钥的变量。比如,设备102可以在自从上一次得到会话密钥以来已经逝去某个量的时间(例如1秒、1小时或其他时间增量)之后确定已更新会话密钥。
基于所得到的会话密钥的第二实例,认证模块130A然后可以生成特定通信会话的第二MAC标签并且确定认证模块130A生成的第二MAC标签是否匹配在经由链路116A接收的数据中接收的第一MAC标签。例如,认证模块130A可以向MAC函数中输入会话密钥,MAC函数输出第二MAC标签,认证模块130A然后使用第二MAC标签验证经由链路116A接收的数据是否真实。如果由认证模块130A生成的第二MAC标签匹配在所接收的数据中接收的第一MAC标签,则认证模块130A可以确定经由链路116A接收的数据真实。
为了防止经由链路116A交换的数据内包含的信息的窥探,认证模块130A和130B可以先于传输对数据编码并且在接收之后对数据解码。然而,不同于一些设备通过执行复杂的密码算法来保护免受不正当窥探的影响并且执行复杂的操作以对数据编码和解码,认证模块130A和130B基于已经出于认证目的生成的相同的会话密钥来得到密码(crypto)密钥以对数据编码和解码。换言之,认证模块130A和130B复用所得到的会话密钥同时执行或者不执行较小的变化,以生成用于在传输之前对数据加密并且在接收到时对数据解密的密码密钥。在一些示例中,认证模块130A和130B可以重新生成没有用于MAC标签用途的所得到的会话密钥的单独集合。在其他情况下,认证模块130A和130B得到第二会话密钥并且使用第二会话密钥连同在先会话密钥。第二会话密钥用于在传输之前对数据加密并且在接收到之后对数据解密。MAC标签可以在对数据加密之前或对数据解密之后执行。在其他情况下,可以为使用许多密钥来加密和解密的数据准备更多会话密钥对。
例如,认证模块130B可以通过在原始数据110B和密码密钥之间执行异或运算(或者某个其他加密技术)来产生用于向设备102A传输的已编码数据112A,密码密钥对应于或者至少部分地基于认证模块130B递送用于生成用于特定通信会话的第一MAC的相同的会话密钥。在其他示例中,密码密钥表示会话密钥的摘要以及在设备102之间共享的种子值(例如随机数、基于一天中的时间的数字等)。
在一些示例中,认证模块130B对原始数据110B和相关联的MAC编码以产生已编码数据112A。在其他示例中,认证模块130B仅对原始数据110B编码以产生已编码数据112A。
在任何情况下,设备102B向链路116A输出已编码数据112A而非原始数据110B。由于已编码数据112A是原始数据110B的加扰版本,所以未认证设备122可以不能够解释已编码数据112A中包含的信息。
认证模块130A可以通过以下方式来将经由链路116B接收的已编码数据112A解扰成原始数据110A:在已编码数据112A和密码密钥之间执行异或运算(或者与由认证模块130B执行的加密相反的某个其他解密技术),密码密钥对应于或者至少部分地基于认证模块130A递送用于特定通信会话的第二MAC的相同的会话密钥。在其他示例中,密码密钥表示会话密钥的摘要以及在设备102之间共享的种子值(例如随机数、基于一天中的时间的数字等)。认证模块130A可以在设备102A处将已编码数据112A的未加扰版本存储为原始数据110A。
以这一方式,根据本文中描述的技术编码和解码的设备可以保护免受不正当窥探的影响而不必执行复杂的加密算法或者执行复杂的操作以在传输之前对数据编码并且在接收到时对数据解码。通过产生密码密钥以至少部分地基于已经出于认证目的得到的会话密钥对数据编码和解码,本公开中描述的技术可以使得低成本或低复杂系统能够交换信息而没有易受窥探的影响。
在一些示例中,设备102可以是无人驾驶飞行器应用的部分。例如,设备102A可以是无人驾驶飞行器,设备102B可以是用于控制无人驾驶飞行器的控制器或地面站。设备102B可以发送用于该设备102A使用以飞行到目标位置的滑行路径的控制指令。通过在传输之前对控制指令加密并且在传输之后对控制指令解密,设备102可以确保控制指令不会被区域中的其他无人驾驶飞行器的操作干扰。在其他示例中,在无人驾驶飞行器102A与控制器102B之间共享的信息可以包括指示由无人驾驶飞行器102A递送的货物的拾取和投放位置的数据。在其他示例中,信息可以包括指示控制操作或者货物的递送的重定向或取消的数据。
在一些示例中,设备102A可以是与使用无人驾驶飞行器的货物的发送方相关联的发送器,设备102B可以是与无人驾驶飞行器递送的货物的接收方相关联的接收器。无人驾驶飞行器可以包括密码保护的或开启的隔室,隔室包括货物。使用本文中描述的技术,货物的发送方可以传输用于使用设备102A锁定隔室的密码并且接收方可以在无人驾驶飞行器到达他的或她的位置时使用设备102B解密密码。
存在很多用于设备102的其他应用。比如,在其他示例中,设备102可以是计算设备与更换部件或附件、诸如电池之间的认证过程。使用所描述的技术,计算设备和电池可以交换加扰后的数据以验证电池的真实性,并且计算设备的用户不能干扰认证过程(例如,以欺骗计算设备认为电池是真实的,即使实际上电池可以是伪造的并且有可能损坏部件)。
在一些其他示例中,设备102可以是用于保护公司的可用于下载(例如从因特网)的专有源代码的应用的部分。例如,一些源代码可以仅在用户向公司注册之后可用于下载。为了保护用户的身份,本文中描述的加密和解密技术可以使得公司能够保持用户身份机密;另外,先于下载,公司可以使用MAC标签标记代码,MAC标签使得用户能够在下载之后在他的或者她的设备处验证代码的真实性(例如以确保没有出现恶意代码或者代码的其他第三方侵入)。
图2是图示根据本公开的技术的作为用于在两个已认证设备202A与202B之间交换已编码数据的附加的示例系统的系统200的概念图。系统200包括设备202A和设备202B(统称为“设备202”)。设备202经由通信信道或链路216在被通信地耦合。链路216的示例包括用于在两个或多个设备、诸如设备202之间交换数据的任何形式的有线或无线通信介质。设备202A包括认证模块230A和数据存储装置(store)250A,而设备202B包括认证模块230B和数据存储装置250B。
数据存储装置250A和数据存储装置250B(统称为“数据存储装置250”)表示用于在通过链路216传输之前和之后存储信息的任意合适的存储介质。存储在数据存储装置250A的信息可以被模块230A访问,存储在数据存储装置250B的信息可以被模块230B访问。例如,设备202A的一个或多个处理器可以执行与认证模块230A相关联的指令,这些指令引起模块230A在数据存储装置250A处执行读写操作以在向设备202B传输之前或者在从设备202B接收之后处理信息。类似地,设备202B的ASIC可以执行与认证模块230B相关联的操作,这些操作使得模块230B能够在数据存储装置250B处执行读写操作以在向设备202A传输之前或者在从设备202A接收之后处理信息。
认证模块230A和230B(统称为“认证模块230”)可以使得设备202能够执行挑战响应协议用于认证设备202并且确保在链路216上交换的数据的完整性。认证模块230可以使用从挑战响应协议的执行得到的会话密钥的相应实例以对在链路216上交换的数据编码和解码。认证模块230可以使用各种技术并且用很多不同方式来实现。比如,在一些示例中,认证模块230包括被配置成执行本文中描述的用于认证和加密/解密数据的操作的硬件、软件和/或固件。在一些示例中,认证模块230表示独立的集成电路或者包括被配置成执行本文中描述的用于认证和加密/解密数据的操作的一个或多个处理器。在一些示例中,认证模块230表示单个半导体芯片并且包括存储器。在一些示例中,认证模块230的功能和特征可以实现为一个或多个片上系统部件(例如以减小设备202的大小和/或成本)。
认证模块230A包括密钥生成模块234A和加密/解密模块238A。密钥生成模块234A包括MAC函数模块236A。认证模块230B包括密钥生成模块234B、MAC函数模块236B和加密/解密模块238B。密钥生成模块234B包括MAC函数模块236B。
密钥生成模块234A和234B(统称为“密钥生成模块234”)分别确定用于认证在设备202之间传递的消息的MAC标签244A和244B,并且还分别确定用于加密和解密消息的密码密钥246A和246B。
为了认证在设备202之间传递的消息,密钥生成模块234A可以确定用于生成与设备202A和设备202B之间的通信会话相关联的MAC标签244A的会话密钥240A,并且密钥生成模块234B可以确定用于生成与设备202A和设备202B之间的通信会话相关联的MAC标签244B的会话密钥240B。会话密钥240A和240B表示相同会话密钥的两个单独的实例。MAC标签244A和244B表示相同MAC标签的两个单独的实例。会话密钥240A和240B中的每个以及MAC标签244A和244B中的每个分别由密钥生成模块234A和234B独立地得到。
在一些示例中,密钥生成模块234得到会话密钥240A和240B作为挑战响应协议的副产品。例如,协议可以使用椭圆曲线非对称认证。有限域K上的椭圆曲线E是三次方程y2+a1xy+a3y=x3+a2x2+a4x+a6的KxK的解的集合(x,y),其中a1、a2、a3、a4和a6是有限域K的元素。在无穷大O处添加点作为零元素,椭圆曲线的这些点形成有限的阿贝尔组。组规则由以下代数事实来定义:穿过E的两个点P和Q的每个线与曲线在第三但不一定不同的点P处相交并且和P+Q+R=O是零元素。(如果P=Q,则切线与曲线在R中相交。)
类似于矢量空间,定义标量乘法k*P,其中k是整数,P是E的点。则,k*P表示P的k倍添加。对于密码上强的椭圆曲线,标量乘法k*P=S是单向函数,即能够在参数的长度中在时间多项式中计算k*P,但是给定P和S,仅有具有已知用于标量k的计算的指数运行时间的算法。这一单向函数可以是用于使用椭圆曲线的密码协议的安全的基础。
例如,为了生成MAC标签244A并且以使得设备202B能够生成MAC标签244B(例如用于认证在设备202之间传递的消息),密钥生成模块234A可以确定随机值‘λ并且使用随机值‘λ生成挑战xA,密钥生成模块234A将挑战xA发送给密钥生成模块234B。在一些示例中,挑战xA包括曲线上的点A的仿射x坐标,其是具有所选择的随机值'λ的用其仿射x坐标xp表示的曲线的基本点P的标量倍数。在其他实施例中,挑战可以根据随机值'λ以及附加数据来生成。用xA表示的挑战A可以从密钥生成模块234A传输至密钥生成模块234B。
在认证的开始,设备202A保持公共认证密钥(PAK)248A,设备202B保持对应保密认证密钥(SAK)249B。相反,设备202B保持PAK 248B,设备202A可以保持对应SAK 249A。PAK248A和SAK249B二者形成用于在设备202A用作主机并且设备202B用作从机时认证消息的一个认证密钥对,并且PAK 248B和SAK 249A形成用于认证在设备202B用作主机并且设备202A用作从机时传输的消息的另一认证对。
在接收到挑战xA时,并且响应于接收到挑战xA,密钥生成模块234B生成会话密钥240B。例如,密钥生成模块234B可以针对曲线上的点B确定投影坐标XB和ZB,并且然后应用函数f以得到会话密钥240B=f(XB,ZB)。
更特别地,在一些示例中,密钥生成模块234B可以根据函数f确定XB和ZB,函数f是挑战xA和SAK 249B的标量乘法。密钥生成模块234B可以从坐标之一中选择长度为L的大量比特用于标量乘法以形成会话密钥240B。在本示例中,可以使用坐标XB,但是在其他实施例中,可以使用ZB。比特的数目以及因此整数L也可以在实施例中变化。
密钥生成模块234B可以向与设备202B相关联的寄存器或存储器中(例如在数据存储装置250B处)或者认证模块230B内的某个其他存储位置写入会话密钥240B用于后续的数据认证。在一些示例中,密钥生成模块234可以针对每个认证过程重新生成会话密钥240B。
接着,密钥生成模块234B可以向投影坐标XB和ZB应用函数g以获得数据w=g(XB,ZB),其足以用于密钥生成模块234A识别和计算由密钥生成模块234B使用的点B的实际投影表示。更特别地,在一个示例中,密钥生成模块234B可以调用MAC函数模块236执行MAC算法,MAC算法将要传输的(MAK)投影坐标XB和消息数据(例如信息)作为输入并且输出MAC标签244B作为输出。以这一方式,密钥生成模块234B可以基于会话密钥240B确定表示与通信会话相关联的MAC标签的实例的MAC标签244B。
认证模块230B可以向密钥生成模块234A发送MAC标签244B和投影坐标ZB(或在其中使用ZB作为会话密钥240B的源的实施例中是XB),使得密钥生成模块234A可以确定MAC标签244A以及使用MAC标签244B传输的数据的真实性。换言之,密钥生成模块234B可以调用MAC函数模块236B,MAC函数模块236B用作确保在设备202之间交换的数据在传输期间不被篡改的种类的认证戳。
密钥生成模块234A然后可以确定会话密钥240A。例如,密钥生成模块234A可以在第一步骤通过将所选择的随机值'λ乘以公共认证密钥248A的仿射x坐标来计算曲线上的点C的仿射坐标xc作为期望响应值。然后,设备202A可以向期望响应值xC和从设备202B接收到的数据w应用函数h,得到会话密钥240A=h(xC,w)。因此,如果设备202A与202B之间的认证成功,则会话密钥240A应当在这一点处等于会话密钥240B。
更特别地,在一个示例中,设备202A可以通过将所选择的随机值'λ乘以PAK 248A的仿射x坐标来计算或已经计算了曲线上的点C的仿射坐标xC。设备202A然后可以将xC乘以从设备202B接收的ZB以确定投影坐标XB。设备202A接着可以从XB得到L个比特以确定会话密钥240A并且将会话密钥240A写入存储器218(例如RAM、数据存储装置250A或者设备202A的某个其他非易失性存储器处)用于在后续的数据认证中使用。
使用会话密钥240A,设备202A可以尝试认证先前经由链路216从设备202B接收的数据。例如,认证模块230A可以验证MAC标签244A匹配与从设备202B接收的数据相关联的MAC标签244B。在设备202A和202B之间的后续数据接收中,假定会话密钥240A和240B已经确定并且认证,设备202A仅需要将从设备202B接收的数据写入数据存储装置250A处的存储器中。
稍后,设备202A和202B可以重复认证过程以刷新会话密钥240A和240B(例如以便保护会话密钥240A和240B并且维护认证)。会话密钥的刷新之间的时间段可以变化,并且可以基于MAC函数的强度或者由MAC函数236A和236B执行的指纹操作。
根据本公开的技术,为了加密和解密在设备202之间传递的消息,密钥生成模块234A可以复用会话密钥240A,如以上确定的,用于生成与设备202A和设备202B之间的通信会话相关联的密码密钥246A,并且密钥生成模块234B可以复用会话密钥240B,如以上确定的,以用于生成与设备202A和设备202B之间的通信会话相关联的密码密钥246B。
密码密钥246A和246B表示用于对与设备202相关联的消息进行译码(例如编码和/或解码)的相同密码密钥的两个单独实例。密码密钥246A和246B中的每个由密钥生成模块234A和234B分别独立地得到。通过得到相应密码密钥的单独的实例,设备202可以对数据消息编码和解码而没有在链路216上共享任何信息(这可以向第三方攻击者提供用于解密数据的线索)。
在操作中,密钥生成模块234B可以确定会话密钥240B作为处理的部分,密钥生成模块234B经历这一过程用于生成与设备202B和设备202A之间的通信会话相关联的MAC标签244B。接着,密钥生成模块234B可以至少部分地基于会话密钥244B确定用于对去往设备202A的消息进行译码的密码密钥246B。
密钥生成模块234B可以使用MAC函数模块236B生成密码密钥246B。例如,在一些实例中,认证模块230B可以从设备202A的认证模块230A接收用于确定密码密钥246B的种子值N(例如随机选择的数字)的指示并且使用种子值N连同会话密钥244B作为到MAC函数模块236B的输入用于确定密码密钥246B。在图2的示例中,种子值N被示出为“种子242”。
在一些示例中,种子值N被更新以增强安全性。例如,种子值N可以从不被重复(例如从不使用相同的值两次)并且如果密钥生成模块234B确定种子值N是与先前使用的相同的值,则密钥生成模块234B可以从认证模块230A请求更新后的种子值(例如再次挑战)。
在一些示例中,种子值N不是“随机”数,而可以是每个设备202独立得到的“共享秘密”。例如,种子值N可以基于公共数据的哈希值(例如时间、日期等)或者可以被编程(例如由管理员)。
在任何情况下,MAC函数模块236B可以接收种子值N以及投影坐标XB或其某个推导(例如会话密钥240B或投影坐标XB的某个其他L个比特)并且确定密码密钥246B。也被称为消息密文块(MCB)的流,密码密钥246B可以等于MAC的输出(XB,N)。
虽然密钥生成模块234B使用MAC函数模块236B生成密码密钥246B,但是设备202A的密钥生成模块234A使用MAC函数模块236B和种子242生成密码密钥246A。例如,密钥生成模块234A可以提供会话密钥240A(或者XB的某个其他推导)和种子242作为到MAC函数模块236A的输入以产生密码密钥246A(也称为MCB')作为输出。
在生成密码密钥246A和246B之后,设备202准备好对消息编码和解码。认证模块230B可以生成用于向设备202A传输的消息(也称为“数据”),消息包括存储在数据存储装置250B处的数据的部分。在一些示例中,由认证模块230B产生的消息包括与通信会话相关联的MAC标签的指示(例如MAC标签244B)以及附加信息(例如用于无人驾驶飞行器的专有代码、命令和控制函数或者其他需要保护的消息数据)。
认证模块230B可以依赖于加密/解密模块238B基于密码密钥246B对消息编码。例如,加密/解密模块238B可以在消息的未编码部分和密码密钥246B之间执行异或(XOR)操作以产生加扰后的数据作为输出。比如,在一些示例中,加密/解密模块238B可以产生等于MCB^Data的已加密数据CpData。
在一些示例中,并非异或运算,加密/解密模块238B可以依赖于循环冗余校验(CRC)操作或哈希函数来基于密码密钥246B对消息加扰。CRC是在数字网络和存储设备中普遍使用以检测原始数据的突发变化的错误检测代码。进入这些系统的数据块基于其内容的多项式除法的余数被附接校验值。在获取到之后,执行逆向计算来确定未加扰的数据。密码哈希函数可以使得加密/解密模块238B能够将密码密钥246B和消息数据的一些组合映射到特定哈希值。在接收时,可以通过执行特定哈希值的逆哈希操作来对原始数据解密。在图2的示例中,加密/解密模块238B可以接收密码密钥246B和消息数据作为输入并且使用CRS操作或哈希函数生成已加扰数据作为输出。
在基于密码密钥246B对消息编码之后,设备202B的认证模块230B可以经由链路216向设备202A传输已编码消息。设备202A的认证模块230A经由链路216从设备202B接收已编码消息。基于密码密钥246A,认证模块230A可以对经由链路216接收的消息解码。
例如,认证模块230A向加密/解密模块238A提供已编码消息。如果使用异或运算对消息编码,则加密/解密模块238A可以通过在消息和密码密钥246A之间执行异或运算来基于密码密钥246A对消息解码。否则,如果加密/解密模块238B使用CRC操作或哈希函数对经由链路216接收的消息编码,则加密/解密模块238B可以使用密码密钥246A以及逆CRC操作或哈希函数对经由链路216接收的消息解码。
加密/解密模块238A可以将未编码数据存储在数据存储装置250A处用于由设备202A的其他部件使用。例如,如果设备202A是无人驾驶飞行器,则设备202A的处理器或其他部件可以提供存储在数据存储装置250A处的未编码数据作为到控制函数的输入(例如用于控制无人驾驶飞行器)。
在一些示例中,在对消息解码之后,认证模块230A可以基于MAC标签244A认证消息。换言之,在将未编码消息数据存储在数据存储装置250A处之前,认证模块230A可以使用如以上描述的MAC标签244A对在数据中找到的嵌入式MAC标签执行认证操作。
例如,认证模块230A可以确定MAC标签244A是否对应于MAC标签244B(如从经由链路216接收的未编码消息数据得到的)。在一些示例中,响应于确定MAC标签244A对应于MAC标签244B,认证模块230A可以确定经由链路216接收的消息是真实的。换言之,认证模块230A可以确定经由链路216接收的消息实际从设备202B得到并且在传输期间没有(例如由第三方)改变。在一些示例中,响应于确定MAC标签244A没有对应于MAC标签244B,认证模块230A可以确定经由链路216接收的消息不真实。换言之,认证模块230A可以确定经由链路216接收的消息可以实际没有从设备202B得到或者可以在传输期间发生改变(例如由第三方,由天气异常或传输中相关联的其他干扰)。
图3A和3B是根据本公开的一个或多个方面的图示由示例设备执行用于对数据进行译码的示例操作300A和300B的流程图。下面在图1的系统100的上下文中描述图3A和3B。例如,设备102A的至少一个处理器可以执行操作300A,并且设备102B的至少一个处理器可以执行操作300B。在其他示例中,认证模块130A可以包括被配置成执行操作300A的ASIC,认证模块130B可以包括被配置成执行操作300B的ASIC。在其他示例中,设备102A可以包括存储器或者包含指令的其他非瞬态计算机可读存储介质,这些指令在由设备102A的至少一个处理器执行时引起至少一个处理器执行操作300A,设备102B可以包括存储器或者包含指令的其他非瞬态计算机可读存储介质,这些指令在由设备102B的至少一个处理器执行时引起至少一个处理器执行操作300B。
设备102B可以生成并且向设备102A发送挑战响应(302B),并且设备102A可以从设备102B接收挑战响应(302A)。例如,设备102A可以经由链路116A从设备102B接收指示挑战xA的初始信号、消息或数据的部分,其包括曲线上的点A的仿射坐标,其是具有所选择的随机值'λ的用其仿射x坐标xp表示的曲线的基本点P的标量倍数。在其他实施例中,挑战可以根据随机值'λ以及附加数据来生成。用xA表示的挑战A可以从认证模块130B传输至认证模块130A。
设备102A可以确定用于生成消息认证代码(MAC)标签的会话密钥(304A)。例如,认证模块130A可以确定曲线上的点B的投影坐标XB和ZB并且然后应用函数f以得到等于f(XB,ZB)的会话密钥。
设备102A可以基于会话密钥确定用于认证与设备102B相关联的消息的MAC标签(306A)。例如,认证模块130A可以将从设备102B接收的挑战连同所得到的会话密钥输入到MAC函数,并且接收要用于认证在设备102A和102B之间的通信会话期间传送的数据的MAG标签的第一实例作为输出。
类似地,设备102B可以确定用于生成消息认证代码(MAC)标签的会话密钥(304B)。例如,认证模块130B可以确定曲线上的点B的投影坐标XB和ZB并且然后应用函数f以得到等于f(XB,ZB)的会话密钥。
设备102B可以基于会话密钥确定用于认证与设备102A相关联的消息的MAC标签(306B)。例如,认证模块130A可以将从设备102B接收的挑战连同所得到的会话密钥输入到MAC函数,并且接收要用于认证在设备102A和102B之间的通信会话期间传送的数据的MAG标签的第一实例作为输出。
设备102B可以发送用于基于会话密钥确定用于对与设备102A相关联的消息进行译码的密码密钥的种子值(308B),并且设备102A可以接收种子值用于确定用于基于会话密钥对与设备102B相关联的消息进行译码的密码密钥(308A)。例如,设备102A可以从设备102B接收后续的消息,其包括用于输入到认证模块130A用于得到由设备102共享的密码密钥的第一实例的MAC函数的种子值N。
设备102B可以基于会话密钥确定密码密钥用于对与设备102A相关联的消息进行译码(310B),设备102A可以确定密码密钥用于基于会话密钥对与设备102B相关联的消息进行译码(310A)。例如认证模块130A可以向MAC函数中输入从设备102B接收的种子值连同先前得到的会话密钥(例如先前用于确定与通信会话相关联的MAG标签的会话密钥)。
在一些示例中,并非使用从设备102B接收的种子值,认证模块130A可以基于会话密钥得到种子值。例如,认证模块130A可以利用根据方程1确定种子值的哈希函数:
所得到的种子(例如会话密钥2)=a*(会话密钥)2+b*(会话密钥)
方程1
使用来自方程1的输出,认证模块130A可以向先前用于确定MAC标签的MAC函数中提供会话密钥和所接收或所得到的种子以确定当前通信会话的密码密钥。
设备102A可以基于密码密钥对于设备102B相关联的消息编码或解码(312A),设备102B可以基于密码密钥对于设备102A相关联的消息编码或解码(312B)。例如,如果已编码数据被设备102A接收到,则认证模块130A可以将密码密钥和所接收的消息数据提供到解密模块中,解密模块在一些示例中使用异或运算确定未编码数据。相反,如果设备102A向设备102B传输已编码数据,则认证模块130A可以将密码密钥和未编码消息数据提供到加密模块中,加密模块在一些示例中使用异或运算确定已编码数据。
设备102A可以基于MAC标签认证与设备102B相关联的消息(314A),设备102B可以基于MAC标签认证与设备102A相关联的消息(314B)。例如,在向设备102B传输已编码消息时,设备102A可以将针对这一特定通信会话得到的MAC标签附加到已编码消息流,使得设备102B能够执行用于验证数据的完整性的认证技术。在一些示例中,MAC标签在已编码数据中被编码或者被加扰。在其他示例中,MAC标签没有加扰。相反,在接收需要解密的已编码消息时,设备102A可以将嵌入在已编码数据中或者附接至已编码数据的MAC标签相比较以确定设备102在以上得到的MAC标签是否匹配使用数据接收的MAC标签。如果MAC标签匹配,则设备102A可以确定从设备102B接收的已编码数据真实(例如表示数据实际上源自于设备102B并且在传输期间没有被第三方改变)。
图4是根据本公开的一个或多个方面的图示在两个已认证设备之间传输的示例数据流400的概念图。下面在图1的系统100的上下文中描述图4。
图4示出了通过认证模块(诸如设备102的认证模块130)被链接到消息中的偏移,其用于生成要在随后的消息期间使用的下一消息密码块或密码密钥。例如,在子生成当前密码密钥以来已经过去一段时间之后,在已经使用当前密码密钥在设备102之间传输某个量的已编码数据之后,在当前密码密钥已经被破解之后,或者在当前密码密钥另外已经被穷举之后,设备102可以包括新生成的消息密码块以实现连续的数据解析。
在用于执行数据完整性检查的一些技术中,可以向数据流附加校验和用于检查数据是否已经从其原始形式发生变化。图4示出了可以附加长数据流的扩展、上一数据字或字节作为具有特定偏移N_off的第一数据,使得下一消息密码块(密码密钥)MCB(m)可以由设备102确定为MAC(XB,N+N_off),其中MCB(m)定义多个MCB。另外,图4示出了可以在数据流中加扰表示XB值和种子值N的数据的比特位置,比如使用公共秘密,或者向XB和/或N添加公共秘密,或者在其他示例中,根据N和N_off方法。
图5是根据本公开的技术的图示作为用于在设备502A-502C(统称为“设备502”)之间交换已编码数据的附加示例系统的系统500的概念图,其中设备502A是单个主机设备,设备502B和502C是两个单独的从设备。设备502A-502C类似于图1和2的设备102和202。在图5的示例中,设备502A被配置为主机设备,设备502B和502C被配置为单独的从设备。
设备502包括相应认证模块530A-530C以及相应加密/解密模块538A-538C。设备502A还包括密钥生成模块534和数据存储装置560A和562A。设备502B包括数据存储装置560B,设备502C包括数据存储装置560C。在设备502A和502B经由链路516A交换已编码数据之后,数据存储装置560A中包含的信息对应于数据存储装置560B中包含的信息。类似地,数据存储装置562A中包含的信息对应于数据存储装置562C处存储的信息,以实现经由链路516B在设备502A和502C之间交换信息。
在图5的示例中,设备502A和502B共享基于第一集合(XB,XB’)的第一组密码密钥546B和546B',设备502A和502C共享基于第二集合(XB2,XB2’)的第二组密码密钥546C和546C'。换言之,在图5的示例中,用作系统500的主机的设备502A可以与设备502B和从设备502C共享单独的密码密钥对。以这一方式,设备502A可以维护链路516A和516B上的独立的安全的通信会话。
在其他示例中,设备502A和502B可以共享单独的两组密码密钥。基于第一集合(XB,XB’)的第一组密码密钥546B和546B'可以在设备502A向设备502B传输数据时使用。第二组密码密钥可以基于第二集合(XB,XB’)并且可以在设备502B向设备502A传输数据时使用。以这一方式,设备502A和502B可以基于哪个设备发送和哪个设备接收来使用不同的密码密钥。
图6是根据本公开的技术的图示用于在作为两个已认证设备的示例的系统600的设备602A和602B之间交换已编码数据的认证流程的概念图。设备602A包括认证ASIC 630A,设备602B包括认证ASIC630B。认证ASIC 630A和630B是执行与图1的认证模块130执行的操作类似的操作的ASIC。
在图6的示例中,设备602B用作主机并且包括公共密钥。使用以上关于椭圆曲线计算描述的技术,认证模块630B可以基于公共密钥生成挑战并且向从设备602A传输挑战。这一挑战可以是“明文”或“已编码”挑战。在基于调制的设备602A和602B之间的成功认证之后,设备602A和602B在数据事务定时窗口690A期间交换已编码数据。图6示出了针对后续数据事务定时窗口690B和690C生成后续的挑战。
图7是根据本公开的技术的图示用于在两个已认证设备702A和702B之间交换已编码数据的系统700的概念图。系统700包括通过链路716A与设备702B通信的设备702A。设备702A和702B可以根据本公开的技术经由链路716A交换已编码数据712A。设备702A包括处理器760A、认证模块730A和存储器710A,存储器710A包括程序770A和消息750A。设备702B包括认证模块730B、存储器710B和消息750B。
在一些示例中,设备702A可以是挑战设备702B的主机设备。在其他示例中,设备702A可以响应于来自设备702B的挑战。在任何情况下,设备702B可以将消息750B作为已编码数据712A发送给设备702A,设备702A存储已编码数据712A作为消息750A。
在接收到消息750A时,设备702A可以使用消息750A用于执行程序770A。例如,设备702A可以使用处理器760A执行与程序770A相关联的指令。在程序770A在处理器760A处的执行期间,设备702A可以依赖于消息750A中包含的信息来完成程序770A的执行。
在一些示例中,设备702A可以基于在不同设备702B连接至链路716A时接收到的随后消息750B使用不同且唯一的信息代替消息750A。在程序770A的执行期间,设备702A可以依赖于消息750A中包含的信息用于在程序770A的部分的执行期间进行索引。在其他示例中,设备702A可以依赖于消息750A中包含的信息用于确定作为程序770A的执行的部分执行的数学计算或者控制函数的参数的值。在一些示例中,消息750A中包含的信息由处理器760A以安全方式可访问,使得消息不能被复制在设备702A的其他存储位置。在一些示例中,设备702A可以确定设备702A和702B之间的连接何时终止,并且响应于终止与设备702B的连接,设备702B可以从存储器710A中去除消息750A。
在一些示例中,程序770A表示控制算法,并且消息750A包括执行控制算法所需要的参数的值。例如,设备702A可以是交通工具(例如UAV),设备702B可以是交通工具的净荷或其他可互换部件。设备702A可以取决于具体的设备702B不同地执行程序770A作为控制算法。例如,设备702B的一个版本可以具有不同于设备702B的另一版本的大小或重量尺寸。当设备702B经由链路716A耦合至设备702A时,设备702A可以经由消息750A了解大小或重量尺寸并且相应地调节设备702A的控制。
图8是根据本公开的一个或多个方面的图示用于由图7的设备702A执行以执行用于对数据进行译码的操作的示例伪码800的概念图。在图8的示例中,程序770A表示“主要”或“主”程序并且消息750A中包含的信息可能需要用于完成程序770A的执行。然而,在其他示例中,消息750A本身可以是主要或主程序,程序770A实际上可以是完成消息750A的执行所需要的信息。如图8所示,伪码800分为(并不是按照特定顺序)行或指令1-17。伪码800在图9的操作900的上下文中更详细地描述。设备702A可以在存储器710A处以编译或预编译形式存储伪码800。
图9是根据本公开的一个或多个方面的图示由图7的设备702A在执行图8的伪码800时执行的用于对数据进行译码的示例操作900的流程图。图7的设备702A的处理器760A和认证模块730A可以可操作用于执行操作900。
在图9的示例中,设备702A可以基于所得到的密码密钥解码来自第二设备的消息(902)。例如,设备702A的认证模块730A可以执行类似于来自图3的操作302A-312A的操作以建立与设备702B的安全的通信会话,得到用于对已编码数据712A解码的密码密钥,使用所得到的密码密钥将已编码数据712A解码成消息750A。
在一些示例中,消息750A可以包括被在设备702A处执行的程序770A用来执行任务的信息。例如,程序770A可以是用于控制设备702A的移动的控制算法,消息750A可以包括程序770A控制设备702A的移动所需要的与设备702B相关联的参数值。
在一些示例中,消息750A可以包括在设备702A处执行的程序770A完成任务所需要的信息。例如,消息750A可以包括程序770A在设备702A处执行所需要的关键参数值或指令集。
在任何情况下,在将已编码数据712A解码成消息750A之后,认证模块730A可以在存储器710A处存储已解码数据。处理器760A可以从存储器710A取读用于执行程序770A的指令并且执行程序770A的初始部分(904)。例如,程序770A的初始部分可以包括伪码800的行1和2上的指令。
处理器760A可以从存储器710A取读用于执行程序770A的另外的指令并且执行程序770A的后续部分(906)。例如,程序770A的随后部分可以包括在伪码800的行3-15上的指令。
在执行程序770A的随后部分时,处理器760A可以依赖于与消息750A相关联的数据。比如,在执行代码800的行4-7上的指令时,处理器760A可以基于消息750A的行N处存储的变量的值来评估情况语句。换言之,消息750A的行N可以包括指示处理器760A完成代码800的执行所需要的变量的值的数据。
在进一步执行程序770A的后续部分时,处理器760A可以依赖于与消息750A相关联的附加数据来完成任务X和Y。比如,在执行用于完成任务X的代码800的行8-10上的指令时,处理器760A可以执行第一函数(例如完成数学操作、逻辑操作、算术操作或某个其他操作),第一函数取决于消息750A的行N1处存储的变量的值以及由程序770A存储的变量的值。在执行用于完成任务Y的代码800的行11-14上的指令时,处理器760A可以执行第二函数(例如条件操作或某个其他操作),第二函数取决于消息750A的行N2处存储的变量的值。
在完成程序770A的后续部分的执行时,处理器760A可以评估消息750A是否应当从存储器被清理(例如出于安全性考虑)。例如,处理器760A可以确定设备702B是否仍然被连接(908)至链路716A。例如,处理器760A可以执行代码800的行16。设备702A可以通过在超时之后或者响应于接收到(例如从相同的设备702B或者从不同的或者新的设备702B)用于执行认证的后续挑战/响应而检测到与链路716A相关联的电连接中断来检测设备702B的去除。
如果设备702B仍然连接,则处理器760A可以重复操作902-906用于执行程序770A和对数据712A进行译码。否则,如果设备702B和设备702A之间的通信丢失或终止,则处理器760A可以执行代码800的行17并且在存储器710A的存储消息750A的部分执行去除、清除或擦除操作。处理器760A可以从存储器710A清除消息750A(910)。通过从存储器去除消息750A,设备702A还可以确保与消息750A相关联的数据的安全性。
虽然以上在假定消息750A包括作为程序770A的部分的数据的情况下描述图8,然而在其他示例中,消息750A可以是用于使用与程序770A相关联的数据在处理器760A处执行的程序。换言之,设备702B可以向设备702A发送程序作为已编码数据712,并且设备702A可以使用先前存储在存储器710处的数据执行从设备702B接收的程序。
以这一方式,两个设备可以根据本文中描述的技术对数据进行译码,使得能够保护免受不正当窥探的影响而不必执行复杂的密码算法或执行复杂的操作以首先在传输之前对数据编码并且随后在接收到时对数据解码。通过产生密码密钥以至少部分地基于已经出于认证目的得到的会话密钥对数据加密和解密,本公开中描述的技术可以使得低成本或低复杂性系统能够交换信息而不会容易受到窥探的影响。与通常需要由依赖于密码算法的其他系统执行的大量操作相比,这些技术需要执行更少操作以实现安全通信方案。通过执行更少操作,根据所描述的技术的设备可以消耗更少电力并且因此比其他系统更高效地操作。
条款1.一种方法,包括:由第一设备确定用于生成与所述第一设备和第二设备之间的通信会话相关联的消息认证代码(MAC)标签的会话密钥;由所述第一设备至少部分地基于所述会话密钥确定用于对与所述第二设备相关联的消息进行译码的密码密钥;以及由所述第一设备基于所述密码密钥对所述消息进行译码。
条款2.根据条款1所述的方法,其中对所述消息进行译码包括以下各项中的至少一项:由所述第一设备基于所述密码密钥对所述消息编码;或者由所述第一设备基于所述密码密钥对所述消息解码。
条款3.根据条款1-2中的任一项所述的方法,还包括:由所述第一设备基于所述会话密钥确定与所述通信会话相关联的所述MAC标签的实例;以及先于对所述消息进行编码,由所述第一设备基于与所述通信会话相关联的所述MAC标签生成所述消息。
条款4.根据条款3所述的方法,还包括:由所述第一设备生成所述消息,其中所述消息包括与所述通信会话相关联的所述MAC标签的指示以及附加信息。
条款5.根据条款1-4中的任一项所述的方法,还包括:在基于所述密码密钥对所述消息编码之后,由所述第一设备向所述第二设备传输所述消息。
条款6.根据条款1-5中的任一项所述的方法,还包括:由所述第一设备从所述第二设备接收所述消息;以及在基于所述密码密钥对所述消息解码之后,由所述第一设备存储被包含在所述消息中的信息。
条款7.根据条款1-6中的任一项所述的方法,还包括:由所述第一设备基于所述会话密钥确定与所述通信会话相关联的所述MAC标签的实例;由所述第一设备从所述第二设备接收所述消息;以及在对所述消息解码之后,由所述第一设备基于与所述通信会话相关联的所述MAC标签认证所述消息。
条款8.根据条款7所述的方法,其中与所述通信会话相关联的所述MAC标签的所述实例是与所述通信会话相关联的所述MAC标签的第一实例,所述方法还包括:由所述第一设备基于所述消息确定与所述通信会话相关联的所述MAC标签的第二实例,其中认证所述消息包括确定与所述通信会话相关联的所述MAC标签的所述第一实例是否对应于与所述通信会话相关联的所述MAC标签的所述第二实例。
条款9.根据条款8所述的方法,还包括:响应于确定与所述通信会话相关联的所述MAC标签的所述第一实例对应于与所述通信会话相关联的所述MAC标签的所述第二实例,由所述第一设备确定从所述第二设备接收的所述消息真实;以及响应于确定与所述通信会话相关联的所述MAC标签的所述第一实例不对应于与所述通信会话相关联的所述MAC标签的所述第二实例,由所述第一设备确定从所述第二设备接收的所述消息不真实。
条款10.根据条款1到9中的任一项所述的方法,其中:基于所述密码密钥对所述消息编码包括在所述消息的未编码部分和所述密码密钥之间执行异或运算;以及基于所述密码密钥对所述消息解码包括在所述消息的已编码部分和所述密码密钥之间执行异或运算。
条款11.根据条款1-10中的任一项所述的方法,还包括:由所述第一设备从所述第二设备接收用于确定所述密码密钥的种子值的指示,其中所述密码密钥还至少部分地基于所述种子值被确定。
条款12.根据条款1-11中的任一项所述的方法,其中:所述会话密钥是第一会话密钥,所述第一会话密钥通过由所述第一设备从所述第二设备至少接收所述第一会话密钥被确定,其中所述第一会话密钥由所述第二设备的至少一个处理器生成,所述消息通过使用所述第一设备的至少一个处理器利用所述第一会话密钥对所述消息至少解码而被译码,以及所述方法还包括:由所述第一设备处理所述消息,其中处理所述消息包括修改所述消息中包含的信息的至少一部分;由所述第一设备使用由所述第二设备的所述至少一个处理器生成的不同会话密钥来对经处理的消息编码;以及由所述第一设备向所述第二设备输出经处理的消息。
条款13.根据条款1-12中的任一项所述的方法,其中所述消息包括被在所述第一设备处执行的程序用来执行任务的信息。
条款14.根据条款13所述的方法,其中所述信息是在所述第一设备处执行的所述程序完成任务所需要的。
条款15.根据条款13-14中的任一项所述的方法,其中所述消息是来自多个消息中的第一消息,所述多个消息各自包括被在所述第一设备处执行的程序用来执行任务使用的信息。
条款16.根据条款15所述的方法,还包括:由所述第一设备响应于基于所述密码密钥对所述消息解码来执行所述程序。
条款17.根据条款13-16中的任一项所述的方法,还包括:响应于确定所述第一设备与所述第二设备之间的所述通信会话结束,由所述第一设备从所述第一设备的存储器中清除所述消息。
条款18.一种包括至少一个处理器的第一设备,所述至少一个处理器可操作用于:确定用于生成与所述第一设备和第二设备之间的通信会话相关联的消息认证代码(MAC)标签的会话密钥;至少部分地基于所述会话密钥确定用于对与所述第二设备相关联的消息编码或解码的密码密钥;以及基于所述密码密钥对所述消息进行译码。
条款19.根据条款18所述的第一设备,其中所述至少一个处理器还可操作用于:基于所述会话密钥确定与所述通信会话相关联的所述MAC标签的实例;以及先于对所述消息进行编码,基于与所述通信会话相关联的所述MAC标签生成所述消息。
条款20.根据条款19所述的第一设备,其中所述至少一个处理器还可操作用于生成所述消息,其中所述消息包括与所述通信会话相关联的所述MAC标签的指示以及附加信息。
条款21.根据条款18-20中的任一项所述的第一设备,其中所述至少一个处理器还可操作用于在基于所述密码密钥对所述消息编码之后,向所述第二设备传输所述消息。
条款22.根据条款18-21中的任一项所述的第一设备,其中所述至少一个处理器还可操作用于:从所述第二设备接收所述消息;以及在基于所述密码密钥对所述消息解码之后,存储被包含在所述消息中的信息。
条款23.根据条款18-22中的任一项所述的第一设备,其中所述至少一个处理器还可操作用于:基于所述会话密钥确定与所述通信会话相关联的所述MAC标签的实例;从所述第二设备接收所述消息;以及在对所述消息解码之后,基于与所述通信会话相关联的所述MAC标签认证所述消息。
条款24.根据条款18-23中的任一项所述的第一设备,其中所述至少一个处理器包括专用集成电路(ASIC)。
条款25.根据条款18-24中的任一项所述的第一设备,其中第一设备和所述第二设备包括无人驾驶飞行器和被配置成控制所述无人驾驶飞行器的控制设备。
条款26.一种系统,包括:用于确定用于生成与第一设备和第二设备之间的通信会话相关联的消息认证代码(MAC)标签的会话密钥的装置;用于至少部分地基于所述会话密钥确定用于对与所述第二设备相关联的消息编码或解码的密码密钥的装置;以及用于基于所述密码密钥对所述消息进行译码的装置。
在一个或多个示例中,所描述的操作可以用硬件、软件、固件或者其任意组合来实现。如果用软件实现,这些操作可以作为一个或多个指令或代码存储在计算机可读介质上或者通过计算机可读介质来传输并且由基于硬件的处理单元来处理。计算机可读介质可以包括计算机可读存储介质(其对应于有形介质,诸如数据存储介质)或者通信介质(包括促进计算机程序从一个地方到另一地方的传送的任何介质,例如根据通信协议)。以这一方式,计算机可读介质通常可以对应于(1)有形计算机可读存储介质,其是非瞬态的,或者(2)通信介质,诸如信号或载波。数据存储介质可以是能够由一个或多个计算机或者一个或多个处理器访问以取读指令、代码和/或数据结构用于本公开中描述的技术的实现的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置、或者其他磁性存储设备、闪速存储器、或者可以用于存储指令或数据结构形式的期望的程序代码并且可以被计算机访问的任何其他介质。另外,任何连接适当地称为计算机可读介质。例如,如果指令使用同轴线缆、光纤线缆、双绞线、数字用户线(DSL)、或者无线技术(诸如红外、无线电和微波)从网站、服务器或其他远程源被传输,则同轴线缆、光纤线缆、双绞线、数字用户线(DSL)、或者无线技术(诸如红外、无线电和微波)被包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬态介质,但是涉及非瞬态、有形存储介质。本文中使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘和蓝光光盘,其中磁盘通常磁性地产生数据,而光盘使用激光器光学地产生数据。以上的组合也应当被包括在计算机可读介质的范围内。
指令可以由一个或多个处理器来执行,诸如一个或多个DSP、通用微处理器、ASIC、FPGA、或者其他等同的或离散的逻辑电路系统。因此,本文中所使用的术语“处理器”可以指代以上结构或者适合用于本文中描述的技术的实现的任何其他结构中的任何一项。另外,在一些方面,本文中描述的功能可以在专用硬件和/或软件模块内提供。另外,这些技术可以完全用一个或多个电路或逻辑元件来实现。
本公开的技术可以用各种设备或装置来实现,包括交流发电机、集成电路(IC)或者IC的集合(例如芯片组)。本公开中描述了各种用于强调被配置成执行所公开的技术的设备的功能方面的部件、模块或单元,但不一定要去用不同硬件单元来实现。相反,如以上描述的,各种单元可以在硬件单元中组合或者由协作的硬件单元的集合(包括以上描述的一个或多个处理器)结合合适的软件和/或固件来提供。
已经描述了各种示例。这些和其他示例在以下权利要求的范围内。

Claims (26)

1.一种方法,包括:
由第一设备确定用于生成与所述第一设备和第二设备之间的通信会话相关联的消息认证代码(MAC)标签的会话密钥;
由所述第一设备至少部分地基于所述会话密钥确定用于对与所述第二设备相关联的消息进行译码的密码密钥;以及
由所述第一设备基于所述密码密钥对所述消息进行译码。
2.根据权利要求1所述的方法,其中对所述消息进行译码包括以下各项中的至少一项:
由所述第一设备基于所述密码密钥对所述消息编码;或者
由所述第一设备基于所述密码密钥对所述消息解码。
3.根据权利要求1所述的方法,还包括:
由所述第一设备基于所述会话密钥确定与所述通信会话相关联的所述MAC标签的实例;以及
先于对所述消息进行编码,由所述第一设备基于与所述通信会话相关联的所述MAC标签生成所述消息。
4.根据权利要求3所述的方法,还包括:
由所述第一设备生成所述消息,其中所述消息包括与所述通信会话相关联的所述MAC标签的指示以及附加信息。
5.根据权利要求1所述的方法,还包括:
在基于所述密码密钥对所述消息编码之后,由所述第一设备向所述第二设备传输所述消息。
6.根据权利要求1所述的方法,还包括:
由所述第一设备从所述第二设备接收所述消息;以及
在基于所述密码密钥对所述消息解码之后,由所述第一设备存储被包含在所述消息中的信息。
7.根据权利要求1所述的方法,还包括:
由所述第一设备基于所述会话密钥确定与所述通信会话相关联的所述MAC标签的实例;
由所述第一设备从所述第二设备接收所述消息;以及
在对所述消息解码之后,由所述第一设备基于与所述通信会话相关联的所述MAC标签认证所述消息。
8.根据权利要求7所述的方法,其中与所述通信会话相关联的所述MAC标签的所述实例是与所述通信会话相关联的所述MAC标签的第一实例,所述方法还包括:
由所述第一设备基于所述消息确定与所述通信会话相关联的所述MAC标签的第二实例,其中认证所述消息包括确定与所述通信会话相关联的所述MAC标签的所述第一实例是否对应于与所述通信会话相关联的所述MAC标签的所述第二实例。
9.根据权利要求8所述的方法,还包括:
响应于确定与所述通信会话相关联的所述MAC标签的所述第一实例对应于与所述通信会话相关联的所述MAC标签的所述第二实例,由所述第一设备确定从所述第二设备接收的所述消息真实;以及
响应于确定与所述通信会话相关联的所述MAC标签的所述第一实例不对应于与所述通信会话相关联的所述MAC标签的所述第二实例,由所述第一设备确定从所述第二设备接收的所述消息不真实。
10.根据权利要求1所述的方法,其中:
基于所述密码密钥对所述消息编码包括在所述消息的未编码部分和所述密码密钥之间执行异或运算;以及
基于所述密码密钥对所述消息解码包括在所述消息的已编码部分和所述密码密钥之间执行异或运算。
11.根据权利要求1所述的方法,还包括:
由所述第一设备从所述第二设备接收用于确定所述密码密钥的种子值的指示,其中所述密码密钥还至少部分地基于所述种子值被确定。
12.根据权利要求1所述的方法,其中:
所述会话密钥是第一会话密钥,
所述第一会话密钥通过由所述第一设备从所述第二设备至少接收所述第一会话密钥被确定,其中所述第一会话密钥由所述第二设备的至少一个处理器生成,
所述消息通过使用所述第一设备的至少一个处理器利用所述第一会话密钥对所述消息至少解码而被译码,以及
所述方法还包括:
由所述第一设备处理所述消息,其中处理所述消息包括修改所述消息中包含的信息的至少一部分;
由所述第一设备使用由所述第二设备的所述至少一个处理器生成的不同会话密钥来对经处理的所述消息编码;以及
由所述第一设备向所述第二设备输出经处理的所述消息。
13.根据权利要求1所述的方法,其中所述消息包括被在所述第一设备处执行的程序用来执行任务的信息。
14.根据权利要求13所述的方法,其中所述信息是在所述第一设备处执行的所述程序完成所述任务所需要的。
15.根据权利要求13所述的方法,其中所述消息是来自多个消息中的第一消息,所述多个消息各自包括被在所述第一设备处执行的程序用来执行任务的信息。
16.根据权利要求15所述的方法,还包括:
由所述第一设备响应于基于所述密码密钥对所述消息解码来执行所述程序。
17.根据权利要求13所述的方法,还包括:
响应于确定所述第一设备和所述第二设备之间的所述通信会话结束,由所述第一设备从所述第一设备的存储器中清除所述消息。
18.一种包括至少一个处理器的第一设备,所述至少一个处理器可操作用于:
确定用于生成与所述第一设备和第二设备之间的通信会话相关联的消息认证代码(MAC)标签的会话密钥;
至少部分地基于所述会话密钥确定用于对与所述第二设备相关联的消息编码或解码的密码密钥;以及
基于所述密码密钥对所述消息进行译码。
19.根据权利要求18所述的第一设备,其中所述至少一个处理器还可操作用于:
基于所述会话密钥确定与所述通信会话相关联的所述MAC标签的实例;以及
先于对所述消息进行编码,基于与所述通信会话相关联的所述MAC标签生成所述消息。
20.根据权利要求19所述的第一设备,其中所述至少一个处理器还可操作用于生成所述消息,其中所述消息包括与所述通信会话相关联的所述MAC标签的指示以及附加信息。
21.根据权利要求18所述的第一设备,其中所述至少一个处理器还可操作用于在基于所述密码密钥对所述消息编码之后,向所述第二设备传输所述消息。
22.根据权利要求18所述的第一设备,其中所述至少一个处理器还可操作用于:
从所述第二设备接收所述消息;以及
在基于所述密码密钥对所述消息解码之后,存储被包含在所述消息中的信息。
23.根据权利要求18所述的第一设备,其中所述至少一个处理器还可操作用于:
基于所述会话密钥确定与所述通信会话相关联的所述MAC标签的实例;
从所述第二设备接收所述消息;以及
在对所述消息解码之后,基于与所述通信会话相关联的所述MAC标签认证所述消息。
24.根据权利要求18所述的第一设备,其中所述至少一个处理器包括专用集成电路(ASIC)。
25.根据权利要求18所述的第一设备,其中所述第一设备和所述第二设备包括无人驾驶飞行器和被配置成控制所述无人驾驶飞行器的控制设备。
26.一种系统,包括:
用于确定用于生成与第一设备和第二设备之间的通信会话相关联的消息认证代码(MAC)标签的会话密钥的装置;
用于至少部分地基于所述会话密钥确定用于对与所述第二设备相关联的消息编码或解码的密码密钥的装置;以及
用于基于所述密码密钥对所述消息进行译码的装置。
CN201610543748.5A 2015-07-10 2016-07-11 基于设备和数据认证的数据加密和解密 Pending CN106571911A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/796,892 US20170063853A1 (en) 2015-07-10 2015-07-10 Data cipher and decipher based on device and data authentication
US14/796,892 2015-07-10

Publications (1)

Publication Number Publication Date
CN106571911A true CN106571911A (zh) 2017-04-19

Family

ID=57583785

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610543748.5A Pending CN106571911A (zh) 2015-07-10 2016-07-11 基于设备和数据认证的数据加密和解密

Country Status (3)

Country Link
US (1) US20170063853A1 (zh)
CN (1) CN106571911A (zh)
DE (1) DE102016112552A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951823A (zh) * 2017-12-20 2019-06-28 英特尔公司 用于车辆到车辆通信的方法和装置
CN112054890A (zh) * 2019-06-06 2020-12-08 西安诺瓦星云科技股份有限公司 屏体配置文件导出、导入方法及其装置和播控设备

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017096596A1 (zh) * 2015-12-10 2017-06-15 深圳市大疆创新科技有限公司 无人机认证方法,安全通信方法及对应系统
US20170352034A1 (en) * 2016-06-02 2017-12-07 Samsung Electronics Company, Ltd. Transaction-Record Verification for Mobile-Payment System
US10271209B2 (en) * 2016-06-12 2019-04-23 Apple Inc. Session protocol for backward security between paired devices
US10354061B2 (en) * 2016-07-25 2019-07-16 Panasonic Avionics Corporation Methods and systems for authenticating a headset for a transportation vehicle
US11146397B2 (en) * 2017-10-31 2021-10-12 Micro Focus Llc Encoding abelian variety-based ciphertext with metadata
US11640480B2 (en) * 2018-04-25 2023-05-02 British Telecommunications Public Limited Company Data message sharing
US11654926B2 (en) * 2019-03-18 2023-05-23 Mobileye Vision Technologies Ltd. Secure system that includes an open source operating system
KR20200130539A (ko) * 2019-05-08 2020-11-19 삼성전자주식회사 강력한 보안 기능을 제공하는 스토리지 장치 및 그 스토리지 장치를 포함하는 전자 장치
US11418956B2 (en) 2019-11-15 2022-08-16 Panasonic Avionics Corporation Passenger vehicle wireless access point security system
US20230261875A1 (en) * 2020-05-19 2023-08-17 Mitsubishi Electric Corporation Apparatus, network apparatus, and command execution method
US11809566B2 (en) * 2020-10-02 2023-11-07 Infineon Technologies LLC Methods for fast, secure boot from nonvolatile memory device and corresponding systems and devices for the same
US20210328779A1 (en) * 2021-06-25 2021-10-21 Intel Corporation Method and apparatus for fast symmetric authentication and session key establishment
CN114554310B (zh) * 2022-01-04 2024-03-22 云南电网有限责任公司 一种电力计量嗅探系统和方法
DE102023200036A1 (de) 2023-01-03 2024-07-04 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Lesen von Konfigurationsdaten einer integrierten Schaltung

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488950A (zh) * 2007-12-14 2009-07-22 英特尔公司 用于因特网的对称密钥分发框架
CN101534236A (zh) * 2008-03-11 2009-09-16 华为技术有限公司 中继站通信时的加密方法及装置
CN101594229A (zh) * 2009-06-30 2009-12-02 华南理工大学 一种基于组合公开密钥的可信网络连接系统及方法
US20090313472A1 (en) * 2008-04-07 2009-12-17 Interdigital Patent Holdings, Inc. Secure session key generation
CN101742492A (zh) * 2009-12-11 2010-06-16 中兴通讯股份有限公司 密钥处理方法及系统
CN104662867A (zh) * 2012-09-25 2015-05-27 瑞典爱立信有限公司 与受限互联网设备进行通信

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978475A (en) * 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
CA2539879C (en) * 2003-10-14 2013-09-24 Goeran Selander Efficient management of cryptographic key generations
US7747865B2 (en) * 2005-02-10 2010-06-29 International Business Machines Corporation Method and structure for challenge-response signatures and high-performance secure Diffie-Hellman protocols
US7437225B1 (en) * 2005-07-29 2008-10-14 Rockwell Collins, Inc. Flight management system
US7971234B1 (en) * 2006-09-15 2011-06-28 Netapp, Inc. Method and apparatus for offline cryptographic key establishment
US9064102B2 (en) * 2007-09-11 2015-06-23 Google Technology Holdings LLC Method, system and device for secured access to protected digital material
CN101610452B (zh) * 2009-07-15 2011-06-01 西安西电捷通无线网络通信股份有限公司 一种传感器网络鉴别与密钥管理机制的融合方法
KR101765917B1 (ko) * 2011-01-06 2017-08-24 삼성전자주식회사 개인망 엔티티 인증을 위한 방법
US8630411B2 (en) * 2011-02-17 2014-01-14 Infineon Technologies Ag Systems and methods for device and data authentication
US20130054964A1 (en) * 2011-08-24 2013-02-28 Motorola Solutions, Inc. Methods and apparatus for source authentication of messages that are secured with a group key

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488950A (zh) * 2007-12-14 2009-07-22 英特尔公司 用于因特网的对称密钥分发框架
CN101534236A (zh) * 2008-03-11 2009-09-16 华为技术有限公司 中继站通信时的加密方法及装置
US20090313472A1 (en) * 2008-04-07 2009-12-17 Interdigital Patent Holdings, Inc. Secure session key generation
CN101594229A (zh) * 2009-06-30 2009-12-02 华南理工大学 一种基于组合公开密钥的可信网络连接系统及方法
CN101742492A (zh) * 2009-12-11 2010-06-16 中兴通讯股份有限公司 密钥处理方法及系统
CN104662867A (zh) * 2012-09-25 2015-05-27 瑞典爱立信有限公司 与受限互联网设备进行通信

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951823A (zh) * 2017-12-20 2019-06-28 英特尔公司 用于车辆到车辆通信的方法和装置
CN112054890A (zh) * 2019-06-06 2020-12-08 西安诺瓦星云科技股份有限公司 屏体配置文件导出、导入方法及其装置和播控设备
CN112054890B (zh) * 2019-06-06 2024-06-07 西安诺瓦星云科技股份有限公司 屏体配置文件导出、导入方法及其装置和播控设备

Also Published As

Publication number Publication date
DE102016112552A1 (de) 2017-01-12
US20170063853A1 (en) 2017-03-02

Similar Documents

Publication Publication Date Title
CN106571911A (zh) 基于设备和数据认证的数据加密和解密
EP3860041A1 (en) Efficient methods for authenticated communication
EP1882346B1 (en) Communication protocol and electronic communication system, in particular authentication control system, as well as corresponding method
JP5855696B2 (ja) 完全性検証を含むブロック暗号化方法およびブロック復号化方法
CN105468940B (zh) 软件保护方法及装置
WO2016058404A1 (zh) 基于预共享密钥的实体鉴别方法及装置
WO2021103802A1 (zh) 数据的加解密方法、装置、存储介质及加密文件
CN111769938B (zh) 一种区块链传感器的密钥管理系统、数据验证系统
JPS6021501B2 (ja) デ−タ通信ネツトワ−クにおける操作キ−検証方法
JP2003122442A (ja) ソフトウェア・ダウンロードシステムのための無線データ通信方法および装置
CN108199835A (zh) 一种多方联合私钥解密方法及系统
CN110855667B (zh) 一种区块链加密方法、装置及系统
CN101651543A (zh) 一种可信计算平台密钥迁移系统及其密钥迁移方法
CN109861956B (zh) 基于状态通道的数据验证系统、方法、装置及设备
CN108449756A (zh) 一种网络密钥更新的系统、方法及装置
CN111327419B (zh) 基于秘密共享的抗量子计算区块链的方法及系统
US9553729B2 (en) Authentication method between a reader and a radio tag
CN113420886B (zh) 纵向联邦学习模型的训练方法、装置、设备及存储介质
CN108199847A (zh) 数字安全处理方法、计算机设备及存储介质
CN108718237A (zh) 一种基于对称密钥池的改进型aka身份认证系统和方法
CN117708887B (zh) 一种基于纵向逻辑回归的联邦学习模型获取方法及系统
CN106599697A (zh) 一种安全升级pci密码卡卡内程序的方法及系统
CN111866547B (zh) 一种新型视频防篡改的方法
CN100437422C (zh) 软件使用权加密保护的系统和方法
US7436966B2 (en) Secure approach to send data from one system to another

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170419