CN113935048A - 使用加噪和去噪方案的密钥保护 - Google Patents
使用加噪和去噪方案的密钥保护 Download PDFInfo
- Publication number
- CN113935048A CN113935048A CN202110778177.4A CN202110778177A CN113935048A CN 113935048 A CN113935048 A CN 113935048A CN 202110778177 A CN202110778177 A CN 202110778177A CN 113935048 A CN113935048 A CN 113935048A
- Authority
- CN
- China
- Prior art keywords
- key pattern
- membership
- noisy
- membership value
- key
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及使用加噪和去噪方案的密钥保护。一种密码系统包括加噪引擎和去噪引擎。加噪引擎被配置为接收密钥模式,基于一个或多个输入参数和第一知识库确定最终隶属值,以及基于密钥模式和最终隶属值生成含噪密钥模式。去噪引擎被配置为接收含噪密钥模式和最终隶属值,以及基于含噪密钥模式、最终隶属值和第二知识库生成去噪密钥模式。
Description
技术领域
本公开涉及密钥模式管理,并且尤其涉及在对计算系统中的块设备进行加密和解密时对密钥模式的加密。
背景技术
诸如闪存设备和其他类型的存储器设备的块设备被加密以阻止未经授权的访问。在加密过程中,密钥模式(例如,加密密钥)由用户或应用提供并且被用于加密块设备的至少一部分。此外,在解密过程期间,密钥模式由用户或应用提供并且被用于解密块设备的经加密的部分。加密和解密块设备可以被称为密码安全。在加密和/或解密过程期间,密钥模式在操作系统的元件之间被传送,使密钥模式容易受侧信道的攻击和其他类型的攻击。对密钥模式的成功攻击可以允许加密会被规避以及对块设备的经加密的部分的未授权访问。
发明内容
在一个示例中,密码系统包括加噪电路系统和去噪电路系统。加噪电路系统被配置为接收密钥模式,基于一个或多个输入参数和第一知识库确定最终隶属值,基于密钥模式和最终隶属值生成含噪密钥模式。去噪电路系统被配置为接收含噪密钥模式和最终隶属值;以及基于含噪密钥模式、最终隶属值和第二知识库生成去噪密钥模式。
在一个示例中,一种用于传送密钥模式的方法包括在加噪引擎处接收密钥模式,以及基于一个或多个输入参数和第一知识库确定最终隶属值。方法还包括基于密钥模式和最终隶属值生成含噪密钥模式,以及从加噪引擎向去噪引擎传送含噪密钥模式和最终隶属值,此外,方法包括在去噪引擎处,基于含噪密钥模式、最终隶属值和第二知识库生成去噪密钥模式。
在一个示例中,一种非暂态计算机可读介质包括存储的指令。当指令由处理器执行时,引起处理器:接收密钥模式,以及基于一个或多个输入参数和第一知识库确定最终隶属值。此外,指令引起处理器基于密钥模式和最终隶属值生成含噪密钥模式,以及传送含噪密钥模式和最终隶属值。指令还引起处理器基于含噪密钥模式、最终隶属值和第二知识库生成去噪密钥模式,以及基于去噪密钥模式加密经加密的存储器块。
附图说明
从下面给出的具体实施方式和从本公开的实施例的附图将更全面地理解本公开。附图用于提供对本公开的实施例的知识和理解并且不将本公开的范围限制于这些特定实施例。此外,附图不一定按比例绘制。
图1图示了根据一个或多个示例的密码系统的示意框图。
图2图示了根据一个或多个示例的示例操作系统的框图。
图3图示了根据一个或多个示例的密码系统的示意框图。
图4是根据一个或多个示例的用于对密钥模式加噪和去噪的示例方法的流程图。
图5是根据一个或多个示例的用于对密钥模式加噪和去噪的示例方法的流程图。
图6图示了根据一个或多个示例的隶属函数。
图7图示了根据一个或多个示例的示例规则表。
图8图示了根据一个或多个示例的隶属函数。
图9图示了根据一个或多个示例的用于生成含噪密钥模式的示例隶属函数。
图10图示了根据一个或多个示例的示例规则表。
图11图示了根据一个或多个示例的共享知识。
图12图示了根据一个或多个示例的用于对含噪密钥模式进行去噪的隶属函数。
图13图示了根据一个或多个示例的示例规则表。
图14描绘了本公开的实施例可以在其中运行的示例计算机系统的抽象图。
具体实施方式
本公开的各方面涉及使用加噪和去噪方案的密钥模式保护。
在加密和解密块设备时,密钥模式(例如,加密密钥)被从操作系统的用户空间向操作系统的内核空间传送。当密钥模式通过对应的操作系统传播时,密钥模式容易受到攻击。例如,密钥模式容易受到物理探测、数据残留攻击和侧信道攻击等攻击。因此,可能发生对经加密的块设备的未授权访问。
加密块的安全性可以通过向密钥模式添加噪声而被提高。例如,在操作系统的用户级别处以及接近用户或应用经由模糊化过程提供密钥模式的位置处,噪声可以被添加到密钥模式。向密钥模式添加噪声包括通过切换密钥模式的位来对密钥模式执行模糊化处理以生成含噪密钥模式。在操作系统的内核级别处并且接近经加密的块设备,含噪密钥模式被去噪。因此,密钥模式不会以原始形式通过操作系统而被传播。密钥模式以原始形式的最小化传播提供了针对各种类型攻击的改进保护(例如,广泛类别的侧信道攻击和/或数据残留攻击等),提高了经加密的块设备的安全性并且最大限度地减少未授权访问经加密的块设备的可能性。
在下文中,描述了改进的密码安全子系统,其中密钥模式在通过子系统被传播之前经由模糊化过程被加加噪。对密钥模式加噪可以提高系统的安全性。因此,与其中密钥模式以原始形式被传播的子系统相比,对块设备的经加密的部分的未授权访问被最小化。
图1图示了根据一个或多个示例的密码系统100。密码系统100包括加噪引擎110和密码引擎120。密码系统100被连接到块设备130。密码系统100经由密钥模式140对块设备130的至少一部分进行加密和解密。例如,密码系统100从输入150接收密钥模式140。输入150是输入设备152和/或应用154。例如,输入设备152可以是键盘、光标控制设备、触摸屏和生物计量设备等。应用程序154是在计算机系统(例如,图14的计算机系统1400)上运行的应用。应用154包括图14的可以由处理设备1402执行的指令1426。
加噪引擎110从输入150接收密钥模式140。加噪引擎110经由加噪(或模糊化)过程对密钥模式140加噪以生成含噪密钥模式142。加噪引擎110向密码引擎120传送含噪密钥模式142。如下文将更详细描述的,在加噪过程期间,加噪引擎110基于一个或多个输入参数和知识库生成加噪隶属值。加噪引擎110基于密钥模式140和含噪隶属值来生成含噪密钥模式142。例如,加噪引擎110基于含噪隶属值来改变密钥模式140的一个或多个位的值。此外,加噪引擎110向密码引擎120传送带有含噪密钥模式142的加噪隶属值。
密码引擎120包括去噪引擎122和加密/解密引擎124。去噪引擎122接收含噪密钥模式142并且对含噪密钥模式142去噪以生成去噪密钥模式144。去噪密钥模式144被输出到加密/解密引擎124。如下文将更详细地描述的,去噪引擎122基于加噪隶属值对含噪密钥模式142去噪。例如,去噪引擎122基于加噪隶属值和第二知识库对含噪密钥模式142去噪。去噪引擎122对含噪密钥模式142去噪以生成去噪密钥模式144,使得去噪密钥模式144至少类似于密钥模式140,并且去噪密钥模式144可以被利用以加密和/或解密块设备130。在一个示例中,去噪密钥模式144与密钥模式140相同。此外,去噪密钥模式144可以是密钥模式140的转换。
加密/解密引擎124基于去噪密钥模式144加密和/或解密块设备130。例如,加密/解密引擎124向块设备130的管理器传送去噪密钥模式144,以加密或解密块设备130。
在一个或多个示例中,加噪引擎110由执行指令的处理器设备(例如,图14的处理设备1402)来执行。在另一示例中,加噪引擎110包括被配置为执行加噪过程的一个或多个电路元件。例如,加噪引擎110可以包括控制器和可选的其他电路元件,这些电路元件被配置为接收密钥模式、对密钥模式加噪,并且向密码引擎120的去噪引擎122传送含噪密钥模式。在这种示例中,加噪引擎110可以被称为加噪电路系统。
密码引擎120包括电路系统,该电路系统包括用于执行去噪过程、加密过程和/或解密过程的一个或多个电路元件。例如,密码引擎120包括被配置为接收含噪密钥模式142的接收器电路系统,和/或被配置为对含噪密钥模式142去噪、加密块设备130、和/或解密块设备130的一个或多个控制器和其他电路元件。此外,密码引擎120可以包括被配置为发送去噪密钥模式144的发送器电路系统。在一个示例中,密码引擎120可以由执行指令的处理器设备(例如,图14中的处理设备1402)来执行。
在一个示例中,去噪引擎122包括电路系统,该电路系统包括一个或多个用于执行去噪过程的电路元件。例如,去噪引擎122包括被配置为接收含噪密钥模式142的接收器电路,被配置为对含噪密钥模式142去噪的一个或多个控制器和其他电路元件,和/或被配置为向加密/解密引擎124发送去噪密钥模式14的发送器电路系统。在这种示例中,去噪引擎122可以被称为去噪电路系统。在一个示例中,去噪引擎122可以由执行指令的处理器设备(例如,图14的处理设备1402)来执行。
加密/解密引擎124包括电路系统,该电路系统包括一个或多个用于执行去噪过程的电路元件。例如,加密/解密引擎124包括被配置为接收去噪密钥模式144的接收器电路和/或被配置为对块设备130加密和/或解密的一个或多个控制器和其他电路元件。在一个示例中,加密/解密引擎124可以由执行指令的处理器设备(例如,图14的处理设备1402)来执行。
图2图示了操作系统200的示例的一部分。操作系统200可以是Linux操作系统。在另一示例中,操作系统200是另一类型的操作系统。操作系统200包括用户空间210和内核空间220。用户空间210对应于用户进程和/或应用运行的地点。内核空间220对应于内核(例如,操作系统200的核)执行并提供相应服务的地点。
在一个或多个示例中,密码系统100是由操作系统200所发起和/或执行的密码系统100的一部分和/或功能。例如,加噪引擎110是用户空间210的一部分并且密码引擎120是内核空间220的元件的一部分和/或由其执行。
用户空间210包括用户空间应用212和设备映射(dm)库214。用户空间应用212包括dm设置(dm-设置)216和密码设置实用模块218。dm-设置216管理使用设备映射驱动器(例如,设备管理器框架222)的逻辑设备,和/或提供到设备管理器框架222的通信路径。密码设置实用模块218是操作系统200的命令行工具,命令行工具与内核空间220(例如,dm-crypt226)接口以用于创建、访问和/或管理经加密的设备。此外,用户空间应用212包括加噪引擎110。用户空间应用210的dm库214经由系统调用(包括密钥模式)从用户空间应用212到设备管理器框架222通信。
在内核空间220中,设备管理器框架222将物理块设备(例如,块设备130)映射到更高级别的虚拟块设备上。此外,在内核空间220中,虚拟文件系统层230经由文件系统232和通用块层234访问设备管理器框架222。虚拟文件系统层230向用户空间210提供文件系统接口。此外,虚拟文件系统层230提供在内核空间220内的抽象化,其允许存在不同的文件系统实现。文件系统232包括由操作系统200所采用的文件系统(例如,ext2、ext3、ext4、XFS、ReiserFS、UFS和Btrfs等)。通用块层234处理针对块设备(例如,块设备130)的请求。
内核空间220的dm-目标224基于从设备管理器框架222所接收的请求和信息(例如,密钥模式和其他类型的信息)向关联的块设备提供访问。内核空间220的dm-crypt 226使用密码例程来加密块设备(例如,块设备130)。dm-crypt 226经由设备管理器框架222和dm-目标224从用户空间210接收密钥模式,并且基于密钥模式来加密块设备(例如,块设备130)的一个或多个部分。密码例程是内核空间220的内核的密码应用编程接口(API)的一部分。在图2的示例中,例程是由内核空间220的Linux内核密码框架(LKCF)228所提供的暗码算法。LKCF 228可以被称为密码框架。LKCF 228的API提供一种或多种密码暗码,和/或一种或多种数据转换机制和方法以调用密码暗码。LKCF 228可以经由dm-设置216、密码设置实用模块218、dm库214、设备管理器框架222、dm-目标224和/或dm-crypt 226从用户空间210而被访问。
内核空间220的Linux内核输入/输出(I/O)调度器236管理对块设备(例如,块设备130)的请求。内核空间220的块设备驱动器238提供对块设备(例如,块设备130)的访问。在一个示例中,块设备驱动器238经由存储主机子系统240提供对块设备的访问。内核空间220的存储主机子系统240与块设备130通信。例如,存储主机子系统240包括主机控制器驱动器242和密码引擎120或用于与密码引擎120通信的驱动器。主机控制器驱动器242操作一个或多个硬件元件以与块设备130通信。例如,主机控制器驱动器242操作控制器以与块设备130通信。
主机控制器驱动器242包括密码驱动器244。密码驱动器244加密和解密块设备130。在一个示例中,密码驱动器244基于由密码引擎120所提供的去噪密钥模式来加密和/或解密块设备130。
块设备130是存储器设备或存储器设备的一部分。例如,块设备130可以是易失性存储器或非易失性存储器。在一个示例中,块设备130是闪存设备。在其他示例中,块设备130是另一类型的存储器设备。此外,块设备130可以是可移动或不可移动存储器设备。
在一个示例中,块设备130的一个或多个部分由密码驱动器244加密和/或解密。块设备130的解密部分基于由I/O调度器236所提供的请求经由主机控制器驱动器242而被访问。
操作系统200作为一个示例被提供,并且在其他示例中,密码系统100可以被包括作为其他操作系统的一部分和/或由其他操作系统控制。操作系统200支持被用于加密块设备130的加密方法。加密方法可以包括全盘加密、部分盘加密和/或基于文件的加密等中的一种或多种。
在一个示例中,密码设置实用模块218、dm-crypt 226、LKCF 228和密码引擎120提供用于处理块设备130的加密和解密的低级别映射的密码框架。诸如创建和访问经加密的设备的用户级别的操作是通过密码框架完成的。
图3图示了根据一个或多个实施例的示例密码系统300。密码系统300和/或密码系统300的功能可以被实现为操作系统200的一部分。此外,密码系统300类似于图1的密码系统100。例如,密码系统300的加噪引擎310和密码引擎320被配置为类似于密码系统100的加噪引擎110和密码引擎120和/或类似于加噪引擎110和密码引擎120的功能。
加噪引擎310包括密钥模式尝试计数器312、密钥模式定时器314、密钥模式强度确定器316和加噪生成器318。此外,加噪引擎110被连接到存储器340。存储器340包括知识库342。
密钥模式尝试计数器312对输入150所提供的密钥模式尝试次数进行计数,生成密钥模式尝试计数。例如,针对每次密钥模式尝试,密钥模式尝试计数器312将密钥模式尝试计数器312内的计数器的值增加一,从而增加密钥模式尝试计数。当有效的密钥模式被接收时,密钥模式尝试计数的最终值对应于计数器的值。在一个示例中,密钥模式尝试计数器312接收从输入150所接收的每个密钥模式尝试的指示,并且相应地增加密钥模式尝试计数。在另一示例中,密钥模式尝试计数器312接收从输入150所接收的密钥模式尝试的总数的最终计数值,并且将密钥模式尝试计数设置为最终计数值。在一个示例中,,密钥模式尝试计数的计数值被存储在存储器340内。
密钥模式计时器314确定在接收到第一密钥模式尝试与接收到有效(例如,最终的)密钥模式尝试之间的时间量。密钥模式定时器314从输入150接收第一密钥模式尝试和有效密钥模式尝试的指示,并且确定在第一密钥模式尝试和有效密钥模式尝试之间的时间量。所确定的第一次密钥模式尝试和有效密钥模式尝试之间的时间量可以被称为密钥模式时间段。在一个示例中,密钥模式计时器314从输入150接收密钥模式时间段并且在密钥模式计时器314之外确定密钥模式时间段。此外,密钥模式时间段被存储在存储器340内。
密钥模式强度确定器316确定密钥模式140的强度。密钥模式140的强度对应于密钥模式140的值的随机性。此外,密钥模式140的强度对应于密钥模式140中的一的数量。密钥模式140中的一的数量与以下相对应:基于对应的对侧信道的脆弱性和/或其他攻击,密钥模式140是强还是弱。例如,随着密钥模式140中一的数量增加,密钥模式对侧信道和/或其他攻击的脆弱性增加。在一个示例中,密钥模式强度是由确定零和一序列的随机性的频率测试所确定的归一化值。频率测试基于密钥模式中的零和一的比例。在一个示例中,频率测试1的比例与0.5的接近程度。在一个示例中,频率测试测量密钥模式中0和1的频率。在一个示例中,密钥模式强度参数可以被存储在存储器340内。
存储器340存储知识库342。知识库342包括一个或多个隶属函数和/或规则。知识库342是数据库或其他数据存储结构。
加噪生成器318被连接到密钥模式尝试计数器312、密钥模式定时器314和存储器340。加噪生成器318从密钥模式尝试计数器312获取密钥模式尝试计数、从密钥模式定时器314获取密钥模式时间段、从密钥模式强度确定器316获取密钥模式强度参数,并且从知识库342获取一个或多个隶属函数和/或规则。在一个示例中,密钥模式尝试计数器312、密钥模式计时器314和/或密钥模式强度确定器316可以被省略。在这样的示例中,加噪生成器318接收来自输入150的密钥模式尝试计数、来自输入150的密钥模式时间段和/或来自输入150的密钥模式强度参数。在省略密钥模式尝试计数器312、密钥模式定时器314和/或密钥模式强度确定器316的示例中,输入150向存储器340提供密钥模式尝试计数、密钥模式时间段和/或密钥模式强度参数。在这种示例中,加噪生成器318访问存储器340以获得密钥模式尝试计数、密钥模式时间段和/或密钥模式强度参数。
如下文将进一步详细讨论的,加噪生成器318根据密钥模式140、密钥模式尝试计数、密钥模式时间段、密钥模式强度确定器、一个或多个隶属函数和/或一个或多个规则来生成含噪密钥模式142。
存储器330存储知识库332。知识库332包括一个或多个隶属函数和/或规则。图6-图10图示了示例隶属函数和规则。知识库332是数据库或其他数据存储结构。此外,知识库332的一个或多个隶属函数和/或规则类似于知识库342的一个或多个隶属函数和/或规则。
在一个示例中,存储器340和存储器330可以对应于公共存储器设备的不同部分。在另一示例中,存储器340和存储器330是不同存储器设备的部分。
去噪引擎322被连接到存储器330。去噪引擎322从知识库332获取一个或多个隶属函数和/或规则。图12和图13图示了示例函数和规则。去噪引擎322基于去噪密钥模式142和知识库332的一个或多个隶属函数和/或规则来生成去噪密钥模式144。
图4是根据一个或多个实施例的用于加密密钥模式(例如,密钥模式140)的方法400的流程图。在410处,含噪密钥模式被生成。例如,加噪引擎310从密钥模式140生成含噪密钥模式142。在一个示例中,加噪生成器318根据基于密钥模式尝试计数、密钥模式时间段、密钥模式强度参数和知识库342的密钥模式140来生成含噪密钥模式142。
在方法400的420处,含噪密钥模式被从加噪引擎向去噪引擎传送。例如,含噪密钥模式142从加噪引擎310向密码引擎320传送。在一个示例中,加噪生成器318将含噪密钥模式142传送到去噪引擎322。
在方法400的430处,含噪密钥模式被去噪以生成去噪密钥模式。例如,密码引擎430对含噪密钥模式142进行去噪以生成去噪密钥模式144。去噪密钥模式144类似于密钥模式140。在一个示例中,去噪密钥模式144与密钥模式140相同。在一个示例中,去噪引擎322基于知识库332对含噪密钥模式142进行去噪以生成去噪密钥模式144。
去噪密钥模式144被传送到加密/解密引擎324。加密/解密引擎324使用去噪密钥模式144来加密和/或解密块设备(例如,块设备130)。在一个示例中,响应于加密块设备130的命令,加密/解密引擎324用去噪密钥模式144来加密块设备130。在另一示例中,响应于解密块设备130的命令,加密/解密引擎324基于去噪密钥模式144对经加密的块设备130进行解密。
图5是根据一个或多个示例的用于对密钥模式加噪和去噪的方法500的流程图。在510处,密钥模式被接收。例如,密钥模式140从输入150被接收。密钥模式140通过加噪引擎310被接收。在一个示例中,密钥模式140通过加噪生成器318被接收。
在520处,含噪密钥模式被生成。例如,含噪密钥模式142通过加噪引擎310而被生成。在一个示例中,含噪密钥模式142通过加噪生成器318而被生成。在一个示例中,加噪生成器318基于密钥模式尝试计数、密钥模式时间段、密钥模式强度参数和知识库342从密钥模式140生成含噪密钥模式142。
在530处,生成含噪密钥模式包括生成第一隶属值。例如,加噪生成器318确定第一隶属值。加噪生成器318根据密钥模式输入尝试的计数、密钥输入时间段和知识库342来确定第一隶属值。知识库342包括隶属函数。图6图示了示例隶属函数610。如图6所示,隶属函数610包括两个或更多个梯形函数和两个或更多个三角函数的组合。在其他示例中,隶属函数610包括一个或多个梯形函数、一个或多个三角函数和/或一个或多个高斯函数等。隶属值基于隶属函数610、密钥模式尝试计数(也可以被称为FC)和密钥模式时间段而被确定。
针对隶属函数610,X轴对应于密钥模式尝试次数,Y轴对应于隶属值。在图6的示例中,隶属值在0.01和0.99的范围内。在其他示例中,其他值可以被利用。此外,隶属函数610包括一个或多个区域。例如,如图6所示,隶属函数610包括四个区域。在其他示例中,隶属函数610可以包括多于或少于四个区域。在图6中,这些区域被标记为真正的、公平的、可疑的和有风险的。在其他示例中,其他标签可以被利用。此外,在区域和隶属函数610之间的关系可以与如图6中所示的不同。在一个示例中,在区域和隶属函数610之间的关系是基于一个或多个规则的(例如,图6的规则表710的规则)。
图6的箭头612对应于密钥模式时间段的增加值。例如,密钥模式时间段的值沿X轴从隶属函数610的“有风险的”部分到隶属函数610的“真正的”部分增加。此外,如箭头614所指示的密钥模式尝试计数的值沿着隶属函数的Y轴并且从隶属函数610的“真正的”部分到隶属函数610的“有风险的”部分增加。
如下文将描述的,隶属函数区域、密钥模式尝试计数和密钥模式输入段被用于确定隶属值。
加噪生成器318通过基于隶属函数610、密钥模式尝试计数、密钥模式时间段和规则表710计算隶属值来对密钥模式140加噪。密钥模式尝试计数和密钥模式时间段被用于确定沿着隶属函数610的何处隶属值被选择。在一个示例中,加噪生成器318利用规则来确定沿着隶属函数510选择隶属值的地点。
图7图示了规则表710。规则表710定义了在确定隶属值时所利用的规则。规则表710包括定义规则表710的规则(或语句)720的一个或多个阈值。规则720包括基于密钥模式尝试计数阈值和密钥模式时间段阈值的六个语句。规则720对应于风险因素。此外,规则720对应于隶属函数610的区域。风险因素与未授权方试图破坏对应的块设备的密钥模式和/或加密的可能性相关联。
规则表710将密钥模式尝试计数分类为“真正的”、“公平的”、“可疑的”或“有风险的”。例如,密钥模式尝试次数阈值被用于将密钥模式尝试次数分类为“真正的”、“公平的”、“可疑的”或“有风险的”。虽然规则表710示出了四个类别,但在其他示例中,多于或少于四个类别可以被利用。此外,类别的数目可以是可变的。例如,数字类别的数目基于密钥模式尝试计数和/或密钥模式时间段而变化。在一个示例中,类别的数目可以由用户和/或应用选择。
如规则表710所示,两个不同的密钥模式尝试计数阈值和密钥模式时间段阈值被用于定义规则表的分类。在其他示例中,多于或少于两个密钥模式尝试计数阈值可以被用于生成规则。此外,多于或少于一个密钥模式时间段阈值可以被用于定义规则。此外,密钥模式尝试计数阈值的数目和/或密钥模式时间段阈值的数目是可变的。例如,可以由用户和/或应用定义密钥模式尝试计数阈值的数目和/或密钥模式时间段阈值的数目。
在规则表710中,第一密钥模式计数阈值为“M”,第二密钥模式计数阈值为“N”。M和N是大于或等于1的整数。此外,N大于M。因此,小于或等于第一密钥模式计数阈值的密钥模式计数被分配给规则720a(例如,公平的)或720b(例如,真正的)。大于第一密钥模式计数阈值且小于或等于第二密钥模式计数阈值的密钥模式计数被分配给规则720c(例如,可疑的)或720d(例如,公平的)。大于第二密钥模式计数阈值的密钥模式计数被分配给规则720e(有风险的)或720f(可疑的)。在其他示例中,密钥模式计数和密钥模式计数阈值之间的其他关系可以被用于将密钥计数与对应的规则相关联。
在规则表710中,密钥模式时间段阈值为“K”。K是大于或等于一的整数。因此,小于或等于密钥模式时间段阈值的密钥模式时间段与规则720a、720c或720e相关联。大于密钥模式时间段阈值的密钥模式时间段与规则720b、720d或720f相关联。在另一示例中,密钥模式时间段和密钥模式时间段阈值之间的其他关系可以被用于将密钥模式时间段与相应的规则相关联。
加噪生成器318利用密钥模式计数阈值和密钥模式时间段阈值来确定与密钥模式计数和密钥模式时间段相关联的规则720。例如,当密钥模式计数小于或等于第一密钥模式计数阈值(例如,小于或等于M),并且当密钥模式时间段小于或等于密钥模式时间段阈值(例如,小于或等于K)时,规则720a被确定。在另一示例中,基于大于第二密钥模式计数阈值(例如,大于N)的密钥模式计数,并且密钥模式时间段大于密钥模式时间段阈值(例如,大于K),规则720f被确定。
在一个示例中,第一密钥模式计数阈值为五,第二密钥模式计数阈值为十,并且密钥模式时间段阈值为十。此外,密钥模式计数为五,密钥模式时间段为十五分钟。在这种示例中,密钥模式计数对应于规则720a或720b。例如,密钥模式计数对应于隶属函数610的“公平的”或“真正的”区域。十五分钟的密钥模式时间段超过密钥模式时间段阈值,并且规则720b、720d或720e与密钥模式相关联。因此,对于十五分钟的密钥模式时间段和五的密钥模式计数,规则720b与密钥模式相关联。因此,与规则720b相关联的隶属函数610的区域被选择以确定隶属函数。例如,规则720b与隶属函数610的“真正的”区域相关联。因此,隶属函数610的“真正的”区域用于确定隶属值。因此,0.27的隶属值被确定。例如,沿X轴的密钥模式尝试次数与隶属函数610的真正的区域的交点被确定。沿Y轴对应于交点的隶属值被确定为隶属值。
在另一示例中,针对第一密钥模式计数阈值为五,第二密钥模式计数阈值为十,密钥模式时间段阈值为十,密钥模式计数为五,以及密钥模式时间段为九,规则720a与密钥模式相关联。因此,由于隶属函数610的“公平的”区域对应于规则720a,所以隶属函数610的“公平的”区域被用于确定隶属度值,而不是如先前示例中所描述的“真正的”区域。因此,隶属函数和密钥模式计数值(例如,五)之间的交点沿着隶属函数的“公平的”区域,并且隶属值小于0.27。
在540处,生成含噪密钥模式包括还包括第二隶属值被确定。第二隶属值是基于图8的密钥模式强度参数和隶属函数800而被确定的。隶属函数包括三个区域,例如低、中和高。区域的数量可以少于或多于三个。此外,被用于标识区域的标签可能与图8中的标签不同。隶属函数包括一个或多个梯形函数、一个或多个三角函数和/或一个或多个高斯函数。隶属度函数800的X轴对应于密钥模式强度值,Y轴对应于隶属值。密钥模式强度值从Y轴沿X轴增加。隶属值在0.01到0.99的范围内,从X轴沿Y轴增加。在其他示例中,隶属值可以具有其他范围。
如图8所示,隶属函数包括一个梯形函数和两个三角函数。密钥模式强度参数与隶属函数的区域相关联以确定对应的隶属值。在一个示例中,密钥模式强度参数对应于密钥模式140中的多个一,例如随机值。在其他示例中,密钥模式140的其他参数可以用于确定密钥模式强度参数。
在一个示例中,密钥模式中的一的数量是四十八。在这种示例中,密钥模式强度是四十八,对应于中区域。因此,隶属值对应于四十八与隶属函数800相交的位置。例如,四十八与隶属函数800在中区域相交并且具有0.53的对应的隶属值。
在一个示例中,密钥模式强度参数对应于隶属函数800的另外两个区域。在这种示例中,针对密钥模式强度和隶属函数之间的每个交点的隶属值被确定。最高的隶属值被选择作为密钥模式强度的隶属值。
在550处,最终隶属值被确定。基于在530处所确定的隶属值和在540处所确定的隶属值来确定最终隶属值。加噪生成器318基于在530处所确定的隶属值FO与在540处所确定的隶属值FC之间的差异来计算最终隶属值(R)。例如,根据以下R被确定:
R=|(FO-FC)| 方程1
针对值为0.27的FO和值为0.53的FC,R=|(0.27-0.53)|或0.26。在另一个示例中,最终隶属值R是基于FO和FC以及随机数FR而被确定的。在这种示例中,加噪生成器318的或加噪生成器318外部的随机数生成器基于密钥模式输入时间段和/或硬件噪声等生成随机数FR。在一个示例中,FR的值介于0.01和0.99之间。在其他示例中,FR的值可能超过0.99。此外,最终隶属值R是根据以下而确定的:
R=|(FO*FC)-FR| 方程2
针对值为0.27的FO、值为0.53的FC和值为0.65的FR,R=|(0.27*0.53)-0.65|或0.5。
在560处,基于最终隶属值对密钥模式进行加噪。例如,加噪生成器318通过基于最终隶属值在输出隶属函数的各个位置处切换密钥模式140的一位或多位来对密钥模式140进行加噪。输出隶属函数包括一个或多个梯形函数、一个或多个三角函数和/或一个或多个高斯函数。例如,图9图示了示例输出隶属函数900。输出隶属函数900包括十个三角函数。在其他示例中,输出隶属函数900包括多于或少于十个三角函数。X轴对应于密钥模式的位,Y轴对应于最终隶属值。密钥模式位的位沿轴均匀分布并且在输出隶属函数之上,使得第一位,位1沿Y轴和X轴的交点,以及最后一位,位L,对应于输出隶属函数900的终点。
基于一个或多个规则,用于对密钥模式进行加噪的输出函数的(多个)部分被选择。例如,要切换的密钥模式140的位取决于图10的规则表1000。规则表1000被存储为存储器340的知识库342的一部分。
基于密钥尝试计数的分类和密钥模式强度的分类,规则表1000被应用。如上所述,密钥尝试计数的分类是关于生成图5的530的隶属值(例如隶属值FC)而被确定的。此外,密钥模式强度的分类是关于生成图5的540的隶属值(例如,隶属值F0)而被确定。
规则表1000包括用于从规则1030中选择规则的分类1010和分类1020。分类1010对应于图6的隶属函数600的区域,而分类1020对应于图8的隶属函数800的区域。规则表1000图示了规则1030与分类1010和分类1020之间的示例关联。在其他示例中,其他关联可以被利用。例如,如图8所示,分类1010的分类“真正的”与从隶属函数的输出左侧的两个输出隶属函数区域、从输出隶属函数中间的隶属函数的输出的三个区域、以及隶属函数输出从右侧的四个区域相关联。此外,分类1020的分类“低”与从隶属函数的输出的左侧的输出隶属函数的两个区域、从隶属函数的输出的左侧的四个输出隶属函数区域、从隶属函数的输出的左侧的输出隶属函数的六个区域、从隶属函数输出的左侧的输出隶属函数的八个区域相关联。然而,在其他示例中,来自规则表1000所示的定义规则的其他关联可以被利用。例如,定义规则的关联可以由用户和/或应用定义。在一个示例中,关联因密钥模式不同而不同。此外,虽然在规则表1000中使用了标签“真正的”、“公平的”、“可疑的”、“有风险的”、“低”、“中”和“高”,但在其他示例中其他标签可以被利用。此外,图示的标签并不意在限制本公开的范围。
在一个示例中,例如,如方法500的530所描述的,分类1010被确定为“真正的”,并且如方法500的540所描述的,分类1020被确定为“中”。在方法500的530和540期间所确定的分类(例如,规则)被存储在存储器340内。因此,在输出隶属函数900中间的输出隶属函数900的三个区域被选择。例如,输出隶属函数900的三角形4、5和6被选择以确定密钥模式140的哪些位被加噪(例如,被转换)。
此外,基于最终隶属值(例如,隶属值R),要被加噪的密钥模式140的位被选择。密钥模式140的位对应在最终隶属值和输出隶属函数900之间的交点。例如,图9图示了对应于0.26的最终隶属值的线910。线910与输出隶属函数900的选定区域之间的交点对应于密钥模式140的要被加噪(例如,被转换)的位。如图9所示,对密钥模式140的位920加噪以生成含噪密钥模式142。通过调整位920的值来对位920加噪。例如,切换位包括切换(例如,调整)具有值0到值1的位和具有值1到值0的位。在其他示例中,位在不同值之间被切换。
进一步参考图5,在方法500的560处,含噪密钥模式142和含噪隶属值从加噪发生器318向去噪引擎322传送。例如,含噪隶属值作为图11的共享知识1100的一部分与含噪密钥模式142一起由加噪生成器318向去噪引擎322传送。在图11的示例中,共享知识1100是八位。然而,在其他示例中,共享知识1100可以多于或少于八位。含噪隶属值(R值)被编码在共享知识1100的一个或多个位1110中。例如,共享知识1100可以包括八位并且R值被编码在共享知识1100的低七位中。共享知识1100还包括原始密钥模式140的校验和1120。
共享知识1100在被加噪生成器318发送到去噪引擎322之前附加有含噪密钥模式142。最终隶属值在被通过加噪生成器318附加(添加)到含噪密钥模式142之前被转换成十六进制形式。在一个示例中,小数点被忽略并且0.26被转换为共享知识1100中的十六进制26。
校验和1120是密钥模式140的位的校验和。例如,校验和1120是共享知识1100的最高位。在一个示例中,通过对密钥模式140的位执行异或(XOR)运算来计算校验和。此外,随着密钥模式中的偶数位位置被切换,密钥模式的校验和或XOR值是不变的。
进一步参考图5,在方法500的570处,基于最终隶属值对含噪密钥模式去噪以生成去噪密钥模式。例如,去噪引擎322使用共享知识1100的最终隶属值、图12的去噪隶属函数1200、和图13的规则表1300对含噪密钥模式142去噪。去噪隶属函数1200和规则表1300被存储在存储器330的知识库332中。去噪隶属函数1200是输出隶属函数900的转化。在一个示例中,去噪隶属函数1200与输出隶属函数900相同。
在一个示例中,知识库342和332是基于Shamir的秘密共享。在其他示例中,知识库是基于其他秘密共享技术。
为了对含噪密钥模式142去噪,去噪引擎322以与在去噪处理期间所利用的方式类似的方式来切换去噪密钥模式144的位。例如,与线1210和去噪隶属函数1200之间的交点相关联的密钥模式142的位被去噪(例如,被切换)。线1210对应于共享知识的含噪隶属值(例如,0.26的含噪隶属值)。含噪密钥模式142的被选择的位1220与线1210和去噪隶属函数1200之间的交点相关联,并且由去噪引擎122去噪(例如,被切换)以生成去噪密钥模式144。此外,被选择的位1220是根据基于规则表1300所选择的去噪隶属函数1200的一个区域。
规则表1300包括由最终隶属值范围1320所定义的三个规则1310。在其他示例中,多于或少于三个规则和/或多于或少于三个最终隶属值范围。此外,最终隶属值范围1320和规则1310之间的关联可能不同于规则表1300所示的那些。在一个或多个示例中,最终隶属值范围1320的范围不同于如图13所示的范围。
如图12所示,被选择的位1220对应于线1210与去噪隶属函数1200的“低”区域的交点。基于规则1310和最终隶属值范围1320,“低”区域被选择。被选择的位1220由去噪引擎322加噪(例如,被切换)以生成去噪密钥模式144。此外,去噪引擎322可以利用校验和1120来验证去噪密钥模式144的完整性。在一个示例中,含噪密钥的校验和被添加到去噪引擎322所发送的共享知识。校验和可以通过对密钥模式140的位值执行XOR处理而被创建。在一个示例中,在去噪期间中,偶数位被切换。因此,在生成去噪密钥模式时校验和不会变化。校验和被用于验证去噪密钥模式144。在一个示例中,基于加噪引擎110所提供的校验和,校验和函数被去噪引擎322使用以确定去噪密钥模式144的有效性。
去噪密钥模式144被用于加密或解密块设备(例如,块设备130)。例如,去噪密钥模式144被向加密/解密引擎124传送以加密或解密块设备130。一旦块设备130被解密,块设备130就可以被用户或应用(例如,图2的用户-空间应用212)访问。
图14图示了计算机系统1400的示例机器,其中一组指令被执行,用于引起机器执行本文所讨论的任何一项或多项方法。在备选的实现中,机器可以被连接(例如,被联网)到LAN、内联网、外联网和/或因特网中的其他机器。机器可以在客户端-服务器网络环境中以服务器或客户端机器的容量运行,作为在点对点(或分布式)网络环境中作为点对点机器,或作为云计算基础设施或环境中的服务器或客户端机器。
机器可以是个人计算机(PC)、平板电脑、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥,或任何能够(顺序地或其他的)执行一组指令的机器,这些指令指定机器要采取的动作。此外,虽然单个机器被示出,但术语“机器”也应被认为包括单独或联合执行一组(或多组)指令以执行本文中所讨论的任何一项或多项方法的机器的任何集合。
示例计算机系统1400包括处理设备1402、主存储器1404(例如,只读存储器(ROM)、闪存、动态随机存取存储器(DRAM)(诸如同步DRAM(SDRAM))、静态存储器1406(例如,闪存、静态随机存取存储器(SRAM)等),以及数据存储设备1418,它们通过总线1430相互通信。
处理设备1402表示一个或多个处理器,诸如微处理器、中央处理单元等。更具体地,处理设备可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实现其他指令集的处理器,或实现指令集组合的处理器。处理设备1402也可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备1402可以被配置为执行指令1426以执行本文所描述的操作和步骤。
计算机系统1400还可以包括网络接口设备1408以通过网络1420进行通信。计算机系统1400还可以包括视频显示单元1410(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备1412(例如键盘)、光标控制设备1414(例如鼠标)、图形处理单元1422、信号生成设备1416(例如扬声器)、图形处理单元1422、视频处理单元1428和音频处理单元1432。
数据存储设备1418可以包括机器可读存储介质1424(也被称为非暂态计算机可读介质),其上存储了一组或多组指令1426或体现本文所描述的任何一种或多种方法或功能的软件。指令1426还可以在其由计算机系统1400执行期间完全地或至少部分地驻留在主存储器1404和/或处理设备1402内,主存储器1404和处理设备1402也构成机器可读存储介质。
在一些实现中,指令1426包括用于实现与本公开相对应的功能的指令。虽然机器可读存储介质1424在示例实现中被示为单个介质,但术语“机器可读存储介质”应被视为包括单个介质或多个介质(例如,集中式或分布式数据库,和/或相关的高速缓存和服务器),其存储一组或多组指令。术语“机器可读存储介质”还应当被认为包括能够存储或编码一组由机器执行的指令并且使机器和处理设备1402执行本公开的方法的任何一项或多项指令的任何介质。因此,术语“机器可读存储介质”应被理解为包括但不限于固态存储器、光学介质和磁介质。
前述具体实施方式的某些部分已经根据对计算机存储器内的数据位的操作的算法和符号表示而被呈现。这些算法描述和表示是数据处理领域的技术人员用来最有效地向本领域的其他技术人员传达他们工作的实质的方式。算法可以是导致期望结果的一系列操作。这些操作是那些需要对物理量进行物理操作的操作。这些量可以采用能够被存储、组合、比较和以其他方式操纵的电或磁信号的形式。这种信号可以被称为位、值、元素、符号、字符、术语、数字等。
然而,应该记住,所有这些和类似的术语都与适当的物理量相关联,并且只是应用于这些量的方便标签。除非从本公开内容中清楚地另有说明,否则应理解,在整个描述中,某些术语是指计算机系统或类似电子计算设备的动作和过程,将在计算机系统的寄存器和存储器中表示为物理(电子)量的数据操作和转换为在计算机系统存储器或寄存器或其他这种信息存储设备中类似地表示为物理量的其他数据。
本公开还涉及一种用于执行本文的操作的装置。该装置可以为预期目的而专门构造,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的计算机。这种计算机程序可以被存储在计算机可读存储介质中,诸如,但不限于任何类型的磁盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或任何类型的适合存储电子指令的介质,每个都被耦合到计算机系统总线。
本文所呈现的算法和显示与任何特定的计算机或其他设备没有本质的关系。各种其他系统可以被与根据本文所教导的程序一起使用,或者可以证明是方便的构造更专门的装置来执行该方法。此外,本公开没有参照任何特定的编程语言进行而被描述。应当理解,可以使用多种编程语言来实现如本文所述的本公开的教导。
本公开可以作为计算机程序产品或软件而被提供,其可以包括其上存储有指令的机器可读介质,所述指令可以被用于对计算机系统(或其他电子设备)进行编程以执行根据本公开的过程。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质,诸如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备等。
在上述公开中,本公开的实现已经参考本公开的特定的示例实现被描述。很明显,在不脱离所附权利要求中所阐述的本公开的实现的更广泛精神和范围的情况下,可以对其进行各种修改。在本公开以单数时态指代某些元素的情况下,可以在图中描绘多于一个元素并且相似元素被用相似符号标记。因此,本公开和附图被认为是说明性的而不是限制性的。
Claims (20)
1.一种密码系统,包括:
加噪电路系统,被配置为:
接收密钥模式;
基于一个或多个输入参数和第一知识库确定最终隶属值;以及
基于所述密钥模式和所述最终隶属值生成含噪密钥模式;以及
去噪电路系统,被配置为:
接收所述含噪密钥模式和所述最终隶属值;以及
基于所述含噪密钥模式、所述最终隶属值和第二知识库生成去噪密钥模式。
2.根据权利要求1所述的密码系统,其中所述加噪电路系统还被配置为:从应用或所述密码系统的输入接收所述密钥模式。
3.根据权利要求1所述的密码系统,还包括:加密/解密引擎,所述加密/解密引擎被配置为:向经加密的块设备传送所述去噪密钥模式。
4.根据权利要求1所述的密码系统,其中所述加噪电路系统还被配置为:向所述去噪电路系统传送共享知识,所述共享知识包括所述最终隶属值和所述密钥模式的校验和。
5.根据权利要求1所述的密码系统,其中所述一个或多个输入参数包括从由以下各项组成的组中选择的至少一项:密钥模式尝试计数、密钥模式时间段和密钥模式强度。
6.根据权利要求5所述的密码系统,其中所述加噪电路系统被配置为通过以下生成所述最终隶属值:
基于所述密钥模式尝试计数和所述密钥模式时间段确定第一隶属值,以及基于所述密钥模式强度确定第二隶属值,以及
确定在所述第一隶属值和所述第二隶属值之间的差异。
7.根据权利要求6所述的密码系统,还包括:基于所述最终隶属值来切换所述密钥模式的一个或多个位。
8.根据权利要求1所述的密码系统,其中所述第一知识库包括第一隶属函数,所述第一隶属函数具有与三角函数、梯形函数和高斯函数中的一个或多个函数相对应的形状,并且其中所述第二知识库包括第二隶属函数,所述第二隶属函数具有与三角函数、梯形函数和高斯函数中的一个或多个函数相对应的形状。
9.一种用于传送密钥模式的方法,所述方法包括:
在加噪引擎处接收所述密钥模式;
基于一个或多个输入参数和第一知识库确定最终隶属值,
基于所述密钥模式和所述最终隶属值生成含噪密钥模式;
从所述加噪引擎向去噪引擎传送所述含噪密钥模式和所述最终隶属值;以及
在所述去噪引擎处,基于所述含噪密钥模式、所述最终隶属值和第二知识库生成去噪密钥模式。
10.根据权利要求9所述的方法,还包括:基于所述去噪密钥模式解密经加密的存储器块。
11.根据权利要求9所述的方法,其中所述一个或多个输入参数包括从由以下各项组成的组中选择的至少一项:密钥模式输入计数、密钥模式时间段和密钥模式强度。
12.根据权利要求11所述的方法,其中确定所述最终隶属值包括:
基于所述密钥模式计数、密钥模式时间段和所述第一知识库的第一隶属函数来确定第一隶属值;
基于所述密钥模式强度和所述第一知识库的第二隶属函数来确定第二隶属值;以及
确定在所述第一隶属值和所述第二隶属值之间的差异。
13.根据权利要求12所述的方法,其中生成所述含噪密钥模式还包括:基于所述最终隶属值、第三隶属函数和第一一个或多个规则来切换所述密钥模式的一个或多个位。
14.根据权利要求13所述的方法,其中生成所述去噪密钥模式还包括:基于所述最终隶属值、第四隶属函数和第二一个或多个规则来切换所述含噪密钥模式的一个或多个位。
15.根据权利要求14所述的方法,其中,所述第三隶属函数的形状不同于所述第四隶属函数的形状,并且所述第一一个或多个规则不同于所述第二一个或多个规则。
16.一种非暂态计算机可读介质,包括存储的指令,所述指令当由处理器执行时,引起所述处理器:
接收密钥模式;
基于一个或多个输入参数和第一知识库确定最终隶属值,
基于所述密钥模式和所述最终隶属值生成含噪密钥模式;
传送所述含噪密钥模式和所述最终隶属值;
基于所述含噪密钥模式、所述最终隶属值和第二知识库生成去噪密钥模式;以及
基于所述去噪密钥模式加密经加密的存储器块。
17.根据权利要求16所述的非暂态计算机可读介质,其中所述一个或多个输入参数包括从由以下各项组成的组中选择的至少一项:密钥模式输入计数、密钥模式时间段和密钥模式强度。
18.根据权利要求17所述的非暂态计算机可读介质,其中确定所述最终隶属值包括:
基于所述密钥模式计数、密钥模式时间段和所述第一知识库的第一隶属函数来确定第一隶属值;
基于所述密钥模式强度和所述第一知识库的第二隶属函数来确定第二隶属值;以及
确定在所述第一隶属值和所述第二隶属值之间的差异。
19.根据权利要求18所述的非暂态计算机可读介质,其中生成所述含噪密钥模式还包括:基于最终隶属值、第三隶属函数和第一一个或多个规则来切换所述密钥模式的一个或多个位,以及其中生成所述去噪密钥模式还包括:基于所述最终隶属值、第四隶属函数和第二一个或多个规则来切换所述含噪密钥模式的一个或多个位。
20.根据权利要求16所述的非暂态计算机可读介质,其中传送所述含噪密钥模式和所述最终隶属值包括传送共享知识,所述共享知识包括所述最终隶属值和在所述密钥模式内相关联的校验和,并且其中所述处理器还被配置为基于所述校验和来确认所述去噪密钥的有效性。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063051048P | 2020-07-13 | 2020-07-13 | |
US63/051,048 | 2020-07-13 | ||
US17/328,723 US20220014366A1 (en) | 2020-07-13 | 2021-05-24 | Key protection using a noising and de-noising scheme |
US17/328,723 | 2021-05-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113935048A true CN113935048A (zh) | 2022-01-14 |
Family
ID=79173456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110778177.4A Pending CN113935048A (zh) | 2020-07-13 | 2021-07-09 | 使用加噪和去噪方案的密钥保护 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220014366A1 (zh) |
CN (1) | CN113935048A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230259618A1 (en) * | 2022-02-16 | 2023-08-17 | Nxp B.V. | Method and device for detecting a profiling attack |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0322876D0 (en) * | 2003-09-30 | 2003-10-29 | British Telecomm | Method and system for authenticating a user |
JP2008530663A (ja) * | 2005-02-11 | 2008-08-07 | ユニバーサル データ プロテクション コーポレーション | マイクロプロセッサのデータセキュリティの方法およびシステム |
US8600055B2 (en) * | 2010-12-17 | 2013-12-03 | Raytheon Company | Method and system using stealth noise modulation |
US8712044B2 (en) * | 2012-06-29 | 2014-04-29 | Dark Matter Labs Inc. | Key management system |
US10013363B2 (en) * | 2015-02-09 | 2018-07-03 | Honeywell International Inc. | Encryption using entropy-based key derivation |
EP3262514B1 (en) * | 2015-09-14 | 2020-07-29 | Hewlett-Packard Enterprise Development LP | Secure memory systems |
US11457001B2 (en) * | 2016-04-28 | 2022-09-27 | Arnold G. Reinhold | System and method for securely encrypting data |
US11218324B2 (en) * | 2018-04-05 | 2022-01-04 | Ares Technologies, Inc. | Systems and methods authenticating a digitally signed assertion using verified evaluators |
US20210272121A1 (en) * | 2018-07-11 | 2021-09-02 | Visa International Service Association | Privacy-preserving graph compression with automated fuzzy variable detection |
US20220012672A1 (en) * | 2019-02-08 | 2022-01-13 | My Job Matcher, Inc. D/B/A Job.Com | Systems and methods for score genration for applicant tracking |
JP7273742B2 (ja) * | 2020-02-07 | 2023-05-15 | 株式会社東芝 | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム |
US20210383264A1 (en) * | 2020-06-08 | 2021-12-09 | University Of Louisiana At Lafayette | Method and Architecture for Fuzzy-Logic Using Unary Processing |
-
2021
- 2021-05-24 US US17/328,723 patent/US20220014366A1/en active Pending
- 2021-07-09 CN CN202110778177.4A patent/CN113935048A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220014366A1 (en) | 2022-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669637B2 (en) | Decentralized token table generation | |
CN102138300B (zh) | 消息认证码预计算在安全存储器中的应用 | |
US20210034788A1 (en) | Secure Collaboration Between Processors And Processing Accelerators In Enclaves | |
US10146701B2 (en) | Address-dependent key generation with a substitution-permutation network | |
US11556630B2 (en) | Private password constraint validation | |
US11824967B2 (en) | Electronic device using homomorphic encryption and encrypted data processing method thereof | |
CN111027632A (zh) | 一种模型训练方法、装置及设备 | |
US20200204357A1 (en) | Obtaining quorum approval to perform an operation with a cryptographic item of a key management system | |
US11461477B1 (en) | Obfuscation for high-performance computing systems | |
US11711213B2 (en) | Master key escrow process | |
US20210390047A1 (en) | Method for ai model transferring with address randomization | |
KR20210056049A (ko) | Kms 및 hsm를 함께 이용하는 보안 시스템 및 그 동작 방법 | |
CN107659402A (zh) | 一种数字加密货币的交易数据签名方法、装置及介质 | |
AU2011327986A1 (en) | Protection against passive sniffing | |
WO2022257411A1 (zh) | 一种数据处理方法及装置 | |
CN116488814A (zh) | 一种基于fpga的数据加密的安全计算方法 | |
US20210350264A1 (en) | Method for obfuscated ai model training for data processing accelerators | |
CN113935048A (zh) | 使用加噪和去噪方案的密钥保护 | |
US11657332B2 (en) | Method for AI model transferring with layer randomization | |
EP3475825A1 (en) | Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks | |
US11556859B2 (en) | Method for al model transferring with layer and memory randomization | |
US20240111842A1 (en) | License authentication method and apparatus, electronic device, system, and storage medium | |
CN115348019A (zh) | 一种数据处理方法及装置、存储介质及电子设备 | |
CN114374519A (zh) | 一种数据传输的方法、系统及设备 | |
CN117768099A (zh) | 一种数据处理方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |