CN109564614A - 使用随机密码板加密来启用便携式安全通信的装置和方法 - Google Patents

使用随机密码板加密来启用便携式安全通信的装置和方法 Download PDF

Info

Publication number
CN109564614A
CN109564614A CN201780047184.9A CN201780047184A CN109564614A CN 109564614 A CN109564614 A CN 109564614A CN 201780047184 A CN201780047184 A CN 201780047184A CN 109564614 A CN109564614 A CN 109564614A
Authority
CN
China
Prior art keywords
rcp
message
encryption
host apparatus
encryption device
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
CN201780047184.9A
Other languages
English (en)
Inventor
凯文·R·麦卡锡
迈克尔·L·哈蒙
韦斯利·A·希尔德布兰特
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.)
7Tunnels Inc
Original Assignee
7Tunnels Inc
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 7Tunnels Inc filed Critical 7Tunnels Inc
Publication of CN109564614A publication Critical patent/CN109564614A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1025Identification of user by a PIN code
    • G07F7/1091Use of an encrypted form of the PIN
    • 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/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

一种密码系统,包括主机装置和加密装置。对于加密,主机包括一应用程序,该应用程序被配置为使用户能够在用户接口上构建未加密的消息并传输未加密的消息。加密装置被配置为接收未加密的消息,用非易失性存储器上的RCP加密未加密的消息,以创建加密的消息,并将加密的消息发送给主机,主机然后通过通信信道传输加密的消息。对于解密,主机通过通信信道接收加密的消息,并将其发送给加密装置。所述加密装置用RCP解密加密的消息,并将解密的消息发送回主机,所述主机在显示器上显示解密的消息。所述加密装置可以被配置为破坏已经用完的RCP。

Description

