CN104704501A - 在计算机系统中安全生成和存储密码 - Google Patents
在计算机系统中安全生成和存储密码 Download PDFInfo
- Publication number
- CN104704501A CN104704501A CN201380053100.4A CN201380053100A CN104704501A CN 104704501 A CN104704501 A CN 104704501A CN 201380053100 A CN201380053100 A CN 201380053100A CN 104704501 A CN104704501 A CN 104704501A
- Authority
- CN
- China
- Prior art keywords
- string
- processor
- encryption
- password
- local configuration
- 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.)
- Granted
Links
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/32—Cryptographic 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/3236—Cryptographic 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/3242—Cryptographic 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
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
公开了用于保护密码的方法和系统。根据本发明的一个方面,处理器选择一组本地配置数据。这可以包括与本地配置数据相关联的一个或多个串。处理器串接该组本地配置数据,并计算串接的数据的哈希值。处理器通过使用哈希值作为密钥对密码加密来生成加密的串。然后,处理器将加密的串编码为软件程序中的串。当第一计算机系统需要密码来访问第二计算机系统时,逆转这些步骤,获得该密码,并且第一计算机系统访问第二计算机系统。
Description
相关案件声明
本申请要求于2012年8月13日提交的美国临时专利申请序列号第61/652,235号的优先权和权益,其在此通过引用被整体并入。
背景
保护密码和其他信息对于保护计算机的安全来说是重要的。密码是对针对计算机系统的有害入侵的关键防御。丢失密码(通常通过黑客行为),以及所造成的安全信息丢失通常是灾难性的,因为可能丢失重要且高度敏感的数据。
密码安全性问题即使在计算机系统交互时也存在。在这些情况下,访问第二计算机系统的第一计算机系统也必须通过密码访问第二计算机系统。
当第一系统自动地访问第二系统时,密码(或其他认证信息,在此简称为密码)可能需要存储在第一计算机系统中,而不是由人输入。这通常增加这些密码可能被访问包含这样的密码的可执行软件或配置文件的任何人获取的风险。
为了降低这种风险,需要新的和改进的生成、存储和访问密码的系统和方法。
发明内容
本发明使用本地配置数据、数据串接(data concatenation)、哈希函数和加密来处理密码以保护密码。该信息可以存储在第一计算机设备上。该信息可以作为软件应用存储在第一计算机设备上的存储器中。该信息还可以存储在第一计算机设备上的存储器中的配置文件中。当第一计算设备需要访问第二计算设备时,第一计算设备逆转该过程来获得密码。
本发明的一个方面是一种保护密码的方法。处理器在存储器中的指令集的控制下选择一组本地配置数据,串接该组本地配置数据,并计算串接数据的哈希值。处理器通过使用哈希值作为密钥来对密码加密以生成加密的串,然后将加密的串编码为软件程序中的串。
根据本发明进一步的方面,计算SHA-256哈希值。也可以计算其他哈希值。
根据本发明进一步的方面,可以使用AES-256密钥来执行加密步骤。
加密步骤还可以使用ECB模式或计数器模式(Counter Mode)。还可以使用其他的密钥大小、加密方法或加密模式。
根据本发明的另一方面,编码步骤使用Base 64来执行编码步骤,尽管在此步骤也可以使用其他的编码过程,或不使用任何编码过程。
本地配置数据可以使用不同的信息和不同的过程构建。根据本发明的一个实施例,使用来自处理器的CPUID指令生成本地配置数据。根据本发明的另一个实施例,使用来自网络接口卡的48位MAC地址生成本地配置数据。在进一步的实施例中,使用来自操作系统的软件许可号生成本地配置数据。在又一实施例中,使用来自与处理器连接的外围设备的型号和序列号生成本地配置数据。这些本地配置数据也可以结合起来使用。
根据本发明进一步的方面,处理器在其计算机系统想要访问另一计算机系统时还执行以下步骤。当它需要重建密码时,处理器解码加密的串以得到二进制密文,获得该组本地配置数据,并计算哈希值以获得重建的密钥,然后使用重建的密钥解密该二进制密文以获得密码。然后,处理器使用密码访问计算机系统。
在已经重建密码后,处理器优选地破坏重建的密钥。在本发明的一个实施例中,处理器擦除存储器中重建的密钥。在本发明的另一实施例中,处理器改写存储器中重建的密钥以破坏重建的密钥。
本发明还考虑一种用于保护密码的系统。该系统是具有存储指令集的存储器和与存储器中的指令集通信的处理器的计算机系统。指令集能操作来使得处理器:选择一组本地配置数据;串接该组本地配置数据,并计算串接的数据的哈希值;通过使用作为密钥的哈希值对密码加密来生成加密的串;以及对加密的密码编码,并将加密的密码存储在存储器中。
在本发明的一个实施例中,在软件应用中对加密的密码编码。在本发明的另一实施例中,将加密的密码存储在配置文件中。
一段时间后,当处理器需要访问密码时,它对加密的串解码以得到二进制密文,获得该组本地配置数据,并计算哈希值以获得重建的密钥,使用重建的密钥解密二进制密文以获得密码,并使用密码访问第二计算机。
附图说明
图1图示根据本发明一方面的将密码存储在软件应用中。
图2图示根据本发明一方面的将密码存储在配置文件中。
图3图示根据本发明一方面的通过SSL或通过TLS保护的密码提交。
图4图示根据本发明一方面的在配置文件中的受保护的密码。
图5图示根据本发明一方面的混乱的密码。
图6图示根据本发明一方面的通过本地配置数据保护的密码。
图7图示根据本发明一方面的在创建和保护密码中的步骤。
图8图示根据本发明一方面的在解码密码中的步骤。
图9图示根据本发明一方面的系统。
具体实施方式
本发明的目的是提供增强对密码和其他秘密对称密钥、私人密钥或认证数据的保护的方法和系统。密码可以存储在软件中,如图1所示。在此情形中,密码可以加密成作为文件、软件应用或其他软件程序的部分存储的串。密码还可以存储在配置文件中,如图2所示。
以这种方式存储的密码容易受到严重威胁。攻击者可以访问、复制和分析存储在本地介质中的软件可执行文件或配置文件。由于内部攻击、访问存储在别处的软件或配置文件的备份拷贝、或保护软件或配置文件的访问控制中的空隙,这是可能发生的。
攻击者可以访问、复制和分析存储在远程介质中(例如,在分布式计算或云计算配置中)的软件可执行文件或配置文件。
攻击者可以访问、复制和分析作为在主存储器中或分页设备上运行过程的映像的软件。
攻击者可以访问、复制和分析在系统故障后写入的软件的副本,或通过旁路攻击(side channel attack)获得的或在已经关闭电力后在包括DRAM的存储设备中找到的软件的全部或部分副本。
一般地说,本发明中描述的模型假设攻击者可能不在使用密码的操作期间访问、复制或跟踪运行的软件。而且,攻击者可能不在从第一系统发送密码到第二系统时简单地窃取该密码。
存在用于保护密码的方法。方法可以提供用于(1)控制对软件可执行文件和配置文件的访问(参见图4);或(2)代码混乱以使得逆向工程软件和提取密码或其他秘密信息困难(参见图5)。此外,如图3所示,根据本发明的一方面,可以通过SSL或使用TLS保护密码提交。而且,如图6所示,可以在配置文件内保护密码。可以使用这些措施,但它们优选地与本发明结合使用,因为尽管它们可能是有帮助的,但它们可能不是在所有的情形中充分的。当然,可以对密码加密,但这可能只是将问题从保护密码转移到保护解密密钥。
然而,攻击者可以在不完全访问第一系统或不完全知道软件如何工作的情况下,成功获得软件可执行文件或配置文件。而且,在某些情况下,攻击者可能受限只能一次性访问第一系统,并且不能再次入侵来获得额外的信息。
除了使用访问控制和混乱方法(无论哪个可用)之外,本发明使得访问存储在第一系统的软件或配置文件中的密码(或其他秘密认证数据)依赖于其他系统参数,其他系统参数对攻击者来说可能不可用或者具有有限访问权限的攻击者未能获得或不能获得。
当软件第一次安装时,或者当密码改变时,需要一些系统管理操作将密码或其他秘密认证信息插入本地系统。如果,根据本发明的一方面,该信息以安全的方式依赖于攻击者可能不具有的本地配置数据,那么单独拥有软件和配置文件的副本对获得密码或秘密认证信息来说可能是无用的,另外,在别处运行软件将不允许重建、提取或使用正确的密码或秘密认证信息。
本发明所面对的挑战是找到一些固定不变的、可重复的但不容易猜出并且不存储在应用软件或其配置文件中的对于本地配置特定的信息。一些候选如下:
来自英特尔和AMD的现代CPU具有CPUID指令。通过重复设定参数的若干值并执行该指令,获得信息阵列,其虽然不唯一但难以准确猜出。
网络接口卡具有全球唯一的48位MAC地址。在LAN上的数据通信暴露该地址,但与其他网络的路由通信并不如此。
操作系统软件可能具有可以被访问的软件许可号。
外围设备,如硬盘,可能有通过软件可访问的型号和序列号或配置信息(如中断向量、地址或优先级)。
专用硬件可以包括对一些恒定输入返回一致但外部不可预测的值的物理随机函数。
除了其他已有的保护之外,还可以使用下面的过程来降低攻击者可以以上述威胁模型提取密码或其他秘密认证数据的可能性。在安装处,当秘密认证信息变化时,或者当本地配置数据变化时,如图7所示,根据本发明的各方面执行下面的步骤:
步骤1-选择一组本地配置数据。可使用上面定义的配置数据。也可以使用其他的配置数据。优选地,选择的本地配置数据最大化可重复的机会并且是不容易可猜出的。
步骤2-串接本地配置数据,并计算串接的数据的哈希。可以根据优选实施例计算SHA-256哈希。还可以使用其他处理本地配置数据的方法,如使用固定且已知的密钥加密数据。
步骤3-使用哈希值作为AES-256密钥来加密密码和其他秘密认证信息。对于少量的秘密认证信息,ECB模式是合适的。对于较大的量,应该使用计数器模式。可以使用其他使用处理的本地配置数据加密密码的方法,例如简单的异或(XOR)操作。
步骤4-将加密的密码存储在存储器中。优选地,在软件中将加密编码为可打印串。编码可以是例如Base64,但也可以使用其他的编码。还优选对该串应用可用且谨慎的混乱。
当需要密码时,如图8所示,优选地通过处理器执行下面的步骤。
步骤1-逆转可打印编码以得到二进制密文。
步骤2-获得本地配置数据,并计算其哈希以重建密钥。安全地擦除(改写)本地配置数据。
步骤3-解密以获得密码或秘密认证信息,并安全地擦除(改写)密钥。如果只需要秘密认证信息的一部分,那么应该只解密密文的对应部分。
步骤4-使用解密的信息,并安全地擦除(改写)它。
根据本发明的一方面,只在需要密码时执行这些步骤。
变化和扩展是可能的。
当需要存储多于一个的密码或多于一种类型的秘密认证信息时,该方法可以容易地被扩展。各个密码或其他秘密数据项应该对齐(aligned),并使用合适的模式加密,使得当需要时可以对它们分开解密。
可以使用不同的哈希函数和加密方法。SHA-2和AES-256是自然吻合,但仅是示例。哈希函数的目的是从本地配置数据中提取均匀伪随机位。如果密码不是太长,那么它可以简单地与哈希函数的输出异或。如果不止一次需要哈希函数,那么可以将计数器串接到本地配置数据。实际上,根本不需要块密码(block cipher),如AES。它仅被包括用于提供伪随机函数。其他类型的随机提取和遮罩(masking)对加密人员来说是熟知的。另一简单的、好的方法是Krawczyk提取和扩展构建。因为这只使用哈希函数,不使用分块密码,所以它可以受到更少的导出限制。(参见http://webee.technion.ac.il/~hugo/kdf/kdf.pdf)
可能难以保证能够精确地重建本地配置数据。可以使用对上面步骤的以下扩展。在安装处,构建错纠错码,使得本地配置数据组成码字。在稍后检索并重建本地配置数据时,应用纠错码,并希望它们解码为原始码字。可以使用额外的冗余来帮助确定该步骤是否成功。如果可以确定本地配置数据已经如何变化,那么可能可以围绕“新的”本地配置数据使纠错码“回到中心位置(re-center)”,以自动重新配置系统,并适配本地配置数据的一系列变化。注意,该添加的冗余可能不是没有代价的。纠错码可以帮助攻击者对本地配置数据实施逆向工程。关于该过程更多的细节,应该参阅有关“模糊提取器”的研究文献。然而,注意的是,在本申请中不需要“鲁棒的模糊提取器”的概念。根据本发明的一方面,这里列表解码可能是好的选择,因为本申请可以容忍多于一次地尝试正确解码。
本地配置数据的各种替代性选择可能存在。安全要求通过最小熵表征。当选择使用什么的时候,应该考虑第一系统的应用和配置。
系统可以具有多于一个的MAC地址,因此需要一种选择一个或甚至是使用多于一个的方法。
Base64或其他编码的原因是为了避免存储容易通过逆向工程搜索找到的随机二进制数据。
不要使得加密太过高效可能是明智的。实际上,人为地将其慢下来可能是有利的。如果攻击者需要100,000,000次猜测来找到本地配置数据,而加密花费1秒,那么系统很安全。如果加密花费1毫秒,那么它要不安全得多。
如果可能,应该通过额外的手段,如SSL-TLS,保护密码从第一系统到第二系统的实际传输。这在图3中示出。当然,SSL-TLS连接需要认证,但不必通过发送密码。
图9图示根据本发明的一方面使用的系统。该系统包括与存储器202通信的处理器200、网络接口卡204、外围设备206和专用硬件208。存储器存储许多不同类型的信息,包括操作系统软件、软件应用和程序以及使得处理器200执行多个步骤的指令集,包括本说明书中描述的和图7和8中示出的那些。存储器202中的软件程序通常具有与它们相关联的、可以用来实现本发明的各方面的配置字,如在本说明书中描述的。
外围设备206包括广泛范围的设备,包括但不限于硬盘驱动器和打印机。这些设备206还具有与它们相关联的、可以用来实现本发明的各方面的配置字,如在本说明书中描述的。同样地,网络接口卡204和专用硬件208也具有与它们相关联的、可以用来实现本发明的各方面的配置字,如在本说明书中描述的。从本质上说,与处理器200连接的、具有任何类型的配置字的任何硬件或软件,都可以用来实现本说明书中描述的本发明的各方面。
当在自动系统中使用密码时,不存在它们有人类的记忆特性或其他这种限制的要求。避免任何这种人为的限制可以加强所述方法。
其他的基于单点登录技术或安全硬件(如,受信任的平台系统)的解决该问题的方法稍微有些不同,并且可能与该方法互补。
虽然已经示出、描述并指出如应用于其优选实施例的本发明的基本的新颖特征,但将理解的是,本领域的技术人员可以在不偏离本发明的精神的情况下对示例方法和系统的细节和形式以及其操作做出各种省略、替换和变化。因此,本发明仅受如权利要求所示的限制。
权利要求书(按照条约第19条的修改)
1.一种在计算机中保护密码的方法,包括处理器:
从计算机中的多个系统组件选择第一本地配置字,并组合计算机的选择的第一本地配置字作为数据字;
将哈希函数应用到数据字以计算哈希值;以及
通过使用哈希值作为密钥对所述密码加密来生成加密的串,通过计算机应用密码以自动访问第二计算机;
将加密的串存储在计算机中的存储器中;以及
从计算机安全地移除密钥。
2.根据权利要求1所述的方法,包括所述处理器,将加密的串编码为存储在存储器中的软件程序中的串。
3.根据权利要求1所述的方法,其中计算SHA-256哈希值。
4.根据权利要求1所述的方法,其中密钥是AES-256密钥。
5.根据权利要求1所述的方法,其中编码步骤使用Base64。
6.根据权利要求1所述的方法,其中使用来自所述处理器的CPUID指令来生成第一本地配置字。
7.根据权利要求1所述的方法,其中使用来自网络接口卡的48位MAC地址来生成第一本地配置字。
8.根据权利要求1所述的方法,其中使用来自操作系统的软件许可号来生成第一本地配置字。
9.根据权利要求1所述的方法,其中使用来自与所述处理器连接的外围设备的型号和序列号来生成第一本地配置字。
10.根据权利要求1所述的方法,进一步包括所述处理器执行以下步骤:
解码加密的串以得到二进制密文;
获得数据字,包括组合来自计算机中的多个系统组件的识别数据,并使用哈希函数从所获得的数据字计算哈希值以从数据字获得重建的密钥;
使用重建的密钥解密二进制密文以获得所述密码;
应用所获得的密码以访问第二计算机。
11.一种具有与不同的系统组件相关的、多个相关联的本地配置字的计算机系统,包括:
存储器,具有存储于其中的指令集;
处理器,与存储器中的指令集通信,所述指令集能操作来使得所述处理器:
从所述多个本地配置字生成数据字;
从数据字计算哈希值;
通过使用哈希值作为密钥对密码加密来生成加密的串,所述密码应用于访问第二计算机系统;
将加密的串存储在所述存储器中;以及
从计算机中安全地移除密钥。
12.根据权利要求11所述的计算机系统,其中加密的串存储在配置文件中。
13.根据权利要求11所述的计算机系统,其中从包括以下的组中选择所述多个本地配置字:通过使用来自所述处理器的CPUID指令生成的串、通过处理来自网络接口卡的48位MAC地址生成的串、通过处理来自操作系统的软件许可号生成的串、通过处理来自连接到所述处理器的外围设备的型号和序列号生成的串、以及通过处理外围设备的型号或序列号或中断向量或地址或优先级生成的串。
14.一种系统,包括:
第一计算机,具有带有指令集的存储器和与所述指令集通信的处理器;以及
第二计算机,其可以使用密码自动地被访问;
其中所述处理器在所述指令集的控制下,能操作来从多个系统组件选择一组本地配置数据,串接该组本地配置数据,并计算串接的数据的哈希值,通过使用哈希值作为密钥对密码加密来生成加密的串,并将加密的串编码为软件程序中的串,
其中所述处理器在稍后时间在所述指令集的控制下,能操作来解码加密的串以得到二进制密文,获得该组本地配置数据,并计算哈希值以获得重建的密钥,使用重建的密钥解密二进制密文以获得所述密码,使用所述密码自动地访问第二计算机;以及从计算机中安全地移除重建的密钥。
Claims (21)
1.一种在计算机中保护密码的方法,包括处理器:
选择与计算机相关联的第一本地配置字作为数据字;
将哈希函数应用到数据字以计算哈希值;以及
通过使用哈希值作为密钥对所述密码加密来生成加密的串;以及
将加密的串存储在计算机中的存储器中。
2.根据权利要求1所述的方法,包括所述处理器,将加密的串编码为存储在存储器中的软件程序中的串。
3.根据权利要求1所述的方法,其中处理器将第二本地配置字与第一本地配置字串接以生成所述数据字。
4.根据权利要求1所述的方法,其中计算SHA-256哈希值。
5.根据权利要求1所述的方法,其中密钥是AES-256密钥。
6.根据权利要求1所述的方法,其中编码步骤使用Base64。
7.根据权利要求1所述的方法,其中使用来自所述处理器的CPUID指令来生成第一本地配置字。
8.根据权利要求1所述的方法,其中使用来自网络接口卡的48位MAC地址来生成第一本地配置字。
9.根据权利要求1所述的方法,其中使用来自操作系统的软件许可号来生成第一本地配置字。
10.根据权利要求1所述的方法,其中使用来自与所述处理器连接的外围设备的型号和序列号来生成第一本地配置字。
11.根据权利要求1所述的方法,进一步包括所述处理器执行以下步骤:
解码加密的串以得到二进制密文;
获得数据字,并使用哈希函数计算哈希值以获得重建的密钥;
使用重建的密钥解密二进制密文以获得所述密码。
12.根据权利要求11所述的方法,包括所述处理器使用所述密码访问计算机系统。
13.根据权利要求11所述的方法,其中通过所述处理器将重建的密钥存储在存储器中,并在使用所述重建的密钥后,所述处理器从存储器擦除所述重建的密钥。
14.根据权利要求13所述的方法,其中所述处理器通过改写存储器中的重建的密钥来擦除所述重建的密钥。
15.一种具有多个相关联的本地配置字的计算机系统,包括:
存储器,具有存储于其中的指令集;
处理器,与存储器中的指令集通信,所述指令集能操作来使得所述处理器:
从所述本地配置字之一生成数据字;
从数据字计算哈希值;
通过使用哈希值作为密钥对密码加密来生成加密的串;以及
将加密的串存储在所述存储器中。
16.根据权利要求15所述的计算机系统,其中所述指令集使得存储的软件程序中的加密的串成为所述存储器中的加密的串。
17.根据权利要求15所述的计算机系统,其中从一个或多个其他的本地配置字生成数据字,串接本地配置字以生成数据字。
18.根据权利要求15所述的计算机系统,其中加密的串存储在配置文件中。
19.根据权利要求15所述的计算机系统,其中从包括以下的组中选择所述本地配置数据字和第二本地配置数据字:通过使用来自所述处理器的CPUID指令生成的串、通过处理来自网络接口卡的48位MAC地址生成的串、通过处理来自操作系统的软件许可号生成的串、通过处理来自连接到所述处理器的外围设备的型号和序列号生成的串、以及通过处理外围设备的型号或序列号或中断向量或地址或优先级生成的串。
20.根据权利要求15所述的计算机系统,其中所述处理器在稍后时间解码加密的串以得到二进制密文,获得本地配置字和第二本地配置字,将本地配置字和第二本地配置字串接,计算哈希值以获得重建的密钥,使用重建的密钥解密二进制密文以获得所述密码,并使用所述密码访问第二计算机。
21.一种系统,包括:
第一计算机,具有带有指令集的存储器和与所述指令集通信的处理器;以及
第二计算机,其可以使用密码被访问;
其中所述处理器在所述指令集的控制下,能操作来选择一组本地配置数据,串接该组本地配置数据,并计算串接的数据的哈希值,通过使用哈希值作为密钥对密码加密来生成加密的串,并将加密的串编码为软件程序中的串,
其中所述处理器在稍后时间在所述指令集的控制下,能操作来解码加密的串以得到二进制密文,获得该组本地配置数据,并计算哈希值以获得重建的密钥,使用重建的密钥解密二进制密文以获得所述密码,并使用所述密码访问第二计算机。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261682385P | 2012-08-13 | 2012-08-13 | |
US61/682,385 | 2012-08-13 | ||
PCT/US2013/052194 WO2014028194A1 (en) | 2012-08-13 | 2013-07-26 | Securely generating and storing passwords in a computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104704501A true CN104704501A (zh) | 2015-06-10 |
CN104704501B CN104704501B (zh) | 2017-07-14 |
Family
ID=48980287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380053100.4A Expired - Fee Related CN104704501B (zh) | 2012-08-13 | 2013-07-26 | 在计算机系统中安全生成和存储密码 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150256343A1 (zh) |
EP (1) | EP2901350A1 (zh) |
CN (1) | CN104704501B (zh) |
WO (1) | WO2014028194A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107801187A (zh) * | 2016-08-31 | 2018-03-13 | 华为技术有限公司 | 加解密方法、装置及系统 |
CN111385083A (zh) * | 2018-12-28 | 2020-07-07 | 新唐科技股份有限公司 | 密钥保护方法及密钥保护系统 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10642992B2 (en) * | 2013-01-04 | 2020-05-05 | Pure Storage, Inc. | Password augmented all-or-nothin transform |
US9760390B2 (en) * | 2013-07-16 | 2017-09-12 | Empire Technology Development Llc | Processor identification for virtual machines |
US20160191245A1 (en) * | 2016-03-09 | 2016-06-30 | Yufeng Qin | Method for Offline Authenticating Time Encoded Passcode |
US10256974B1 (en) | 2018-04-25 | 2019-04-09 | Blockchain Asics Llc | Cryptographic ASIC for key hierarchy enforcement |
CN110889123B (zh) * | 2019-11-01 | 2021-01-12 | 浙江地芯引力科技有限公司 | 一种认证方法及密钥对的处理方法、装置与可读存储介质 |
WO2021083349A1 (zh) * | 2019-11-01 | 2021-05-06 | 浙江地芯引力科技有限公司 | 一种基于安全芯片的安全认证方法与系统、安全芯片及可读存储介质 |
US11568041B2 (en) * | 2020-12-28 | 2023-01-31 | Pearson Education, Inc. | Secure authentication for young learners |
USD969840S1 (en) | 2020-12-28 | 2022-11-15 | Pearson Education, Inc. | Display screen or portion thereof with graphical user interface |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040123105A1 (en) * | 2002-12-19 | 2004-06-24 | International Business Machines Corporation | Security object with CPU attributes |
US20070192631A1 (en) * | 2006-01-20 | 2007-08-16 | Seagate Technology Llc | Encryption key in a storage system |
US20080134347A1 (en) * | 2006-08-09 | 2008-06-05 | Vaultus Mobile Technologies, Inc. | System for providing mobile data security |
CN101483865A (zh) * | 2009-01-19 | 2009-07-15 | 中兴通讯股份有限公司 | 一种密钥更替方法、系统及设备 |
US20110246433A1 (en) * | 2010-03-31 | 2011-10-06 | Xerox Corporation. | Random number based data integrity verification method and system for distributed cloud storage |
US20110314296A1 (en) * | 2010-06-22 | 2011-12-22 | Boris Dolgunov | Host Device and Method for Communicating a Password between First and Second Storage Devices Using a Double-Encryption Scheme |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953422A (en) * | 1996-12-31 | 1999-09-14 | Compaq Computer Corporation | Secure two-piece user authentication in a computer network |
US6629134B2 (en) * | 1999-09-16 | 2003-09-30 | Xerox Corporation | Context sensitive web-based user support |
AU2003301719A1 (en) * | 2002-10-25 | 2004-05-25 | Grand Virtual Inc | Password encryption key |
US7245238B2 (en) * | 2005-02-25 | 2007-07-17 | Research In Motion Limited | Method and apparatus for data encoding |
US20070288355A1 (en) * | 2006-05-26 | 2007-12-13 | Bruce Roland | Evaluating customer risk |
US8958562B2 (en) * | 2007-01-16 | 2015-02-17 | Voltage Security, Inc. | Format-preserving cryptographic systems |
FI120422B (fi) * | 2007-07-02 | 2009-10-15 | Tellabs Oy | Menetelmä ja laitteita muutoslokin kompressoimiseksi käyttäen flash-transaktioita |
US8631261B2 (en) * | 2007-12-31 | 2014-01-14 | Intel Corporation | Context state management for processor feature sets |
US9119070B2 (en) * | 2009-08-31 | 2015-08-25 | Verizon Patent And Licensing Inc. | Method and system for detecting unauthorized wireless devices |
JP5648902B2 (ja) * | 2010-09-30 | 2015-01-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 仮想サーバのスナップショットを管理する方法、及び該方法を具現化する装置 |
EP2448303B1 (en) * | 2010-11-01 | 2014-02-26 | BlackBerry Limited | Method and system for securing data of a mobile communications device |
US9245143B2 (en) * | 2012-02-09 | 2016-01-26 | Microsoft Technology Licensing, Llc | Security policy for device data |
-
2013
- 2013-07-26 US US14/428,135 patent/US20150256343A1/en not_active Abandoned
- 2013-07-26 CN CN201380053100.4A patent/CN104704501B/zh not_active Expired - Fee Related
- 2013-07-26 WO PCT/US2013/052194 patent/WO2014028194A1/en active Application Filing
- 2013-07-26 EP EP13748160.2A patent/EP2901350A1/en not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040123105A1 (en) * | 2002-12-19 | 2004-06-24 | International Business Machines Corporation | Security object with CPU attributes |
US20070192631A1 (en) * | 2006-01-20 | 2007-08-16 | Seagate Technology Llc | Encryption key in a storage system |
US20080134347A1 (en) * | 2006-08-09 | 2008-06-05 | Vaultus Mobile Technologies, Inc. | System for providing mobile data security |
CN101483865A (zh) * | 2009-01-19 | 2009-07-15 | 中兴通讯股份有限公司 | 一种密钥更替方法、系统及设备 |
US20110246433A1 (en) * | 2010-03-31 | 2011-10-06 | Xerox Corporation. | Random number based data integrity verification method and system for distributed cloud storage |
US20110314296A1 (en) * | 2010-06-22 | 2011-12-22 | Boris Dolgunov | Host Device and Method for Communicating a Password between First and Second Storage Devices Using a Double-Encryption Scheme |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107801187A (zh) * | 2016-08-31 | 2018-03-13 | 华为技术有限公司 | 加解密方法、装置及系统 |
CN107801187B (zh) * | 2016-08-31 | 2021-02-02 | 华为技术有限公司 | 加解密方法、装置及系统 |
CN111385083A (zh) * | 2018-12-28 | 2020-07-07 | 新唐科技股份有限公司 | 密钥保护方法及密钥保护系统 |
CN111385083B (zh) * | 2018-12-28 | 2023-03-10 | 新唐科技股份有限公司 | 密钥保护方法及密钥保护系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2901350A1 (en) | 2015-08-05 |
CN104704501B (zh) | 2017-07-14 |
WO2014028194A1 (en) | 2014-02-20 |
US20150256343A1 (en) | 2015-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104704501A (zh) | 在计算机系统中安全生成和存储密码 | |
EP3066610B1 (en) | Data protection in a storage system using external secrets | |
RU2589861C2 (ru) | Система и способ шифрования данных пользователя | |
US9647834B2 (en) | Systems and methods with cryptography and tamper resistance software security | |
TWI463349B (zh) | 於兩裝置間保護資料存取之方法及系統 | |
US8135135B2 (en) | Secure data protection during disasters | |
US20070074046A1 (en) | Secure microprocessor and method | |
CN107453880B (zh) | 一种云数据安全存储方法和系统 | |
CN103988461A (zh) | 用于对数据进行解密的设备和方法 | |
KR101103403B1 (ko) | 향상된 보안성을 갖는 데이터 관리 시스템의 제어방법 | |
CN103236930A (zh) | 数据加密方法和系统 | |
US20120096280A1 (en) | Secured storage device with two-stage symmetric-key algorithm | |
CN103440462A (zh) | 一种提高安全微处理器安全保密性能的嵌入式控制方法 | |
CN104866784A (zh) | 一种基于bios加密的安全硬盘、数据加密及解密方法 | |
CN108537048B (zh) | 一种加密固态硬盘与授权计算机的安全关联方法及系统 | |
CN113726515A (zh) | 一种基于ukey的密钥处理方法、存储介质及电子设备 | |
KR101687492B1 (ko) | 분산적으로 데이터를 저장하는 방법 및 암호학적 정보 처리 장치 | |
CN109784072B (zh) | 一种安全文件管理方法和系统 | |
KR101327193B1 (ko) | 사용자 접근추적이 가능한 이동식 저장매체 보안 방법 | |
CN114741716A (zh) | 一种面向工控系统组态工程文件的保护方法及套件 | |
CN110855622B (zh) | 一种分布式系统敏感数据传输保护方法及装置 | |
CN114491481A (zh) | 一种基于fpga的安全计算方法及装置 | |
Jenefa et al. | A cloud storage system with data confidentiality and data forwarding | |
CN106656947B (zh) | 资料加密系统 | |
KR101474744B1 (ko) | 신뢰 보안 플랫폼 모듈(mtm)을 이용한 usim 데이터 관리 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170714 Termination date: 20180726 |
|
CF01 | Termination of patent right due to non-payment of annual fee |