用于加密数据的系统及方法

文档序号:9583834阅读:454来源:国知局
用于加密数据的系统及方法
【专利说明】用于加密数据的系统及方法
[0001]相关串请案
[0002]本申请案主张2013年4月18日申请且标题为“用于加密数据的系统及方法(System and Methods for Encrypting Date) ”的序列号为61/813,186 的美国临时申请案的优先权且有权享有所述临时申请案的申请日期。前述申请案的内容以引用的方式并入本文中。
[0003]以引用的方式的并入
[0004]申请者特此将在本申请案中引用或参考的任何及所有专利及所公开的专利申请案以引用的方式并入本文中。
技术领域
[0005]本发明的方面大体上涉及计算机密码技术,且更特定来说,本发明的方面涉及用于加密数据的经改进的系统及相关联的方法。
【背景技术】
[0006]经由背景,用于安全访问电子数据及相关通信的各种方法已开发历经多年。一种常见方法涉及对称加密算法的使用,所述对称加密算法使用用于加密及解密数据两者的密钥。以某种方式使用所述密钥,使得在不具有所述密钥的情况下不可容易地解密数据。此方法情况下的首要问题是持有所述密钥的任何人员能够使用它来解密数据。一些密钥模糊处理技术已尝试通过采用使用主密钥-也被称作黑色密钥或关键词加密密钥(“KEK”)-来加密所述密钥的方法来解决此问题。换句话说,用于加密数据的密钥自身由所述KEK加密。然而,此系统在相异的应用中通常并非有用的,此是由于其通常需要相对昂贵的硬件。此外,虽然此类型的系统倾向于在“黑箱”相对安全的基于硬件的系统中工作良好,但其在基于软件的系统或家庭/消费者环境中通常无法工作良好,此是由于问题接着变成在何处安全地存储所述KEK。这是因为如果所述KEK遭到泄密,那么其呈现所有易受攻击的已发布密钥。因此,许多加密方法不依赖于用KEK加密密钥,而是简单地依赖于随机生成的密钥。
[0007]电子装置(例如,计算机)通常能够生成用于密码技术以及各种其它目的(例如,博弈、统计抽样、计算机模拟及随机序列在产生不可预测的结果中为有用的其它领域)的随机序列。一些电子装置经配置以使用硬件随机数字生成器来生成随机序列,而其它电子装置依赖于软件。这些基于软件的技术通常生成预订数目个随机序列。具有此性质的软件通常被称作伪随机数字生成器(“PRNG”),这是因为在与典型硬件随机数字生成器相比较时其并不生成真正的随机序列。存在于任何PRNG的操作中暴露缺陷的至少两个主要区域。第一,如果用以生成序列的种不够多样化,那么所得伪随机序列为潜在地可预测的且因此在被猜测到的威胁下带来风险。第二,即使在给定环境考虑的情况下可产生足够多样化的种,如果能够确定那些条件且因此将其复制,那么所得伪随机序列在被猜测到的威胁下仍带来风险。改进已知现有技术的尝试已以试图通过关于增加随机种的熵的各种手段来改进PRNG自身为中心。然而,这些类型的解决方案情况下的问题是其需要所述改进并入被使用的PRNG中。因此,需要在不要求改变PRNG的功能性的情况下增加此PRNG的安全及性能。
[0008]与现有技术PRNG相关联的另一问题是与包含于伪随机值中的特定数字或字符相关联的相对概率。稍详细来说,当生成数字序列时,PRNG必须选定十个整数值中的一者:0、1、2、3、4、5、6、7、8或9。不管用以生成伪随机值的手段如何,最终值必须在此范围内。伪随机字母数字值(即,O到9及A到Z,可能甚至包含其它ASCII字符)也是如此。取决于PRNG的强度,十个位置的随机序列(例如)可如7526435744 —样弱。随着所生成的序列的长度增加,所包含的数字的可能性增加。因此,两倍长的序列更有可能包含在原始序列中所选择的那些数字之外的数字(例如,30820913007504796977)。随着伪随机序列的长度增加,此可能性增加。此外,一旦确定了密钥长度,破解加密密钥如罗列出针对所述长度的密钥的数字组合的每一排列一样简单。
[0009]与已知现有技术对称加密算法相关联的另一问题是其(通过设计或在其实施方案中)在尝试使用不正确密钥时将不输出任何事项或将出现错误或异常。这又促进使用自动化或半自动化蛮力破解技术来确定正错密钥。尝试破解的人员需要做的是罗列出潜在地包括密钥的字符的每一个可能组合直到实现可读输出。在被呈现不良密钥时将输出可读数据的理论加密算法已由于归因于被加密的数据的未知性质为不切实际的而被拒绝。
[0010]本发明的方面涉及解决所有这些问题且提供如在以下
【发明内容】
中所描述的另外的相关优点。