使用随机密码板加密来启用便携式安全通信的装置和方法
优先权声明
本申请要求2016年8月12日提交的题为“Devices and Methods for EnablingPortable Secure Communication Using Random Cipher Pad Cryptography”的美国临时专利申请序列号62/374314的权益,其全部公开内容通过引用结合于此。
技术领域
本公开的实施例总体涉及密码学,更具体地,涉及使用类似于一次性板的数据和结构的加密和解密。
背景技术
密码学对于许多类型的通信非常重要,包括但不一定限于涉及金融数据、医疗数据和政府机密数据的通信。许多类型的加密很难解密,但最终会破解。其他类型的加密具有显著的漏洞,使得解密相对容易。传统的一次性板通常被认为是完全安全且不易破解的。然而,传统的一次性板具有与如何传送一次性板以保持其秘密相关的缺点。此外,对于传统的一次性板,密钥的长度等于要加密的数据的长度,这可能不适用于低带宽应用,即使可能安全传送一次性板。
附图说明
图1是示出使用随机密码板(RCP)加密的主机装置和加密装置(例如,插件加密装置)的示图;
图2是用于使用RCP加密的插件装置的数据流图;
图3是示出在主机装置和插件加密装置之间执行的一些功能和数据流的数据流图;
图4是示出包括用于消息加密的RCP服务器和RCP客户端的系统的方框图;
图5示出了用于生成映射索引、使用映射索引将数据RCP映射到密钥RCP以及将数据RCP直接映射到密钥RCP的过程;
图6示出了用于在RCP服务器上产生新RCP、从客户端上的加密RCP生成新RCP、发送加密消息以及解密接收消息的过程;
图7是示出用于实践本公开的实施例的计算系统的方框图。
具体实施方式
在下面的详细描述中,参考了附图,这些附图构成了本发明的一部分,并且在这些附图中,通过示例的方式示出了可以实施本公开的特定示例实施例。足够详细地描述这些实施例,以使本领域普通技术人员能够实践本公开。然而,可以使用其它实施例,并且可以在不脱离本公开的范围的情况下进行结构、材料和处理改变。本文呈现的图示不意味着是任何特定方法、系统、装置或结构的实际视图,而仅仅是用于描述本公开的实施例的理想化表示。本文呈现的附图不一定按比例绘制。为了读者的方便,不同附图中的类似结构或部件可以保留相同或类似的编号;然而,编号的相似性并不意味着结构或部件在尺寸、组成、配置或任何其他性质上必然相同。
容易理解,如在本文总体描述的和在附图中示出的实施例的部件可以以各种不同的配置来设置和设计。因此,各种实施例的以下描述并不旨在限制本公开的范围,而是仅仅表示各种实施例。虽然可以在附图中呈现实施例的各个方面,但是除非特别指出,否则附图不一定按比例绘制。
此外,示出和描述的具体实现仅是示例,除非本文另有说明,否则不应被解释为实现本公开的唯一方式。元件、电路和功能可以方框图的形式示出,以免在不必要的细节上使本公开模糊。相反,所显示和描述的具体实现方式仅是示例性的,不应被解释为实施本公开的唯一方式,除非本文另有说明。此外,方框定义和不同方框之间的逻辑划分是特定实现方式的示例。对于本领域的普通技术人员来说,显而易见的是,本公开可以通过许多其他划分解决方案来实现。在大多数情况下,已经省略了关于时间考虑等的细节,其中,这些细节对于获得对本公开的完全理解不是必需的,并且在相关领域的普通技术人员的能力范围内。
本领域普通技术人员将理解,可以使用多种不同技术和技巧中的任何一种来表示信息和信号。例如,在整个说明书中可以引用的数据、指令、命令、信息、信号、比特、符号和芯片可以由电压、电流、电磁波、磁场或粒子、光场或粒子或其任意组合来表示。为了清楚表述和描述,一些附图可以将信号显示为单个信号。本领域普通技术人员将理解,信号可以表示信号总线,其中,总线可以具有多种位宽,并且可以在包括单个数据信号的任何数量的数据信号上实现本公开。
结合本文公开的实施例描述的各种说明性逻辑块、模块和电路可以用通用处理器、专用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件或被设计成执行本文描述的功能的其任意组合来实现或执行。通用处理器可以是微处理器,但是在替代方案中,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算装置的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP核心的结合、或任何其他这样的配置。包括处理器的通用计算机被认为是专用计算机,而通用计算机被配置为执行与本公开的实施例相关的计算指令(例如,软件代码)。
此外,应当注意,可以根据被描绘为流程图、流图、结构图或方框图的过程来描述实施例。尽管流程图可以将操作动作描述为顺序过程,但是这些动作中的许多动作可以以另一顺序、并行或基本上同时执行。此外,可以重新安排动作的顺序。过程可以对应于方法、线程、函数、过程、子例程、子程序等。此外,本文公开的方法可以硬件、软件或这两者来实现。如果以软件实现,则这些功能可以作为一个或多个指令或代码在计算机可读介质上存储或传输。计算机可读介质包括计算机存储介质和通信介质,包括有助于将计算机程序从一个地方传送到另一地方的任何介质。
应当理解,在本文使用诸如“第一”、“第二”等名称对元件(元素)的任何引用并不限制这些元件的数量或顺序,除非明确陈述了这种限制。相反,这些名称可以在本文用作区分两个或更多个元件或元件实例的方便方法。因此,对第一和第二元件的引用并不意味着在那里只能使用两个元件,或者第一元件必须以某种方式在第二元件之前。此外,除非另有说明,否则一组元件可以包括一个或多个元件。
本文描述的元件可以包括相同元件的多个实例。这些元件一般可以由数字指示符(例如,110)表示,并且具体地,由后跟字母指示符(例如,110A)的数字指示符或后跟“破折号”(例如,110-1)的数字指示符表示。为了便于遵循描述,大多数情况下,元件编号指示符从介绍或最充分讨论元件的示图的编号开始。因此,例如,图1上的元件标识符将主要在数字格式1xx中,而图4上的元件将主要在数字格式4xx中。
本文可以包括标题,以帮助定位详细描述的某些部分。这些标题不应被认为限制在任何特定标题下描述的概念的范围。此外,在任何特定标题中描述的概念通常适用于整个说明书的其他部分。
如本文所使用的,关于给定的参数、特性或条件的术语“基本上”意味着并且在一定程度上包括本领域普通技术人员将理解,给定的参数、特性或条件满足小程度的变化,例如,在可接受的制造公差内。举例来说,取决于基本满足的特定参数、特性或条件,参数、特性或条件可以是满足至少90%、满足至少95%、或者甚至满足至少99%。
在本说明书中对“一个实施例”、“实施例”或类似语言的引用意味着结合所指示的实施例描述的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在本说明书中的短语“在一个实施例中”、“在实施例中”和类似的语言可以但不一定都指同一实施例。
本文描述的实施例有助于利用随机密码板(RCP),随机密码板可能与传统的一次性板有些相似,但是以新的和不同的方式使用。RCP不仅用于加密信息(例如,文件、媒体流和数据文件),还用于加密后续RCP,这些RCP又可以被原始用户递归使用。
传统的一次性板加密通常被认为是不可破解的。类似地,只要为发起者和接收者建立递归地使用RCP的方法,RCP就包括这些不可破解的属性。因此,只要生成RCP的一方继续发送由先前RCP加密的后续RCP,并且破坏用过的RCP,他们就可以使用无限数量的RCP。
拦截传输通常不会帮助入侵者,因为不能破解RCP加密。最坏的情况是,预期接收者将不会收到预期发送给他的信息,而是会联系发送者,发现信息被盗或丢失。
在一些实施例中,在电子环境“之外”完成初始RCP交换安装,或者以高度安全的方式完成,对发送者和接收者进行完全认证。这导致一种情况,即,每个后续RCP都不能被解密,因此不能被拦截使用。
这种设置允许需要向数千名符合健康保险便携性和责任法案(HIPPA)的客户发送医疗记录的企业(例如,HMO),这是确保客户或参与者信息不被窃取的一种方式。
作为另一示例,还保证了在两个政府机构之间传输信息,例如,司法部和财政部,这在传输过程中始终是安全的。
传统的一次性板目前不适用于普遍使用,甚至不适用于企业用途,因为每个板都是一个单独的事件,并且发送者和接收者对于每个传输都必须有一个相同的板。加密和解密需要相同的板。迄今为止,使用可破解的公钥加密(PKE)交换发送者和接收者之间的传统一次性板。使用PKE来“安全”更换板是不安全的,而且越来越容易受到攻击。为每次新的使用而手动传送新的板(例如,通过邮件或快递)是不切实际的、昂贵的和低效的;此外,将每个后续的板交到一个或多个接收者手中的方法会产生漏洞。
在单独或累积实施例中呈现的以下方面呈现了RCP加密方法或处理可能带来的功能性机会。通常,RCP可用于数据加密,并单独用于加密该加密处理本身的特征。换言之:
1、原始RCP可用于加密新的、不相关的RCP进行电子传输,这种RCP也是不可破解的;
2、使用其前面的RCP加密新的不相关RCP,这意味着即使被拦截,也无法解密或使用新的RCP;
3、原始用户可以生成和传输多个新的RCP(连同他们加密的文件或信息,或单独地生成和传输)。
换言之,本公开的实施例包括用于提供加密处理的设备和方法,加密处理包括将当前RCP重新映射到用于安全传送替换RCP的不相关随机变量。这些实施例被配置成减少和/或消除攻击面。这种递归处理意味着初始RCP和映射数据可以与原始软件安装一起安装,作为端点注册处理的一部分。初始RCP和映射数据可以被配置成使得它们包括服务器或其他装置上的匹配数据。为了确保系统的完整性,应使用高安全协议完成包括初始RCP的初始安装。
在描述具体实施例之前,并且为了便于本公开中的描述,本文描述了各种术语。在普通含义、词典含义和本文所述术语之间可能存在歧义的情况下,本领域普通技术人员将认识到本文所述术语将最好地符合对本公开的实施例的更广泛理解。
“真随机数发生器”(TRNG)是一种硬件装置,如果需要,还包括相关软件,用于从不可预测的量子或非量子物理处理中生成真正的随机数。这些处理的量子示例包括使用核衰变的量子随机数发生器、通过部分透明反射镜传输的光子以及真空能量的波动。非量子示例包括热噪声、时钟漂移和RF噪声。
“一次性板”(OTP)是一种传统的随机密码密钥对,其中,每个密钥对只使用一次,然后被破坏。该对中的一个密钥用于加密消息,该对中的另一密钥用于解密加密的消息。通常,OTP是一种对称加密方法,密钥是相同的。
根据本公开的实施例,“随机密码板”(RCP)是OTP的不同形式。术语RCP可以用作各种RCP的通用术语。RCP是真正随机数的集合,例如,从一个或多个TRNG中收集的。“随机”一词的使用通过暗示密码的真正随机性质,唤起了OTP提供的保护。虽然RCP的大小可能在实例之间变化,或者可能甚至在特定实例内变化,但在许多情况下,RCP以千字节甚至更大的单位来度量。
“RCP池”是RCP的集合。RCP池中的每个RCP可以由该池中唯一的数字(例如,顺序整数)来标识。全局唯一标识符(GUIDs)均包含一个唯一的128位数字,可以用作标识符,使得仔细构造这个数字可以保证任何特定系统中的全局唯一性。因此,在一些实施例中,每个RCP池可以用GUID来标识。此外,虽然简单的顺序标识符可以用于标识RCP池内的每个RCP,但是GUID、RCP的散列或其他类型的唯一标识符可以替代地用于标识RCP池内的每个RCP。
“数据RCP”是一种RCP,用于加密和解密两个或更多个端点之间的通信。每个数据RCP仅被使用一次。
“随机密码密钥”(RCK)是数据RCP、数据RCP的一部分、两个或更多个数据RCP的组合或两个或更多个数据RCP的一部分的组合,使得RCK的长度对应于将由RCK操作的消息的长度。
“密钥RCP”是一种RCP,用于加密和解密数据RCP,以电子方式安全传输该数据。每个密钥RCP仅被使用一次。
“映射”是将数据RCP(一旦使用)转换为密钥RCP以安全传输后续数据RCP的处理。
“映射索引”是以随机顺序排列在数据RCP中的包括从1到单位数(例如,字节、单词等)的整数的数字的列表。映射索引可被加密并发送到特定通信信道的适当端点,并且可被用作将数据RCP转换成密钥RCP的处理的一部分。
术语“加密的”、“加密的数据”、“加密的数据结构”和“加密的消息”是指已经通过根据本公开的实施例的加密处理的数据。作为非限制性示例,加密数据可以通过在明文消息和RCP之间执行按位异或来生成。
术语“解密的”、“解密的数据”、“解密的数据结构”和“解密的消息”是指先前加密并已返回其原始值的数据。作为非限制性示例,解密数据可以通过在加密消息和用于加密明文消息的相同RCP之间执行按位异或来生成。
术语“未加密”、“未加密数据”、“未加密数据结构”和“未加密消息”是指从未加密的数据。
术语“可通信的”是指多个RCP的应用特性,其方式是使用多个RCP加密数据的顺序无关紧要。换言之,只要同一组RCP用于加密和解密,以不同的顺序使用RCP进行加密和解密将产生相同的最终结果。
根据本公开的实施例,术语“板”在本文中一般用于指RCP。相反,传统的一次性板明确地称为传统的一次性板或一次性板,而不仅仅是板。
实现概述
在详细描述每个附图之前,本节描述了某些实施例的概述。本文描述的装置和方法的实施例允许当前使用的RCP重新用于加密和发送下一个RCP。由于这种情况下的数据纯粹是随机的,并且当前RCP在使用后会被破坏,因此没有机会执行加密分析。
此外,在一些实施例中,作为额外的保障,当使用RCP时,采样序列可以不是连续的。例如,许多随机化方法中的一种可以是在随机的板地址开始使用RCP,然后使用随机步长前进通过RCP。关于起始地址和步长的信息将与要解密的数据一起发送到解密装置。
RCP加密的一个特点是,如果使用异或运算加密数据,则第二次应用异或(XOR)(具有相同RCP数据)将解密数据。因此,加密和解密处理是相似的。然而,加密和解密不限于使用异或作为RCP编码器和解码器的加密运算符。可以使用任何合适的对称操作。
由于使用旧RCP加密和下载新RCP,所以一些实施例解决了所使用的第一RCP的来源。在一些实施例中,每对安装是唯一的,并且包含较大的种子RCP。在一些实施例中,种子RCP从未删除,并且仅在产品初始化和产品灾难恢复期间使用。在多次使用后,种子RCP可能会被替换。这个处理将通过使用防篡改传输或快递来完成。
下面描述用于发送安全文件的处理的示例实施例。在该描述中,假设双方(指定为‘A’和‘B’)已经完成产品的安装和初始化。
1、A有一份文件,想发送给B。
2、该处理执行任何所需的预处理,并开始逐字节扫描文件和RCP。
3、A随机选取随机化方法和常数,用于确定通过RCP的路径。
4、认证、散列值、校验和、和字节计数可以预先计算并嵌入未加密的数据。
5、文件的每个字节(和元数据)都与相应的RCP字节进行异或,并保存在临时位置。
6、加密完成时,A将RCP随机化方法和常数嵌入加密数据中。该元数据可以未加密,但可以被混淆,从而其似乎是加密流的一部分。
7、A通过标准方法(例如,TCP/IP、FTP和HTTP)将该加密数据发送给B。
8、当B接收到该数据时,B按照相反的程序恢复未加密的数据。
在一些实施例中,RCP生成发生在具有最大资源的计算机上,或者在发送者的计算机上,或者在接收者的计算机上。或者,RCP生成可以由第三方中间计算机或参考计算机(例如,RCP服务器410,参见图4)执行。
RCP生成可以在其自己的线程中运行,并且在与加密/解密(客户端)线程进行非常少的通信的情况下进行。在一些实施例中,两个客户端线程维持几个RCP的本地池,当决定停用当前RCP时,它们可以快速切换到该池。当该池降至指定数量以下时,RCP维持线程请求RCP发生器线程向两个客户端的RCP池发送另一RCP对。客户端维持线程还可以维持RCP使用计数,这决定了RCP何时应该停用。
RCP发生器线程可以监视其池级别,使真随机数发生器(TRNG)生成新的RCP。在一些实施例中,TRNG的质量很重要。RCP的大小可能会有意保持为与现实一样小。保持RCP小有助于避免不必要的RCP延迟。使用和破坏RCP的速度越快,系统就越安全。
尽管RCP大小在不同的实现方式中可能不同,甚至在发送者和接收者装置之间的相同通信流的不同阶段也可能不同,但当前原型的RCP大小为100003字节(大于100000的最小素数)。主要尺寸会有路径随机化的好处。
“大”文件可以定义为大于RCP大小的任何文件。平均来说,对于每{RCP大小}字节的数据,RCP将停用。结果,一个1Gb的文件将在大约10000个RCP处使用和停用,将在接收线程中重新组装的10000个段中发送相同的文件。
相反,一个大约1000字节的小文件(没有其他文件活动)在RCP自然停用之前不会取代RCP。因此,用户可以指定在非活动期间保留部分使用的RCP的时间。
在解密处理中,可以监控几个因素,以保证消息完整性(验证、散列值、校验和以及字节计数),当这些因素失败时,通过向发送者发送NAK(否认)信号来拒绝数据块。这会导致发送者重新格式化并重新发送消息。如果一切正常,接收者会向发送者发送ACK(确认)信号,然后发送者格式化并发送下一个块。
在一些实施例中,本文描述的一些或全部加密特征在执行加密处理的计算机处理器或处理装置内实现。根据在本文描述的特定加密技术发生的数据转换使处理装置成为专用处理装置,能够获得使用传统编程或逻辑处理不可获得的新功能。此外,这种加密处理的有效处理需要在计算机处理系统内实现。此外,存储与本文描述的加密技术相关联的数据的电子存储装置和执行本文描述的加密技术的计算机处理装置之间的交互实现了比通过其他非计算机化手段可能实现的更大的功效。
实现细节
图1是示出主机装置110和用于使用随机密码板(RCP)加密的加密装置(例如,插件加密装置200)的示图。本公开的实施例产生了一种高度便携、非常谨慎、安全的加密装置,用于供任何可用的智能装置、平板电脑、电话、平板、笔记本电脑等使用(本文通常称为主机装置110)。用户需要的仅是根据本公开的实施例的与主机装置110通信的RCP加密装置200(本文也称为插件加密装置200)(例如,经由物理连接,例如,插件连接,经由无线连接等),包括对主机装置110的授权和访问,以向包括RCP加密装置200的任何其他主机装置110发送消息业务,任何其他主机装置110的RCP加密装置200配置有与发送RCP加密装置200相对应的RCP。因此,插件加密装置200能够使用RCP进行加密。尽管本实施例关注于插件加密装置,如上所述,但是在其他实施例中,可以使用其他类型的连接。
用户通过通信端口将加密装置200连接到任何主机装置110,并在主机装置110上用安全认证码打开启用RCP的应用程序120。通信端口可以是任何合适的通信信道(例如,WiFi、蓝牙和Zigbee等无线信道)或者插件端口。用于启用RCP的应用程序120的用户接口122随后呈现在屏幕124上,以供用户将消息构建到启用RCP的应用程序120中,该消息可以包括例如照片、视频、语音、文本文件、数据文件和/或文本消息中的一个或多个。在编译消息之后,用户激活启用RCP的应用程序120内的加密功能,该功能将消息传送给插件加密装置200。插件加密装置200使用存储在插件加密装置200上的RCP库来加密消息。然后,加密消息发送回主机装置110上的启用RCP的应用程序120,用于后续转发。例如,加密的消息可以传送回主机装置110上的消息的原始源(例如,全部复制并粘贴在原始内容上),重写原始的未加密内容。在其他实施例中,插件加密装置200可以转发加密消息本身。
当加密完成时,插件加密装置200执行在插件加密装置200上使用过的RCP的安全删除,除指定接收者之外的所有人用能够解密该加密消息的RCP的唯一剩余副本来呈现消息量子证明。然后,加密消息可以经由任何合适的通信信道130从主机装置110发送,或者甚至发布到社交媒体,和/或通过许多中继节点跳跃到目的地,使最终端点模糊。
发送插件加密装置200和相应的接收插件加密装置200上的RCP库可以通过与集线器的安全物理连接以及下面讨论的其他处理来补充。
插件加密装置200可以被配置成插入主机装置110上的任何合适的端口,例如,音频耳机端口、串行端口、并行端口、以太网连接、通用串行总线(USB)连接、IEEE 1394(“火线”)连接、闪电连接、雷电连接、以及高清晰度多媒体接口(HDMI)连接和微型显示端口连接。具有不对称带宽能力(例如,HDMI或迷你显示端口)和低带宽(例如,音频耳机插孔)的一些接口可能更适合加密低带宽消息,例如,文本。高带宽接口(例如,USB、火线、闪电和雷电)可能更适合于加密高带宽应用,例如,视频、音频和多媒体消息。
图2是用于使用RCP加密的插件装置的结构方框图。插件加密装置200可以被配置为一个或多个处理器210(例如,微处理器、多个微处理器、微控制器或多个微控制器)。处理器210可以被配置为超低功率处理器。插件加密装置200还包括存储器220、非易失性存储器230(例如,固态盘(SSD))和输入/输出(IO)接口240,以匹配插件适配器的类型。在一些实施例中,可以包括电源250,并且在这样的实施例中,可以包括耦合到主机装置的电源,以向插件加密装置200提供额外的电源,并且对电源250进行再充电。
处理器210在本文通常称为处理电路210,并且可以包括被配置为专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)电路的电路。处理电路210可以与公共总线上的其他操作块通信,公共总线通常可以包括地址、数据和控制总线。
全尺寸的插件加密装置200可以被配置成以大型非易失性存储器230(例如,1TBSSD)为特征,并且可以被配置成以小于1/2瓦特的功率工作。然而,该最小功率最初可能来自主机装置110;正在进行的电池技术研究(例如,金属/空气电池)使得长寿命机载可充电电池成为可能的电源250的合理选择。一种可能性是,在更换或补充RCP的同时,电池会更换或重新充电。
RCP库232可以存储在非易失性存储器220中。用户可以选择RCP替换为动态的,或者可以根据不断变化的用户和/或用户需要与之通信的服务器来定期替换或更新RCP库。
在一些实施例中,一旦RCP库232已经至少部分耗尽,RCP库232可以通过与另一装置(例如,服务器)的通信(例如,经由物理连接、经由无线连接等)来替换和/或更新。在一些实施例中,插件加密装置200可以变得不可操作(例如,一旦RCP库已经耗尽到选择的水平,经由存储器擦除),并且可以在另一RCP库232已经重新加载到插件加密装置200上(例如,由用户、由服务提供商等)时处置或返回服务。
通常,主机装置110是所有消息数据的源/目的地。用户使用主机装置110上的启用RCP的应用程序120,以通过插件加密装置200重定向数据,以实现加密和解密。
图3是示出在主机装置110和插件加密装置200之间执行的一些功能和数据流的数据流图。插件加密装置200可以被配置用于运行RCP处理390的多个功能,例如:保存、管理和破坏RCP库;管理RCP指针;加密和解密消息;插件加密装置200和主机装置110之间的消息I/O控制;和认证功能的一些部分。
在主机装置110上运行的启用RCP的应用程序120可以被配置用于多个功能,例如,构建、显示和破坏消息、插件加密装置200和主机装置110之间的消息I/O控制以及接收RCP库和在RCP库传送到插件加密装置200之后破坏RCP库。
关于认证处理310,启用RCP的应用程序120可以提示用户输入各种身份参数、密码和口令,这些可以作为认证请求312传送给插件加密装置200。这些各种身份参数、密码和口令的正确值可以存储在插件加密装置200上。将这些存储的认证参数和通过的用户输入的认证参数进行比较,以进行认证。认证结果314可以返回到主机装置110,指示认证处理的成功或失败,并且如果认证成功,则在启用RCP的应用程序120上启用其他加密处理。
或者,可以在启用RCP的应用程序120上执行认证处理,其中,响应于认证请求312,将插件加密装置200上存储的认证参数发送给启用RCP的应用程序120,作为认证结果314。主机装置110上的启用RCP的应用程序120然后将执行比较。作为另一备选方案,认证处理可以完全在启用RCP的应用程序120上执行,其中,所存储的认证参数存储在启用RCP的应用程序120内。
在一些实施例中,认证参数可以以加密形式存储在插件加密装置200上,并解密,以供使用。
加密处理320可以从用户在启用RCP的应用程序120上通过构建消息处理322产生消息开始。未加密消息324发送到插件加密装置200,插件加密装置200从RCP库232访问326适当的RCP,以用于加密消息处理328。下面结合图4至图6更全面地解释所使用的RCP和加密处理328。加密消息(在本文也可称为加密传输消息)被发送330回启用RCP的应用程序120,该应用程序随后将加密的传输消息转发334到主机装置110上的适当主机通信处理,以传输到另一主机装置110。
解密处理340可以从主机装置110从另一主机装置(未示出)接收加密消息开始。主机装置110将向在主机装置110上运行的启用RCP的应用程序120转发342加密的接收消息。启用RCP的应用程序120将加密的接收消息转发344到在插件加密装置200上运行的解密处理348。解密处理从RCP库232访问346适当的RCP。下面结合图4至图6更全面地解释所使用的RCP和加密处理328。解密的接收消息被发送350回启用RCP的应用程序120,该应用程序然后在主机装置110上为用户显示352消息。
插件加密装置200上的破坏处理360可用于清除RCP库232中的RCP。RCP监视处理362可以确定RCP何时使用或者不再需要,并且破坏364在RCP库中的适当RCP。破坏功能可以被配置为适合于非易失性存储器的多个重写处理,例如,通过与破坏的数据模式不同的各种数据模式,NSA擦除大约七次重写。
还可以包括RCP补充处理370。在一些实施例中,插件加密装置200可以与被配置为提供382新RCP库或补充现有RCP库232的不同计算机耦合。作为一个示例,该计算机可以由提供合适的真随机数RCP的实体控制。作为另一示例,该计算机可以与提供合适的真随机数的实体通信,然后在接收后加载到插件加密装置200上。
在补充处理370的其他实施例中,新的RCP可以通过主机装置110的通信信道,并且传送372到启用RCP的应用程序120。启用RCP的应用程序120将在插件加密装置200执行的内部RCP补充处理374中将新的RCP传送给RCP库232。
类似于插件加密装置200上的功能的破坏功能可以包括在运行在主机装置110上的启用RCP的应用程序120上。破坏功能可以被配置为适用于非易失性存储器和/或磁存储盘的多个重写处理,例如,通过与破坏的数据模式不同的各种数据模式,NSA擦除大约七次重写。
例如,可以在破坏处理376中破坏通过主机装置110接收的新RCP。此外,在使用之后可以破坏消息。例如,破坏消息处理332可用于在主机装置110上的未加密消息324发送到插件加密装置200之后破坏该未加密消息。类似地,可以在启用RCP的应用程序120中包括破坏功能,以重写主机装置(未示出)上的加密消息。此外,可以在使用后破坏(未示出)插件加密装置200上的未加密消息和解密消息。
对于一些实施例,启用RCP的应用程序120可以从插件加密装置200加载到主机装置110上,以允许使用任何可访问的主机装置110。
图4是示出用于消息加密的包括RCP服务器410和两个RCP客户端(460A和460B)的系统的方框图。图4用作RCP服务器和RCP客户端如何交互以给出额外细节的一个示例。可以在本公开的各种实施例中使用RCP服务器、TRNG硬件装置和RCP客户端的其他变型以及其间的交互。
RCP服务器410可以包括各种处理,这些处理可以在RCP服务器410上的单独线程中运行。熵源420可用于生成随机数并管理主RCP池424。一个或多个RCP客户端对线程430(例如,在图4中示出RCP客户端对A-B线程430)可用于生成密钥RCP和数据RCP。可以包括一个或多个资产清单线程450,以管理各种RCP客户端对的RCP,并管理各种RCP客户端对的匹配元数据452。
为了便于描述,图4是整个系统的简化描述。本领域普通技术人员将认识到,在根据本公开的系统中可能存在许多RCP客户端。此外,许多不同的RCP客户端可能希望进行通信。在本公开的系统中,在RCP客户端的配对与RCP服务器410和每个RCP客户端460之间的配对之间发生通信。例如,可能有四个RCP客户端:客户端A、客户端B、客户端C和客户端D。在这样的系统中,RCP服务器410可能需要管理各种客户端对的数据RCP和密钥RCP。为了简洁,本文仅讨论RCP客户端A 460A和RCP客户端B 460B之间的A-B配对。然而,作为非限制性示例,可以存在其他客户端配对,例如,A-C、A-D、B-C、B-D和C-D。所有这些不同的配对将由RCP服务器410管理,并且每个单独的配对可以具有在RCP服务器410上运行的其自己的RCP客户端对线程。
在图4的示例中,RCP服务器410在RCP服务器410和RCP客户端A 460A之间的S-A密钥/元数据路径412上传送RCP和RCP元数据452。类似地,RCP服务器410在RCP服务器410和RCP客户端B 460B之间的S-B密钥/元数据路径414上传送RCP和RCP元数据。RCP客户端A460A和RCP客户端B 460B通过通信路径416来回发送加密数据。通信路径(412、414和416)可以使用任何合适的通信接口和协议,例如,蓝牙无线信号、802.1a/b/g/n型无线信号、蜂窝电话信号、TCP/IP、FTP和HTTP。
熵源420包括主RCP池424,主RCP池424保存通用RCP的集合,以供各种RCP客户端对线程使用,以构建密钥RCP 438和数据RCP 432并将其传输到RCP客户端对(460A 460B)。池管理器428管理来自主RCP池424的池请求,以保持主RCP池424较满。例如,如果主RCP池424低于可用RCP的预定阈值,则主RCP池424可以向池管理器428发送对额外的RCP的请求。在一些实施例中,请求可以来自其他来源,例如,客户端对A-B线程430中的密钥RCP池444、在数据RCP或密钥RCP上运行不足的RCP客户端对(460A 460B),或者资产清单线程450。
真随机数发生器(TRNG)422是硬件装置,如果需要,也是相关软件,用于从不可预测的量子或非量子物理处理中生成真随机数。这些处理的量子示例包括核衰变、透过部分透明反射镜的光子、以及真空能量的波动。非量子示例包括热噪声、时钟漂移和RF噪声。TRNG 422向主RCP池424传送随机数,以用随机数填充RCP。TRNG 422还可以将随机数传送给映射发生器426,用于构建映射索引427,如下文更全面解释的。
转到客户端对A-B线程430(以及未示出的任何其他客户端对线程),主RCP池424将RCP传送给数据RCP 432。主RCP池424还将相同的RCP传送到映射发生器426,其中,RCP映射到密钥RCP中。映射的密钥RCP 438传送到密钥RCP池444。此外,用于定义将使用来自密钥RCP池444的哪个密钥RCP的唯一密钥RCP标识符442发送到构建模块434。构建模块434将数据RCP 432作为消息主体,并添加唯一密钥RCP标识符442,作为报头。下文将更全面地解释这一处理的细节。
加密处理436使用来自密钥RCP池444的当前密钥RCP 446加密构建的数据RCP432。加密处理436在图4中被示为简单的按位异或。然而,其他实施例可以包括任何合适的对称加密处理。加密后,得到的RCP传输到RCP客户端A 460A和RCP客户端B 460B。
RCP客户端A 460A和RCP客户端B 460B以基本相似的方式操作,并且包括相同的元件。结果,RCP客户端460的描述将引用没有指示符“A”或“B”的通用元件,除非需要。在解密处理462接收RCP密码。解密处理462使用当前密钥RCP 470来解密RCP并将其发送给分解模块464。分解模块464分离主体部分并将其发送到一个或多个数据RCP池472。在一些实施例中,维持用于发送数据和接收数据的单独池。为了RCP客户端460正确地加密和解密消息,RCP客户端460保持同步。此外,一些RCP客户端460可能能够同时传送全双工发送和接收加密消息。因此,为了促进这种复杂的业务,每个RCP客户端460可以维持发送数据RCP池472和接收数据RCP池472。在这样的实施例中,一个RCP客户端460上的发送数据RCP池472中的数据RCP将与接收数据RCP池472中的数据RCP匹配,反之亦然。RCP客户端460之间的这些各种RCP和RCP池的一致性可以由资产清单450线程和发送给各种RCP客户端460的匹配元数据452来管理。
分解模块464还将解密的RCP(主体和报头)发送到映射模块466。映射模块466执行与RCP服务器410中的映射发生器426所使用的处理类似的处理,以将数据RCP转换为密钥RCP。这个处理由报头中的变量决定,下面将更全面地解释。所得到的密钥RCP发送到密钥RCP池468,以供将来使用。映射模块466还可以将主体发送到一个数据RCP池472。映射模块466还可以使用来自分解模块464的解密RCP来生成新的映射索引467,以替换当前映射索引467或修改当前映射索引467。
为了RCP客户端460之间的安全通信,从适当的数据RCP池472中提取当前数据RCP474。例如,客户端A 460A使用当前发送数据RCP 474A和加密处理476A来加密客户端消息478A。加密消息被发送到客户端B。客户端B使用当前接收数据RCP 474B和解密处理476B来生成解密的客户端消息478B。如前所述,在该示例中,加密处理476A和解密处理476B被示为简单的按位异或,因此,在两个客户端上可以是相同的处理。在使用不同类型的对称加密的实施例中,加密处理和解密处理可以不同。
在相反的方向上,客户端B 460B使用当前发送数据RCP 474B和加密处理476B来加密客户端消息478B。加密消息被发送到客户端A。客户端A使用当前接收数据RCP 474A和解密处理476A来生成解密的客户端消息478A。在这两个方向上,数据RCP只使用一次,在使用后被破坏。
系统交互
现在,更全面的系统交互讨论将添加关于RCP管理以及RCP服务器410和RCP客户端对(460A 460B)之间的通信的更多细节。这一概念是向客户端460提供匹配的数据RCP,客户端460可以自由地使用这些数据RCP来进行标准对称加密。如前所述,为了避免某些冲突问题,一些实施例可以维持用于发送和接收数据的单独的数据RCP。一个客户端的发送数据RCP与另一客户端的接收数据RCP配对。
元数据可以独立于客户端配对在RCP服务器410和每个客户端460之间交换。即使在建立配对之前,这种元数据交换也可能需要额外的RCP池。这个链路的使用非常有限,但是在一些实施例中可能需要。例如,如果在客户端配对之前没有通信,则客户端将不知道如何请求客户端配对。
下面将讨论引导到客户端配对,然后是客户端配对启动,然后是客户端通信。
在客户端安装时,每个客户端460加载有足够的RCP数据,以与RCP服务器410建立配对,不需要未加密的通信。不需要预定义的映射参数。这意味着应该加载当前的密钥RCP470,并且密钥RCP池468应该包含一个项目。额外的RCP是因为RCP服务器410将发送具有报头的RCP,该报头大于仅仅RCP。数据RCP解密462的输出可以使用报头中的元数据重定向到任何RCP池(接收472、发送472、密钥468)或映射索引467。
服务器启动和初始化
启动熵源420,以开始填充主RCP池424。该线程使用TRNG 422为每个RCP的每个元件生成随机数,并开始构建主RCP池424。当主RCP池424接近满时,池管理器428监视主RCP池424,以抑制产生RCP。
用户登录
监听器线程(未示出)在RCP服务器410上启动,以监视各个客户端460的各个用户登录。启动RCP服务器410上的用户线程(未示出),该线程处理客户端460上的各个用户和RCP服务器410之间的通信。RCP服务器410向服务器/客户端链路的密钥RCP池468发送新的RCP。RCP服务器410循环,产生新的密钥RCP,直到实现服务器/客户端链路(412、414)的密钥RCP池468中的期望级别的密钥RCP。该链路用于所有通信预配对以及与单个客户端相关联的任何通信,而不是配对。
注意,该服务器/客户端链路是图4中未示出的线程。该链路类似于客户端对A-B线程430,但是用于维持RCP管理和RCP服务器410与单个客户端460之间的安全通信的配对。
用户配对请求
客户端460可以请求与任何其他登录的客户端460配对。根据该请求,RCP服务器410启动客户端对A-B线程430。此外,在RCP服务器410的指导下,每个客户端460启动其用于该特定客户端配对的用户配对线程。虽然在图4中未示出,但是客户端460可以与多个其他客户端460通信,并且将为与其正在通信的每个客户端460维持客户端对线程。
RCP服务器410向两个客户端(460A、460B)上的密钥RCP池(468A、468B)发送新的RCP。RCP报头中的元数据包括随机选择的映射参数,这些映射参数定向为对数据RCP池进行播种(472A、472B)。重复该处理,直到达到密钥RCP池(468A、468B)中的期望级别的RCP。
RCP服务器410发送指向两个客户端的数据RCP池(472A、472B)的新RCP,新RCP中的元数据包括随机选择的映射参数,这些映射参数定向为对数据RCP池进行播种(472A、472B)。重复该处理,直到达到数据RCP池(472A、472B)中的期望级别的RCP。
RCP服务器410启动资产清单线程450,该线程使用元数据来强制客户端RCP池(密钥468、发送472和接收472)和映射参数缓冲器(未示出)匹配。客户端460使用任何合适的通信接口和协议来初始化用户对通信链路416。
映射参数在RCP服务器410的指导下存储在与每个数据RCP池472相关联的缓冲器中。新的参数伴随有每个接收到的数据RCP,但不一定与该池相关联。目标由资产清单线程450决定。可以先进先出(FIFO)的方式选择参数。如果遇到某些错误,映射参数可能会运行不足,在这种情况下,资产清单线程450可以将优先级给予补充。同样的一般性评论也适用于密钥RCP池468。这种设置中存在大量的带宽不对称。RCP服务器410和客户端460之间的大部分带宽在RCP移动中消耗,而所有其他通信只是少量元数据。
用户对通信
客户端460之间的通信可以是全双工的。(这意味着如果数字协议允许,则这两个用户可以同时发送,而不会发生冲突。)假设这两个客户端460同步,并且客户端A 460A正在向客户端B 460B发送客户端消息478A,则当客户端A 460A已经耗尽当前发送数据RCP 474A时,简单地从发送数据RCP池472A中提取下一个发送数据RCP 474A,并且继续进行,直到完成当前客户端消息478A或者发送块已满。
当客户端B 460B接收到该块时,也这样做,但是从接收数据RCP池472B获得下一个接收数据RCP 474B。如果发生任何同步丢失,则可能会在块头中由GUID或其他RCP标识符提取。
将数据RCP映射到密钥RCP
图5示出了用于生成映射索引、使用映射索引将数据RCP映射到密钥RCP以及将数据RCP直接映射到密钥RCP的处理。
图6示出了用于在RCP服务器410上产生新RCP、从客户端上的加密RCP生成新RCP、发送加密消息以及解密接收到的消息的处理。
将结合图4一起讨论这些图,以充分讨论映射处理的示例实施例。通常,映射处理以预定的非顺序方式使用数据RCP的每个元素一次以将板映射(pad mapping)应用到数据RCP,以开发密钥RCP。
通常,数据RCP具有总密钥尺寸N(例如,以字节为单位)。映射索引可以具有尺寸M>=N(以指针的数量测量)。映射索引应该被选择为具有作为素数的总索引尺寸M,并且映射索引中指针的尺寸应该被选择为使得指针可以表示任何数字0到N-1。
只要偶尔替换映射索引,映射索引就可以用来将数据RCP充分随机化成密钥RCP。如果多次使用映射索引,即使使用随机寻址方法来选择映射索引的元素,则数据RCP和密钥RCP之间的相关性也可能会出现一种模式。通过使映射索引的尺寸成为素数,并使用许多不同的随机寻址方法中的一种,板映射处理可以针对数据RCP到密钥RCP的每次映射采用通过映射索引的不同路径。
由于带宽对于映射索引替换的影响可能比对移动RCP的影响更大,因此在需要替换之前的映射索引的寿命可以通过使用随机寻址方法来延长,以采用通过映射索引的不同路径。作为一个非限制性示例,加密的数据RCP可以伴随有通过映射索引的随机开始位置和随机步长。
图5包括用于建立映射索引的处理500。在处理502,为映射索引中的所有可用时隙创建列表。在处理502,指针值也初始化为0。
在处理504,从TRNG 422获得随机数(图4)。这个随机数用于选择映射索引中的一个时隙。因此,对于该处理,TRNG 422可以被配置为产生0和M-1之间的随机数。
在处理506,当前指针值(第一次通过循环为0)存储在由来自TRNG422的随机数选择的时隙中。
在处理508,从可用时隙列表中移除当前选择的时隙。
在处理510,执行判定,以确定映射索引中的所有时隙是否已经填充。如果填充,则处理500结束。如果未填充,则处理504递增指针,并且处理500循环回到处理504,以用当前指针值填充另一随机选择的时隙。
图5还包括用于使用映射索引将数据RCP映射到密钥RCP的处理530。对于该映射处理,定义了一种随机寻址方法,用于确定通过映射索引的随机路径。
作为一个非限制性示例,可以提供初始位置和步长,以形成遍历密钥RCP的所有位置的处理。因此,可以选择与正逐步通过的映射索引的尺寸互为素数的步长。这可以通过为作为素数的映射索引选择尺寸,或者通过仔细选择与映射索引的尺寸互为素数的步长(例如,其本身为素数的步长)来实现。
对于本公开的实施例,可以定义用于映射索引的许多其他随机寻址方法,只要用于执行寻址方法的映射参数可以在需要遵循相同路径通过用于数据RCP到密钥RCP的任何特定映射的映射索引的两个节点之间传送。
在处理532,初始化空密钥RCP。此外,映射参数用于定义映射索引中的偏移,作为开始处理530的初始位置。
在处理534,从偏移值指向的位置中选择来自映射索引的RCP指针。
在处理540,在RCP指针值所指向的位置选择来自数据RCP的字节。
在处理542,将检索到的字节附加到密钥RCP的下一个位置。
在处理544,执行测试,以确定密钥RCP是否已满。如果已满,则该处理结束。
如果密钥RCP未满,则处理546使用映射参数来定义映射索引中的新偏移。在获得新偏移之后,处理530循环回到处理534,并重复,直到密钥RCP完全填充。
映射处理530以及其他合适的映射处理可以用于下面结合图6的描述所描述的处理600和620中。这些映射处理在本文中也可以称为板映射。此外,虽然数据RCP和密钥RCP被描述为使得每个位置包括单个字节,但是也可以使用其他尺寸,例如,16位字、32位字和64位字。
图6示出了用于在RCP服务器410上创建新RCP、从客户端上的加密RCP生成新RCP、发送加密的消息以及解密接收到的消息的处理。
处理600是用于在RCP服务器610上创建新RCP的处理。在处理602,执行根据处理530的板映射或者用于定义通过映射索引的路径的其他合适的处理,以从数据RCP获得密钥RCP,新的密钥RCP可以存储在RCP池中。
在处理604,数据RCP与从RCP池中检索的当前密钥RCP进行异或,以获得新的加密数据RCP。如前所述,异或是可以使用的对称加密的一个示例。其他实施例可以使用不同类型的对称加密。
在处理608,唯一的密钥RCP标识符可以添加到新的加密数据RCP之前。前置是一个非限制性的示例。只要发送者和接收者都可以使用密钥RCP标识符在密钥RCP池中定义相同的密钥RCP,密钥RCP标识符就可以放置在加密数据RCP内的其他位置。
在处理610,包括密钥RCP标识符的加密数据RCP被发送到RCP客户端对(460A460B)。
处理620是用于从客户端460上的加密RCP生成新RCP的处理。在RCP客户端对(460A460B)的每个客户端上执行该处理620。
在处理622,客户端460接收包含密钥RCP标识符的加密数据RCP,并且从加密数据RCP中提取密钥RCP标识符。
在处理624,密钥RCP标识符用于选择当前密钥RCP,并且当前密钥RCP与数据RCP进行异或,以获得新的解密数据RCP。如前所述,异或是可以使用的对称加密的一个示例。其他实施例可以使用不同类型的对称加密。
在处理626,可以执行根据处理530的板映射或者用于定义通过映射索引的路径的其他合适的处理,以从数据RCP获得密钥RCP。新的密钥RCP可以存储在RCP池中。
在处理628,当由来自RCP服务器410的资产清单线程450引导时,新解密的数据RCP存储在数据RCP池472(发送或接收)、密钥RCP池468(当建立密钥RCP的储备时)或者映射索引467中的一个内。
处理640是用于加密客户端消息并发送加密的消息的处理。在处理642,从发送数据RCP池472获得数据RCP 474。在一些不启用全双工通信的实施例中,可以有单个数据RCP池472,而不是发送数据RCP池472和接收数据RCP池472。
在处理644,未加密的客户端消息478与数据RCP 474进行异或476,以获得加密的消息。如前所述,异或是可以使用的对称加密的一个示例。其他实施例可以使用不同类型的对称加密。
在处理646,加密的消息被发送到参与该客户端对的另一客户端。
处理660是用于接收加密的消息并解密该消息的处理。在处理662,从参与该客户端对的另一客户端接收加密消息。
在处理664,从接收数据RCP池472获得数据RCP 474。在一些不启用全双工通信的实施例中,可以有单个数据RCP池472,而不是发送数据RCP池472和接收数据RCP池472。
在处理666,加密的客户端消息与数据RCP 474进行异或476,以获得未加密的客户端消息478。如前所述,异或是可以使用的对称加密的一个示例。其他实施例可以使用不同类型的对称加密。
图7示出了用于实践本公开的实施例的计算系统700。作为非限制性示例,计算系统700可以是用户类型的计算机、文件服务器、计算服务器、笔记本计算机、平板电脑、手持装置、移动装置或用于执行软件的其他类似计算机系统。计算机、计算系统和服务器在本文可互换使用,以指示用于实践本公开的实施例的系统。计算系统700被配置为执行包含计算指令的软件程序,并且包括一个或多个处理器710、内存720、存储器730、用户接口元件740和一个或多个通信元件750。计算系统700的一些实施例可以包括一个或多个随机数发生器760,如以上结合图1至图6更全面解释的。
一个或多个处理器710可以被配置为执行各种操作系统和应用程序,包括用于执行本公开的实施例的计算指令。
内存720可用于保存计算指令、数据结构和用于执行各种任务的其他信息,包括执行本公开的实施例。通过示例而非限制的方式,内存720可以包括同步随机存取存储器(SRAM)、动态RAM(DRAM)、只读存储器(ROM)、闪存等。
内存720可以包括被配置为存储信息的其他类型的存储器装置,包括易失性存储装置或非易失性存储装置。其它类型的内存720的示例包括纳米RAM或(NRAM)、基于纳米晶线的内存、基于氧化硅的亚10纳米工艺内存、石墨烯内存、氧化硅-氮化物-氧化硅(SONOS)、电阻随机存取内存(RRAM)、可编程金属化单元(PMC)、导电桥接RAM(CBRAM)、磁阻RAM(MRAM)、相变RAM(PCRAM)、相变内存或其它固态存储介质。
存储器730可用于存储较大量的非易失性信息,以供计算系统700使用,并且可以被配置为一个或多个存储装置。通过示例而非限制的方式,这些存储装置可以包括计算机可读介质(CRM)。该CRM可以包括但不限于磁和光存储装置,例如,磁盘驱动器、磁带、光存储驱动器,例如CD(光盘)、DVD(数字通用盘或数字视频盘)和其他等效存储装置。
与计算系统700相关的信息可以呈现给具有一个或多个用户接口元件740的用户并从其中接收。作为非限制性示例,用户接口元件740可以包括诸如显示器、键盘、鼠标、操纵杆、触觉装置、麦克风、扬声器、相机和触摸屏之类的元件。计算系统上的显示器可以被配置为呈现关于本公开的实施例的信息的图形用户接口(GUI)。
通信元件750可以被配置为与其他装置或通信网络通信。作为非限制性示例,通信元件750可以包括用于在有线和无线通信介质上通信的元件,例如,串行端口、并行端口、以太网连接、通用串行总线(USB)连接IEEE1394(“火线”)连接、闪电连接、雷电连接、蓝牙无线连接、802.1a/b/g/n型无线连接、蜂窝电话连接、TCP/IP、FTP、HTTP以及其他合适的通信接口和协议。
本文说明的软件处理旨在说明可由本文说明的系统执行的代表性处理。除非另有说明,描述处理动作的顺序并不旨在被解释为限制,并且被描述为依次发生的动作可以以不同的顺序发生或者以一个或多个并行的处理流发生。本领域普通技术人员将理解,除了流程图中概述的步骤和处理之外,还可以发生许多步骤和处理。此外,这些处理可以用任何合适的硬件、软件、固件或其组合来实现。
作为非限制性示例,用于执行这些处理的计算指令可以存储在存储器740上,传送到内存720,以供执行,并由处理器710执行。处理器710在执行被配置为执行这些处理的计算指令时,构成用于执行这些处理的结构,并且当这样配置时,可以被视为专用计算机。此外,该处理的一些或全部部分可以由专门配置为执行该处理的硬件来执行。
本说明书中描述的许多功能单元可以被标记为模块、线程或编程代码的其他划分,以便更具体地强调其实现独立性。模块可以以一种或另一种形式至少部分地以硬件实现。例如,模块可以被实现为硬件电路,包括定制VLSI电路或门阵列、现成的半导体,例如,逻辑芯片、晶体管或其他分立元件。模块也可以在可编程硬件装置中实现,例如,现场可编程门阵列、可编程阵列逻辑、可编程逻辑装置等。
还可以使用存储在物理存储装置730(例如,计算机可读存储介质)上、内存720中或其组合的软件来实现模块,以由各种类型的处理器执行。
可执行代码的识别模块可以例如包括计算机指令的一个或多个物理或逻辑块,其可以例如被组织为线程、对象、处理或功能。然而,标识模块的可执行代码不需要物理地共同定位,而是可以包括存储在不同位置的不同指令,当这些指令逻辑地结合在一起时,包括该模块并实现了该模块的所述目的。
实际上,可执行代码的模块可以是单个指令或多个指令,甚至可以分布在几个不同的代码段上、不同的程序之间以及几个存储器730或内存720装置上。类似地,在本文可以在模块内识别和示出操作数据,并且可以以任何合适的形式体现,并且组织在任何合适类型的数据结构中。可以收集操作数据,作为单个数据集,或者可以分布在不同的位置,包括不同的存储装置上,并且可以至少部分地仅仅作为电子信号存在于系统或网络上。在模块或模块的一部分以软件实现的情况下,软件部分存储在一个或多个物理装置上,这些物理装置在本文称为计算机可读介质。
在一些实施例中,以非暂时状态存储软件部分,使得软件部分或其表示在同一物理位置持续一段时间。另外,在一些实施例中,软件部分存储在一个或多个非暂时性存储装置上,这些装置包括能够存储表示软件部分的非暂时性状态和/或信号的硬件元件,即使非暂时性存储装置的其他部分能够改变和/或传输信号。非暂时性存储装置的一个示例包括只读存储器(ROM),其可以在一段时间内存储表示软件部分的信号和/或状态。然而,存储信号和/或状态的能力并没有因为传输与存储的信号和/或状态相同的或表示存储的信号和/或状态的信号的进一步功能而减弱。例如,处理器可以访问ROM,以获得表示存储的信号和/或状态的信号,以便执行相应的软件指令。
虽然在本文已经针对某些图示的实施例描述了本公开,但是本领域普通技术人员将认识到并理解,本发明不限于此。相反,可以对所示和所描述的实施例进行许多添加、删除和修改,而不脱离下文所要求保护的本发明的范围以及其合法等同物。此外,来自一个实施例的特征可以与另一实施例的特征组合,同时仍然包含在发明人所设想的本发明的范围内。

