CN109154969A - 用于用户配置文件中的用户信息的安全存储的***和方法 - Google Patents
用于用户配置文件中的用户信息的安全存储的***和方法 Download PDFInfo
- Publication number
- CN109154969A CN109154969A CN201780030481.2A CN201780030481A CN109154969A CN 109154969 A CN109154969 A CN 109154969A CN 201780030481 A CN201780030481 A CN 201780030481A CN 109154969 A CN109154969 A CN 109154969A
- Authority
- CN
- China
- Prior art keywords
- data
- key
- user
- information
- segment
- 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
- 238000000034 method Methods 0.000 title claims abstract description 170
- 238000003860 storage Methods 0.000 title claims abstract description 124
- 238000013500 data storage Methods 0.000 claims description 68
- 230000004044 response Effects 0.000 claims description 35
- 230000005540 biological transmission Effects 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 13
- 241000208340 Araliaceae Species 0.000 claims description 4
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 4
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 4
- 235000008434 ginseng Nutrition 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000001172 regenerating effect Effects 0.000 claims description 4
- 241000406668 Loxodonta cyclotis Species 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims 5
- 230000008569 process Effects 0.000 description 46
- 238000011049 filling Methods 0.000 description 25
- 238000007726 management method Methods 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 14
- 230000036541 health Effects 0.000 description 13
- 238000013507 mapping Methods 0.000 description 13
- 150000001875 compounds Chemical class 0.000 description 11
- 241000287219 Serinus canaria Species 0.000 description 9
- 230000008901 benefit Effects 0.000 description 9
- 238000005520 cutting process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000004224 protection Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 235000012907 honey Nutrition 0.000 description 7
- 239000000047 product Substances 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 239000006185 dispersion Substances 0.000 description 5
- 238000009434 installation Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 241000256844 Apis mellifera Species 0.000 description 2
- 241001441724 Tetraodontidae Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000001035 drying Methods 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000006798 recombination Effects 0.000 description 2
- 238000005215 recombination Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000962514 Alosa chrysochloris Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 101000911390 Homo sapiens Coagulation factor VIII Proteins 0.000 description 1
- 206010020751 Hypersensitivity Diseases 0.000 description 1
- 206010022998 Irritability Diseases 0.000 description 1
- 235000006679 Mentha X verticillata Nutrition 0.000 description 1
- 235000002899 Mentha suaveolens Nutrition 0.000 description 1
- 235000001636 Mentha x rotundifolia Nutrition 0.000 description 1
- 241000287127 Passeridae Species 0.000 description 1
- HCBIBCJNVBAKAB-UHFFFAOYSA-N Procaine hydrochloride Chemical compound Cl.CCN(CC)CCOC(=O)C1=CC=C(N)C=C1 HCBIBCJNVBAKAB-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 208000026935 allergic disease Diseases 0.000 description 1
- 230000007815 allergy Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000002651 drug therapy Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- HDDSHPAODJUKPD-UHFFFAOYSA-N fenbendazole Chemical compound C1=C2NC(NC(=O)OC)=NC2=CC=C1SC1=CC=CC=C1 HDDSHPAODJUKPD-UHFFFAOYSA-N 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 102000057593 human F8 Human genes 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 229940047431 recombinate Drugs 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- 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/606—Protecting data by securing the transmission between two devices or processes
-
- 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
-
- 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- 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
-
- 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/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
- H04L9/0844—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于存储第一数据对象的方法,包括:在客户端装置上,将所述第一数据对象分解为与第一原始记录定位符相关联的第一片段和与第二原始记录定位符相关联的第二片段;在所述客户端装置上,打乱所述第一原始记录定位符以生成第一打乱的记录定位符且打乱所述第二原始记录定位符以生成第二打乱的记录定位符;在所述客户端装置上,使用第一加密密钥对所述第一片段进行加密且使用第二加密密钥对所述第二片段进行加密;以及将具有对应的所述第一打乱的记录定位符的所述第一加密片段和具有所述第二打乱的记录定位符的所述第二加密片段存储到多个存储位置中的至少第一个。
Description
1.技术领域
本文描述的各种实施方案大体上涉及信息的电子管理的领域,且更特定来说涉及用户配置文件中的用户信息的安全存储和保护。此外,本文描述的各种实施方案大体上涉及电子数据安全性的领域,且更特定来说涉及数据、凭证和加密密钥在客户端端点处和在传输期间的安全存储、管理和传输。
2.背景技术
对无纸化现代社会的憧憬正快速变为现实,因为越来越多的通信、服务和交易在诸如互联网的网络上以数字方式发生。对信函、财务文档、收据、合约和其他法律文书的纸质副本的需要在逐渐减少,因为用于安全地传输、更新和访问这些文档的电子方法增加了。除了对文档和信函的电子传输和访问之外,以电子方式提交信息的过程也是常见的,诸如通过在线购物或用于贷款、***、健康保险、大学或工作申请等的应用程序。
然而,在这些表单中需要的许多信息是其他表单所共有的,而且用户反复地用相同信息手动地重复填充表单输入。收集、组织、更新、利用和重新应用这些电子文档、表单和应用程序中需要的输入信息的能力仍然很困难。虽然已经开发出一些应用程序来存储关于用户的某些基本信息,诸如用户的姓名、地址和财务信息,但组织、访问和应用这种存储信息以用于另外的在线活动的能力仍然极为有限,尤其是当需要详细输入信息和/或计算来完成诸如大学申请和家庭法律申报的表单时。
有若干程序或应用程序允许用户跟踪财务信息、预算、预测、平衡支出账户等。虽然这些工具可以节省时间并且提供用于做预算等的有效工具,但它们并未解决其中要求用户以特定格式或根据特定表单等提供个人信息、财务信息、预测、分类支出等的许多情形。
举例来说,当某人离婚时,他们必须向法庭提供详细的个人和财务信息(过去的记录以及预计的需要)。这种信息必须使用特定表单以极为特定的国家规定格式提供,并且必须在离婚过程期间的各个点更新且提交给法庭,这可能持续很长一段时间。举例来说,图1示出在加利福尼亚州离婚诉讼中原告和被告都必须填写的收入和支出申报的一页。诸如这种表单的表单所需要的信息的量和复杂性通常要求填写表单的人(诸如离婚方或律师)花费大量的时间来获得所有需要的信息,并且甚至执行信息计算来获得所需的值。作为另一个实例,当用户希望得到诸如汽车贷款或抵押贷款的贷款时,提供贷款的组织将经常要求用户提供并更新以某种格式组织的某些财务记录和信息。
即使经过良好组织,使用当前可用的个人财务软件工具的精通财务的用户也会发现完成并更新这些表单比较麻烦、耗时、令人困惑且容易出错。适用的表单和其他适用的项目需要的信息比基本财务信息多得多。另外,明显需要准确地完成这些表单,因为这些表单显然会对申请人是否有资格得到财务援助、贷款等或者在离婚或其他法律诉讼中得到有利结果具有重要影响。
这些相同的挑战也适用于其他关键的生活事件,诸如申请大学和/或支付大学学费。大学申请过程对于学生且很多时候对于他们的父母来说是一个高度焦虑的时刻。完成大学和财务援助申请需要大量的详细信息,包括但不限于论文、成绩单、推荐信、活动、照片等。而且,大学申请和财务援助机会有许多不同的截止日期。保持有条不紊并且对所有信息、截止日期和已提交的申请都了如指掌是非常难的。
此外,电子数据的安全性对于私人个体且对于几乎每个可想到的企业和政府实体都是极为重要的。巨大量的电子数据持续地在生成、存储和传输。而且,当今不可避免地延伸到私人和敏感信息的电子数据的宽度必然会吸引许多危险分子。
常规的数据安全性解决方案是相对静态的。举例来说,一个或多个数据安全性机制(例如,密码保护、加密方案)可以部署在特定的数据存储位置。相同的数据安全性机制通常将持续生效,直到检测到重大的安全漏洞为止,这时整个数据存储位置可能已经受损。
基于标准关系数据模型来存储的数据特别容易遭受未经授权的访问。存储在单独存储位置的个别数据记录(例如,姓名、地址、社保号、信用***和银行账户号)通常伴随有共同的记录定位符,这个定位符指示数据记录之间的逻辑关系(例如,与同一用户相关联)。举例来说,个别数据记录可以各自与同一用户标识号相关联。因此,对任何一个数据记录的未经授权的访问都可能使足够的信息(即,用户标识号)暴露从而获得对数据记录的其余部分的访问。
虽然许多数据安全性方法是可用的,但在单个数据存储位置实现一系列灵活的无缝集成的且互补的数据安全性解决方案仍然是巨大挑战。举例来说,虽然组合安全性解决方案通常将增加数据安全性,但不同解决方案之间的不兼容性可能实际上带来另外的安全性风险。
而且,为了使用户能够存储和检索数据,必须有一种方法来识别所述用户且保护他们的数据免于被任何其他用户访问。传统上,这是由“前端”软件执行的,其中通过登录过程对用户进行验证和授权。
常规的登录过程与许多记录在案的弱点相关联。举例来说,在许多***中,登录步骤通常被视为用户界面(UI)的一部分以及与安全警戒线分离的实体。在安全性方面的背景有限的内部开发者尝试建立自定义的登录验证和授权***的情况下,这个问题被放大。因此,一旦恶意用户成功完成登录过程,所述用户就可能潜在地可以访问其他用户的数据。
但是当今创建的许多数据是在例如计算机、膝上型计算机、智能电话、平板计算机、物联网装置等客户端端点处创建或访问的这一事实也加剧了这些问题。即使对于在服务器处存储并检索的数据可以解决上文描述的问题,也存在保证端点处的数据安全的附加问题。因此,对以上问题的任何解决方案都应当考虑客户端端点也必须保证安全这一事实。
密钥交换方法
有许多形式的密钥交换方法在当前用于在两个装置之间建立受信任的通信链接并且用来诸如通过对称的共享秘密密钥或公用/私用不对称密钥对传输数据进行加密/解密。对称加密使用相同密钥来通过诸如AES、Blowfish、DES和Skipjack的任何数量的算法对数据进行加密和解密,且通常比不对称加密更快。对称加密经常用于批量数据加密以及需要数据处理量的高速率的时候。相比之下,不对称加密利用一对密钥(公用的和私用的),其中公用密钥通常用来加密数据,且私用密钥用来解密数据。不对称密钥算法可以比对称密钥算法慢1000倍,且因此更常用于密钥管理或初始装置验证,其中不存在连续的密钥对交换,连续的密钥对交换将需要巨大的资源能力。
加密数据传输
在其中大的对象需要加密发送到多个客户端目的地且每个客户端应当具有唯一加密的副本的常见情形中,传统方法是对于每个客户端使用不同的密钥来加密原始对象。如果存在N个客户端且花费时间量T来加密每个对象,那么总加密时间是N x T。
数据加密速度
当前,有若干方法来增加性能(可对数据进行加密的速度)。一种方法是通过使用基于硬件的加速。通过AES-NI硬件加密(在Intel和AMD处理器上可用的情况下)可以将128位和256位AES密码加速4到8倍。也可能以安全性为代价减小密钥大小。具有256位密钥的AES比具有128位密钥的AES慢约40%。另一种策略是使用诸如Blowfish的替代加密算法,这可以产生20%的速度改进。
加密密钥管理
加密密钥通常用来加密数据或加密随后用来加密数据的其他密钥,所述其他密钥通常称为密钥加密密钥(KEK)。管理密钥以及谁可以访问密钥可能是艰巨的任务。密钥管理软件(KMS)尝试通过为用户和管理者提供对所有必要密钥的访问来使这项工作更容易。KMS也可以提供备份服务和冗余服务以在灾难***器故障的情况下保障密钥的副本。当替换KMS快速启动时,用户正常运行时间得到维持,因为对加密数据的访问将是不可能的,除非KMS持续工作。
复合安全密钥
复合安全密钥的概念是广泛已知的且在许多情形中使用。举例来说,用于Alice和Bob解锁文件的复合密钥为他们提供解锁文件的能力,但只有在他们两个人协同时才能解锁。Bob或Alice都无法单独地解锁文件。这些复合密钥通常是静态的,并且当需要改变时必须由管理员重写。
数据访问限制
当需要限制对数据的访问时,常用的方法是在用户层级配置访问权和/或建立多个用户群组,每个群组具有指派给他们的不同角色和权限。这确保了例如用户A不能访问用户B的数据。常用于数据库的另一种方法是开发数据库查询语句,所述语句在允许对数据的访问之前检查任何数量的限制。所有这些解决方案的问题在于它们并未提供在数据项目层级具有精细控制的简单方法,并且这些限制本身一般未加密。
黑客攻击
黑客在***中平均度过200天之后才被发现。在内部时,他们观察流量且做出各种尝试来定位另外的凭证、用户名、密码等。访问日志和行为分析是检测工作所聚焦的一些方式。另外,在尝试使黑客减速时在战略上布置“蜜罐”文件、数据库或服务器。
勒索软件
勒索软件是偷偷安装在计算机上的软件,这个软件执行应用于对所述计算机可见的所有文件(包括位于网络连接的驱动器和云文件夹上的那些文件)的加密算法。意图是使受影响的文件不可用,除非受害者支付赎金,此时才提供解密密钥。存在尝试基于诸如具有已知将会由勒索软件生成的扩展名的文件的出现或大量文件重命名活动的特性来识别攻击的早期征兆的产品。另一种方法包括阻止点击软件,所述软件防止用户点击电子邮件中的附件(最大的攻击来源)。最后,存在许多监测不常见的运行进程的恶意软件解决方案,不常见的运行进程可能是存在感染的征兆。
防范勒索软件的最有效的解决方案是定期备份所有文件,从而确保备份有数天的价值。存在按自动时间表运行备份的多种产品。然而,许多备份***使用装载的驱动器来备份。如果勒索软件病毒可以看见你的文件,那么它可以看见你的所有驱动器,包括用于备份的驱动器。有一些方法来保护备份驱动器,诸如设置适当的访问凭证和协议。因为勒索软件在不断演进和适应,所以许多这些解决方案已经难以抵挡罪犯。
搜索加密数据
存在许多用于搜索加密数据的方法,诸如对搜索字段进行预标引或同态加密,其允许评估且因此搜索加密数据。最大的挑战是在可接受的限制内维持性能,且每种方法都会减慢搜索过程或者引入安全性弱点。在任何情况下,这些方法在实现时广泛地变化,几乎不遵循标准。这些自定义的实现方式使得难以利用第三方搜索工具。
数据加密
数据传统上在处于任何数量的状态时被加密。举例来说,可以针对静态数据(data-at-rest)加密整个硬盘驱动器。在另一个实例中,在动态数据行进通过安全的https连接时可以对其进行加密。数据库中的数据也可以使用一些方法加密,其中个别字段中的数据在适当位置被加密,同时保留原始的表格式。其他特定的情形包括加密单个桌面文件夹或装载的磁盘驱动器。
在所有这些情况下,并不是将有待加密的数据组织成与其原始占位有很大不同的格式。加密数据仅仅就地替换原始数据,或者如果被复制到其他介质,则使用与原始数据相似的数据和文件阶层将其转移到存储装置。存在诸如在数据分片和擦除编码算法的情况下重新组织数据存储格式的其他技术。这些技术散布原始数据,并且所述数据也可以被加密。然而,散布和存储格式遵循由底层算法强加的刚性协议,从而使得难以应用更高层级能力以及与现有传统格式和/或第三方解决方案的集成。
发明内容
本文公开了用于在用户配置文件中安全地存储用户的信息以防止对信息的访问且使在安全漏洞期间公开的信息的量最小化的***和方法。通过电子手段从一个或多个来源获得关于用户的信息,并且接着使用字段映射和其他技术将信息分类为特定类别,在此之后将信息组织成用户配置文件且安全地存储在数据库中。所收集和组织的信息可以包括(但不限于)所列出类别中的任一个的标识和联系人信息、财务信息、健康信息、教育和职业信息、家庭信息、企业信息、生活方式信息,以及历史信息。用户配置文件可以被加密且远程存储在远程服务器处的基于云的***中,其中配置文件的存储在单独位置的各部分具有单独的加密以使对信息的一个部分的未经授权访问的风险最小化。用户配置文件中的数据字段也可以用单独的加密密钥单独地加密,且单独地存储在单独的数据存储装置、数据库或单独的数据库表中,以使由于对单个加密密钥或单个数据库或数据库表的未经授权访问而可能公开的信息的量最小化。
在本发明的一个方面中,一种用于安全地存储来自用户配置文件的用户信息的***包括:配置文件创建单元,其创建用户信息的用户配置文件,所述用户配置文件包括多个字段和用于所述多个字段的多个值;其中用户配置文件中的信息分成被分成若干区段;且其中所述区段单独地存储在单独的数据存储装置、数据库或数据库表中。
在本发明的另一个方面中,一种安全地存储来自用户配置文件的用户信息的方法包括以下步骤:创建用户信息的用户配置文件,所述用户配置文件包括多个字段和用于所述多个字段的多个值;将用户配置文件中的信息分成单独的区段;以及将所述单独的区段存储在单独的数据存储装置、数据库或数据库表中。
本文还公开了公开了描述了用于数据、凭证和加密密钥的安全存储、传输和管理的***和方法,包括去往和来自客户端端点的数据、凭证和加密密钥。根据一个方面,一种用于存储第一数据对象的***,包括:多个存储位置;包括一个或多个处理器的安全平台;包括一个或多个处理器的客户端装置,所述一个或多个处理器被配置成:将所述第一数据对象分解为与第一原始记录定位符相关联的第一片段和与第二原始记录定位符相关联的第二片段;打乱所述第一原始记录定位符以生成第一打乱的记录定位符且打乱所述第二原始记录定位符以生成第二打乱的记录定位符;使用第一加密密钥对所述第一片段进行加密且使用第二加密密钥对所述第二片段进行加密;以及将具有对应的所述第一打乱的记录定位符的所述第一加密片段和具有所述第二打乱的记录定位符的所述第二加密片段存储到所述多个存储位置中的至少第一个。
其他特征和优点将从以下结合附图进行的对优选实施方案的描述变得显而易见。
附图说明
参考以下附图详细描述本文公开的各种实施方案。附图仅为了说明的目的而提供,且仅描绘典型或示例性的实施方案。这些附图被提供来促进读者的理解,且不应视为限制实施方案的宽度、范围或适用性。应注意,为了清楚和便于说明,这些附图不一定按比例绘制。
图1是在离婚诉讼中使用的收入和支出申报表单的图像。
图2是示出根据本公开的各种方面根据各种方面的用于获得、分类个人信息并且在电子表单上填充个人信息的***的框图;
图3是进一步示出根据本公开的各种方面的用于获得、分类个人信息并且在电子表单上填充个人信息的***的图;
图4是根据本公开的各种方面的在填充文档的字段时涉及的操作的图示
图5是图形用户界面的屏幕快照,其示出根据本公开的各种方面的用于实现本发明***的浏览器扩展
图6是根据本公开的各种方面的列出字段标识号、字段名称和字段值的数据库表的图像;
图7是根据本公开的各种方面的存储在***中以用于自动完成的表单的数据库表的图像;
图8是根据本公开的各种方面的列出存储在***中的每个表单文档上的字段名称和字段值的数据库表的图像;
图9A是图形用户界面的屏幕快照,其示出根据本公开的各种方面的用于选择用来预填充用户信息的文档的类别的网络接口;
图9B是图形用户界面的屏幕快照,其示出根据本公开的各种方面的用于选择用来预填充用户信息的特定文档的网络接口;
图10A示出根据本公开的各种方面的表单的图形用户界面,所述表单具有存储在***数据库中的可自动识别的唯一字段名称;
图10B示出根据本公开的各种方面的图10A的表单的图形用户界面,其中存储在***数据库中的唯一字段的值被填充到字段中;
图11是根据本公开的各种方面的数据库表的图像,所述数据库表存储图10A和10B中所示出的表单中的唯一字段的字段识别符、字段名称和字段值;
图12是示出根据本公开的各种方面的获得、分类个人信息并且在电子表单上填充个人信息的方法的流程图;
图13是示出计算机/服务器***的实施方案的框图,在所述计算机/服务器***上可以实现根据本公开的各种方面的实施方案;
图14是美国申请号14/863,294的图1的再现,所述美国申请的公开内容以全文引用的方式并入本文;
图15是美国申请号14/970,466的图1的再现,所述美国申请的公开内容以全文引用的方式并入本文;
图16是美国临时申请号62/281,097的图1的再现,所述美国临时申请的公开内容以全文引用的方式并入本文;
图17是美国临时申请号62/281,097的图4的再现;
图18是示出根据本公开的各种方面的用于交换密钥的方法的流程图;
图19是示出根据本公开的各种方面的加密数据传输序列的序列图;
图20A是示出根据本公开的各种方面的用于预切分数据以增加加密速度的方法的流程图;
图20B是示出根据本公开的各种方面的重组数据文件的方法的流程图
图21是示出根据本公开的各种方面的用于管理加密密钥的方法的流程图;
图22是示出根据本公开的各种方面的用于评估复合密钥的方法的流程图;
图23是示出根据本公开的各种方面的用于限制数据访问的方法的流程图;
图24是示出根据本公开的各种方面的用于检测黑客攻击并且对黑客攻击做出响应的方法的流程图;
图25是示出根据本公开的各种方面的用于检测勒索软件攻击并且对勒索软件攻击做出响应的方法的流程图;
图26是示出根据本公开的各种方面的用于实现对加密数据的搜索的方法的流程图;以及
图27是示出根据本公开的各种方面的用于利用虚拟密码学容器来存储加密数据的方法的流程图。
参考上述附图和以下对示例性实施方案的详细说明来更详细地描述上文提到的各种实施方案。
具体实施方式
本文描述的实施方案提供用于自动完成、更新和提交复杂的电子文档和在线表单的信息的收集、组织和使用,所述电子文档和在线表单诸如:在线购物结帐表单;对贷款、***、健康保险、大学或工作的申请;法律诉讼(诸如离婚或破产)所需的政府规定文档;以及企业和企业主所需的表单。从多个不同来源获得信息并且通过字段映射和其他信息分类技术对其进行分类,以建立与用户相关的信息的组织过的数据库,称为信息保管库。经由加密和解除关联技术将信息安全地存储在一个或多个用户数据存储装置或数据库中,以确保信息的安全。表单数据库用于存储电子表单和文档,以及完成表单或文档所需的字段信息。通过从表单数据库选择文档或者通过利用浏览器插件来填充正在网络浏览器中显示的在线表单,用户可以访问他们的信息以自动填充在线表单或电子文档的字段。***也可以与第三方服务和网站集成以经由到用户数据库的安全连接在第三方站点上填充信息,同时允许用户将信息保持在我们的高度安全的数据库中。
本文描述的技术提供在任何类型的计算装置上快速且准确地完成、更新和提交任何类型的表单的能力,因为用户数据库建立用户的配置文件,所述配置文件包括例如标识信息、财务信息、健康信息、联系人信息和历史用户信息,所述信息被高度准确地分类以确保用正确的信息填充表单。用户保持对他们的信息的任何下载、传输、编辑或删除的完全控制,并且仅需要输入并检验他们的信息一次,而不是反复地重复同一个过程。
本文描述的***和方法可以由个人、团体、实体、政府或企业用于各种类型的信息收集、管理和输入。个人用户可以在他们的台式计算机、平板计算机、智能电话等上填充在线表单,并且能够即时完成表单。在一个实施方案中,***可以被提供为在智能电话、平板计算机或其他便携式电子装置上运行的移动应用程序,其将使用户能够完成表单或其他文档。由于使用小显示屏和触摸屏装置难以输入信息,用便携式电子装置容易地填充信息的能力是特别有利的。企业可以组织并存储信息以完成表单,诸如人力资源表单、建筑许可表单、各种辖区内的电梯许可证表单等。虽然本文提供的实例主要涉及将所述***和方法用于个人用户,但益处和应用也延伸到任何大小和类型的用户群组、实体、政府或企业。
这种解决方案是唯一的,因为一旦用户输入他们的信息一次,信息就存储在他们的信息保管库中,在此之后他们可以一直使用所述信息来提供信息或完成需要相同的重复信息的任何表单。非限制性实例包括用于卫生保健的新患者表单、大学入学申请、奖学金申请、财务援助申请、贷款申请、医疗问卷、工作申请、保险表单、法律申报或诉讼文档、政府利益或服务请求、个人健康记录、电子商务结帐表单、会员申请等。
图2示出根据本发明的一个实施方案的用于获得、分类信息并且将信息填充到电子表单上的***100的一个实施方案。信息是从一个或多个信息源102a-c获得,诸如现有的表单102a、第三方应用程序接口102b或手动用户输入102c。信息接着被传输到通信接口104,在所述通信接口104处接着由服务器106进行分类且被存储在一个或多个数据存储装置、位置或***数据存储装置108中,作为用户的信息的用户配置文件。通信接口104可以位于具有信息源102的局域网(LAN)中或者通过经由互联网或其他广域网(WAN)的连接而位于远离信息源102的位置。通信接口104还将包括服务器106内的一个或多个信息处理单元以处理所收集的信息,所述信息处理单元包括:分类单元106a,其对信息进行分类以识别适用于信息的字段和用于字段的值;配置文件创建单元106b,其用分类信息创建用户配置文件;以及信息填充单元106c,其通过匹配至少一个表单字段与分类信息来填充电子表单或数据库的至少一个表单字段。还可以包括字段比较单元106d和用户活动收集单元106e 104,其功能将在下文进一步描述。前述单元104中的任一个可以位于单独的服务器内或单个服务器内,这取决于总体***的设计。用户通过任何类型的装置110a-c可以接着请求使用他们的配置文件中的信息来完成一个或多个表单112。用户可以使用任何类型的装置,包括膝上型计算机110a、台式计算机110b或者诸如平板计算机或智能电话的便携式电子装置110c。
用户可通过装置110与通信接口104交互以完成一个或多个表单112a-c,诸如图像查看器112a、在互联网浏览器应用程序112b中显示的表单,或者经由在便携式电子装置110c上运行的应用程序112c显示的表单。表单也可以经由HTML5-CSS3或经由与服务器106介接的应用程序112c直接在浏览器窗口中显示,或者通过在装置110c上显示的由服务器106产生的一个或多个图形用户界面(GUI)114显示。如本文所演示,可以直接在用户的装置上,通过浏览器扩展、附加浏览器应用程序,或者经由与第三方服务或应用程序介接的应用程序编程接口(API)来填充表单。
图3是示出***的一个配置的安全协议的***图的图示。用户116可以经由上述各种装置110访问***,所述装置110经由互联网118与通信接口104连接。多个类型、位置、装置、服务器等可以在各种防火墙之间分开使用,以增加对用户配置文件信息的保护以确保隐私和安全。最初可以向用户呈现展示基本信息的GUI,这个GUI被视为通信接口104的面向公众的主站点104a,它也受初始防火墙120a保护。初始防火墙120a可以为***提供总体安全性,且允许访问所述接口的用户界面和体验层级(UI/UX)104b。UI/UX 104b包括与表单和申请输出数据存储装置108a连接的网络和接口服务器106f。第二防火墙120b可以保护通信接口的第三区段(称为数据访问层104c)。数据访问层104c可以包括与数据存储服务器106h连接的企业层级逻辑应用程序服务器106g,所述数据存储服务器106h可以被配置成管理安全客户端数据元素和历史存档数据存储装置108b以及映射输入表单数据存储装置108c。单独的ID和验证服务器106i也可以封闭在数据访问层104c内,与标识数据存储服务器106j连接,所述标识数据存储服务器106j可以管理安全客户端ID元素数据存储装置108d。
图4示出通过经由诸如信息填充单元106c的数据存储管理软件访问存储在安全客户端ID元素数据存储装置108d和安全客户端数据元素数据存储装置108b中的信息来填充表单404的字段402的步骤的一个实施方案,其中使用单独的客户端标识数据存储装置和客户端信息数据存储装置来获得填充电子表单所需的信息。
本文关于特定组件和特征进一步提供***和方法的细节。
I.收集信息和表单
信息可以从多个不同来源且以多个不同格式获得,以便获得用户的一套完整信息。举例来说,用户信息可以通过让用户完成“主表单”来获得,所述主表单被特别设计来收集许多表单在多种类别(即,贷款申请、在线购物、大学申请、离婚诉讼等)中要求的信息。用户信息也可以从现有的电子或非电子记录收集,诸如财务机构数据库、电子健康记录、第三方信息聚合服务(诸如Mint.),或者通过用户遵循***的基于网络的用户界面中的简单指令来收集。用户可能需要授予对这些现有电子记录中的一个或多个的访问以便可以获得相关信息,且***可以利用特定的应用程序编程接口(API)与第三方站点通信以获得字段和内容信息。对于现有的电子记录,有可能信息已经在例如数据库内进行分类,具有特定的字段名称或标识,使得不需要对信息的实质性另外分类;然而,由于诸如离婚申请和财务时间表的许多表单的复杂性,***能够叠加另外的计算且重新组织分类以便它们匹配表单的所需输出。对于非电子记录,用户可能能够扫描或拍摄非电子文档的照片,并且通过诸如图像处理和内容提取软件的各种技术提取字段和字段值。
在一个实施方案中,当用户手动完成电子表单或文档时,可以获得信息。举例来说,如图5中所示出,如果用户完成在互联网浏览器应用程序上显示的表单112b,那么所述应用程序可以包括浏览器扩展502以允许表单112b、字段504和所述字段的内容506被捕获、提取、组织、分类且上载到用户的数据库以用于在相同或其他表单上的未来使用。浏览器扩展502可以提供弹出菜单508,所述弹出菜单508具有用来将字段复制到用户配置文件的复制按钮510,以及用来将数据从用户配置文件填充到表单112b的填充字段按钮512。甚至可以针对跨度为许多页的完整表单来提取并填充信息。银行表单和文档以及其他用户信息也可以直接上载到***,在所述***中所述表单或文档和它的字段可以被捕获、映射并存储为模板。举例来说,***申请表单可以上载到***并且存储在文档库数据存储装置中,其中表单字段被识别以便它们可以映射到数据存储装置中的对应用户字段,这种映射是手动进行或者使用自动映射技术进行的。
完成的表单和文档也可以直接上载到***,在所述***中所述表单或文档、字段和字段的内容可以被捕获并提取。举例来说,***对账单或抵押贷款对账单可以上载到***,在所述***中字段和字段中的内容可以被提取并存储在用户数据存储装置中,但文档本身不能被提取并存储,因为它不是表单。然而,如果***申请或抵押贷款申请被上载,那么除了字段和内容之外,文档本身也可以被提取并存储,以帮助用户和其他用户在未来填写表单。
图6示出数据存储表602的一个实施方案,其具有从输入到***中的表单收集的字段信息。由于信息是从正在填写的表单发送到服务器上,因此信息被存储在这个表中。当从服务器“拉取”信息且应用于表单时,信息从这个表出来。表单可以是诸如图1中所示出的表单的表单,并且可能已经由用户完成以使得表单字段具有已经输入的值。如图6中所示,表单上的每个字段604被提供唯一的数字识别符606(customerFieldDefaults_Id)以使其区别于其他字段。如右边两列中所示,每个字段还被给予字段名称608(fieldName)和字段值610(fieldValue)。字段名称可以是编码在表单本身上的名称,所述名称可以从所述表单提取(如果它在网站上)或从一个电子表单提取,所述电子表单具有已经基于创建原始表单的编程器来识别字段名称的字段名称元数据。字段值(如果可用)将显然对应于字段的内容。字段名称与字段值(称为名称-值对)之间的关联对于对内容进行分类和建立用户配置文件很重要。
图7示出文档库表702,其存储被存储在***中的文档704的列表。文档各自被提供文档标识706(document_id)、文档标题708和通往相关联数据库中的文档的路径710。图8示出数据库表802,其存储图7的文档库表中的每个文档的字段名称804。应注意,存在为每个字段设置默认值的选项。举例来说,今年的纳税表单可以具有默认申请年2013年。commonFieldName 806是在fieldName不清楚或由原始表单设计者不良命名的情况下fieldName 804的人类可读版本。commonFieldName 806允许***快速匹配字段与在典型的顾客保管库中找到的字段名称。commonFieldName 806提供字段与在用户配置文件中找到的字段名称的更可靠的且确定性的映射。
在***中存储并组织唯一的字段名称和值以供未来使用。图10A和10B是在线表单1002的图示,其中在“Billing”区段1006中具有唯一的记账代码字段1004,其要求字段值为唯一的33位代码。如果用户先前未向***中输入代码(考虑到它是用于特定表单的唯一代码,上述情况不太可能),那么用户在首次完成表单1002时将需要在字段1004中手动输入字段值1008,如图10B中所示。***将把字段1004上的信息(和由用户在所述字段中输入的值1008)拉取到***中并且将它们列在数据库表1100中,如图11中的表所示出。如图11中所示,存在为这个字段创建的两个条目,一个对应于字段名称1102(数位)且一个对应于字段值1104(33位数字)。在一个实施方案中,创建另外的行条目(未图示)以使字段旁边的单选按钮与字段和字段值相关联。这在未来填充表单时将是有用的,因为***将知道在填充字段值时激活/选择所述单选按钮。
在另一个实施方案中,第三方服务和网站可以提供关于在它们自己的站点上托管的表单和文档的信息以用于存储在***上,诸如字段名称和其他文档或表单识别信息。因此,如果用户在使用第三方服务并且需要完成第三方服务的表单或文档,那么用户可以请求第三方服务从用户数据存储装置获得用户的信息以用于在第三方站点处填充到表单或文档中。第三方服务可以接着在其网站或应用程序上维持其自定义的表单或文档,并且用户可以确保填充到表单或文档中的内容准确地对应于每个字段所需的内容,因为第三方服务向***提供字段信息。另外,为用户提供信息的附加的安全性,因为信息是存储在***数据存储装置上而不是第三方服务的数据存储装置上,这减少了信息可能从第三方服务或站点被窃取的可能性。
在另一个实施方案中,第三方服务可以在其网站或应用程序内集成嵌入式***,以便存储在应用程序中或第三方服务器处的信息与***共享并且用来完成表单和其他文档。类似地,所述集成可以提供用户的信息与第三方站点或应用程序的共享,以用于在第三方站点处完成表单或文档。
可以使用或设想到其他信息来源,如本领域的技术人员将了解。如下文将进一步描述,信息来源用来通过从各种来源收集用户的信息且将信息编译成组织过的信息列表来建立每个用户的配置文件,所述信息列表可用来填充任何类型的和在任何表单上的字段或者增补其信息。
II.组织和存储信息
从上文论述的各种信息来源获得的信息用来建立个别用户的用户配置文件,所述信息理想地包括关于用户的财务的全面信息、联系人信息、健康信息和历史信息。用户配置文件可以包括用户的姓名、生日、年龄、当前和过去的地址、电话号码、电子邮件地址、社保号或政府标识号、雇佣信息(当前和历史)、工资、身高、体重、种族、银行账户号、账户余额、用户名、密码、教育信息、健康风险、过敏症、药物治疗等。这个列表绝不是全面的。用户配置文件也可以包括不直接与用户相关的信息,诸如紧急联系人的姓名和电话号码、家人姓名和关系、服务提供者联系信息和注释、企业联系信息、企业前景、CRM等。用户配置文件也可以存储针对将要存储的信息或日期选择的其他元数据。
对***的访问可以由应用程序接口通过在诸如台式计算机或膝上型计算机的计算装置上运行的软件,或者通过在诸如平板计算机或智能电话的便携式电子装置上运行的应用程序来提供。另外,可以通过基于网络的应用程序接口来访问***,其中所有的用户信息安全地存储在例如基于云的网络中的安全服务器设施中。
在一个实施方案中,信息可以存储在至少两个或三个单独的数据存储位置,有意地将所述数据存储位置解除耦合以便通过使侵入所述数据存储位置中的一个的风险最小化来提供增强的安全性。数据存储装置可以划分为:文档库数据存储装置,其例如存储表单和文档模板、字段信息和其他表单属性;顾客个人保管库数据存储装置,其例如存储包括针对每个特定用户的字段和字段值的信息;用户身份数据存储装置,其例如存储与用户的身份有关的信息(出于安全性原因与其他信息分开存储);以及顾客订单和完成的文档数据存储装置,其用曾经完成的字段和值来存储先前完成的表单。
如下文紧接着将描述,信息将可能被分类为不同的类别,以便可以将信息准确地填充或增补到表单的适当字段中。此外,如下文还将描述,通过专门的专有加密和存储技术来减轻如此丰富的个人信息的潜在盗用风险,以防止信息被窃取或即使被窃取也防止信息起作用。
字段映射
识别哪些信息属于表单内的哪些字段是填充表单的最困难的挑战之一。虽然许多信息字段含有容易且轻易地识别属于所述特定字段的值的名称,但一些名称的命名含糊不清,一些字段在不同表单之间具有稍微不同的名称,一些字段在同一文档内具有相同的名称,并且一些字段具有与同一字段相关联的多个值。
存在至少三种需要填入信息的主要情况,这推动了以下字段映射技术。在第一种情况下,文档库存储标准文档模板,所述模板可以被复制到用户的工作空间中并且按需要填入。文档库在这种情况下将在“字段”表中存储文档的可填充字段以及可能的默认值。在第二种情况下,应用对每个用户唯一的字段和值且将其映射到空白文档。唯一用户信息的这个集合将随着时间增长为大的信息保管库。在第三种情况下,由用户填入并保存指派给文档的实际字段和值,使得所述值被锁定到完成的文档。下文提出用于解决这些问题的一些技术。
第一种解决方案涉及扫描文档的字段并且针对“最佳适合”字段名称做出关联和推断。在一个实施方案中,这是通过利用网站字段代码的“for”属性来完成的,所述“for”属性使表单标签与页面上的字段框相关联。举例来说,具有模糊不清的名称“box00455x”的字段框可以被编码为“label for=”firstname”,以便我们可以使不清楚的名称和字段与用于“first name”的标签相关联。
对于其中在文档或表单中存在具有相同或相似字段名称的多个字段的情形,文档的其中出现每个字段的区段可用来识别用于每个字段的值是否应当不同。***数据存储装置因此可以存储“字段区段”条目作为数据存储装置中用于每个字段的类别,以便具有相同名称的字段可以基于它们位于哪个区段中而得以消除歧义。
在一些情况下,字段名称可以是完全随机的,并且不提供针对它如何映射到另一个字段或特定字段值的指示。字段名称可以被编码以用于另一个***,所述***利用计算机和专门的数字或字母密钥代码来读取特定代码。举例来说,“First Name”字段可以被命名为“fn0045586”。对于存储在文档库中的PDF文档,可以将另外的“helper”属性添加到称为“commonFieldName”的字段记录。在输入文档时,可以将不良命名的字段手动地转换为容易映射的内容。对于这个“First Name”实例,***可以将FieldName记录为“fn0045586”并且将“commonFieldName”记录为“First Name”。当用户选择这个文档时,我们的智能技术将辨识commonFieldName,且将其容易地映射到用户的字段名称中最佳匹配“First Name”的一个字段名称。
在其中用户具有与同一字段名称相关联的多个值的情形中,***可以被配置来提供下拉菜单或其他选择方法,其中用户可以选择将哪个值输入到特定字段中。在替代实施方案中,用最近使用的值或最频繁使用的值来填充字段。
在另一个实施方案中,不同表单可以有不同方式来指代同一用户字段名称。一个文档可以用一种方式命名一个字段,而另一个文档用另一种方式命名同一字段。举例来说,第一文档可以具有命名为“First Name”的字段,而第二文档可以具有命名为“fname”的字段,并且第三文档具有命名为“firstname”的字段,这全部指代同一字段且应当含有相同的值或内容。为了实现这种关联,***数据存储装置中的用户FieldDefaults表具备“userFieldCollections”记录,其列出同义的各种字段名称。
举例来说,随着时间的流逝,将有多个字段存储在数据存储装置中,每个字段含有相同的值。举例来说,假定这3个“first name”字段中的每一个都将具有值“Arthur”。由图2的字段比较单元106d执行的背景过程可以周期性地扫描数据存储装置是否有具有值“Arthur”的其他字段,并且在“userFieldCollections”表内将那些字段识别为重复。这个表捕获基于其共同内容为同义的各种字段名称。当在后续表单中遇到这些字段中的任一个时,使用适当的值“Arthur”。
在第二种方法中,***可以用共同分组的字段值来预设“userFieldCollections”表。举例来说,当最初遇到称为“firstname”的字段时将“firstname”和“First Name”存储到表中。当遇到称为“First Name”的后续字段时,它的值将已经被存储且容易通过“userFieldCollections”表来定位。
在一个实例中,当存在共同标记的字段名称时发生问题,例如标记为“myFirstName”的字段名称和标记为“customerFirstName”的另一个字段(可能在不同的表单中)。由于这些字段名称清楚地对应于同一信息(用户的名字),因此为了将“myFirstName”映射到“customerFirstName”,可以应用机器学习分类库以从来自其他用户的现有的映射字段进行学习,且接着指派在用户的字段与文档的字段之间的推荐映射。
身份解除关联
为了保护用户的信息免于潜在的盗用和误用,***将用户的可识别信息与用户的其他信息解除关联。举例来说,用户的姓名、社保号、生日、雇员标识等存储在与用户的其他信息分开的数据存储装置中,所述其他信息诸如用户的信用***、银行账户、教育、等级等。可识别信息被另外存储,而没有到同一用户的其他可识别信息的任何逻辑连接,使得每个身份信息字段在数据存储装置内有效地存储在它自己的分区上。用户信息的每个项目可以进一步被个别地加密,并且接着与其他信息一起匿名地存储在表中,而不对所述表进行任何标引、组织或分组,使得所述表不能独立地提供关于用户的任何有用信息。
加密的信息只能用密钥来解密,并且任选地在一些情况下,密钥是针对信息的每个单独项目个别地生成,以便密钥无法被误用于解锁其他项目。密钥存储在单独的数据存储装置中,并且只能在用户用正确的密码登录时被获得。因此,通过将构成用户的身份的信息解除关联,仅仅从访问数据库和其中列出的表来确定足够的用户信息以实现身份盗用是不可能的。
作为实例,独立地且与其他信息(诸如用户的姓名)分开存储的用户社保号(SSN)对永久存在的身份盗窃并没有用。考虑到SSN被进一步加密成不可辨识的一系列字母和数字,***提供两种高度安全的保护存储在数据存储装置中的信息的方法。在一个实施方案中,使用三个单独的数据存储位置来获得信息,并且每个位置可以使用单独的服务器连接到网络,所述单独的服务器可以在单独的防火墙后面。第一数据存储装置可以被配置成存储用户的用户名和密码。如果成功输入用户名和密码,那么生成秘密密钥,所述秘密密钥将接着被供应到第二位置,所述第二位置仅用于存储每个用户的秘密密钥。第三位置可以维持实际信息,并且必须用来自第二位置的秘密密钥进行解锁,以便通过加密映射进行读取以重新关联信息分区。
自动的用户配置文件更新
这种类型的解除关联,即,将数据分解为多片,可以如上所述同样针对每一片信息发生。换句话说,每一片信息可以分解为子片,每个子片用唯一的密钥单独地加密且/或存储在单独的位置中,而没有到其他子片的逻辑连接。***在一个实施方案中可以被配置来自动分类任何输入的信息并将其存储到用户的配置文件中,而不需要来自用户的特定指示。另外,由于在用户的正常活动期间将继续获得用户信息,因此新输入的信息将用来更新现有信息,或者被添加到用于同一信息字段的值的列表,用户接着可在填充表单时从所述列表进行选择。
用户的信息可以存储在其自己的称为个人信息保管库的数据存储位置,并且在其中存储在称为“customerFieldDefaults”的表内。customerFieldDefaults表通常将含有用户的最当前信息。
推导用户信息
在一个实施方案中,可以分析现有的用户配置文件数据以推导另外的相关信息。可以通过执行对现有数据的比较或计算,诸如通过分析财务数据以确定定期的收入和支出的预算,来推导另外的相关信息。另外,可以从外部来源推导另外的相关信息,以便为用户提供对他们的配置文件的某些方面的更完整描绘。举例来说,如果用户将资产列表(包括车辆年份、制造商和型号)输入到他们的用户配置文件中,那么***可以从外部数据存储装置或第三方服务获得车辆的估计价值。在另一个实例中,如果用户输入一件可收藏的艺术品的标题,那么***可以获得关于所述艺术品的附加信息,诸如艺术家、制造年份和估计价值。这个信息可以用于填写保险申请或在丢失的情况下对物品的索赔。
分析用户信息
在一个实施方案中,图2的用户活动收集单元106e监测在使用***时的用户活动(诸如信息输入、表单填写等),并且基于他们的活动和信息来生成、收集预定描述性代码并将其存储到单独的数据存储位置中。所述代码可以对应于用户的当前生活状态、人口统计概况、偏好、财务平衡和与用户的账户相关联的其他参数,但不会收集、公开或损害他们的特定信息。这些代码可以随后用来确定用于所述用户的针对性营销策略和其他策略,以用于促进第三方产品和服务供应,从而有效地更好地针对他们对那些产品或服务的需要和期望。所述代码也可以具备置信度值,这个值与所述代码基于与表单类型、其他相关表单的使用等有关的因素而应用于用户的可能性相关。
举例来说,完成大学申请的用户可以生成与所述用户即将进入大学的可能性相关的代码,这将接着提供向所述用户销售大学相关产品或服务的机会。如果用户完成大学申请和财务援助申请,那么与指示所述用户即将进入大学的代码相关的置信度值可能跃升得更高。这可以用来在图形用户界面内向用户呈现针对其生活状态的广告,诸如针对大学的广告。
所填充信息的存档
每当用户将信息填充到表单中时,***可以将对表单的最终版本的参考存储在称为customerFieldContent的特定数据存储位置表内。具体来说,并不是在单个数据存储位置存储整个表单。而是存储对表单的参考或记录定位符。存储在表单中的信息可以被锁定,并且在其他用户信息更新时将不被更新,除非用户明确访问先前完成的表单,编辑所述表单本身并且创建新版本。所存储的完成的表单可以被加上时间和日期戳记,以在***内创建用户的活动的完整存档。
共享的家庭信息和群组计划/公司计划信息
在一个实施方案中,可以将用户的信息与想要让他们的配置文件的部分得以共享的其他相关方共享。举例来说,配偶、孩子、父母、兄弟和姐妹以及其他家庭成员可以共享相似的信息,诸如地址、电话号码、家庭历史等,上述各项在项目中的一个改变时通常也将被更新。这将为避免输入家庭成员间的重复信息提供便利,并且允许对共享信息的全局更新且允许家庭成员在诸如FAFSA(联邦学生资助免费申请)的应用程序上合作。FAFSA申请具有让学生来完成的某些部分以及需要父母来完成的其他部分。另一个实例是申请大学的孩子可以访问另一个兄弟姐妹已经输入到所述兄弟姐妹的用户配置文件中的共享的家庭信息,诸如地址、父母的姓名、职业等。此外,如果家庭搬家,那么一个家庭成员对家庭地址的更新可以被更新或提供以用于在同一群组中也具有先前列出的相同家庭地址的其他家庭成员的更新。类似地,公司的各种雇员可以合作以便完成公司的政府或其他申请或报告;在另一个实例中,家庭的一代人的健康记录的数据库可以传送到第二代人以向第二代人提供关于潜在基因健康信息的信息。
为了实现家庭或公司共享选项,来自每个家庭/公司成员的信息可以存储在数据库的单独保管库中,并且数据库将接着形成家庭/公司成员间的共同信息之间的链接,以便每个成员可以维持其单独信息的隐私。
III.填充电子表单
选择已存储的表单
当用户准备好完成表单或文档时,用户可以选择若干方法中的一种。如果表单或文档存储在***服务器处的表单数据库中,那么用户可以从文档类别902或特定文档904的列表选择表单,如图9A和9B中的基于网络的应用程序接口900的附加图形用户界面中所示出。另外,用户可能能够使用搜索工具来搜索表单或者浏览类别902以基于表单类型(财务、学术、卫生保健等)找到表单。
应用程序扩展
在一个实施方案中,提供应用程序扩展以用于快速访问以填充在应用程序窗口中看到的表单,如图5中的浏览器扩展下拉菜单的图形用户界面的附加图示中所示。所述扩展可以显示为图标、菜单项目、增补或在应用程序菜单中或其它地方另外显示,且在选择图标后,窗口打开,所述窗口具有将来自用户配置文件的信息填充到应用程序窗口中所显示的字段的选项。所述应用程序可以是互联网浏览器、文字处理器、图像查看器、电子表格或演示软件,但在本文全部作为实例和实施方案的这些实例不限于此。
在另一个实施方案中,如以上在章节I中所论述,应用程序扩展也可以用来从在应用程序窗口中显示的表单、文档或网页提取信息或对其进行增补。这个提取的信息可以上载到用户的个人信息数据库。
在另一个实施方案中,应用程序扩展也可以用来显示并允许修改用户存储的联系人、CRM和/或联系人相关信息,上述各项与诸如在LinkedInTM、FacebookTM或ZillowTM网站等第三方网站上查看时由***辨识的表单字段相关。在这个实施方案的一个实例中,当用户查看其LinkedInTM联系人中的一个时,向用户展示弹出或下拉窗口,这个窗口允许他们查看、修改关于所述特定联系人的唯一且私人的信息或将所述信息直接添加回到他们的个人用户数据库中,而不必与LinkedInTM或LinkedInTM的其他用户共享所述信息。本质上,用户用关于所述联系人的用户个人注释来增强LinkedIn信息,且在其信息数据库中安全地存储所述信息以供个人使用。在另一个实例中,当被定义为运营房地产企业的用户Zillow.comTM上查看特定列表时,向用户展示弹出或下拉窗口,这个窗口允许他们查看、修改关于所述特定房产的唯一且私人的信息或将所述信息直接添加回到他们的个人用户数据库中。这允许房地产企业用户收集有用的企业信息(例如,被展示特定房产的客户的列表、列出细节、展示时间表等),这可以使用户能够在经营上更有效率。
第三方应用程序集成
第三方服务提供者也可以将对***的访问合并到他们自己的应用程序中,诸如基于网络的应用程序或在便携式电子装置上运行的移动应用程序。举例来说,由学术机构运行的网站可以将对***的访问集成到他们的用于申请入学的应用程序中,使得在加载入学应用程序后,用户可以登录且接着访问他们的信息以直接通过网站填充入学申请。另外,互联网购物网站可以集成对***数据库的访问,以便当用户准备好结帐和从网站购买商品或服务时,按钮、链接或验证对话将可供用户选择且接着将他们的信息填充到付款屏幕上。
与第三方应用程序的集成可以为用户提供附加的安全性,因为其可以被配置以使得第三方服务提供者无法查看或存储用户的信息,而是仅在结帐时从***数据库请求所述信息,并且接着一旦交易完成就删除所述信息。
应用程序可以提供为独立的产品或提供为基于网络的产品和服务。在一个实施方案中,应用程序可以提供为便携式文档格式(PDF)填写器应用程序,其中应用程序操作以在PDF文档中填充信息。PDF填写器可以是基于网络的应用程序或者集成为浏览器扩展,如先前所论述。应用程序也可以提供为基于网络的表单填写器,其被设计来完成在线发现的表单和文档。另外,***可以提供为在智能电话、平板计算机或其他便携式电子装置上运行的移动应用程序,其将使用户能够完成表单或其他文档。由于使用小显示屏和触摸屏装置难以输入信息,用便携式电子装置容易地填充信息的能力是特别有利的。举例来说,使用其移动装置进行购买的用户经常发现在小屏幕上难以输入他们所有的联系人信息和付款信息(除了必须记住所述信息之外)。即时完成这些电子商务表单字段的能力对于移动用户将是特别有利的。在另一个实例中,去急救或急诊室设施的用户可能需要填写若干表单,并且可能改为被提供用来访问表单的网站且利用本发明的***来填充表单字段并在线提交表单。基于移动的应用程序可以是独立的或者集成到其他移动应用程序或本机装置应用程序中。举例来说,在一个实施方案中,***可以与便携式电子装置的相机集成,使得用户可以拍摄空白表单或文档的照片,并且利用***来填充表单字段,然后传输完成的文档。
在另一个实施方案中,第三方应用程序可以与***和用户配置文件集成以提供用户配置文件数据从***到第三方用户配置文件的部分或完全传送,而不需要用户查看具有第三方用户配置文件中的字段的表单。举例来说,可以要求注册第三方服务(诸如社交媒体服务或电子商务服务)的用户简单地通过请求将他们的在***上生成的用户配置文件传送到第三方应用程序和对应的服务器和数据库来完成用户配置文件。用户可以仅需要选择将他们的所有用户配置文件信息即时传送到第三方用户配置文件的选项,而不需要查看对应于用户配置文件的基于网络的表单。即时传送可以通过让第三方应用程序将字段名称列表发送到服务器来完成,所述服务器接着将访问数据库表以识别对应于存储在用户配置文件中的匹配字段名称的一个或多个值。匹配字段值接着将被传送回到第三方应用程序服务器和数据库以完成第三方用户配置文件。
可以提供另外的将选定的用户配置文件信息自动传送到另一个表单、数据库、装置或目的地的方法,并且所述方法将消除用户在填写所述信息或将其传送到另一个位置时手动回顾表单字段和内容的需要。
表单完成指示符
在一个实施方案中,可以为用户提供表单完成指示符,其指示根据用户配置文件中的信息可以填写表单的多少内容。可以在用户正从中进行选择的可能表单列表旁边显示表单完成指示符,以便用户可以基于表单完成指示符确定哪个表单最容易填充。所述指示符可以是符号、颜色或甚至仅是数字值,其指示表单中将根据存储在用户配置文件中的信息被填写的字段的百分比。表单完成指示符将实时更新,并且帮助用户从表单数据库选择表单或选择在线网络表单,所述表单最容易自动填充且具有较少的手动条目。完成指示符也可以为用户提供给定类别有多少已经被映射或者需要多少工作来完成未填写的字段的指示。
手动输入界面
虽然***将填充其具有信息的任何字段,但某些字段可能没有值或者可具有多个值,在这种情况下将不会自动填写所述字段。在这种情形中,用户必须采取某种行动以便填充字段。用于填充表单字段的一个实施方案可以通过语音、触摸、手势或输入装置或者以上各项的组合加以辅助。语音和触摸输入消除了对正在输入到表单中的任何信息进行任何手动键入的需要。语音输入可以通过计算装置上的麦克风来使用,而触摸和手势输入可以通过触摸屏、触摸板、图像捕获装置或运动捕获装置来进行。输入装置包括与计算装置连接的鼠标、触笔或其他***装置,其准许在图形用户界面上做出选择。
在一个实施方案中,字段的值的手动输入可以通过显示单独的窗口来完成,诸如弹出或下拉菜单,其具有针对用户可以利用输入装置来说出、触摸或选择的值的选项。交互可以包括一个或多个单独的输入类型,诸如触摸触摸屏上的字段以生成窗口,并且接着说出来自字段值列表的所需值的名称。表单输入字段也可以显示具有与***数据库相关联的提示或注解的窗口,以帮助用户完成表单。在一个实施方案中,字段上的触摸输入将发起经由语音的输入,而“触摸并保持”输入将发起具有多个可能值的单独窗口的显示。
对手动输入的需要每当用户配置文件没有字段的值时都将出现,或者甚至在***被设计成基于一个或多个准则从多个可能值中选择最佳适合值时出现。可以为用户提供在不存在值的情况下或为了替代自动填写的值而在特定字段中手动输入值的选项。举例来说,用户可以在他们的用户配置文件中列出多个不同过敏源(即,鸡蛋、蜜蜂和猫),使得标记为“食物过敏源”的表单字段可能太具体以致于***无法确定应当自动输入所列出的过敏源的哪个值。***可以使用来自其他用户进行的先前用户输入的数据来确定“鸡蛋”是最可能的候选。然而,接着将为用户提供选择字段以生成单独的窗口且接着从过敏源列表进行选择以便校正所述选择的选项—例如在用户对由蜂蜜制成的食品过敏的情况下通过将“蜜蜂”或“蜂蜜”添加到列表。如果用户没有针对字段名称“过敏源”存储的字段值,那么可以提示用户手动输入字段值,方法是利用物理键盘或触摸屏键盘接口、通过在一个或多个下拉菜单中选择类别以提供选项列表,或者通过简单地说出所需值且让语音辨识软件解译语音命令且输入适当的值。用户也可能能够说出用于表单字段的部分关键词,这接着将显示具有包括所述部分关键词的可能值的单独窗口。可以提供查找算法以将关键词与可能的相关值相关联。
如先前论述,触摸和语音输入的一个应用将是触摸特定表单字段且接着说出应当输入到字段中的值的能力。可选地,如果***无法识别字段名称,那么用户可以首先说出字段的名称,这将致使***从用户配置文件填充用于所说出字段名称的值。如果对于字段名称不存在字段值,那么用户也可以接着说出所述字段的值。如果输入的值是新值,那么***将所述值存储在用户配置文件中以供未来使用。在一个实例中,填写汽车保险索赔且需要输入车辆标识号(VIN)的用户可能能够触摸标记为“VIN”的字段框,并且接着陈述“VIN号”或类似命令,在此之后***数据库将用存储的VIN号来填充字段。在另一个实施方案中,选择要在一个字段中填充的值也可以在相关字段中填充值。举例来说,在电子商务结帐阶段期间,在线助手通过显示具有这种名称的字段来提示用户输入***。用户在他们的移动触摸装置上触摸字段且说出词语“Chase Visa”,并且用户的Chase Visa***码、所述卡上的姓名、卡到期日期和卡安全码(CSV)被全部填入结帐表单上的相关联字段中。对用户有利的是,他们不需要借助任何在线助手存储任何个人信用***,然而仍然可以体验快速且安全的购物结帐。另外,在用户的***到期且被替换或更新时,不需要用户记住去访问每个助手站点,只为了更新卡的变化,因为这些全部存储在一个位置且安全地存储在***数据库上。
在另一个实施方案中,如果字段具有多个可能值,那么用户可能能够触摸或说出字段名称,并且接着触摸、说出或借助鼠标输入来选择在下拉菜单或类似物中显示的值列表中的一个。类似地,如果多个字段具有同一名称但位于表单的不同区段中,那么用户可以说出区段的名称且接着说出字段的名称,以便选择用于所需特定字段的值。另外的功能性包括触摸或说出表单字段且接着使用关键词来搜索值的能力。
除了手势、触摸和语音输入之外,字段值的手动输入也可以通过配置有陀螺仪或加速度计的装置中的特定类型的移动来进行,所述陀螺仪或加速度计可以检测定向移动和速度。在一个实施方案中,用户可能能够摇晃装置(诸如智能电话或平板计算机)以便让用户界面找到或填充某些字段。举例来说,用户可以摇晃装置以填充银行表单,并且更特定的手势(诸如竖直倾斜)将找到特定字段名称且为用户提供窗口和若干选项以便将字段值填充到字段名称(诸如***字段名称和不同***的列表,用户可以从所述列表进行选择以用于电子交易)中。
在另一个实施方案中,如果整个表单或者如果表单中的一个或多个字段尚未在***中完全映射且/或存储,那么用户可能能够触摸或说出每个未映射的字段名称,且接着触摸或说出类别、子类别和特定类别数据库字段的列表中的一个,以使这个表单字段关联到数据库字段。***也可以使用机器智能算法来收集并关联表单字段到数据库字段的多个用户映射,且接着将与表单相关联的字段映射存储到表单数据库中,从而提供已准确映射的新表单以供***的所有用户使用。这个实施方案允许***用户独立地添加并映射当前不在***中的新表单以使所有***用户受益。另外,这允许***用户独立地将网络表单字段映射到用于尚未使其字段在***中被映射(关联)的网络表单的数据库类别字段,以使所有***用户受益。
存储修改
在一个实施方案中,如果在***已填充字段值后用户手动更改特定字段的字段值,那么***将指出改变的值,并且在***数据库中、优选地在用户配置文件的信息保管库中存储新输入的值。用户因此可以在改变输入到表单中的信息时自动更新他们的配置文件。
方法和应用
虽然上文已经描述***和方法的若干应用,但***和方法的应用不应被视为限于此。***和方法可以特别应用于完成具有多种表单字段、需要大量信息或者具有相似或令人困惑的名称和字段识别符的复杂表单和文档。大学申请、贷款申请、用于家庭法律事务的收入和支出申报、卫生保健表单以及小企业主所需的许多表单是潜在的应用,这些应用将通过使用本文描述的示例性***在节省时间和信息准确性方面提供显著改进(更不用说缓解沮丧或减少冗余)。
获得、分类并填充电子表单的方法的一个实施方案由图12中的流程图示出。在第一步骤202中,从诸如现有表单、第三方API的一个或多个信息来源获得信息。接着在步骤204中对信息进行分类以确定所述信息所属的至少一个字段并且使所述信息与所述至少一个字段相关联。接着在步骤206中将多个相关联的信息聚合到用户配置文件中且安全地存储在一个或多个数据库中。当用户请求通过客户端界面中的一个来完成表单时,在步骤208中将用户配置文件中的信息与表单上的表单字段匹配且将信息填充到表单上。在步骤210中,如果用户手动输入值到任何表单字段中,并且这些值不同于当前存储在他们的安全数据库中的用户信息,那么这些新值将被保存到用户的安全数据库中。可以任选地更新用户的配置文件以反映新值是所述字段的默认值或主要值。
IV.计算机实现的实施方案
图13是示出计算机/服务器***1300的实施方案的框图,在所述计算机/服务器***1300上可以实现本发明方法的实施方案。***1300包括计算机/服务器平台1301,其包括操作以执行指令的处理器1302和存储器1303,如本领域的技术人员已知。如本文所使用的术语计算机可读存储介质是指参与向处理器1302提供指令以用于执行的任何有形介质,诸如磁盘或半导体存储器。另外,计算机平台1301从诸如键盘、鼠标、触摸装置或口头命令的多个输入装置1304接收输入。计算机平台1301可以另外连接到可移动存储装置1305,诸如便携式硬盘驱动器、光学介质(CD或DVD)、磁盘介质或计算机可以从中读取可执行代码的任何其他有形介质。计算机平台可以进一步连接到网络资源1306,所述网络资源1306连接到互联网或本地公用或私用网络的其他部件。网络资源1306可以从网络1307上的远程位置向计算机平台提供指令和信息。到网络资源1306的连接可以经由无线协议,诸如802.11标准、或蜂窝式协议,或者经由物理传输介质,诸如电缆或光纤。网络资源可以包括用于在与计算机平台1301分开的位置存储信息和可执行指令的存储装置。计算机与显示器1308交互以向用户输出信息,并且向用户请求另外的指令和输入。显示器1308因此还可以用作用于与用户交互的输入装置1304。
V.另外的特征
本文公开的某些实施方案提供用于数据、凭证和加密密钥的安全存储和管理(具体来说包括客户端端点保护)的方法和***。在阅读本说明之后将了解如何实现在各种替代实现方式中所描述的实施方案。此外,虽然本文描述了各种实施方案,但应了解这些实施方案仅作为实例而不是限制来呈现。因此,对各种替代实施方案的此详细说明不应被解释为会限制所附权利要求书的范围或宽度。
共同待决的美国专利申请号14/863,294(‘294申请),其公开内容如同完整阐述那样以全文引用的方式并入本文。‘294申请描述了用于安全的高速数据存储、访问、恢复和传输的***和方法,其涉及如本文所描述的对数据的分段、个别加密和分散。举例来说,如‘294申请中所描述,可以首先将医疗记录中的数据解除关联,以便例如各种字段在逻辑上不相关。接着可以将解除关联的字段分解为子字段或部分(片段)。接着可以打乱这些子字段,以使得人即使能够截获子字段或获得对子字段的访问也无法容易地确定子字段的内容。接着可以例如针对每个子字段或片段使用不同的加密密钥来将这些子字段个别地加密。接着可以将个别地加密的子字段“分片”且存储在不同存储装置或位置上。
图14是‘294申请的图1的再现,其示出可以实行所描述过程的示例性***。但是如参考图14所描述,所述过程一般响应于在客户端装置或端点110上发起的命令或请求而在安全平台120上发生。安全平台120接着在各种存储装置或位置140-170上存储加密的片段。虽然位置140可以在本地或本地连接到装置140,但在‘294申请中描述的过程不一定涵盖从端点110到平台120的链接。
共同待决的美国专利申请号14/970,466(‘466申请),其公开内容如同完整阐述那样以全文引用的方式并入本文,且描述了用于已经受‘294申请的过程的数据的分散式数据检索的***和方法。图15是‘466申请的图1的再现,其示出用于实行本文描述的分散式数据检索的***。如参考图15所描述,虽然分散式数据检索可涉及在本地或本地连接到端点110的存储装置或位置140,但本文描述的过程一般不适用于端点110与服务器120和180之间的链接。
美国临时专利申请号62/281,097(‘097申请),现已到期,其公开内容如同完整阐述那样以全文引用的方式并入本文。‘097申请描述了用于凭证和加密密钥的安全存储和管理的***和方法。图16是‘097申请的图1的再现,其示出可以在上面实行其中描述的过程的***。如参考图16所描述,虽然凭证和加密密钥的安全存储和管理可涉及在本地或本地连接到端点110的存储装置或位置140,但其中描述的过程一般不适用于端点110与服务器120和180之间的链接。
在本文描述的***和方法中,在‘294、‘466和‘097申请中描述的过程可以在边缘处(即,在如图14-16中所示出的客户端端点110上)实现。举例来说,可以将应用程序加载到装置110,使得数据可以保存到本地的或本地连接的存储装置140的不同部分并且从所述不同部分检索,如附件中所描述,或者使得数据可以保存并存储到多个存储装置140-170。因此,如果装置110的用户创建文档、视频、图片等,那么用户可以调用应用程序以存储文档或文件。这可以涉及进行上文和附件中描述的所有步骤以将片段以分散方式存储到存储装置140中的不同位置或存储到存储器140-170上的不同位置,如上文以及例如‘294申请中所描述。类似地,应用程序可以执行如‘466申请中所描述的对数据或文件的分散式检索,且可以强制执行如‘097申请中所描述的对凭证和加密密钥的管理。
因此,当数据保存到多个存储装置时,所述过程在进行传输以便存储之前单独地加密所有片段这一事实也保证了所述数据到那些装置的传输的安全。换句话说,数据元素在被传输之前全部在装置处进行分段并保证安全。这样做的主要益处在于,不需要保证通信信道的安全,并且可以使用普通的“开放”连接。举例来说,代替使用更慢且更昂贵的TLS安全浏览器传输,可以使用更快的非加密信道。数据包将含有安全的片段。这适用于所有类型的传输,而不仅仅是基于浏览器的传输:可以是无线电、FTP、蓝牙等。
应用程序可以呈现为工具栏或下拉菜单中的按钮,使得当用户在他们的装置110上的文档或文件中时,如图14-16中所示出,他们可以简单地按下相关联的应用程序中或网络浏览器中的按钮、图标等,并且可以相应地存储文档。接着可以在装置110上以某种方式展示文档或文件,这种方式指示已经使用上文和‘294、‘466和/或‘097申请中描述的过程存储所述文档或文件。当用户再次访问所述文档或文件时,上文和‘294、‘466和/或‘097申请中描述的检索过程可以自动发生。在某些实施方案中,用户也可以关于在何处存储所有或一些片段选择各种分散偏好。
在其他实施方案中,例如可以使用在文件上的右键点击来选择所描述的存储过程。在另外其他的实施方案中,应用程序可以自动确定应当使用这类过程来存储文件。在另外其他的实施方案中,可以设置所有文件、某些文件、某些类型的文件等的默认值以使用这类过程。
如图14-16中所示出的装置110的用户经常将最终希望使用某种形式的远程存储,经常称为云存储,以存储在装置110上创建的文件中的至少一些。在与这种云存储服务相关联的服务器上运行的应用程序可以被配置来以与例如在‘294申请中描述方式类似的方式执行‘294、‘466和/或‘097申请中描述的过程。但是如上所述,装置110与这种服务器之间的链接将不一定安全;然而,如本文所描述,可以首先在本地对内容运行所描述的过程,然后将数据传送到云或中间端点。在最终例如到达云之前可能存在许多中间“端点”。单个客户端到云仅仅是一种拓扑。举例来说,可以存在若干节点的网络,所述节点全部各自使用所描述的***和方法彼此通信以在传输之前保证其数据的安全。接着可以在云服务上以分散方式存储片段。因此,即使数据在途中被截获,也是没有用的。
在某些实施方案中,应用程序可以被配置以使得当用户尝试存储数据或从云存储服务检索数据时自动执行所描述的过程。而且,应用程序可以被配置以使得检测静止的文档或文件,即,在某一段时间内与文档或文件没有交互,并且接着自动运行所描述的过程以保护文档。当用户接着重新接触所述文档或文件时,可以运行适当的过程以允许对所述文档或文件的访问。
在某些实施方案中,所描述的过程可以例如在本地对文件执行,并且接着在文件被传送到例如云和/或中间装置时再次执行。
在某些实施方案中,使用所描述的过程存储的文档的共享和合作可以使用例如在‘097申请中描述的验证和凭证管理过程来实现。因此,可以对某些个体授予访问,接着将使用例如基于指派给那些个体的凭证所生成的安全密钥来管理所述授予。
当本地存储装置是诸如USB驱动器的不安全存储装置时,从所描述的过程得到另一个重要益处。在这种情况下,使用所描述的过程将数据存储到装置可以确保即使数据被错误的个体或实体访问,数据也无法使用。应注意,在某些实施方案中,被配置成在本地层级执行所描述的过程的本地应用程序可以驻留在这种本地存储装置上,例如USB存储装置。
在某些实施方案中,本地应用程序也可以被配置成提供对电子邮件附件的保护。经由电子邮件发送附件是危险的,因为附加的文档可以被具有足够知识的任何黑客截获并读取。可以对这类附件以这样一种方式实现本文描述的过程,以便保护附件免于被除了既定接收方之外的任何人读取。通常,本地应用程序并不与电子邮件流量介接或者加密电子邮件的主体本身。而是,具有本地应用程序的附件发送方可以对他们意图要附加的文档运行所描述的过程(从而将所述文档发送到公用云服务器)。应用程序接着可以生成对所述文档的***。所述***接着可以代替实际文档用电子邮件发送到接收方。接收方接着可以点击他们接收到的***以下载并解密原始文档。这当然会要求接收方也具有这种本地应用程序以允许接收方装置根据所描述的过程来检索附件。
在其他实施方案中,诸如上文所描述的本地应用程序也可以允许对数字媒体(文档、书籍、音频、视频等)帧或区段的受控依序“查看”或“重放”。在这类实施方案中,经授权并验证的订阅者或如图14-16中所示出的装置110的用户仅能够检索并查看在媒体被显示(或播放)时已经传输给他们的单独的按顺序的帧或区段。另外,在订阅者前进到下一个帧或区段之后,使用所描述的过程自动重新存储先前播放的帧或区段或者将其永久删除。因此,在任一种情况下,仅最小量的数字媒体被解密并组装以供订阅者消费,从而使盗版或未经授权的消费最小化。这可以任选地延伸到还通过回到传输源的消费反馈机制来限制被授权以便从传输源进一步传输到经验证并授权的订阅者的按顺序的帧或区段的量。价值在于更安全地散布所有类型的数字媒体,从消费者数据到最高机密数据。
因此,在传输之前,可以将这种数字媒体分解为独立的区段或帧,并且接着应用对那些区段或帧中的每一个进行分段/加密/分散的所描述过程,然后传输到如图14-16中所示出的边缘装置110。在检索后,可以用按顺序的技术每次传输每个区段或帧以重新组成构成所述区段或帧的基础片段。
如其中所述,在本文中再现为图17的‘097申请的图4是示出根据各种实施方案的有线或无线***550的框图,所述***550可用来实现如图14-16中所示出的客户端装置110。因此,这里将不详细描述这个***550。
VI.密钥交换方法
当将新装置(诸如IoT装置)添加到网络时,需要有一种方式来验证所述装置。本公开的各种方面提供了用于集成任何数量的密钥交换方法(包括装置的内置密钥交换过程)以促进这种操作的方法。例如在两个装置之间的数据流式传输的情况下,这种能力实现了所述装置之间的验证过的通信。一旦在两个装置之间建立通信,密钥交换方法和交换频率就可以基于性能要求且响应于任何数量的条件(例如但不限于数据安全性威胁等级)而动态变化。加密引擎可以与其他密钥交换解决方案动态地交互操作并分层,所述其他密钥交换解决方案包括在装置之间的私用/公用交换,例如但不限于在TLS中使用的Diffie-Hellman协议。通过针对给定数据集利用安全密钥且使密钥旋转率最大化,可以实现更高的安全性等级。
图18是示出根据本公开的各种方面的用于交换密钥的方法1800的流程图。参考图18,在框1810处,基于当前加密算法参数和种子,每个装置(例如第一装置和第二装置)可以建立共享密钥。本领域的普通技术人员将了解,在不脱离本公开的范围的情况下可以利用多于两个装置。
在框1815处,可以使用共享密钥对第一装置上的数据集进行加密,且在框1820处,第一装置可以将加密数据传输到第二装置。在框1825处,第二装置可以使用共享密钥对数据集进行解密。在框1830处,可以确定密钥重新生成准则,所述准则指示是否应当重新生成密钥。在框1835处,可以针对每个数据集评估密钥重新生成准则。在框1840处,可以确定是否满足密钥重新生成准则。响应于确定不满足密钥重新生成准则(1840-否),在框1845处,可以监测指示何时应当重新生成密钥的条件,直到在框1840处满足密钥重新生成准则为止。响应于确定满足密钥重新生成准则(1840-是),在框1850处,可以生成用于下一个密钥的新加密算法参数并且方法可以在框1810处继续。密钥重新生成准则可以识别可能的加密算法以及用于加密算法的特定参数。
VII.加密数据传输
根据本公开的各种方面,加密数据可以借助唯一的加密通过多个同时的客户端目的地来传输,包括但不限于流、文件***和/或云。加密数据可以被引导到任何数量的目的地,诸如解密到视频播放器的流格式,或者作为安全地存储在文件***或云上的一组片段。有待加密的项目可以呈任何数量的数据格式,包括但不限于文件(例如,Word文档、照片文件、虚拟机文件等)、密钥-值对(例如,简单字符串,诸如JSON或适合于存储表单数据、应用程序设置和偏好的其他格式)和流(例如,视频或数据馈送)。
根据本公开的各种方面,每个对象可以拆分为更小的片段,从而实现用于每个对象的总传输时间T的减少,在一些情况下实现比常规可用的时间快多达8到15倍的传输时间。对象的片段可以仅被加密一次,同时通过利用用于每个客户端的唯一密钥来增加安全性。这种方法即使在将加密数据发送到多个客户端目的地时也可以提供性能优点。每个目的地可以具有唯一的解密密钥来访问数据。可以创建到多个目的地的多个安全输出流,同时使硬件资源需求最小化。对数据进行分段、加密并且在计算装置之间传输可以实现低等待时间和完整的数据加密。根据本公开的各种方面,所述方法可以缩放以支持多个客户端,从而在每个客户端之间维持唯一的秘密密钥并且针对每个既定客户端对清单进行不同的加密。
图19是示出根据本公开的各种方面的加密数据传输序列1900的序列图。参考图19,在框1910处,在每个客户端1902、1903上运行的客户端软件与服务器1901通信且开始密钥交换过程。在框1915处,服务器1901从来源读取数据块,例如视频流的一个帧、音频的样本等,所述来源可以是文件或数据传感器,包括但不限于相机、视频传感器和/或音频传感器。在框1920处,服务器1901拆分数据,从而创建数据片段。在框1925处,服务器针对客户端1902、1903中的每一个生成清单,所述清单含有用于数据片段中的每一个的唯一加密密钥,以及其他数据。在框1930处,服务器1901使用来自每个客户端1902、1903的密钥交换信息来创建用于每个客户端1902、1903的唯一秘密密钥。在框1935处,服务器1901使用用于每个客户端1902、1903的唯一秘密密钥来对清单进行加密。
在框1940处,服务器1901将加密的清单传输到客户端1902、1903中的每一个。本领域的普通技术人员将了解,可以将不同数据传输到每个客户端1902、1903,且因此可以生成不同清单且由服务器1901将其传输到客户端1902、1903中的每一个。服务器1901对数据片段进行加密,并且在框1945处将加密的数据片段传输到既定客户端1902、1903。在框1950处,在客户端1902、1903上运行的客户端软件等待接收清单,并且使用唯一秘密密钥对清单进行解密。在框1955处,每个客户端1902、1903向服务器1901确认接收到了清单。在框1960处,每个客户端1902、1903监听加密的数据片段,并且使用清单内所含的数据对每个数据片段进行解密。在框1965处,每个客户端1902、1903向服务器1901发送用于下一个清单的秘密密钥种子。
可以针对从客户端读取的每个数据块重复图19的序列。数据片段可以由客户端以任何次序接收,并且将以正确次序重新组装和处理。服务器可以针对下一个数据块重复所述序列,全部在框1920处开始。对于每个数据块,客户端将等待接收对应的清单。如果服务器未从客户端接收到清单确认,那么服务器将扣留下一个数据块,直到接收到确认为止或直到超时间隔已到期为止。如果客户端接收到不完整或不准确的清单,那么可以通知服务器重新发送用新秘密密钥加密的当前清单。如果客户端接收到不完整或不准确的数据片段,那么可以通知服务器重新发送当前数据块。
VIII.数据加密速度
根据本公开的各种方面,预处理器可以将大文件预先切分或分解为更小的片,然后进行分段和加密过程。伴随的后处理器可以在解密和解除分段之后重组所述文件。通过将数据对象拆分为更小的片段且跨多个处理器线程加密那些个别片段,可以获得速度优势(例如,5倍到15倍),而不会减小密钥大小或另外损害安全性等级。在分段和加密之前将大文件“切分”(即,分解)为更小的片且接着在解除分段和解密之后将其重组,可以增加性能且准许在具有有限存储器的装置上处理极大的数据对象。
图20A是示出根据本公开的各种方面的用于预切分数据以增加加密速度的方法2000的流程图。参考图20A,在框2010处,可以确定数据切分准则。在框2015处,可以基于确定的切分准则来评估数据对象的切分。在框2020处,可以确定是否可以切分数据对象。响应于确定可以切分数据对象(2020-是),在框2025处,服务器可以将数据对象分解或“切分”为更小的数据片,并且在框2030处,可以加密发送每个数据切片。在框2035处,服务器可以将每个数据切片拆分为数据片段,并且可以对数据片段进行加密。可以将数据解除关联离并分散以用于存储在一个或多个存储位置中。
图20B是示出根据本公开的各种方面的用于重组数据文件的方法2050的流程图。参考图20B,在框2060处,可以对加密的数据片段进行解密。在框2065处,可以将解密的数据片段解除分段且重组成数据切片。在框2070处,可以将切片重组成数据对象。
IX.加密密钥管理
根据本公开的各种方面,***可以将密钥散布到驻留在本地操作***内的密钥存储。在一些情况下,举例来说,在网络中断的情况下,装置可能不能访问远程用户和密钥或相似的许可证服务。在登录时可以使用远程服务来检验用户的许可证凭证,诸如用户名和密码。在远程服务不可用的这类情况下,客户端软件可以通过访问本地装置上的加密密钥存储在本地证实用户凭证。***可以填充并管理这个本地密钥存储作为备份以用于对抗网络中断的弹性措施。
***可以递送密钥管理(KM)软件,包括所有预期的最先进能力。然而,当到密钥管理服务器的通信丢失时,并不是因为密钥管理服务器停机,而是因为远程装置由于网络中断或某个其他连接问题而不能连接到所述服务器。如果是其中***客户端软件在诸如膝上型计算机或其他具有网络功能的计算装置的装置上运行并且到密钥管理服务器的连接丢失的情形,客户端软件继续在所述装置上对数据进行加密/解密。在远程密钥管理服务器连接丢失的情况下,客户端软件将在操作装置上生成本地密钥存储作为备份。本地密钥存储可以被配置成维持用户所需的特定密钥或密钥加密密钥,包括所需的任何另外的用户凭证。密钥存储本身可以被加密且仅可供经验证的用户使用。
图21是示出根据本公开的各种方面的用于管理加密密钥的方法2100的流程图。参考图21,在框2110处,可以确定到密钥管理服务器的连接是否可用。响应于确定到密钥管理服务器的连接可用(2110是),在框2115处,客户端可以与密钥管理服务器通信以访问加密密钥。
响应于确定到密钥管理服务器的连接不可用(2110-否),在框2120处,可以确定客户端是否有权限利用本地密钥存储。响应于确定客户端有权限利用本地密钥存储(2120-是),客户端可以从本地密钥存储访问加密密钥。响应于确定客户端没有权限利用本地密钥存储(2120-否),在框2130处,可以停止数据加密。
X.复合安全密钥
根据本公开的各种方面,用户和密钥技术可以支持使用与/或(AND/OR)布尔型逻辑的复合密钥。通过引入动态表达式来控制密钥的访问要求,***延伸了复合密钥的概念。可以使用任何数量的子密钥来定义复合密钥。为了使复合密钥有效,构成整体所必需的子密钥应当全部存在且正确(布尔型与),或者子密钥中的至少一个应当存在且正确(布尔型或)。可以存在用来定义有效密钥的布尔型构造的任何组合。
根据本公开的各种方面,可以使用动态表达式来控制密钥的访问要求。密钥可以具有布尔型表达式的任何组合以限制或控制密钥的能力。举例来说,密钥的访问表达式可以描述为(Alice AND(Bob OR Carl)),并且只允许Alice在与Bob或Carl配合进行的情况下解锁文件。复合密钥也可以包含无限多种其他条件,而不仅仅是用户名,所述条件包括地理位置、时钟时间和散列校验和。举例来说,(Alice AND(Bob OR Carl)AND ACCESSTIME ISEQUAL BUSINESSHOURS)可以仅对营业时间添加限制。此外,密钥访问表达式可以包含可基于外部条件而改变的动态条件,所述外部条件例如但不限于安全性威胁等级是否较高。举例来说,(Alice AND(Bob OR Carl)AND SECURITYLEVEL IS EQUAL(NORMAL OR LOW))可以仅当安全性条件处于正常或低等级时允许访问。这些表达式允许具有高度响应能力的访问控制,从而即使在黑客攻击期间条件快速改变时也自动保持数据安全。本领域的普通技术人员将了解,在不脱离本公开的范围的情况下可以使用其他组合。
图22是示出根据本公开的各种方面的用于评估复合密钥的方法2200的流程图。参考图22,在框2210处,对于每个所尝试的数据访问,可以确定用于安全密钥的访问表达式。举例来说,访问表达式可以包括布尔型表达式和/或外部条件的任何组合。在框2215处,可以评估用于安全密钥的访问表达式,其包括任何所需的外部条件。在框2220处,可以确定是否满足访问表达式和/或外部条件。
响应于确定不满足访问表达式和/或外部条件(2220-否),在框2225处,可以拒绝安全密钥且可以否决数据访问。响应于确定满足访问表达式和/或外部条件(2220-是),在框2230处,可以接受访问密钥且准许数据访问。
XI.数据访问限制
根据本公开的各种方面,加密数据可以包括任何数量的访问限制,包括但不限于用户角色、复合密钥、地理位置、访问时间、访问时间长度、相对于其他密钥的访问次序。当不满足某些条件时,可以限制原本有效的用户会话,使其不能访问数据。这些条件可以任意地定义且指派给任何数据项目。举例来说,如果特定数据项目应当仅从某个地理区内的用户且在一天的某个时间访问,那么在未满足这些条件的情况下***将不允许用户访问这个数据文件。***可以为了方便而提供某些“罐装”限制类型,但也可以添加另外的限制。
***将访问限制应用于数据元素层级。这种方法可以使灵活性最大化,其中例如社保号每个数据项目可以具有它自己的可能不同于另一个社保号的一组访问限制。另外,访问限制可以是任意的,并且可以表达为布尔型表达式且存储为元数据。对所有访问限制进行分段、加密、解除关联并分散以防止黑客发现或更改所述限制。
图23是示出根据本公开的各种方面的用于限制数据访问的方法2300的流程图。参考图23,在框2310处,可以发起访问数据的请求。在框2315处,可以确定针对访问数据的访问限制和/或条件。访问限制/条件可以包括但不限于用户角色、复合密钥、地理位置、访问时间、访问时间长度、相对于其他密钥的访问次序。在框2320处,可以评估访问限制和/或条件。在框2325处,可以确定是否已经满足访问限制/条件。
响应于确定尚未满足访问限制/条件(2325-否),在框2330处,可以否决对数据的访问。响应于确定已经满足访问限制/条件(2325-是),在框2335处,可以准许对数据的访问。
XII.黑客攻击
根据本公开的各种方面,快速检测技术支持“蜜罐密钥”,所述蜜罐密钥在使用时将触发指定动作,例如但不限于警报、密钥旋转等。蜜罐密钥是留给黑客和/或非法软件来发现的暴露密钥。
有效的访问密钥和凭证是用户正确地访问受***保护的数据所必需的。如果使用不正确的密钥来访问任何数据,那么快速检测算法会触发异常事件。所述密钥可以包括可以留给黑客来发现且尝试使用的“蜜罐”密钥,以及合法用户被迫输入的“胁迫密钥”。由不正确或错误的密钥造成的异常事件可以用来自动旋转密钥,屏蔽用户,并且提醒安全人员。
图24是示出根据本公开的各种方面的用于检测黑客攻击并且对黑客攻击做出响应的方法2400的流程图。参考图24,在框2410处,可以发起数据访问请求且由***接收所述数据访问请求。在框2420处,可以证实随着数据访问请求一起提供的访问密钥。举例来说,可以将快速检测算法应用于访问密钥。在框2430处,可以确定访问密钥对于所请求数据是否有效。响应于确定访问密钥有效(2430是),在框2440处,可以授予对所请求数据的访问。
响应于确定访问密钥无效(2430-否),在框2450处,可以否决对所请求数据的访问。在框2460处,可以发起响应协议。举例来说,响应协议可以致使发起数据访问请求的用户完全注销,可以仅否决对所请求数据项目的访问,或者可以允许仅对有限的数据集的访问。可选地或另外,协议可以向***管理员通知具有无效访问密钥的访问尝试且/或旋转加密密钥且/或关闭***。
XIII.勒索软件
根据本公开的各种方面,防勒索加密保护可以包括“金丝雀文件”,所述文件由***用来确定在对数据进行操作以例如创建备份存档之前,***是否已经被意外地更改。***做出勒索软件攻击将会发生的假设,并且相应地做出定期备份以用于恢复。然而,不应备份被勒索软件病毒感染的损坏文件。对于使用***在网络上对用户的硬盘驱动器进行备份的企业,使用“金丝雀文件”,所述文件是遍布于用户的硬盘驱动器上的小文件。如果这些金丝雀文件中的任一个丢失或被更改,那么这是驱动器已经受损的指示。在执行备份之前,***将检查金丝雀文件,从而防止对受感染的驱动器的备份(以及可能对上一个好的备份的覆写)。为了从攻击中恢复,可以对上一个好的存档进行解密以替换受感染的硬盘驱动器的内容。
图25是示出根据本公开的各种方面的用于检测勒索软件攻击并且对勒索软件攻击做出响应的方法2500的流程图。参考图25,在框2510处,在***对磁盘驱动器的第一次访问时,***可以安装一个或多个金丝雀文件。举例来说,小的已知文件可以遍布于磁盘驱动器上。在框2520处,可以通过检验金丝雀文件是否有效来执行磁盘驱动器的状态检查。举例来说,可以将安装的金丝雀文件与金丝雀文件的预期数量和内容进行比较。丢失或被更改的金丝雀文件可能是磁盘驱动器已经受损的指示。
在框2530处,可以确定磁盘驱动器是否已经被勒索软件感染。举例来说,***可以确定金丝雀文件中的任一个是否丢失或被更改。响应于确定磁盘驱动器未被感染(2530-否),在框2540处,可以对磁盘驱动器内容进行加密且备份到另一个磁盘驱动器到另一个磁盘驱动器。
响应于确定磁盘驱动器已经被感染(2530-是),在框2550处,可以推迟磁盘驱动器的备份。推迟磁盘驱动器备份防止替代磁盘驱动器内容的上一个已知的好副本。在框2560处,可以触发警报以向管理员通知受感染的磁盘驱动器。在框2570处,可以从先前备份的版本恢复磁盘驱动器内容。
XIV.搜索加密数据
根据本公开的各种方面,用于对数据进行预标引的加速访问记录(AAR)与有待标引的数据分开存储,并且可以由第三方软件挖掘以提供分析和报告。AAR是优化的搜索记录,其可以集成到第三方搜索工具中,从而提供高级分析和报告。出于安全目的,这些搜索记录可以由***单独存储在另一个服务器上。同样运行***安全软件的这个第二服务器可以具有单独的验证层,从而允许第三方访问和/或第三方搜索工具。
图26是示出根据本公开的各种方面的用于实现对加密数据的搜索的方法2600的流程图。参考图26,在框2610处,在***中将数据存储在磁盘上。在框2620处,可以检查数据以确定数据是否应当是可搜索的。响应于确定数据不应当是可搜索的(2630-否),在框2640处,***可以加密并备份磁盘内容。
响应于确定数据应当是可搜索的(2630-是),在框2650处,***可以将加速访问记录(AAR)添加到***上的远程服务器驱动器。在框2660处,当搜索数据时,可以访问AAR以搜索加密内容。
XV.数据加密
根据本公开的各种方面,由***加密的所有数据可以存储并组织到用户可定义的一组位置中,所述位置称为虚拟密码学容器(Virtual Cryptological Container,VCC)。加密数据可以分散在VCC中的多个数据存储装置上。这些VCC的跨度可以从例如但不限于USB棒的单个装置一直到多个数据中心,并且可以具有动态可定义的位置。这些VCC到其他装置的未经授权的重新定位可以被***检测到,并且可以触发任何数量的动作,包括禁用访问和密钥旋转。
VCC可以被配置成使得它完全存在于单个驱动器上或跨多个数据中心和格式存在于多个驱动器上。这种方法的灵活性源自***能够使存储虚拟化以使得应用程序并不关心如何存储或者在何处存储加密数据。应用程序仅与***交互以用于发送数据以进行加密并且用于检索所述数据以进行解密。***可以管理一个或多个存储位置。这种方法的一些益处可以包括:
·VCC可以完全存在于单个硬盘驱动器内,使得容易安全地输送到另一个硬盘驱动器。举例来说,VCC可以放置在USB棒上,且保持完全加密,直到使用***来访问所述VCC这样的时候为止。
·VCC可以具有在某些情况下限制其使用的标记。举例来说,VCC可以被编码成仅当位于特定驱动器或者硬件MAC地址或某个其他签名ID上时起作用。VCC可以被限制为仅当从特定地理位置或者一天的某个时间或某个日期访问时起作用。***将不能够对数据进行加密或解密,除非满足这些VCC条件。
·VCC使应用程序不需要知道基础存储介质是什么以及用于所述介质的特定API是什么。举例来说,可能存在许多云数据存储,诸如Amazon S3和MS Azure,它们全部具有唯一的API,所述API必须在可以利用那些服务之前集成到应用程序中。***可以对包括直接在装置上存储的所有那些存储选项提供单个API。
·通过使用VCC促进了复制和备份选项,并且可以存在多种选项。举例来说,如果VCC完全存储在诸如平板计算机的单个装置上,那么可以将VCC周期性地复制并存储在装置外作为备份。如果VCC的跨度为多个存储位置,那么***可以被配置成将每个存储请求实时复制到并行的VCC。基础数据存储(例如,Amazon S3云)也可以启用它们自己的备份过程,所述过程将与***无缝地一起工作。
图27是示出根据本公开的各种方面的用于利用虚拟密码学容器来存储加密数据的方法2700的流程图。参考图27,在框2710处,可以指定安装配置文件,其包括到可用存储位置中的每一个的路径名称。存储位置可以在装置上的硬盘驱动器上,可以是在LAN中或跨WAN到远程云服务端点的装载驱动器,或者可以是以上各项的组合。安装配置文件也可以指定其他***选项。
在框2720处,可以启动***,且在框2740处,可以建立VCC。举例来说,***可以读取安装配置文件且建立VCC以用于后续访问。在框2750处,可以访问***以对数据进行加密或解密。举例来说,需要对数据进行加密或解密的应用程序可以对***做出API调用。在框2760处,可以按应用程序的请求经由VCC对数据进行加密或解密。举例来说,***可以通过在VCC中加密并存储数据或者检索并解密存储在VCC中的数据来执行应用程序的请求。
XVI.另外的特征
根据本公开的各种方面,***可以包括安全引擎,其具有适应法规限制的能力。***可以被配置有不限制出口的AES-128或更低的密码。可选地,***可以被配置成利用FIPS140-2库或外部加密硬件设备。***并不绑定到任何加密密码,并且因此随着用户的需要和要求而适应并成长。举例来说,对于在无法向其出口强密码库的国家的用户,***可以被配置有在美国出口法律下所准许的库。
此外,***可以作为集中式服务器或加密设备来操作,并且有能力在端点装置上运行以在捕获数据后保护数据。根据本公开,数据片段在被接收后可以接受篡改检测,以消除黑客在途中改变数据的可能性。在接收个别片段时,***验证所述片段。可以使用若干方法来执行这种验证,包括但不限于基于GCM的AES-256加密。未能通过这种验证的片段被识别为已篡改且将被拒绝。取决于配置,FHOOSH将以多种方式进行响应,诸如密钥旋转、连接终止或者重新发送所述片段。
虽然上文已经描述各种实施方案,但应了解,仅作为实例而非限制来呈现这些实施方案。宽度和范围不应受到上述示例性实施方案中的任一个的限制。在本文档提到本领域的普通技术人员将了解或者已知的技术的情况下,这类技术涵盖现在或在未来的任何时间本领域的技术人员将了解或者已知的那些技术。另外,所描述的实施方案不限于所示出的示例性体系结构或配置,但所需的特征可以使用多种替代体系结构和配置来实现。如本领域的普通技术人员在阅读本文档之后将了解,可以实现所示出的实施方案和它们的各种替代方案,而不限于所示出的实例。本领域的普通技术人员还将理解可以如何利用替代的功能、逻辑或物理分割和配置来实现所描述实施方案的所需特征。
此外,虽然可以用单数形式描述或要求保护元件或部件,但复数形式也被认为是在其范围内的,除非明确陈述了局限于单数形式。诸如“一个或多个”、“至少”、“但不限于”或其他类似短语的扩展性词语和短语在一些情况下的存在不应解读为意味着在可能没有这类扩展性短语的情况下希望或需要范围更窄的情况。
Claims (85)
1.一种用于存储第一数据对象的方法,其包括:
在客户端装置上,将所述第一数据对象分解为与第一原始记录定位符相关联的第一片段和与第二原始记录定位符相关联的第二片段;
在所述客户端装置上,打乱所述第一原始记录定位符以生成第一打乱的记录定位符且打乱所述第二原始记录定位符以生成第二打乱的记录定位符;
在所述客户端装置上,使用第一加密密钥对所述第一片段进行加密且使用第二加密密钥对所述第二片段进行加密;以及
将具有对应的所述第一打乱的记录定位符的所述第一加密片段和具有所述第二打乱的记录定位符的所述第二加密片段存储到多个存储位置中的至少第一个。
2.如权利要求1所述的方法,其中通过应用分解函数来分解所述第一数据对象。
3.如权利要求2所述的方法,其还包括至少部分地基于一个或多个可变存储参数选择所述分解函数。
4.如权利要求3所述的方法,其中所述一个或多个可变存储参数包括以下各项中的至少一个:用户名、用户通行短语、当前安全模型、所述第一数据对象的类型、所述第一数据对象的大小、一个或多个安全要求,以及一个或多个性能要求。
5.如权利要求2所述的方法,其还包括响应于检测到触发而改变所述一个或多个可变存储参数。
6.如权利要求5所述的方法,其中所述触发包括关于以下各项中的一个或多个的安全漏洞:所述第一数据对象、第二数据对象、所述多个存储位置中的所述第一个,以及所述多个存储位置中的第二个。
7.如权利要求1所述的方法,其还包括至少部分地基于所述第一原始记录定位符确定所述第一加密密钥且至少部分地基于所述第二原始记录定位符确定所述第二加密密钥。
8.如权利要求7所述的方法,其中至少部分地基于一个或多个可变存储参数进一步确定所述第一加密密钥和所述第二加密密钥。
9.如权利要求8所述的方法,其中所述一个或多个可变存储参数包括以下各项中的至少一个:用户名、用户通行短语、当前安全模型、所述第一数据对象的类型、所述第一数据对象的大小、一个或多个安全要求,以及一个或多个性能要求。
10.如权利要求8所述的方法,其还包括响应于检测到触发而改变所述一个或多个可变存储参数。
11.如权利要求10所述的方法,其中所述触发包括关于以下各项中的一个或多个的安全漏洞:所述第一数据对象、第二数据对象、所述多个存储位置中的所述第一个,以及所述多个存储位置中的第二个。
12.如权利要求1所述的方法,其还包括在对所述第一片段和所述第二片段进行加密之前打乱所述第一片段和所述第二片段中的每一个。
13.如权利要求1所述的方法,其中使用所述第一加密密钥通过所述第二加密密钥对所述第一片段进行加密,使用所述第二加密密钥通过第三加密密钥对所述第二片段进行加密,并且使用所述第三加密密钥对所述第一数据对象的第三片段进行加密。
14.如权利要求1所述的方法,其中打乱所述第一原始记录定位符和所述第二原始记录定位符中的每一个包括:
更改所述第一原始记录定位符和所述第二原始记录定位符中的每一个;以及
将打乱函数应用于所述第一原始记录定位符和所述第二原始记录定位符中的每一个。
15.如权利要求14所述的方法,其中至少部分地基于一个或多个可变存储参数打乱所述第一原始记录定位符和所述第二原始记录定位符中的每一个。
16.如权利要求15所述的方法,其中所述一个或多个可变存储参数包括以下各项中的至少一个:用户名、用户通行短语、当前安全模型、所述第一数据对象的类型、所述第一数据对象的大小、一个或多个安全要求,以及一个或多个性能要求。
17.如权利要求15所述的方法,其还包括响应于检测到触发而改变所述一个或多个可变存储参数。
18.如权利要求27所述的方法,其中所述触发包括关于以下各项中的一个或多个的安全漏洞:所述第一数据对象、第二数据对象、所述多个存储位置中的所述第一个,以及所述多个存储位置中的第二个。
19.如权利要求1所述的方法,其还包括至少部分地基于一个或多个可变存储参数来识别所述多个存储位置中的至少所述第一个以存储具有对应的所述第一打乱的记录定位符的所述第一加密片段和具有所述第二打乱的记录定位符的所述第二加密片段。
20.如权利要求19所述的方法,其中所述一个或多个可变存储参数包括以下各项中的至少一个:用户名、用户通行短语、当前安全模型、所述第一数据对象的类型、所述第一数据对象的大小、一个或多个安全要求,以及一个或多个性能要求。
21.如权利要求19所述的方法,其还包括响应于检测到触发而改变所述一个或多个可变存储参数。
22.如权利要求1所述的方法,其还包括生成数据图,所述数据图包括以下各项中的一个或多个:所述第一数据对象的所述第一片段和所述第二片段的序列的索引、所述第一加密密钥和所述第二加密密钥、所述第一打乱的记录定位符和所述第二打乱的记录定位符,以及所述多个存储位置中的至少所述第一个。
23.如权利要求22所述的方法,其还包括对所述数据图进行加密且存储所述加密的数据图。
24.如权利要求22所述的方法,其还包括至少部分地基于一个或可变存储参数改变所述数据图的内容。
25.如权利要求24所述的方法,其中所述一个或多个可变存储参数包括以下各项中的至少一个:用户名、用户通行短语、当前安全模型、所述第一数据对象的类型、所述第一数据对象的大小、一个或多个安全要求,以及一个或多个性能要求。
26.一种用于存储第一数据对象的***,其包括:
多个存储位置;
包括一个或多个处理器的安全平台;
包括一个或多个处理器的客户端装置,所述一个或多个处理器被配置成:
将所述第一数据对象分解为与第一原始记录定位符相关联的第一片段和与第二原始记录定位符相关联的第二片段;
打乱所述第一原始记录定位符以生成第一打乱的记录定位符且打乱所述第二原始记录定位符以生成第二打乱的记录定位符;
使用第一加密密钥对所述第一片段进行加密且使用第二加密密钥对所述第二片段进行加密;并且
将具有对应的所述第一打乱的记录定位符的所述第一加密片段和具有所述第二打乱的记录定位符的所述第二加密片段存储到所述多个存储位置中的至少第一个。
27.如权利要求26所述的***,其中为了分解所述第一数据对象,所述一个或多个处理器被配置成应用分解函数。
28.如权利要求27所述的***,其中所述一个或多个处理器进一步被配置成至少部分地基于一个或多个可变存储参数选择所述分解函数。
29.如权利要求28所述的***,其中所述一个或多个可变存储参数包括以下各项中的至少一个:用户名、用户通行短语、当前安全模型、所述第一数据对象的类型、所述第一数据对象的大小、一个或多个安全要求,以及一个或多个性能要求。
30.如权利要求27所述的***,其中所述一个或多个处理器进一步被配置成响应于检测到触发而改变所述一个或多个可变存储参数。
31.如权利要求30所述的***,其中所述触发包括关于以下各项中的一个或多个的安全漏洞:所述第一数据对象、第二数据对象、所述多个存储位置中的所述第一个,以及所述多个存储位置中的第二个。
32.如权利要求26所述的***,其中所述一个或多个处理器进一步被配置成至少部分地基于所述第一原始记录定位符确定所述第一加密密钥且至少部分地基于所述第二原始记录定位符确定所述第二加密密钥。
33.如权利要求32所述的***,其中所述一个或多个处理器被配置成进一步至少部分地基于一个或多个可变存储参数确定所述第一加密密钥和所述第二加密密钥。
34.如权利要求33所述的***,其中所述一个或多个可变存储参数包括以下各项中的至少一个:用户名、用户通行短语、当前安全模型、所述第一数据对象的类型、所述第一数据对象的大小、一个或多个安全要求,以及一个或多个性能要求。
35.如权利要求33所述的***,其中所述一个或多个处理器进一步被配置成响应于检测到触发而改变所述一个或多个可变存储参数。
36.如权利要求35所述的***,其中所述触发包括关于以下各项中的一个或多个的安全漏洞:所述第一数据对象、第二数据对象、所述多个存储位置中的所述第一个,以及所述多个存储位置中的第二个。
37.如权利要求26所述的***,其中所述一个或多个处理器进一步被配置成在对所述第一片段和所述第二片段进行加密之前打乱所述第一片段和所述第二片段中的每一个。
38.如权利要求26所述的***,其中使用所述第一加密密钥通过所述第二加密密钥对所述第一片段进行加密,使用所述第二加密密钥通过第三加密密钥对所述第二片段进行加密,并且使用所述第三加密密钥对所述第一数据对象的第三片段进行加密。
39.如权利要求26所述的***,其中为了打乱所述第一原始记录定位符和所述第二原始记录定位符中的每一个,所述一个或多个处理器被配置成:
更改所述第一原始记录定位符和所述第二原始记录定位符中的每一个;并且
将打乱函数应用于所述第一原始记录定位符和所述第二原始记录定位符中的每一个。
40.如权利要求39所述的***,其中所述一个或多个处理器进一步被配置成至少部分地基于一个或多个可变存储参数打乱所述第一原始记录定位符和所述第二原始记录定位符中的每一个。
41.如权利要求40所述的***,其中所述一个或多个可变存储参数包括以下各项中的至少一个:用户名、用户通行短语、当前安全模型、所述第一数据对象的类型、所述第一数据对象的大小、一个或多个安全要求,以及一个或多个性能要求。
42.如权利要求50所述的***,其中所述一个或多个处理器进一步被配置成响应于检测到触发而改变所述一个或多个可变存储参数。
43.如权利要求42所述的***,其中所述触发包括关于以下各项中的一个或多个的安全漏洞:所述第一数据对象、第二数据对象、所述多个存储位置中的所述第一个,以及所述多个存储位置中的第二个。
44.如权利要求26所述的***,其中所述一个或多个处理器进一步被配置成至少部分地基于一个或多个可变存储参数来识别所述多个存储位置中的至少所述第一个以存储具有对应的所述第一打乱的记录定位符的所述第一加密片段和具有所述第二打乱的记录定位符的所述第二加密片段。
45.如权利要求44所述的***,其中所述一个或多个可变存储参数包括以下各项中的至少一个:用户名、用户通行短语、当前安全模型、所述第一数据对象的类型、所述第一数据对象的大小、一个或多个安全要求,以及一个或多个性能要求。
46.如权利要求44所述的***,其中所述一个或多个处理器进一步被配置成响应于检测到触发而改变所述一个或多个可变存储参数。
47.如权利要求26所述的***,其中所述一个或多个处理器进一步被配置成生成数据图,所述数据图包括以下各项中的一个或多个:所述第一数据对象的所述第一片段和所述第二片段的序列的索引、所述第一加密密钥和所述第二加密密钥、所述第一打乱的记录定位符和所述第二打乱的记录定位符,以及所述多个存储位置中的至少所述第一个。
48.如权利要求47所述的***,其中所述一个或多个处理器进一步被配置成对所述数据图进行加密且存储所述加密的数据图。
49.如权利要求47所述的***,其中所述一个或多个处理器进一步被配置成至少部分地基于一个或可变存储参数改变所述数据图的内容。
50.如权利要求49所述的***,其中所述一个或多个可变存储参数包括以下各项中的至少一个:用户名、用户通行短语、当前安全模型、所述第一数据对象的类型、所述第一数据对象的大小、一个或多个安全要求,以及一个或多个性能要求。
51.一种用于检索数据对象的方法,其包括:
检索数据图,所述数据图包括检索并重建所述数据对象所需的信息的至少第一部分;
执行一个或多个计算以动态地推导检索并重建所述数据对象所需的所述信息的至少第二部分;以及
从多个数据存储位置中的至少第一个检索所述数据对象,并且基于以下各项中的一个或多个重建所述数据对象:包括在所述数据图中的所述信息,以及通过一个或多个计算动态地推导出的所述信息。
52.如权利要求51所述的方法,其中检索并重建所述数据对象所需的所述信息包括所述数据对象的多个片段的序列的索引、用来对所述多个片段中的每一个进行加密的加密密钥、与所述多个片段中的每一个相关联的打乱的记录定位符,以及存储有所述多个片段中的每一个的所述多个存储位置中的至少所述第一个。
53.如权利要求51所述的方法,其中执行所述一个或多个计算以动态地推导检索并重建所述数据对象所需的所述信息的未包括在所述数据图中的部分。
54.如权利要求51所述的方法,其中所述一个或多个计算包括:确定应用于将所述数据对象分解为多个片段的分解函数,确定与所述多个片段中的每一个相关联的打乱的记录定位符,计算用来对所述多个片段中的每一个进行加密的加密密钥,以及识别存储有所述多个片段中的每一个的所述多个存储位置中的至少所述第一个。
55.如权利要求51所述的方法,其中改变所述数据图的内容会改变为了动态地推导检索并重建所述数据对象所需的所述信息的所述第二部分所需要执行的计算的范围,并且其中所述数据图的所述内容是基于以下各项中的一个或多个而改变:用户名、用户通行短语、当前安全模型、所述数据对象的类型、所述数据对象的大小、一个或多个安全要求,以及一个或多个性能要求。
56.一种用于存储并管理凭证和加密密钥的***,其包括:
第一数据存储装置和第二数据存储装置;
客户端装置,所述客户端装置被配置成传输检索存储在所述第一数据存储装置中的用户数据的请求;
安全密钥平台,所述安全密钥平台被配置成:
与存储在所述第一数据存储装置中的所述用户数据分开地在所述第二数据存储装置中存储用户凭证和数据存储装置凭证;
从所述客户端装置接收检索存储在所述第一数据存储装置中的用户数据的所述请求;
响应于检索用户数据的所述请求,从所述第二数据存储装置检索与所述客户端装置的用户相关联的用户凭证和与所述第一数据存储装置相关联的数据存储装置凭证;
使用所述客户端装置的所述用户的所述用户凭证和所述第一数据存储装置的数据存储凭证从所述第一数据存储装置检索用户数据;并且
向所述客户端装置提供所述用户数据。
57.如权利要求1所述的***,其中所述安全密钥平台进一步被配置成登记所述客户端装置,包括通过证实并记录浏览器类型、插件、硬件设置和地理位置中的一个或多个来登记。
58.如权利要求2所述的***,其中所述安全密钥平台进一步被配置成通过提出一个或多个质询问题且存储对所述一个或多个质询问题的响应来登记所述客户端装置。
59.如权利要求1所述的***,其中所述客户端装置进一步被配置成尝试登录所述安全密钥平台,并且其中所述安全密钥平台进一步被配置成:在检索所述用户凭证和所述数据存储装置凭证,且使用所述用户凭证和数据存储装置凭证从所述第一数据存储装置检索用户数据之前,验证所述客户端装置。
60.如权利要求4所述的***,其中所述安全密钥平台被配置成响应于成功验证所述客户端装置而自动检索所述用户凭证。
61.如权利要求4所述的***,其中所述安全密钥平台被配置成基于以下各项中的一个或多个来验证所述客户端装置:由所述用户提供的用户名、由所述用户提供的密码、由所述用户提供的对至少一个质询问题的响应、所述客户端装置的浏览器类型、所述客户端装置的插件、所述客户端装置的硬件设置、所述客户端装置的地理位置,以及所述客户端装置正尝试从那里登录的互联网协议(IP)地址。
62.如权利要求1所述的***,其中所述用户凭证包括第一通行短语。
63.如权利要求7所述的***,其中存储在所述第一数据存储装置中的所述用户数据是使用所述第一通行短语进行加密的。
64.如权利要求7所述的***,其中所述第一通行短语控制对第二通行短语的访问,并且其中存储在所述第一数据存储装置中的所述用户数据是使用所述第二通行短语进行加密的。
65.如权利要求1所述的***,其还包括安全对象平台,所述安全对象平台被配置成:
将所述用户数据分解为多个段;并且
跨包括所述第一数据存储装置的多个数据存储装置来存储所述分解的用户数据的所述多个段。
66.一种用于装置之间的验证过的通信的方法,所述方法包括:
在第一装置与第二装置之间建立用于数据流式传输的通信;
建立共享密钥;
在所述第一装置与所述第二装置之间交换所述共享密钥;
由所述第一装置使用所述共享密钥对数据集进行加密;
由所述第二装置使用所述共享密钥对所述数据集进行解密;
评估密钥重新生成准则以确定是否应当重新生成所述共享密钥;
响应于确定应当重新生成所述共享密钥,
生成新的共享密钥,以及
由所述第一装置使用所述新的共享密钥对下一个数据集进行加密。
67.如权利要求1所述的方法,其中所述建立共享密钥包括:
提供加密算法参数和用于加密算法的种子。
68.如权利要求1所述的方法,其中所述交换所述共享密钥包括集成多种密钥交换方法。
69.如权利要求3所述的方法,其还包括:
动态地改变所述密钥交换方法和密钥交换频率中的至少一个。
70.如权利要求4所述的方法,其中基于所述第一装置或所述第二装置的性能要求和安全性威胁等级而动态地改变所述密钥交换方法和密钥交换频率中的至少一个。
71.如权利要求1所述的方法,其中评估密钥重新生成准则以确定是否应当重新生成所述共享密钥。
72.如权利要求6所述的方法,其中所述密钥重新生成准则识别可能的加密算法和用于所述加密算法的特定参数。
73.如权利要求6所述的方法,其还包括监测指示何时应当重新生成所述共享密钥的条件,直到满足密钥重新生成准则为止。
74.如权利要求1所述的方法,其中所述生成所述新的共享密钥包括:
提供用于所述共享密钥的新的加密算法参数。
75.如权利要求1所述的方法,其还包括:
通过针对数据集利用安全密钥且使密钥旋转率最大化来提供高安全性。
76.一种用于装置之间的验证过的通信的***,所述***包括:
通信接口;以及
处理器,所述处理器被配置成:
在第一装置与第二装置之间建立用于数据流式传输的通信;
建立共享密钥;
在所述第一装置与所述第二装置之间交换所述共享密钥;
由所述第一装置使用所述共享密钥对数据集进行加密,其中所述第二装置使用所述共享密钥对所述数据集进行解密;
评估密钥重新生成准则以确定是否应当重新生成所述共享密钥;
响应于确定应当重新生成所述共享密钥,
生成新的共享密钥,并且
由所述第一装置使用所述新的共享密钥对下一个数据集进行加密。
77.如权利要求11所述的***,其中所述处理器进一步被配置成通过提供加密算法参数和用于加密算法的种子来建立共享密钥。
78.如权利要求11所述的***,其中所述处理器进一步被配置成其中所述处理器进一步被配置成集成多种密钥交换方法以用于所述共享密钥交换。
79.如权利要求13所述的***,其中所述处理器进一步被配置成:
动态地改变所述密钥交换方法和密钥交换频率中的至少一个。
80.如权利要求14所述的***,其中基于所述第一装置或所述第二装置的性能要求和安全性威胁等级而动态地改变所述密钥交换方法和密钥交换频率中的至少一个。
81.如权利要求11所述的***,其中所述处理器进一步被配置成:
评估密钥重新生成准则以确定是否应当重新生成所述共享密钥。
82.如权利要求16所述的***,其中所述密钥重新生成准则识别可能的加密算法和用于所述加密算法的特定参数。
83.如权利要求16所述的***,所述处理器进一步被配置成:
监测指示何时应当重新生成所述共享密钥的条件,直到满足密钥重新生成准则为止。
84.如权利要求11所述的***,其中所述处理器进一步被配置成:
提供新的加密算法参数以生成所述共享密钥。
85.如权利要求11所述的***,其还包括:
所述处理器进一步被配置成:
通过针对数据集利用安全密钥且使密钥旋转率最大化来提供高安全性。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662349567P | 2016-06-13 | 2016-06-13 | |
US62/349,567 | 2016-06-13 | ||
US201662350646P | 2016-06-15 | 2016-06-15 | |
US62/350,646 | 2016-06-15 | ||
PCT/US2017/037328 WO2017218590A1 (en) | 2016-06-13 | 2017-06-13 | Systems and methods for secure storage of user information in a user profile |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109154969A true CN109154969A (zh) | 2019-01-04 |
Family
ID=60664621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780030481.2A Pending CN109154969A (zh) | 2016-06-13 | 2017-06-13 | 用于用户配置文件中的用户信息的安全存储的***和方法 |
Country Status (9)
Country | Link |
---|---|
EP (1) | EP3469512A4 (zh) |
JP (1) | JP2019521537A (zh) |
KR (1) | KR20190029509A (zh) |
CN (1) | CN109154969A (zh) |
AU (1) | AU2017283544A1 (zh) |
CA (1) | CA3020743A1 (zh) |
PH (1) | PH12018502160A1 (zh) |
SG (1) | SG11201808929PA (zh) |
WO (1) | WO2017218590A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378132A (zh) * | 2019-06-20 | 2019-10-25 | 深圳市掌握时代互联网应用科技有限公司 | 一种基于logistic混沌映射的探宝用户真实信息加密*** |
CN110958263A (zh) * | 2019-12-13 | 2020-04-03 | 腾讯云计算(北京)有限责任公司 | 网络攻击检测方法、装置、设备及存储介质 |
CN111740954A (zh) * | 2020-05-18 | 2020-10-02 | 北京索德电气工业有限公司 | 电梯主控制器和电梯板卡通信加密方法 |
CN111865991B (zh) * | 2020-07-23 | 2021-04-30 | 北京睿知图远科技有限公司 | 一种用于数据加密中心的动态加密及解密方法 |
CN112905533A (zh) * | 2021-02-05 | 2021-06-04 | 优车库网络科技发展(深圳)有限公司 | 文件提交的管理方法、装置、设备及存储介质 |
CN115168690A (zh) * | 2022-09-06 | 2022-10-11 | 深圳市明源云科技有限公司 | 基于浏览器插件的资料查询方法、装置、电子设备及介质 |
CN115544994A (zh) * | 2022-12-01 | 2022-12-30 | 爱集微咨询(厦门)有限公司 | 数据推送方法、装置、电子设备以及可读存储介质 |
TWI816306B (zh) * | 2021-12-13 | 2023-09-21 | 美商惠普發展公司有限責任合夥企業 | 經由金絲雀檔案之可疑活動通知 |
CN117544622A (zh) * | 2023-11-07 | 2024-02-09 | 翼健(上海)信息科技有限公司 | 一种用户可控的隐私数据授权共享方法、***和介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726563B (zh) | 2017-10-31 | 2020-11-03 | 创新先进技术有限公司 | 一种数据统计的方法、装置以及设备 |
KR102274335B1 (ko) * | 2020-11-16 | 2021-07-07 | 한화생명보험(주) | 복수의 상담원을 통한 채팅기반 고객 프로파일 생성 방법 및 장치 |
US12010218B2 (en) | 2021-10-29 | 2024-06-11 | Google Llc | Managing data availability on encryption key status changes in replicated storage systems |
US11899814B1 (en) | 2022-08-24 | 2024-02-13 | Arthur Hustad | Method and system for providing control over storage of and access to user data |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681017B1 (en) * | 1997-09-03 | 2004-01-20 | Lucent Technologies Inc. | Simplified secure shared key establishment and data delivery protocols for electronic commerce |
US20040034776A1 (en) * | 2002-08-14 | 2004-02-19 | Microsoft Corporation | Authenticating peer-to-peer connections |
US20080162937A1 (en) * | 2006-12-27 | 2008-07-03 | Tobias Max Kohlenberg | Method for exchanging strong encryption keys between devices using alternate input methods in wireless personal area networks (WPAN) |
US20080256298A1 (en) * | 2007-04-10 | 2008-10-16 | Yahoo! Inc. | Intelligent caching of user data for real time communications |
CN101998391A (zh) * | 2009-08-06 | 2011-03-30 | 巴比禄股份有限公司 | 无线通信装置、无线通信***以及网络装置 |
US20120266217A1 (en) * | 2011-04-15 | 2012-10-18 | Skype Limited | Permitting Access To A Network |
US20140122508A1 (en) * | 2012-10-30 | 2014-05-01 | FHOOSH, Inc. | Systems and methods for secure storage of user information in a user profile |
US20160085996A1 (en) * | 2014-09-23 | 2016-03-24 | FHOOSH, Inc. | Secure high speed data storage, access, recovery, and transmission |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101088420B1 (ko) * | 2004-02-13 | 2011-12-08 | 아이비아이 스마트 테크놀로지스 인코포레이티드 | 데이터 암호 처리 방법 및 장치 |
JP2008103988A (ja) * | 2006-10-19 | 2008-05-01 | Fujitsu Ltd | 暗号通信システム、装置、方法及びプログラム |
US8996863B2 (en) * | 2010-12-03 | 2015-03-31 | Yacov Yacobi | Attribute-based access-controlled data-storage system |
EP3129912B1 (en) * | 2014-04-10 | 2019-09-11 | Atomizer Group, LLC | Method and system for securing data |
-
2017
- 2017-06-13 SG SG11201808929PA patent/SG11201808929PA/en unknown
- 2017-06-13 CA CA3020743A patent/CA3020743A1/en not_active Abandoned
- 2017-06-13 WO PCT/US2017/037328 patent/WO2017218590A1/en unknown
- 2017-06-13 EP EP17813970.5A patent/EP3469512A4/en not_active Withdrawn
- 2017-06-13 AU AU2017283544A patent/AU2017283544A1/en not_active Abandoned
- 2017-06-13 KR KR1020187032660A patent/KR20190029509A/ko not_active Application Discontinuation
- 2017-06-13 JP JP2018553903A patent/JP2019521537A/ja active Pending
- 2017-06-13 CN CN201780030481.2A patent/CN109154969A/zh active Pending
-
2018
- 2018-10-08 PH PH12018502160A patent/PH12018502160A1/en unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681017B1 (en) * | 1997-09-03 | 2004-01-20 | Lucent Technologies Inc. | Simplified secure shared key establishment and data delivery protocols for electronic commerce |
US20040034776A1 (en) * | 2002-08-14 | 2004-02-19 | Microsoft Corporation | Authenticating peer-to-peer connections |
US20080162937A1 (en) * | 2006-12-27 | 2008-07-03 | Tobias Max Kohlenberg | Method for exchanging strong encryption keys between devices using alternate input methods in wireless personal area networks (WPAN) |
US20080256298A1 (en) * | 2007-04-10 | 2008-10-16 | Yahoo! Inc. | Intelligent caching of user data for real time communications |
CN101998391A (zh) * | 2009-08-06 | 2011-03-30 | 巴比禄股份有限公司 | 无线通信装置、无线通信***以及网络装置 |
US20120266217A1 (en) * | 2011-04-15 | 2012-10-18 | Skype Limited | Permitting Access To A Network |
US20140122508A1 (en) * | 2012-10-30 | 2014-05-01 | FHOOSH, Inc. | Systems and methods for secure storage of user information in a user profile |
US20160085996A1 (en) * | 2014-09-23 | 2016-03-24 | FHOOSH, Inc. | Secure high speed data storage, access, recovery, and transmission |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378132A (zh) * | 2019-06-20 | 2019-10-25 | 深圳市掌握时代互联网应用科技有限公司 | 一种基于logistic混沌映射的探宝用户真实信息加密*** |
CN110958263A (zh) * | 2019-12-13 | 2020-04-03 | 腾讯云计算(北京)有限责任公司 | 网络攻击检测方法、装置、设备及存储介质 |
CN111740954A (zh) * | 2020-05-18 | 2020-10-02 | 北京索德电气工业有限公司 | 电梯主控制器和电梯板卡通信加密方法 |
CN111865991B (zh) * | 2020-07-23 | 2021-04-30 | 北京睿知图远科技有限公司 | 一种用于数据加密中心的动态加密及解密方法 |
CN112905533A (zh) * | 2021-02-05 | 2021-06-04 | 优车库网络科技发展(深圳)有限公司 | 文件提交的管理方法、装置、设备及存储介质 |
CN112905533B (zh) * | 2021-02-05 | 2023-04-25 | 优车库网络科技发展(深圳)有限公司 | 文件提交的管理方法、装置、设备及存储介质 |
TWI816306B (zh) * | 2021-12-13 | 2023-09-21 | 美商惠普發展公司有限責任合夥企業 | 經由金絲雀檔案之可疑活動通知 |
CN115168690A (zh) * | 2022-09-06 | 2022-10-11 | 深圳市明源云科技有限公司 | 基于浏览器插件的资料查询方法、装置、电子设备及介质 |
CN115168690B (zh) * | 2022-09-06 | 2022-12-27 | 深圳市明源云科技有限公司 | 基于浏览器插件的资料查询方法、装置、电子设备及介质 |
CN115544994A (zh) * | 2022-12-01 | 2022-12-30 | 爱集微咨询(厦门)有限公司 | 数据推送方法、装置、电子设备以及可读存储介质 |
CN115544994B (zh) * | 2022-12-01 | 2023-05-05 | 爱集微咨询(厦门)有限公司 | 数据推送方法、装置、电子设备以及可读存储介质 |
CN117544622A (zh) * | 2023-11-07 | 2024-02-09 | 翼健(上海)信息科技有限公司 | 一种用户可控的隐私数据授权共享方法、***和介质 |
Also Published As
Publication number | Publication date |
---|---|
SG11201808929PA (en) | 2018-11-29 |
EP3469512A1 (en) | 2019-04-17 |
AU2017283544A1 (en) | 2018-11-01 |
CA3020743A1 (en) | 2017-12-21 |
PH12018502160A1 (en) | 2019-07-15 |
KR20190029509A (ko) | 2019-03-20 |
JP2019521537A (ja) | 2019-07-25 |
WO2017218590A1 (en) | 2017-12-21 |
EP3469512A4 (en) | 2019-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109154969A (zh) | 用于用户配置文件中的用户信息的安全存储的***和方法 | |
US20170277773A1 (en) | Systems and methods for secure storage of user information in a user profile | |
US11120164B2 (en) | Cloud-based system for protecting sensitive information in shared content | |
Dagher et al. | Ancile: Privacy-preserving framework for access control and interoperability of electronic health records using blockchain technology | |
Zhuang et al. | A patient-centric health information exchange framework using blockchain technology | |
US20170277774A1 (en) | Systems and methods for secure storage of user information in a user profile | |
US11387986B1 (en) | Systems and methods for encryption and provision of information security using platform services | |
US11399079B2 (en) | Zero-knowledge environment based networking engine | |
US11240251B2 (en) | Methods and systems for virtual file storage and encryption | |
CN105378649B (zh) | 多权限数据安全和访问 | |
US20170277775A1 (en) | Systems and methods for secure storage of user information in a user profile | |
US9619659B1 (en) | Systems and methods for providing information security using context-based keys | |
JP6622196B2 (ja) | 仮想サービスプロバイダゾーン | |
CN114026823A (zh) | 用于处理匿名数据的计算机***及其操作方法 | |
CN106575427A (zh) | 基于零知识环境的社交网络引擎 | |
CN108055283A (zh) | 用于密钥链同步的***和方法 | |
WO2015109172A1 (en) | System and method for electronic vault to manage digital contents | |
CN101002417A (zh) | 不标识敏感信息及相关记录的***及方法 | |
CN103297413A (zh) | 可分享网络文档保密柜 | |
US20190392407A1 (en) | Encrypted asset transfer system and method for facilitating transfer of digital assets | |
US11769577B1 (en) | Decentralized identity authentication framework for distributed data | |
CN111756684B (zh) | 传输关键数据的方法、***和非暂时性计算机可读存储介质 | |
CN101533504A (zh) | 电子医务***及其装置 | |
US20220303126A1 (en) | Method and system for digital health data encryption | |
WO2018232021A2 (en) | Systems and methods for secure storage of user information in a user profile |
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 | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Uberk security Address before: California, USA Applicant before: Fhoosh, Inc. |
|
CB02 | Change of applicant information | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190104 |
|
WD01 | Invention patent application deemed withdrawn after publication |