【发明内容】

[0011]本发明通过提供用于加密数据的系统及相关联的方法来解决以上所描述的问题。在至少一个实施例中,密钥管理器定位在至少一个计算装置上的存储器中,且经配置用于创建及管理待用于加密所述数据的至少一个加密密钥。至少一个密钥文件也定位在所述至少一个计算装置上的存储器中且与至少一个授权用户相关联。所述密钥文件含有包括数个字节的伪随机字符串的密钥字段及用以将所述密钥文件与所述用户相关联的唯一散列值。基本字符的集合从所述密钥字段随机选出,使得所述基本字符为所述密钥字段的子集。接着通过将所述基本字符输入到加密算法中而产生加密密钥。所述数据接着使用所述加密密钥而被加密。
[0012]以上所描述的设备及方法的使用所固有的主要目的是提供未由现有技术教示的优点。
[0013]本发明的方面的其它特征及优点从结合以实例的方式说明本发明的方面的原理的附图的以下更详细描述将变得显而易见。
【附图说明】
[0014]【附图说明】本发明的方面。在此类图中:
[0015]图1为根据至少一个实施例的用于加密数据的示范性系统的架构图;
[0016]图2为根据至少一个实施例的说明示范性密钥文件数据结构的框图;
[0017]图3为根据至少一个实施例的示范性密钥字段的说明;
[0018]图4为根据至少一个实施例的示范性散列值的说明;
[0019]图5为根据至少一个实施例的用于加密数据的示范性方法的流程图;
[0020]图6为根据至少一个实施例的如源自所述示范性密钥字段的基本字符的示范性集合的说明;
[0021]图7为根据至少一个实施例的用于生成数个字节的伪随机字符串的示范性方法的流程图;
[0022]图8为根据至少一个实施例的如源自示范性长伪随机序列的示范性伪随机字符串的说明;
[0023]图9为根据至少一个实施例的如用已知标记加密的敏感数据的示范性片段的说明;及
[0024]图10为根据至少一个实施例的用于抵制蛮力破解尝试的示范性方法的流程图。
[0025]以上所描述的图式在其示范性实施例中的至少一者中说明本发明的方面,其进一步在以下描述中详细地界定。根据一或多个实施例,在不同图式中由相同数字引用的本发明的特征、元件及方面表示相同、等效或类似的特征、元件或方面。
【具体实施方式】
[0026]以上所描述的图式在本发明的示范性实施例中的至少一者中说明本发明的方面,在以下描述中进一步详细界定本发明的示范性实施例。
[0027]现在转向图1,图1展示根据至少一个实施例的用于加密数据的示范性系统20的架构图。在所述示范性实施例中,系统20包括密钥管理器22、伪随机数字生成器(“PRNG”) 24、加密模块26、至少一个密钥文件28及至少一个客户端应用30,其各自驻留在至少一个计算装置34上的存储器32中。应注意,希望术语“存储器”包含现在已知或随后开发的任何类型的电子存储媒体(或存储媒体的组合),例如,本地硬盘驱动、RAM、快闪存储器、外部存储装置、网络或云存储装置等等。此外,系统20的各种组件可驻留在单个计算装置34上的存储器32中,或可单独地驻留在两个或两个以上计算装置34上。此外,希望术语“计算装置”包含现在已知或随后开发的任何类型的计算装置,例如,桌上型计算机、智能电话、膝上型计算机、平板计算机、游戏装置等等。
[0028]继续参考图1,在至少一个实施例中,密钥管理器22创建及管理用以加密敏感数据36且准许仅经授权用户展现或以其它方式访问敏感数据36的一或多个加密密钥。如下文进一步论述,在至少一个实施例中,密钥管理器22在创建加密密钥中的某些步骤期间利用 PRNG 24。
[0029]在至少一个实施例中,加密模块26进行接收敏感数据36及产生待在其位置中使用的标记38的过程。换句话说,使用相关联的加密密钥,加密模块26生成标记38,加密原始敏感数据36且将经加密的数据40存储在存储器32中。标记38仅为对经加密的数据40的参考;在标记38与经加密的数据40之间不存在数学关系。因此,贯穿系统20可安全地使用标记38,而经加密的数据40其表示存储在存储器32中的剩余部分。加密模块26确保在敏感数据36与所生成的标记38之间存在一对一关系,使得贯穿系统20维持参考完整性。
[0030]至少一
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1