Claims (23)

1.一种加密装置,包括:
通信端口,被配置为在所述加密装置和主机装置之间传送数据;
非易失性存储器,具有RCP库,所述RCP库包括存储在其上的一个或多个随机密码板RCP;以及
处理电路,被配置为:
从所述主机装置接收未加密的消息;
用所述一个或多个RCP对所述未加密的消息进行加密,以生成加密的传输消息;
将所述加密的传输消息返回给所述主机装置;以及
在所述RCP库中的所述RCP被用于针对所述未加密的消息进行的加密后,破坏所述RCP。
2.根据权利要求1所述的加密装置,其中,所述加密装置还包括被配置为与所述主机装置物理耦合的插件功能,其中,所述通信端口被配置为插件端口,所述插件端口被配置为在所述加密装置和所述主机装置之间传送数据。
3.根据权利要求1所述的加密装置,其中,所述处理电路还被配置为:
从所述主机装置接收加密的接收消息;
用所述一个或多个RCP解密所述加密的接收消息,以生成解密的接收消息;
将所述解密的接收消息返回给所述主机装置;以及
在所述RCP库中的所述RCP被用于针对加密的消息进行的解密后,破坏所述RCP。
4.根据权利要求1所述的加密装置,其中,所述处理电路还被配置为:
存储在所述非易失性存储器上存储的至少一个已存认证参数;
从所述主机装置接收至少一个用户输入的认证参数;
将所述至少一个用户输入的认证参数与所述至少一个已存认证参数进行比较;以及
向所述主机装置发送比较结果。
5.根据权利要求1所述的加密装置,其中,所述处理电路还被配置为:
通过所述通信端口接收额外的RCP;以及
将所述额外的RCP存储在所述RCP库中。
6.根据权利要求1所述的加密装置,其中,所述RCP库中的所述RCP包括从真随机数发生器生成的随机数。
7.根据权利要求1所述的加密装置,其中,所述RCP库中的所述RCP包括从量子随机数发生器生成的随机数。
8.一种系统,包括:
主机装置,配置有启用RCP的应用程序,所述启用RCP的应用程序被配置为:
使用户能够在用户接口上构建未加密的消息;
通过通信端口传输所述未加密的消息;
通过所述通信端口接收加密的传输消息;以及
从所述主机装置传输所述加密的传输消息;以及
加密装置,被配置为:
在所述通信端口可操作地与所述主机装置耦合;
从所述主机装置接收所述未加密的消息;
用来自非易失性存储器上的RCP库的一个或多个RCP对所述未加密的消息进行加密,以创建所述加密的传输消息;
向所述主机装置发送所述加密的传输消息;以及
破坏所述RCP库中的已用RCP。
9.根据权利要求8所述的系统,其中,所述加密装置还包括被配置为与所述主机装置物理耦合的插件加密装置,其中,所述通信端口被配置为插件端口,所述插件端口被配置为在所述加密装置和所述主机装置之间传送数据。
10.根据权利要求8所述的系统,其中:
所述主机装置还被配置为:
通过所述通信端口发送加密的接收消息;
从所述加密装置接收解密的接收消息;以及
在所述主机装置的显示器上呈现所述解密的接收消息;并且
所述加密装置还被配置为:
通过所述通信端口接收所述加密的接收消息;
用所述一个或多个RCP对所述加密的接收消息进行解密,以生成所述解密的接收消息;以及
向所述主机装置发送所述解密的接收消息。
11.根据权利要求8所述的系统,其中:
所述主机装置还被配置为:
使所述用户能够在所述用户接口上输入至少一个用户输入的认证参数;以及
将所述至少一个用户输入的认证参数发送到所述加密装置;并且
所述加密装置还被配置为:
在所述非易失性存储器上存储至少一个已存认证参数;
从所述主机装置接收所述至少一个用户输入的认证参数;
将所述至少一个用户输入的认证参数与所述至少一个已存认证参数进行比较;以及
向所述主机装置发送比较结果。
12.根据权利要求8所述的系统,其特征在于,所述主机装置还被配置为通过用所述加密的传输消息重写所述未加密的消息、用与所述未加密的消息不同的数据模式多次重写所述未加密的消息、或其组合,来破坏所述主机装置上的所述未加密的消息。
13.根据权利要求8所述的系统,其中,所述加密装置还被配置为:
通过所述通信端口接收额外的RCP;以及
将所述额外的RCP存储在所述RCP库中。
14.根据权利要求13所述的系统,其中,所述主机装置还被配置为:
通过所述主机装置的通信信道接收所述额外的RCP;以及
通过所述通信端口向所述加密装置发送所述额外的RCP。
15.根据权利要求14所述的系统,其中,所述主机装置还被配置为:在所述额外的RCP被发送到所述加密装置之后,通过用与所述额外的RCP不同的数据模式多次重写所述额外的RCP,来破坏所述主机装置上的额外的RCP。
16.一种方法,包括:
使用户能够在主机装置的用户接口上构建未加密的消息;
通过通信端口从所述主机装置向加密装置发送所述未加密的消息;
用来自非易失性存储器上的RCP库的一个或多个RCP在加密装置上对所述未加密的消息进行加密,以创建加密的传输消息;
从所述加密装置向所述主机装置发送所述加密的传输消息;
在通信信道上从所述主机装置传输所述加密的传输消息;以及
破坏所述RCP库中的已用RCP。
17.根据权利要求16所述的方法,其中,所述加密装置是被配置为与所述主机装置物理耦合的插件加密装置,并且,发送所述未加密的消息还包括通过插件端口发送所述未加密的消息,所述插件端口被配置为在所述加密装置和所述主机装置之间传送数据。
18.根据权利要求16所述的方法,还包括:
通过所述主机装置上的所述通信信道接收加密的接收消息;
通过所述通信端口从所述主机装置向所述加密装置发送所述加密的接收消息;
用来自所述RCP库的一个或多个RCP在所述加密装置上对所述加密的接收消息进行解密,以创建解密的接收消息;
从所述加密装置向所述主机装置发送所述解密的接收消息;以及
在所述主机装置的显示器上呈现所述解密的接收消息。
19.根据权利要求16所述的方法,还包括:
在所述非易失性存储器上存储至少一个已存认证参数;
使所述用户能够在所述用户接口上输入至少一个用户输入的认证参数;以及
将所述至少一个用户输入的认证参数与所述至少一个已存认证参数进行比较;以及
如果所述比较匹配,则在所述主机装置上启用额外的加密功能。
20.根据权利要求16所述的方法,还包括:通过用所述加密的传输消息重写所述未加密的消息、用与所述未加密的消息不同的数据模式多次重写所述未加密的消息、或其组合,来破坏所述主机装置上的所述未加密的消息。
21.根据权利要求16所述的方法,还包括:
通过所述通信端口接收额外的RCP;以及
将所述额外的RCP存储在所述RCP库中。
22.根据权利要求16所述的方法,还包括:
通过所述主机装置的所述通信信道接收额外的RCP;
通过所述通信端口将所述额外的RCP从所述主机装置发送到所述加密装置;以及
将所述额外的RCP存储在所述RCP库中。
23.根据权利要求22所述的方法,还包括:在所述额外的RCP被发送到所述加密装置之后,通过用与所述额外的RCP不同的数据模式多次重写所述额外的RCP,来破坏所述主机装置上的所述额外的RCP。
CN201780047184.9A 2016-08-12 2017-08-11 使用随机密码板加密来启用便携式安全通信的装置和方法 Pending CN109564614A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662374314P 2016-08-12 2016-08-12
US62/374,314 2016-08-12
PCT/US2017/046516 WO2018031895A1 (en) 2016-08-12 2017-08-11 Devices and methods for enabling portable secure communication using random cipher pad cryptography

Publications (1)

Publication Number Publication Date
CN109564614A true CN109564614A (zh) 2019-04-02

Family

ID=61163148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780047184.9A Pending CN109564614A (zh) 2016-08-12 2017-08-11 使用随机密码板加密来启用便携式安全通信的装置和方法

Country Status (7)

Country Link
US (1) US11201729B2 (zh)
EP (1) EP3497556A4 (zh)
CN (1) CN109564614A (zh)
AU (1) AU2017308060B2 (zh)
CA (1) CA3031334A1 (zh)
IL (1) IL264778B (zh)
WO (1) WO2018031895A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109564614A (zh) 2016-08-12 2019-04-02 7隧道公司 使用随机密码板加密来启用便携式安全通信的装置和方法
US11362813B2 (en) * 2017-08-25 2022-06-14 7Tunnels Inc. Cryptographic systems and methods for extending apparent size of pools of truly random numbers
KR20200082469A (ko) * 2018-12-28 2020-07-08 삼성전자주식회사 난수 생성기
US20200287710A1 (en) * 2019-03-04 2020-09-10 Introspective Power, Inc. Single stream one time pad with encryption with expanded entropy
DE102020003072B3 (de) * 2020-05-22 2021-07-15 Daimler Ag Verfahren zur sicheren Nutzung von kryptografischem Material

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513261A (en) * 1993-12-29 1996-04-30 At&T Corp. Key management scheme for use with electronic cards
CN1897523A (zh) * 2006-06-26 2007-01-17 北京金山软件有限公司 一种实现单点登录的系统及方法
CN101488848A (zh) * 2008-02-13 2009-07-22 刘海云 生成密码识别信息的加密方法
CN104506483A (zh) * 2014-10-21 2015-04-08 中兴通讯股份有限公司 一种信息加密解密、管理密钥的方法、终端及网络服务器
US20150244520A1 (en) * 2014-02-21 2015-08-27 Safe Frontier Llc One-time-pad data encryption with media server

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363152B1 (en) * 1998-09-09 2002-03-26 Koninklijke Philips Electronics N.V. (Kpenv) Hybrid one time pad encryption and decryption apparatus with methods for encrypting and decrypting data
US7325052B1 (en) 1998-10-06 2008-01-29 Ricoh Company, Ltd. Method and system to erase data after expiration or other condition
US20020162021A1 (en) 2001-04-30 2002-10-31 Audebert Yves Louis Gabriel Method and system for establishing a remote connection to a personal security device
WO2004105296A2 (en) * 2003-05-15 2004-12-02 Idaho Research Foundation, Inc. Scure communication
US8966284B2 (en) * 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US8194858B2 (en) * 2009-02-19 2012-06-05 Physical Optics Corporation Chaotic cipher system and method for secure communication
CN102131190A (zh) * 2011-03-31 2011-07-20 华为终端有限公司 一种移动终端加密的方法、硬件加密器件及移动终端
US8693691B2 (en) * 2012-05-25 2014-04-08 The Johns Hopkins University Embedded authentication protocol for quantum key distribution systems
US9335973B2 (en) 2014-01-03 2016-05-10 Ut-Battelle, Llc Quantum random number generator
JP6293648B2 (ja) * 2014-12-02 2018-03-14 東芝メモリ株式会社 メモリデバイス
CA2983436A1 (en) * 2015-04-24 2017-01-19 7Tunnels, Inc. Random cipher pad cryptography
US10348704B2 (en) * 2015-07-30 2019-07-09 Helder Silvestre Paiva Figueira Method for a dynamic perpetual encryption cryptosystem
CN109564614A (zh) 2016-08-12 2019-04-02 7隧道公司 使用随机密码板加密来启用便携式安全通信的装置和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513261A (en) * 1993-12-29 1996-04-30 At&T Corp. Key management scheme for use with electronic cards
CN1897523A (zh) * 2006-06-26 2007-01-17 北京金山软件有限公司 一种实现单点登录的系统及方法
CN101488848A (zh) * 2008-02-13 2009-07-22 刘海云 生成密码识别信息的加密方法
US20150244520A1 (en) * 2014-02-21 2015-08-27 Safe Frontier Llc One-time-pad data encryption with media server
CN104506483A (zh) * 2014-10-21 2015-04-08 中兴通讯股份有限公司 一种信息加密解密、管理密钥的方法、终端及网络服务器

Also Published As

Publication number Publication date
EP3497556A1 (en) 2019-06-19
US11201729B2 (en) 2021-12-14
IL264778B (en) 2022-03-01
AU2017308060B2 (en) 2021-12-23
WO2018031895A1 (en) 2018-02-15
US20200336301A1 (en) 2020-10-22
AU2017308060A1 (en) 2019-02-07
EP3497556A4 (en) 2020-04-01
CA3031334A1 (en) 2018-02-15

Similar Documents

Publication Publication Date Title
CN109564614A (zh) 使用随机密码板加密来启用便携式安全通信的装置和方法
US11245515B2 (en) Random cipher pad cryptography
CN109565510A (zh) 使用随机加密密码本加密法进行安全通信的系统和方法
CN108092769B (zh) 量子密码网络可靠加密传输系统及方法
KR20190004263A (ko) 양자 키 분배에 기초하는 암호화 및 복호화를 위한 시스템 및 방법
CN110289952B (zh) 一种量子数据链保密终端及保密通信网络
CN111818032A (zh) 基于云平台的数据处理方法、装置及计算机程序
CN102567688B (zh) 一种安卓操作系统上的文件保密系统及其保密方法
CN105849738A (zh) 存储阵列密码管理
CN109314705A (zh) 使用组加密密钥的用于大规模可伸缩动态多点虚拟私有网络的系统、装置和方法
CN113329030A (zh) 区块链一体机及其密码加速卡、密钥管理方法和装置
CN104852922A (zh) 基于分布式文件系统的大数据加解密方法
CN115174261A (zh) 基于分阶划层与密中密分发的混合加密解密系统与方法
CN109005196A (zh) 数据传输方法、数据解密方法、装置及电子设备
US20200045026A1 (en) Centralized Data Management and SaaS with End-to-End Encryption
Zhang et al. ROS‐Ethereum: A Convenient Tool to Bridge ROS and Blockchain (Ethereum)
CN102004889B (zh) 一种树状分层系统中分层数据加密方法
CN111130788B (zh) 数据处理方法和系统、数据读取方法和iSCSI服务器
Yang et al. Lightweight blockchain fuzzy decision scheme through MQTT and Fibonacci for sustainable transport
Martin The combinatorics of cryptographic key establishment
Amini Secure Storage in Cloud Computing
JP2009087184A (ja) データバックアップ方法、情報処理装置、復元処理装置、プログラム及び記録媒体
Fan et al. GPU Acceleration of Ciphertext-Policy Attribute-Based Encryption
Singh et al. Information security using visual cryptographic technique for resource constrained devices
Zhu et al. A security control scheme based on quantum keys for IoT terminals

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1262605

Country of ref document: HK

WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190402