CN117692170A - 通信方法和设备、折叠数据的方法和***以及计算机 - Google Patents

通信方法和设备、折叠数据的方法和***以及计算机 Download PDF

Info

Publication number
CN117692170A
CN117692170A CN202311550181.0A CN202311550181A CN117692170A CN 117692170 A CN117692170 A CN 117692170A CN 202311550181 A CN202311550181 A CN 202311550181A CN 117692170 A CN117692170 A CN 117692170A
Authority
CN
China
Prior art keywords
key
data
nut
lock
data object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311550181.0A
Other languages
English (en)
Inventor
鱼允浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nuts Holdings LLC
Original Assignee
Nuts Holdings LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nuts Holdings LLC filed Critical Nuts Holdings LLC
Publication of CN117692170A publication Critical patent/CN117692170A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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/3242Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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 involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Power Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Seeds, Soups, And Other Foods (AREA)
  • Footwear And Its Accessory, Manufacturing Method And Apparatuses (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

提供了一种通信方法和设备、折叠数据的方法和***以及计算机。一种经由网络进行通信的方法,包括:使用折叠数据的方法来对消息进行处理,其包括使用多个逻辑操作来处理至少一个输入数据对象以产生至少一个输出数据对象,其中,数据折叠利用对至少一个输入数据对象中的同一输入数据对象依离散步骤执行的整个序列的多个逻辑操作的至少一个本质来将至少一个输出数据封装在数据结构的至少一个数据字段中,整个序列的多个逻辑操作的至少一个本质被封装在数据结构的至少一个命令字段中;其中,至少一个输出数据对象被配置成使用整个序列的多个逻辑操作的被封装的至少一个本质来产生至少一个输入数据对象中的同一输入数据对象。

Description

通信方法和设备、折叠数据的方法和***以及计算机
本申请是申请日为2017年08月31日、申请号为201780053634.5(PCT/US2017/049661)、发明名称为“加密的用户数据传输及储存”的发明专利申请的分案申请。
相关申请的交叉引用
本申请是基于且源于2016年9月15日申请的美国临时专利申请第62/395,084号的优先权,该申请的全部内容通过引用并入本文中。
发明内容
计算机软件设计的数据中心模型是用户数据可优先于应用之处。数据中心软件设计可允许数据固定在储存点处。数据容器化(containerization)可为数据中心设计的一实施例。为展示可如何在本公开内容内实施各种概念,从不同视角的一系列图式突显所探索的特定概念且整体图式展示这些程序及结构的若干者可如何一起工作。
可在一分层方法中呈现数据容器化且若较佳地,各层可部分或完全建立于先前层上或与先前层一起工作。本文中针对第一层描述的概念、方法、设备、实施例及/或规格可统称为利用转变的结构化数据折叠或SDFT。本文中针对第二层(其可包含第一层)描述的概念、方法、设备、实施例及/或规格可统称为加密用户数据传输及储存或NUTS。可部分或完全部署各层的任何组合以建构称为Nut的数据容器,且可孤立地部分或完全部署各层。此两个层的相互作用及/或相互交织可为显著及/或复杂的且可为这种层的清楚分界带来挑战。因此,在此说明书中共同呈现这些层。接着,Nut容器可经灌注有各种数据中心特性,其可允许对包含于其中的数据进行逻辑操作。根据称为Nut的储存单元,可描述各种实施例以展示可如何重新定义及重新结构化某些共同数据定向逻辑操作以为用户提供私密性、安全性、便利性及/或能力。
附图说明
可在以下详细描述及随附图式中公开各种实施例:
图1展示用于表示不同密码密钥类型的符号表。
图2展示一组简化流程图,其展示通常可由不同密码方法执行的数据输入、数据输出及逻辑操作。
图3展示其中可运行本公开内容的实施例的一般网络布局的图解。
图4展示其中可运行本公开内容的实施例的计算装置的图解。
图5展示一正向模式或正常操作中的转变的图解。
图6展示共同数据操作及其转变分类的表。
图7展示反向模式中的转变的图解。
图8展示不可逆转变的图解。
图9展示条件性可逆转变的图解。
图10展示由转变类型分组的共同数据操作及函数的表。
图11展示在Python v3中限定的编码译码表。
图12展示列出另外转变定义的表。
图13展示一转变可逆性矩阵。
图14展示一转变模态动作矩阵。
图15展示一串行化转变的详细实例。
图16展示一摘要转变的详细实例。
图17展示反向模式中的一摘要转变(亦称为检验)的详细实例。
图18展示一scipher转变的图解。
图19展示一salsa20(scipher)转变的图解。
图20展示一salsa20(scipher)转变的详细实例。
图21展示串行化及压缩转变的命令规格表及展示其用途的一组样本转变命令。
图22展示一编码转变的命令规格表及展示其用途的一组样本转变命令。
图23展示一摘要转变的命令规格表及展示其用途的一组样本转变命令。
图24展示一acipher及dign转变的命令规格表及展示其用途的一组样本转变命令。
图25展示一派生转变的命令规格表及展示其用途的一组样本转变命令。
图26展示一scipher转变的命令规格表2602及展示其用途的一组样本转变命令2604。
图27展示两步序列中的scipher输出字串的输出结构格式,其中步骤1绘示输入格式且步骤2绘示输出格式。“标头”是输出消息上的scipher转变的可变长度密钥值utf8经编码参数字串。
图28展示一scipher转变的输出结构格式中的标头字串的参数关键词及规格的表。
图29展示一AEAD模式scipher转变的迭代(iterative,反复)嵌入式消息封装的图解。
图30展示一锁定(lock)转变的命令规格表3002及展示其用途的一组样本转变命令3010。
图31展示呈表格式的各种转变结构的规格。
图32展示一mobius转变的命令规格表。其用途经展示且一图形展示其可对各种结构制定的结构改变。一矩阵展示mobius转变可作用于其的结构类型/模式有效操作。
图33展示资讯征集(press,数据准备)、清除(clean)及密钥(key)转变的命令规格表3302、3304及展示其用途的一组样本转变命令3310。
图34展示密钥互换规格结构或KISS的表。
图35展示KISS操作模式的表3502、展示密钥类型/字段生成映射的矩阵3504及密钥类型定义3506。
图36展示TAR的结构及TAR定义的实例。
图37展示绘示转变相关属性暂留在何处的框图及列出属性的类型及位置的表。
图38展示拼结及拆解(或与拼结相反)的SDFT操作的框图。
图39展示SDFT拼结操作的流程图。
图40展示SDFT拆解操作的流程图。
图41展示如何对同属TAR执行反向TAR。
图42展示反向TAR的实例。
图43展示一转变表,其被映射至其可在TAR处理期间生成或需要的密钥类型模板。
图44展示TAR实例及由各实例生成的密钥模板。
图45展示TAR实例及由各实例生成的密钥模板及待输入(put)或产生(gen)的KISS结构的期望列表。KISS列表亦称为密钥堆栈(keystack)。
图46展示SDFT TAR处理内的密钥堆栈操作的三个模式:生成(gen)、输入(put)及注入(mixed)。
图47展示如何生成及如何在数据的生命周期及其TAR中使用密钥堆栈的图解。
图48展示可发生在储存于NSstr结构中的数据上的操作的图解。
图49展示迭代地折叠数据的SDFT用途的流程图。
图50展示迭代地展开数据的SDFT用途的流程图。
图51展示SDFT API/库及其可访问(access,存取)的各种类型的TAR定义档案的图解。
图52展示执行手动数据折叠的一例示性Python脚本。
图53展示TAR定义的SDFT实例及其在Python脚本中的用途。
图54展示单一通信会话内的动态TAR切换的框图。
图55展示用于生成Nut ID的例示性过程的流程图。
图56展示一框图,其展示了可在Nut内使用Nut ID及锁ID的位置。
图57展示Nut ID、路径名称与有效负载数据之间的例示性关系。
图58展示包括逻辑区段Nut锁及Nut部分的一Nut或锁图的实施例的框图。
图59展示包括三个密钥孔锁节点的Nut中的Nut锁的替代实施例的框图。
图60展示锁节点的内部数据结构的框图。
图61展示在图60中展示的锁节点的输入区段的内部数据结构的框图。
图62展示一数据流程图,该数据流程图展示了当一有效第一级(primary,基础、初级)密钥可***至密钥孔中时在图61中展示的输入区段的第一级密钥孔的内部数据结构的关系。
图63展示用于任何锁节点及用于任何密码密钥的密钥***程序的流程图。
图64展示其中三个第一级密钥可***至第一级密钥孔中的实例。
图65展示自在图64中展示的实例继续的一变量锁解密操作的数据流程图。
图66展示自在图64中展示的实例继续的变量锁加密操作的数据流程图。
图67展示可用于任何锁节点中的变量锁类型及其特性的表。
图68展示ORLOCK解密操作的数据流程图。
图69展示由Nut拥有者进行的ORLOCK加密操作的数据流程图。
图70展示MATLOCK解密操作的数据流程图。
图71展示由Nut拥有者进行的MATLOCK加密操作的数据流程图。
图72展示XORLOCK解密操作的数据流程图。
图73展示由Nut拥有者进行的XORLOCK加密操作的数据流程图。
图74展示HASHLOCK解密操作的数据流程图。
图75展示由Nut拥有者进行的HASHLOCK加密操作的数据流程图。
图76展示SSLOCK解密操作的数据流程图。
图77展示由Nut拥有者进行的SSLOCK加密操作的数据流程图。
图78展示突显层级密钥的Nut的框图。
图79展示层级密钥可如何***Nut内的流程图。
图80展示用于两个角色及四个角色扮演者的基于密钥的准允的表。
图81展示列出一例示性Nut中的各种Nut部分的表,其中各部分可由锁节点表示。
图82展示列出针对典型Nut限定的基于密钥的准允访问角色的表。
图83展示Nut访问控制访问密钥的初始组(称为访问属性密钥组解锁密钥(AAKSUK))可如何***至各有效第一级密钥的访问密钥孔中的框图。
图84展示NAC访问属性自外部锁节点传播至内部锁节点的框图。
图85展示NAC访问属性自外部锁节点传播至内部锁节点且输出连结密钥***至经连结锁节点的第一级密钥孔中的框图。
图86展示用于将密钥***至访问密钥孔的流程图。
图87展示用于一替代实施例的基于密钥的准允的表。
图88展示锁节点的内部解密数据流的数据流程图。
图89展示解锁Nut的流程图。
图90展示一基于NUTS的***的实施例及可如何解锁储存于Nut中的文件的框图。
图91展示NUTS用语中的共同用途以通过保持其的Nut的Nut ID指代Nut的有效负载的图解。此处,密码密钥可由保持其的Nut的Nut ID来指代。
图92展示接受者锁定模型的列表的简化实施例。
图93展示有序锁定模型的简化实施例。
图94展示具有主密钥的有序锁定模型的简化实施例。
图95展示具有主密钥的锁定模型的简化实施例。
图96展示具有主密钥的锁定模型的简化实施例。
图97展示安全保管箱锁定模型的简化实施例。
图98展示具有主密钥的秘密共享锁定模型的简化实施例。
图99展示“PrivaTegrity”型锁定模型的简化实施例。
图100展示多Nut配置的简化实施例,其中多个有效负载可储存于单一Nut内。
图101展示多Nut配置的简化实施例,其中多个有效负载可储存于单一Nut内。
图102展示具有多个有效负载的直接锁定模型的简化实施例。
图103展示展现抗共谋设计的有序消息传递的简化实施例。
图104展示模块化I/O的典型组件的框图。
图105展示使用MIOR的简单读取及写入操作的图解。
图106展示可在典型MIO档案读取操作中涉及的数据转换及传送。
图107绘示可如何使用模块化I/O促进文件格式的向后兼容性。
图108绘示可如何使用模块化I/O促进文件格式的向前兼容性。
图109绘示可如何使用模块化I/O促进模块化显示器。
图110绘示可如何使用模块化I/O促进模块化应用。
图111绘示Nut历史在两次编辑内及三个时间点处的渐进改变。
图112绘示Nut日志在来自图111的事件进程内的渐进改变。
图113展示可如何在Alice及Bob的联系卡中表示基于关系的密钥。
图114展示可如何使用熟知电子邮件地址及/或RBK侦测SPAM的流程图。
图115展示可如何使用匿名电子邮件地址及/或RBK侦测SPAM的流程图。
图116展示Alice-Bob RBK通信通道的基于确定性上下文的状态矩阵。
图117展示Alice-供应商RBK通信通道的基于确定性上下文的状态矩阵。
图118展示供应商-Alice RBK通信通道的基于确定性上下文的状态矩阵。
图119绘示用于Bob的一受限***中的RBK关系的隔离。
图120展示预封包数据Nut的框图。
图121绘制使用RBK的自动化注册程序中的事件序列的图表。
图122绘制使用RBK及匿名电子邮件地址的自动化注册程序中的事件序列的图表。
图123展示列出NUTS核心应用及其描述的表。
图124展示在计算机装置中运行的NUTS核心应用的框图。
图125展示在用户装置中运行的NUTS伺服器(server,服务器)的框图。
图126展示包括NUT伺服器的内部组件及其至用户装置的环境的功能连接的框图。
图127展示使用NoSQL数据库作为快取(cache,缓存、高速缓存)机制的在图126中展示的NUT伺服器的替代实施例。
图128展示MIOR伺服器网络布局的框图。
图129展示MIOR伺服器应用布局的框图。
图130展示用于从MIOR伺服器提取MIO模块的流程图。
图131展示绘示MIOR缓存的框图。
图132展示用户装置环境中的NUT浏览器应用的框图。
图133展示用户装置环境中的NUT簿应用的框图。
图134展示用户装置环境中的NUT处理应用架构的框图。
图135展示绘示包括NUT簿的内部组件的框图。
图136展示绘示来自图135的NUT簿目录缓存的内部组织的框图。
图137展示了展示阶层通行码的组织的图。
图138展示主要通行码如何按照图137的阶层通行码打开个人文件。
图139展示主要通行码如何按照图137的阶层通行码及图138中的文件打开个人文件。
图140展示主要及工作通行码如何按照图137的阶层通行码打开工作文件。
图141展示主要通行码如何按照图137的阶层通行码及图140中的文件打开工作文件。
图142展示绘示来自图135的NUT簿密钥缓存的内部组织的框图。
图143展示NUT簿可如何查看卡目录的流程图。
图144展示基于NUTS的服务的表。
图145展示基于NUTS的服务的网络布局的图解。
图146展示NUT邮件伺服器的网络布局的图解。
图147绘制使用RBK对匿名电子邮件服务(诸如NUT邮件)的自动化注册程序中的事件序列的图表。
图148绘制在NUT邮件伺服器中添加通信通道时的事件序列的图表。
图149绘制Alice及Bob经由NUT邮件发送电子邮件时的事件序列的图表。
图150展示NUT聊天伺服器的网络布局的图解。
图151展示由NUT聊天伺服器宿留的三个聊天会话的数据流程图。
图152展示跨NUT伺服器的聊天历史持续性及复制的数据流程图。
图153展示使用不同聊天ID或聊天服务的三个分开聊天会话的数据流程图。
图154展示由使用来自图153的三个不同聊天路径的NUT聊天客户端管理的路径不可知对话的数据流程图。
图155展示NUT云端伺服器的网络布局的图解。
图156展示NUT网伺服器的网络布局的图解。
图157展示用于NUTS联网(IoN)的NUT集线器伺服器的网络布局的图解。
图158展示直接IoN网络拓扑的图解。
图159展示间接IoN网络拓扑的图解。
图160展示来自图159的NUT伺服器集线器及其至NUT集线器及IoN装置的连接的图解。
图161展示来自图160的NUT伺服器集线器中的NUT集线器/IoN接口的框图。
图162展示来自图160的IoN装置中的NUT集线器/NUT伺服器/IoT接口的框图。
图163展示用于IoN/IoT装置的注册及配置过程的流程图。
图164展示远端(remote,远程)控制接口可如何处理来自图161及图162的命令Nuts的流程图。
图165展示NUTS认证伺服器的网络布局的图解。
图166展示突显来自图165的NUTS认证伺服器的功能的框图。
图167展示基于NUTS的WiFi/以太网络路由器的网络布局的图解。
图168展示可在来自图167的基于NUTS的WiFi/以太网络路由器中如何处理消息的流程图。
图169展示基于NUTS的WiFi/以太网络路由器的装置分类的表。
图170展示基于NUTS的WiFi/以太网络路由器上的例示性装置分类属性的表。
图171展示应用包装如何以自动化方式实现装置备份及复制的框图。
图172展示两个装置中的事件处理服务(EPS)的框图。
图173展示可使用储存于大数据伺服器上的追踪cookies及会话历史的典型供应商网络设定的框图。
图174展示可使用App Nut来记录在本端(local,本地、局部)以及储存于来自图173的大数据伺服器上的会话历史的副本的供应商网络设定的框图。
图175展示可使用来自图173及图174的App Nut在本端进行的上下文计算的框图。
图176展示包括IoT装置及服务提供商的个人家庭网络拓扑的图解。
图177展示包括间接IoN网络拓扑中的两个IoN装置及其各自服务提供商以控制输出至供应商的数据流的个人家庭网络的图解。
图178展示上下文分析App可如何自动过滤输出IoN消息以保护来自图177的NUT伺服器中的用户私密性的框图。
具体实施方式
目录
·符号及缩写
·密码及单向散列(hash,哈希)
·网络图
·装置图
·转变
·转变类型
·转变结构
·转变审计记录(TAR)
·利用转变的结构化数据折叠(SDFT)
·Nut ID
·锁图及锁节点
ο密钥孔(keyhole)
ο变量锁
ο层级
οNut访问控制(NAC)
ο锁节点遍历
·模块化I/O
ο读取及写入
ο向后兼容性
ο向前兼容性
ο显示器
ο应用
·Nut历史
·Nut日志
·基于关系的密钥(RBK)
·匿名关系
·NUTS核心应用
οNUT伺服器
οMIOR伺服器
οNUT浏览器/NUT外壳
οNUT簿
·基于NUTS的服务
οNUT邮件
οNUT聊天
οNUT云端
οNUT网
οNUT集线器
οNUTS认证伺服器
·基于NUTS的WiFi/以太网络路由器
·应用封装
·事件处理服务
·上下文计算
·结论及哲理
符号及缩写
可贯穿描述及附图使用以下符号及缩写。标记有(*)的符号可为NUTS所特有:
·AAKS *访问属性密钥组
·AAKSUK *访问属性密钥组解锁密钥
·AAPK *访问属性传播密钥
·acipher 非对称密码
·AEAD 具有相关联数据的经鉴认加密
·AES 先进加密标准;亦Rijndael
·API 应用编程接口
·AKS *访问密钥组
·ARK *访问角色密钥
·BIOS 基本输入/输出***
·bz2 bzip2,Burrows-Wheeler压缩算法
·CA 证书授权
·CAC 密码编译访问控制
·ChaCha20 Bernstein的基于对称密钥的流密码
·CLI 命令线接口
·CMAC 基于密码的消息鉴认码
·CODEC COder/DECoder;用于字符数据的编码方案
·COM 组件对象模型
·COR *读取者类别;或读取者
·CORBA 共同对象请求代理架构
·COW *写入者类别;或写入者
·CPU 中央处理单元
·CRC 循环冗余检查
·dign *(名词)使用非对称私密密钥生成的数字签名
·dign *(动词)使用非对称私密密钥生成数字签名
·DK *派生密钥
·DRM 数字权利管理
·DVD 数字视频磁盘
·DSA 数字签名算法
·ECC 椭圆曲线密码编译
·eDK *经加密的派生密钥
·EPS *事件处理服务
·FIPS 联邦信息处理标准
·HMAC 基于散列的消息鉴认码
·GPS 全球定位***
·GPU 图形处理单元
·GUI 图形用户接口
·GUID 全局唯一标识符
·gzip GNU zip压缩
·HKDF 基于HMAC的密钥派生函数
·ikm 初始密钥材料
·IMEI 国际移动站设备标识
·IoN *Nuts联网
·IoT 物联网
·IPC 程序间通信
·IPv4 因特网协议版本4
·IPv6 因特网协议版本6
·I/O 输入/输出
·ima *缩写为“I am a”或“I'm a”的KISS域名:判定KISS模式
·iv 初始化向量:密码编译用途的随机数
·JSON JavaScript对象表示法
·KBP *基于密钥的准允
·Keccak SHA3散列系列
·KISS *密钥互换规格结构
·LAN 局域网络
·lock *将可变锁实施为一转变类别
·lzma Lempel-Ziv-Markov链算法
·MAC 媒体访问控制(关于以太网)
·MAC 消息鉴认码
·MD5 Rivest的消息摘要#5
·MIO *模块化I/O
·MIOR *模块化I/O储存库
·MMS 多媒体消息传递服务
·NAC *Nut访问控制
·NCS *NUTS认证伺服器
·NFC 近场通信
·NIST 国家标准与技术研究院
·NoSQL 非标准查询语言;亦非相关标准查询语言
·nonce 仅使用一次的数:密码编译用途的随机数
·NTFS 新技术文件***(Microsoft)
·NUTS *经加密用户数据传输及储存
·OAEP Bellare及Rogaway的最佳非对称加密填充
·OS 操作***
·PBKDF2 RSA(PKCS)的基于通行码的密钥派生函数#2
·PGP 较佳私密性
·PIM 个人信息管理器
·PKCS RSA实验室的公开密钥密码编译标准
·PKCS1_V PKCS#1的版本1.51.5
·PKI 公开密钥基础设施
·PSS 概率签名方案
·PUID 实际唯一ID
·QA 质量保证
·QUOPRI Quoted-Printable或QP编码
·RAM 随机存取存储器
·RAT *根访问层、Nut的拥有者/产生者;亦RAT写入者、拥有者
·RBAC 基于角色的访问控制
·RBCAC 基于角色的密码编译访问控制
·RBK *基于关系的密钥
·ROM 只读存储器
·RSA Rivest-Shamir-Adleman公开密钥密码***
·SAC *层级访问控制
·Salsa20 Bernstein的基于对称密钥的流密码
·salt 密码编译用途的随机数
·scipher 对称密码
·SCP *结构化密码编译编程
·SCRYPT Percival的基于通行码的密钥派生函数(function,功能)
·SDF *结构化数据折叠
·SDFT *利用转变的结构化数据折叠
·SHA 安全散列算法-Keccak散列变量
·Shake Keccak散列变量
·SMS 短消息服务
·SOAP 简单对象访问协议
·SPAM 来路不明的批量电子邮件;亦称为垃圾电子邮件
·SSD 固态驱动器
·SSID 服务集标识符
·SSO 单点登录
·tar 磁带存盘:将数据储存至磁带或磁盘上的Unix命令
·TAR *转变审计记录
·TOP *转变组织原则
·tine *Shamir的秘密共享份额,如叉上的尾部(tine,尖端、齿)
·TMX *转变
·TOP *转变组织原则
·URL 统一资源定位符
·UTF 统一码转换格式
·UTI 统一类型标识符
·UUID 通用唯一标识符
·VPN 虚拟专用网络
·WAN 广域网
·WiFi WLAN协议
·WLAN 无线LAN
·XML 可扩展标记语言
·Zlib zlib压缩算法
图1示出可贯穿本发明的描述及附图使用的密码密钥类型及其各自符号的表。可由符号102表示基于可变长度文本的通行码或通行语。符号104表示用于包括AES-256的对称密码或替代密码的密钥。符号106表示用于包括RSA-2048的非对称密码或替代密码的密钥对。非对称密钥对106的公开部分可描绘为符号108且私密部分可展示为符号110。本领域一般技术者可容易地认识到,此等密码可为熟知且良好测试的算法,并且当标准改变或期望替代方案时可在本公开内容中规定此等方法处替换成其他合适方法。
密码及单向散列
图2描绘可由各种类型的密码执行的基本操作。在加密模式中,对称密码208可接受对称密钥202及数据204以产生经加密的数据206或密文。在解密模式中,对称密码208可接受相同对称密钥202及密文206以产生原始数据204。在对称密码的实施方案中,加密及解密方法可为两个分开命名的函数调用或可为具有模式参数作为输入的一部分的单个调用。对称密码的特性可为加密及解密过程两者皆可利用相同的秘密密钥202。
在加密模式中,非对称密码214可接受非对称密钥对210的公开部分及数据204以产生经加密数据212或密文。在解密模式中,非对称密码214可接受非对称密钥对216的私密部分及密文212以产生原始数据204。在非对称密码的实施方案中,加密及解密方法可为两个分开命名的函数调用或可为具有模式参数作为输入的一部分的单个调用。非对称密码的特性可为加密及解密过程可利用密钥对的不同部分。在诸如RSA-2048的实施方案中,可使用数学关系从私密密钥派生(derive,导出、得出)公开密钥,因此RSA-2048私密密钥可与密钥对同义且可从其提取公开密钥。
在签署模式中,数字签名方法222可接受非对称密钥对216的私密部分及密文218以产生数字签名220。在鉴认模式中,数字签名方法222可接受非对称密钥对210的公开部分、数字签名220及密文218以鉴认224是否数字签名是使用该密文218及非对称密钥对216的私密部分产生的。在数字签名方法的实施方案中,签署及鉴认方法可为两个分开命名的函数调用或可为具有模式参数作为输入的一部分的单个调用。数字签名方法的特性可为签署及鉴认过程可利用密钥对的不同部分。在诸如基于RSA-2048密钥对的数字签名方法的实施方案中,可使用数学关系从私密密钥派生公开密钥,因此RSA-2048私密密钥可与密钥对同义且可从其提取公开密钥。为简洁及简明起见,此文件将数字签名可互换地称为dign;数字签名数据件的行为可互换地称为digning;已数字签名的数据件可互换地称为digned。
数字签名方法可为消息鉴认码或MAC的类型。可使用对数据进行的单向散列算法产生MAC。散列方法诸如SHA-512可接受数据内容以产生其的一消息摘要,其可最多至512位长。使用诸如SHA-512的方法的MAC鉴认需要对所述数据件重新计算MAC且比较所提供MAC与经计算MAC是否相等。称为带密钥的散列消息鉴认码或HMAC的技术可采用密码编译密钥的另外输入连同数据内容以产生HMAC值。
可在本公开内容的各个部分中使用数字签名方法及/或散列方法以产生可表示各自数据的消息摘要。
网络图
图3表示一简化网络图,其中可部分或完全应用本公开内容的各种实施例。广域网WAN 302可表示为网络云端,其可包括一起工作的各个电信中心处的许多伺服器、路由器及交换***以将简化的网络云端视图提供至用户或公司。云端服务304亦可图形简化为表示各种商业***的一云端,该等商业***可提供诸如云端储存及云端处理的网络服务;此等服务可按其自身规格来实施但可包含伺服器场、储存数组及路由器的许多例项。个人路由器306可连接至WAN 302,其可在个体用户可具有的多个网络可连接装置308至318中给予用户对因特网的访问。用户可不限于图上描绘的装置,而是可以使用可利用路由器来访问相同网络上的其他装置或跨因特网的其他装置的任何装置。路由器306可为因特网服务提供商的专用路由装置或其可为提供路由及/或LAN及/或WLAN能力的一组合装置且可称为网关。公司路由器320可连接至WAN 302,其可在公司可具有的多个网络可连接装置302至330中给予机构用户对因特网的访问。公司可不限于图上描绘的装置,而是可以使用可利用路由器来访问相同网络上的其他装置或跨因特网的其他装置的任何装置。路由器320可为因特网服务提供商的专用路由装置或其可为提供路由及/或LAN及/或WLAN能力的一组互连且受管理的路由器且可称为网关及/或内部网络。在本文中的各种实施例中描述的***及方法可使用及应用至此网络图的一些或所有部分。
装置图
在图4中描绘一通用计算装置400。处理单元404可连接至***总线402,其可促进装置内的一些或所有内部通信及数据传送。存在若干不同类型的可用***总线,但为阐明起见,其等可统称为***总线402。处理单元可表示单核或多核处理器以及处理器阵列,诸如存在于各种专用处理板诸如GPU板及刀片式伺服器中的处理器阵列。由***总线服务的其他组件可为:网络适配器412;I/O接口410;显示接口414;只读存储器ROM 406,其可储存BIOS程序408;易失性存储器RAM 416,其可短暂储存在运行的操作***418、在运行的应用420及/或应用数据422;及非易失性存储器424,诸如硬盘驱动器、SSD及闪存驱动器426,其等可共同永久储存安装的操作***428、应用程序430及/或数据文件432。
使本公开内容的一些或所有实施例可应用及运行并非均需要所描绘计算装置的所有组件。例如,装置可不具有如在一些IoT装置上发现的任何实体显示器或I/O接口;路由器及网关可具有较少实体硬盘。对于NUTS支持及兼容性的一必然要求可为运行NUTS兼容软件的能力,其可包括一处理单元、某形式的储存器及一***总线。
转变
转变可为组织在计算机编程中发现的许多已知数据操纵操作的一较佳方法。NUTS可将此指定为转变组织原则或TOP。此外,任何***数据操纵操作可使用TOP来分析且可分类为一转变类型。接着,转变可经分类、正规化、结构化、整合及/或调适以在TOP的架构内协同工作,此可称为利用转变的结构化数据折叠或SDFT。TOP的深刻视角及/或利用SDFT对数据的操作可允许以一概念更简单及/或程序化有效的方式实施更佳及/或复杂数据设计。TOP及SDFT可为用于NUTS组件的较佳低阶实施机制。
基于数据转变的分析、方法及/或结构可展示如何分层此等概念,并且设计其相关联方法可限定一组可实施的整合数据结构及算法方法,其可允许以模块化、便携式、可储存及/或自描述方式的容易且***性的数据转变。归因于此等分析的分层及交织性质,转变的描述可具有向前及向后参考且可能需要读取者涉及不同区段,以便获得对某些特性的更佳了解。利用转变的结构化数据折叠(SDFT)建立在使用数据结构及方法的转变上且可帮助实现经转变数据的储存性、传输性、模块性、可移植性、封装性及/或时间兼容性。
在NUTS设计内,SDFT是一组低阶操作且可视为更容易建构Nut的基本建立区块。然而,可单独、部分或完全使用SDFT以简化应用内的某些冗长及/或重复的数据转变。SDFT可实现计算机通信协议在两个不同应用之间动态地切换相同会话内的转变序列及/或转变参数变化。当前,此单一会话动态切换可为重大程序化练习。不必须使用SDFT以便建立Nut,但其特征可帮助更方便、清晰及灵活地建立Nut。SDFT可被进一步描述为数据状态过渡方法,其允许对状态过渡序列的可逆性具有良好限定行为的过渡事件的无限变化且可提供一迭代封装技术以按一简单上下文敏感方式暂留必要属性及数据。SDFT接受及包含每日编程问题的杂乱状况且可呈现一组实际组织原则,其中理论证据可从属于实验证据。
图5展示转变组织原则可如何将任何数据操作都视为数据转变510,其可需要输入数据源502及属性504且可输出经转变的数据512及相关联属性514。数据的任何良好限定的操纵、操作、转换及/或变换可被分类为一转变类型510。TOP可允许我们***性地建构以模块化、便携式及/或自描述方式转变数据的一组一致方法。
图6中的表展示一组简单共同数据操作及如何使用TOP对其进行分类。转变可涵盖可能已在感知及实践中传统地分离的基本数据操作的分类。此情况可为当编程者论述密码学及数据压缩时,此两个数据操作分类可通常视为对数据的两个非常分开且相异的操作。除各操作的算法差异,透过TOP的视角,此等操作可视为加密转变及压缩转变的类型。在表中,“JSON串行化”可分类为使用“json”操作的“串行化”转变,因此可执行的转变命令可陈述为“serialize json”。对数据件的AES对称密码加密调用可分类为利用“aes”操作的“scipher”转变,因此可执行的转变命令可陈述为“scipheraes”。本领域一般技术者可容易地认识表中列出的所有其他数据操作类型且遵循转变分类及操作分类的组织结构案。
图7展示一反向模式或反向操作中的转变的图。此图相同于图5,除了数据流箭头在相反方向上流动。转变510可具有良好限定的可逆算法,如由区块710绘示。可逆转变710可需要经转变的数据源712及属性714作为输入且可输出原始数据702及相关联属性704。计算领域可存在所谓的可逆计算,其可展现类似于可逆转变的概念。各组织原则的目标中可能存在一些差异。可逆计算可推理通用可逆计算语言的存在,其的操作可向下实施至硅层以获得一般计算的可能能量效率。可逆转变可致力于具体地实施TOP以获得益处,诸如但不限于最小化写入码、最小化编程错误、方便密钥管理、简化密钥产生、结构化便携式自描述数据、正规化数据操纵概念、引入执行转变的编程语言独立方法及/或简化复杂密码编译数据结构的建立。
图8展示一不可逆转变的图形表示。在正向模式中,转变810可对数据802及属性804执行一转变,此可产生经转变的数据812及属性814,但此等输出连同转变可对输入执行的操纵类型可具有不可逆性质。可由散列、MAC、有损数据压缩及其他单向函数或数据操纵来例示此等不可逆转变。TOP可引入分析技术,其可***地增加此等不可逆转变的特性且可产生可限定其反向转变特性的操作。
图9展示一条件性可逆转变的框图。此转变910可具有良好限定可逆算法但可能需要另外输入及/或属性914以使反向操作成功。传统可逆转变910可需要经转变的数据源912及/或属性914作为输入并且若且当满足必需条件916时可输出原始数据902及/或相关联属性904,否则其可在错误条件920下失败。可需要密钥的密码可被分类为传统可逆转变,因为正确密钥(属性)的缺失可阻碍密文的解密。
图10是列出共同数据操作及函数及其各自转变分类的表。本领域一般技术者可认识表中列出的一些或所有数据操作及/或函数。出于例示性目的,此文件中呈现的材料可指涉称为Python版本3.6的编程语言及其语法、概念、函数及/或方法。在本公开内容中指涉的许多密码编译函数可在Python标准、pyCryptodome、秘密共享及/或pyCrypto库中找到。本领域一般技术者可在最现代编程语言及其各自库中找到等效语法、概念、函数及/或方法。应注意,“dign”是用于数字签名的转变;其他助忆符可在本文件的符号及缩写部分中列出。可在图12中的表中找到各转变的进一步详细描述。
图11是在Python v3.6中限定的一编码译码表。此列表可归因于多种编码译码的存在、新编码译码的激增及/或在Python v3.6中限定的编码译码的限制而是不完整的。“编码译码”是编码/译码的缩写且是在计算中用于字符组的映像。字符被分配一单一编码译码内的一任意但唯一的二进制值;因此,一组完整字符可限定一单一编码译码。并非给定编码译码内的所有字符皆可被人类读取或印刷。编码译码的常见用途是用于不同语言的不同字符组的适当表示。“编码”转变可能够对给定数据字串执行这些编码译码编码操作的任一者。具有以“utf_”开头的名称的编码译码可规定符合统一码变换格式(UTF)的操作,该格式可为许多基于因特网的标准的国际字符组的组织原则。
图12是列出迄今论述的转变及其等详细描述的表。可在使用TOP的架构内限定另外的转变,如由表中的最后六个转变所展示的:密钥转变、清除转变、TAR群组(TAR group)转变、资讯征集、锁定转变以及mobius转变。这些另外的转变中的一些可为利用转变的结构化数据折叠(SDFT)库所特有,一些可为语言特定及/或一些可为关于NUTS的操作。此可通过允许限定及分类新转变类型以扩展其指令表来绘示TOP的灵活性质。此灵活扩展特征由设计达成,使得SDFT库可在未来适应新转变操作。扩展特征亦可允许追溯地添加更旧版本的转变操作以获得向后兼容性。这种灵活性的一益处可为SDFT处理数据能够获取更佳时间兼容性的特性。数据的时间兼容性可被限定为可使储存的数据能够在某未来时间点容易地被相同或不同应用处理的特性。时间不兼容性可能起因于但不限于应用文件格式版本差异、不同字符编码、过期应用文件格式、数据操作方法差异、数据操作定序差异及/或数据操作特定参数变化。
图13展示一转变可逆性矩阵。各转变可被指定为可逆、不可逆及/或条件性可逆。用于作出这种指定的准则可基于转变的理想意图而非其实际实施及/或理论缺点。在其他情况中,指定可为任意的。此可由称为MD4的摘要操作来绘示,其可产生128位长的源数据散列。相较于诸如512位SHA2的散列操作,MD4散列可视为十分弱散列算法,此归因于其对碰撞(其可为散列算法中的非所要特质)的敏感性。TOP视角可为将MD4的原始意图之一辨识为不可逆唯一散列且以该方式分类该散列。从透过另外TOP分析获得良好限定的工程可逆性特性,这种分类可不排除此转变类型,如将在一随后部分中展示。压缩转变可基于所执行的特定压缩操作而归入可逆及不可逆指定两者。许多影像及/或音频压缩技术可归因于其取样性质而展现不可逆性;12MB数字影像可被压缩至360KB以经由聊天应序有效传输,但归因于人类视觉感知的性质,尽管存在永久数据损耗仍可适当地传达影像的整体印象。这种压缩影像可归因于极大原始数据量可能已在变换期间被丢弃而被不可逆地修改。
可由gzip压缩例示可逆压缩转变;其可在识别及减小二进制数据内的重复位图案的原则上操作但其可维持足够信息以使程序反向且完整重现原始数据。可由AES对称密码例示一条件性可逆转变;其可在采用明文及对称密钥且产生密文的原则上操作。译码过程可采用密钥及密文以产生原始明文。因此,密文的正确对称密钥的呈现可为解密该密文或使加密过程反向所必须满足的必要条件。
TOP可限定转变模式,其可将给定转变操作的方向指示为正向或反向。转变的正向模式可执行其正常过程及/或其工程正向过程。转变的反向模式可执行其固有反向过程及/或其工程反向过程。图14中的表展示了指示转变可基于其转变模式内在地执行的操作类型的一矩阵。作为参考,该表列出通常已知的操作名称,诸如“串行化”及“去串行化”或“加密”及“解密”。注意摘要及dign的工程反向过程:“摘要”及“检验”、“签名(sign)”及“鉴认(authentication)”。对于其中可删除与其转变数据结构相关联的各种内部数据的“清除”转变,其可能无法在不具有适当另外数据的情况下恢复此被删除的数据及/或对原始数据重新运行正向转变过程以重现被删除的暂时数据。“密钥”转变可执行与执行转变相关的密钥生成及/或管理操作。照此,归因于密钥生成的固有随机性质,可能无法在有限时间内以一确定性方式理论地及/或算法地使此过程反向。当我们应对如何使转变可在结构化数据折叠(SDF)的上下文内工作时,将在随后部分中详细论述“密钥”转变的密钥管理方面;密钥转变的密钥管理方面可归因于其设定适当密钥结构以获得SDF上下文中的成功处理的特性而难以设计可逆副本。
图15展示一系列三个图,其中各者进一步详述串行化转变1504实例,其可被指定可逆转变。在计算机编程中,串行化及/或集结技术可采用特定于复杂语言的内部数据结构且可以线性方式***性地解构及/或组织其内容以产生等效数据字串或数据字串组(自此称为数据字串)。数据字串形式可更适合于永久储存、数据传输及/或进一步转变。按照定义的串行化可能需要其以逻辑方式完全可逆以重建原始语言中的原始内容或其等效物。可使用JSON操作1514转变Python结构1512以产生等效JSON字串1516且反向过程可为可行的,如由双向过程流箭头展示。在1522中展示一简单树数据结构,其可例示复杂Python数据结构。该串行化转变1524可从1522产生等效字串1526。此输出字串1526现在可作为程序进程进行储存传输及/或转变。
图16展示一系列三个图,其各者进一步详述摘要转变1606实例,其可被分配不可逆转变。此实例将SHA2散列操作展示为摘要转变1616,其可需要数据1612作为输入及摘要长度1614作为属性1604。SHA2散列摘要转变1616可产生规定长度的散列1618。Pyhton数据字串1622及256位的期望摘要长度1624可为SHA2散列转变1626的输入以产生256位长的散列字串1628。
图17展示反向模式中的摘要转变(亦称为检验)的详细实例。在TOP中,此可称为转变的工程反向。摘要转变1710可接受数据D1 1702及属性A1 1704作为输入以执行正向模式摘要转变1710,其可产生摘要字串DG11712作为输出1708。此转变的反向模式1720可接受数据D1 1722、属性A1 1724及摘要字串DG1 1728作为输入1736以执行反向模式摘要转变1720,其可产生指示摘要字串DG1 1728是否被检验1732或检验失败1734的旗标及/或值作为输出1738。检验的过程1740可通过对输入D1 1722及A1 1724执行正向模式摘要转变1720而产生摘要字串DG2 1722。输出摘要字串DG2 1722可接着与输入摘要字串DG1 1728比较是否相等1730。比较结果1738可以某形式呈现以展示反向摘要转变是否成功。以此方式,此摘要反向的工程可能需要重新处理转变的正向模式且比较输出,而不是依靠任何变通方法来找到这种操作的逻辑可逆性(这可能是困难、费时及/或难达到的)。
图18、图19及图20展示正向及反向模式中的scipher转变(亦称为对称密码)的详细实例。在正向模式1806中,scipher转变可接受明文1802及属性1804作为输入以产生密文1810及/或属性1812作为输出。在反向模式1826中,scipher转变可接受密文1830及属性1832作为输入以产生明文1822及/或属性1824作为输出。图19绘示salsa20对称密码可如何操作作为scipher转变。在正向模式1906中,scipher salsa20转变可接受明文1902及属性1904作为输入以产生密文1910作为输出。在正向模式中,此特定密码的属性可包括二进制对称密钥、密钥长度及/或salt值。此salsa20正向(加密)实施方案可为串流密码且除功能可嵌入在其自身输出字串内的隐藏属性以外,在加密过程期间可不产生另外输出属性。在反向模式1926中,scipher salsa20转变可接受密文1930及属性1932作为输入以产生明文1922作为输出。在反向模式中,此特定密码的属性可包括二进制对称密钥、密钥长度及/或salt值。此salsa20反向实施方案(解密)可为串流密码且在解密过程期间可不产生另外输出属性。图20绘示salsa20对称密码可如何操作作为对样本数据的转变,如可表示在Pythonv3.6及PyCryptodome库函数内。在正向模式2006中,scipher salsa20转变可接受数据字串2002及包括256位对称秘密密钥及随机数(如salt)的属性2004作为输入以产生密文2010作为输出。在Python中,对称密钥可表示为“字节”数据类型字串且因此可容易地通过密钥字节字串上的len()函数派生密钥长度属性。在反向模式2026中,scipher salsa20转变可接受密文2030及包括256位对称秘密密钥及随机数的属性2032作为输入以产生明文2022作为输出。在Python中,对称密钥可表示为“字节”数据类型字串且因此可容易地通过密钥字节字串上的len()函数派生密钥长度属性。属性2032可需要等效于属性2004,以便使此条件性可逆转变在反向模式(解密)中适当地处理密文2030以恢复原始明文2002。
转变类型
在下表及图21至图35中呈现的实例中,各转变可不限于此表中规定的操作;任何合适操作可透过TOP加以分析且可接着整合至架构中以扩展特定转变的操作能力。Pythonv3.6语法及构造可用于更详细绘示实例。本领域一般技术者可在不同编程语言中找到及替换等效数据类型、结构、语法及/或方法。在一些情况中,密钥/值选项可不相关于特定语言或库并且其可被忽视或视需要修改,只要处理可产生等效结果。
串行化/压缩转变
图21展示串行化及压缩转变的命令规格表2102及展示其用途的一组样本转变命令2104。表2102列出转变名称及各转变的可接受操作类型。具有尾部“=”的任何栏标头指示呈现于其下方的值可以以密钥/值格式呈现在命令语法构造中。“输入”及“输出”栏可规定Python v3.6情境内的用于转变/操作的预期数据类型/结构。例如,命令“serializejsonsortkeys=t”可执行以下数据操纵序列:采用任何Python数据结构作为输入;对其执行json.dumps(),其中“sort_keys”旗标设定为真;接着输出具有数据串行化版本的Python字串。此命令的反向模式可期望JSON格式化Python字串作为输入,对其执行json.loads(),接着输出Python数据结构。该“sort_keys”旗标通知json.dumps()函数以递增顺序处理任何Python字典的密钥。在处理密钥时,Python v3.6可能不保证对于字典结构的一致处理顺序,因此对相同数据结构多次运行此转变所得的JSON字串之间可能不一致。在串行化转变内依一特定顺序排序密钥可提供进程列的一致性,从而导致相同JSON字串作为相同数据结构上的多次运行间的输出。为判定两个JSON字串是否等效并因而可表示两个等效预串行化数据结构的目的,此可变得十分重要。
表2102中的压缩转变展示若干不同无损压缩操作或可逆压缩。任何不可逆或有损压缩操作都可扩展该压缩转变指令表,但出于论述可逆转变的目的,论述可能无法提供除数据大小减小之外的密码编译用途的单向函数既不有趣也不具建设性。从TOP视角,可以以相同于摘要转变的方式分析及处理有损压缩,如在一后续部分中论述。在2104中的实例中,命令“compress bz2”可对二进制字串输入执行bz2压缩且可产生二进制字串输出,该输出可能具有或可能不具有小于输入字串的大小。一些数据不再可以使用特定压缩方案进行压缩;此的一实例可为再次处理bz2经压缩字串且无法达成进一步的数据大小减小。
编码转变
图22展示一用于编码转变的命令规格表2202及展示其用途的一组样本转变命令2204。计算机科学中可存在数个编码方案且此表中的参考不表示所有已知编码方案。在“编码=”栏下方列出的编码方案可在Python v3.6及其相关联标准库中找到。本领域一般技术者可认识到对所有此等类型的编码的访问对于解决与可以操纵数据的应用相关的问题的效用。“Codecs(98)”是指在撰写本文件时且先前在图11中的表中列出的Python v3.6中所支持的编码译码的列表。转变命令“encode strbin utf_8”可采用Python字串作为输入,对其执行utf_8统一码编码且将结果输出为Pyhton字节字串。转变命令“encodeutf utf_16”可采用Python字串作为输入,对其执行utf_16统一码编码且将结果输出为Pyhton字串。转变命令“encode binascii hex”可采用Python字节字串作为输入,对其执行十六进制编码且将结果输出为Pyhton字串。转变命令“encode base 64”可采用Python字节字串作为输入,对其执行base64二进制编码且将结果输出为Pyhton字串。转变命令“encode utf_8”等效于“encodeutf utf_8”。此等说明可绘示编码转变命令语法中所允许的一致性及排列类型。
摘要转变
图23展示一用于摘要转变的命令规格表2302及展示其用途的一组样本转变命令2304。如在表2302中展示的摘要转变限定三个操作类型但不限于此:散列、hmac及/或cmac。转变命令“digest hash md5 128”可采用源数据字串作为输入,对其执行MD5散列函数且产生128位长的输出摘要字节字串。应注意,在摘要转变调用期间可不修改且不覆写输入源数据字串;输出摘要字节字串可为从摘要转变调用产生的另外数据且可被提供单独的内存空间。转变命令“digest hash sha2 512”可采用源数据字串作为输入,对其执行SHA2散列函数且产生512位长的输出摘要字节字串。转变命令“digest hash shake 256digestlen=332”可采用源数据字串作为输入,对其执行SHAKE256散列函数且产生332位长的输出摘要字节字串。转变命令“digest hmac sha2 256”可采用源数据字串作为输入,使用SHA2散列对其执行HMAC函数且产生256位长的输出摘要字节字串。转变命令“digest cmacaes 256”可采用源数据字串及256位对称密钥作为输入,使用AES256密码对其执行CMAC函数且产生128位长的输出摘要字节字串。所有这些摘要转变实例操作及类型可在标准Python库及/或PyCryptodome库中找到且可不表示所有各种操作、类型、摘要长度、密钥长度及/或在理论及/或实施意义上存在于此等样本库外的其他参数。任何另外变化可透过TOP适当加以分析且整合成一转变形式。任何转变形式的这种整合可能需要现有转变操作的重构及重新测试。
Acipher/Dign转变
图24展示一用于acipher及dign转变的命令规格表2402、2404、2406及展示其用途的一组样本转变命令2410。转变命令“acipher pkcs1_oaep 2048”可采用字节字串及2048位长RSA非对称公开密钥作为输入,利用512位SHA2散列对其执行RSAPKCS#1OAEP密码操作,且可产生2048位长的加密字节字串作为输出。转变命令“acipher pkcs1_v1_5 3072”可采用字节字串及3072位长RSA非对称公开密钥作为输入,对其执行RSA PKCS#1v1.5密码操作,且可产生3072位长的加密字节字串作为输出。这些acipher转变的反向模式可能需要将字节字串形式的密文及适当RSA密钥的私密部分,以便产生原始明文。
转变命令“dign pkcs1_v1_5 2048”可采用字节源字串及2048位长RSA非对称私密密钥作为输入,利用512位SHA2散列对其执行RSA PKCS#1v1.5数字签名操作,且可产生2048位长的摘要字节字串作为输出。应注意,术语“摘要字节字串”可与“数字签名字节字串”互换地使用,因为TOP可将这些输出视为提供类似功能且因此可储存由“摘要”可变名称指代的这种字节字串。转变命令“digndss 1024hashtyp=sha2”可采用字节源字串及1024位长DSA非对称私密密钥作为输入,在FIPS-186-3模式中利用512位SHA2散列对其执行DSS数字签名操作,且可产生1024位长的摘要字节字串作为输出。转变命令“digndss 256”可采用字节源字串及256位长ECC非对称私密密钥作为输入,在FIPS-186-3模式中利用512位SHA2散列对其执行DSS数字签名操作,且可产生256位长的摘要字节字串作为输出。这些dign转变的反向模式可能需要摘要字节字串(数字签名)、源字节字串及适当非对称密钥的公开部分作为输入,以便鉴认它。
派生转变
图25展示用于派生转变的命令规格表2502、2504、2506及展示其用途的一组样本转变命令2510。样本操作pbkdf2、hkdf及scrypt亦可称为密钥派生函数及/或密钥扩展函数。派生转变的基本功能可为从用户已知的二进制或字符数据字串派生具有期望长度的对称密钥或若干密钥;密钥派生功能的常见用途可为从通行码或通行语派生一(若干)适当形成的对称密码编译密钥。转变命令“derive pbkdf2 keylen=256iterations=100000”可采用字符数据字串(通行码或通行语)作为输入,使用SHA2 512位散列函数、一随机产生的512位初始向量作为salt及设定为100,000的迭代计数参数对其执行PBKDF2操作,且可产生对应的对称密钥,其是256位长的字节数据字串。转变命令“derive hkdfkeylen=256numkeys=4”可采用字节数据字串作为输入,使用SHA2 512位散列函数、一随机产生的512位初始向量作为salt对其执行HKDF操作,且可产生一组对应四个相关对称密钥,其中各者均是256位长的字节数据字串。转变命令“derive scryptkeylen=128mode=login”可采用数据字串作为输入,使用随机产生的512位初始向量作为salt对其执行一登录模式SCRYPT操作,且可产生对应的对称密钥,其可为256位长的字节数据字串。派生scrypt转变的登录模式可为将三个参数n、r及p设定为表2506中指示的值的缩写。此等参数值可为SCRYPT算法的作者的建议设定。
派生转变的TOP方法可建议双模操作。数据模式:若转变不与密钥堆栈(在一后续部分中详细论述)接合且仅与某类型的数据源字串接合,则其可转变此输入数据源字串且将其替换为可呈一(若干)对称密钥形式的转变输出。密钥模式:若转变可与密钥堆栈及某类型的数据源接合,则其可转变存在于密钥堆栈中的对应密钥源材料且可替换密钥源材料,由此派生一(若干)密码可用对称密钥且将其置于密钥堆栈中。当在转变审计记录或TAR及相依转变的上下文内论述密钥堆栈及密钥管理时,可在一后续部分中进一步阐明此等称述。
Scipher转变
在使用TOP的情况下,对称密码操作可被分类为scipher转变,且作为一群组,这些转变可呈现一组相关联属性,其在数量及/或种类上可为广泛的。接下来三个图绘示TOP可如何将具有所有其属性的各scipher转变***性地正规化及封装为相同输出字串。此类型的属性嵌入技术可在用于许多操作类型的各种函数及库中找到。然而,此等嵌入技术可能存在十分少广泛接受的标准。TOP可提出可出于支持称为利用转变的结构化数据折叠或SDFT的特征的相异目的而应用于所有scipher转变的一致方法。此方法是否可变为一广泛使用的标准可能超过本文件的范畴,但读者可认识到该方法在TOP架构内的用途的可能益处,尤其在我们在随后论述TAR及SDFT构造及方法时。
图26展示一用于scipher转变的命令规格表2602及展示其用途的一组样本转变命令2604。该表展示三个类型的scipher操作:aes、chacha20及salsa20。此并非是已知对称密码的完整列表,但其可呈现各种相关对称密码以绘示TOP可如何组织它们且提出其用途。对称密码可具有或多或少与其相关联的以下属性:密钥长度(keylen)、操作模式(mode)、salt类型(salttyp)、salt长度(saltlen)、区块大小(Block)、密码操作类型(type)及/或填充(pad)。密钥长度可规定可在密码中使用以从明文产生密文的秘密对称密钥的长度。对于AES密码,其可具有至少十个不同操作模式,如在表中展示。大部分对称密码可能需要特定类型(iv或nonce)及特定salt长度(其的使用可促进更佳语义安全性)的salt(随机值)的输入。对称密码可提供至少三个不同操作类型:区块、流及/或AEAD密码。可提出较新模式且其可使用TOP整合为一另外的转变变体。区块模式密码可使包括填充方法、填充定位、填充类型及/或填充长度的另外属性变得必要。
在部分2604中的实例中,转变命令“scipheraes 256mode=ofb”可采用字节数据字串及256位对称密钥作为输入,使用具有所呈现密钥的AES-256OFB模式串流密码及随机产生的128位初始向量加密输入数据字串,且产生输出字串,其可由在过程中涉及的嵌入以如在图27中规定的一致密钥/值格式格式化的输出字节字串的标头中的密文及所有相关联属性组成(在一后续部分中论述)。转变命令“scipheraes 128mode=gcm”可采用字节数据字串及128位对称密钥作为输入,使用具有所呈现密钥的AES-256GCM模式AEAD串流密码及128位nonce加密输入字串,且产生输出字节字串,其可由在过程中涉及的嵌入以如在图27中规定的一致密钥/值格式格式化的输出字串的标头中的密文及所有相关联属性组成。AEAD是具有相关联数据的经鉴认加密的一首字母缩略词且可为将一鉴认功能连同对称密码的加密能力嵌入单一函数调用内的一正规化或熟知方法。转变命令“scipher chacha20256”可采用字节数据字串及256位对称密钥作为输入,使用具有所呈现密钥的CHACHA20串流密码及64位nonce加密输入字串,且产生输出字串,其可由在过程中涉及的嵌入以如在图27中规定的一致密钥/值格式格式化的输出字串的标头中的密文及所有相关联属性组成。转变命令“scipher salsa20 128”可采用字节数据字串及128位对称密钥作为输入,使用具有所呈现密钥的SALSA20串流密码及64位nonce加密输入字串,且产生输出字串,其可由在过程中涉及的嵌入以如在图27中规定的一致密钥/值格式格式化的输出字节字串的标头中的密文及所有相关联属性组成。
图27展示两步序列中的scipher输出字串的输出结构格式,其中步骤1绘示输入格式且步骤2绘示输出格式。“标头”是对输出消息的scipher转变的可变长度密钥值utf8经编码参数字串。在步骤1中,scipher可接受具有可变长度的消息字节字串“消息(Message)”作为输入,其中具有填充长度的一可选填充通常视需要置于消息的端部处。消息可已预先考虑一salt值,如可由选定密码所推荐。填充可为区块模式对称密码的必然要求。若程序设计者未规定特定填充方法,则一预设填充方法可被使用及附接至消息的端部。此消息及填充可称为明文。选定密码现在可处理输入明文且产生及输出称为经加密的消息的项目,如在步骤2中展示。选定scipher转变现在可将嵌入式标头制成为呈字符字串格式的可印刷密钥/值对,其中密钥可表示参数类型且值表示其各自设定。将在下一部分中论述密钥/值的细节。一旦可产生标头字串,转变可计算此标头字串的长度,其称为标头大小且可被格式化为二字节长的无符号高位优先(big-endian,大尾序)整数。两个字节可具有自0至216(65,536)的值范围且可足以依此特定格式描述可预知未来的任何对称密码的所有属性。接着,步骤2可继续产生包括标头大小、标头及经加密消息的封包消息。此封包消息可为来自scipher转变的实际输出字串,因此其可视为已成功封装且嵌入与经转变的数据相关联的所有属性。反向scipher转变的数据流可反向遵循此程序:转变命令可规定确切scipher转变以执行匹配对称密钥且封包消息可被提供为输入。接着,scipher转变可对封包消息进行解包,读取及储存标头中找到的所有属性,接着准备解密经加密的消息。对称密码可能不具有确定性方法来传达成功解密。可以上覆方式使用检验方法来判定此等结果。基本方法的实例可为从经加密的消息提取预先考虑的salt值且将其与来自标头的经保存salt值比较。匹配salt值可指示成功解密但无法保证成功解密。AEAD模式对称密码可通过(在加密之前或之后)将数据字串的MAC(CMAC、HASH或HMAC)嵌入经加密的消息内且执行一比较而在较佳程度上处置此问题。更复杂方法可能需要使用不同密钥鉴认某形式的消息的数字签名的散列。如可在一后续部分中展示,SDFT及TAR的使用可以一程序上简单且有逻辑的方式允许此复杂性。在所有这些基于散列的方法中,确定无法完全陈述一解密尝试的条件,此系归因于通用地唯一地识别数据的散列方案中固有的弱点。一个确定性方法可为比较经加密的消息与原始消息是否相等但由于冗长消息可能存在效率折衷。
图28展示一用于scipher转变的输出结构格式中的标头字串的参数关键词及规格的表。针对此属性表选择的关键词可足以对本领域一般技术者进行自描述及/或自说明。在右侧栏中展示属性值的实例。所列出的第一属性标头大小可为可表示为16位二进制无符号高位优先整数值且可为存在于标头中的第一字段的唯一属性。此标头大小可指示字节数量,其后接着可描述呈一可印刷格式的此特定scipher转变的属性。属性格式可已选择为可印刷以允许属性值范围及长度的可变性。可自然地存在作为在运行程序中包括salt值(salt_val)及MAC字串(mac_val)的二进制字串的所有属性值可被编码为base64以满足可印刷字符的偏好。
以此方式,scipher转变的输出字串可取决于选定scipher的细节而包括属性的一或多个封装层。图29展示AEAD模式scipher转变的迭代嵌入式消息封装的图解。AEAD模式AES密码可输出自内层至外层列出的以下层。消息准备层2910可包括明文消息2914,其与一适当salt值2912进行加密组合。此经准备的消息2910可使用选定AEAD密码加密,选定AEAD密码可接着另外产生一MAC值及另外数据2922作为密码过程的一部分且我们可将此组合消息称为AEAD密码输出2920。此AEAD密码输出2920亦可称为经加密的消息2934。经加密的消息2934可具有来自scipher过程的相关联属性,其可使用来自图28的关键词/值标头方法参数化以产生标头2932且此组合可称为scipher封包消息2930。此scipher封包消息2930可为选定scipher转变的输出,其可被储存至可与称为scipher转变的TAR相关联的NSstr结构2940的obj指针或变量2944中。将在一后续部分中更充分论述NSstr结构。其他属性2942亦可被储存于称为NSstr结构的此数据储存单元中,包括TAR、密钥堆栈、摘要及/或状态旗标。NSstr结构2940中的obj指针或变量2944可已为明文消息2914的起始点,因此一迭代路径2950可为可行的且可针对对象2944而存在,因为其可处理如TAR所需般多的嵌套封装,其本身可储存于NSstr结构2940的属性2942中。
在scipher封包消息2930的标头2932中,可由图28中列出的关键词完全且确切地描述包括对称密码的描述、其模式及所使用的属性值的参数。在此方面,TOP方法可不依靠非密码编译过程及用于固定数据的程序的混淆及隐藏,而是仅依靠用作转变的密码的理论及实施安全性。此对初始观察似乎不显著,但可在随后展示嵌入转变自身的输出中的数据转变的相关联细节的这种简明性可最终将其自身引导至新颖方法及设计,其可更多依靠自描述数据而非释放处理其的硬线程序。此方法可帮助制定对数据储存科学的一些最低层操作的数据中心设计及数据中心模型中的基本源语的一者。NUTS可极大程度上依靠数据中心设计及模型,如可在一后续部分中展示。
图30展示一用于锁定转变的命令规格表3002及展示其用途的一组样本转变命令3010。锁定转变系是如在图12中的表中列出的另外转变的一者,且其可为来自NUTS的可变锁的实施例,如将在图65至图77中详细描述。可变锁可呈现密码编译地锁定秘密消息的若干不同方法,包括sslock、orlock、matlock、xorlock及hashlock。可变锁的特征可为在以正规化、***且有序方式加密秘密消息的过程中输入及使用若干密码编译密钥。TOP方法可允许以一简单且方便方式实施此锁技术的紧凑方法。在部分3010的实例中,转变命令“lockorlock 128numkeys=10scipherkeylen=128”可采用字节数据字串及最多至十个128位相同对称密钥作为输入,使用“scipheraes 128mode=eax”转变命令加密输入字串,且产生包括密文及相关联嵌入属性的输出字串。转变命令“lock matlock 256numkeys=5”可采用字节数据字串及五个256位对称密钥作为输入,使用“scipheraes 256mode=eax”转变命令针对各密钥迭代地加密输入字串,且产生包括密文及相关联嵌入属性的输出字串。转变命令“lock sslock 256numkeys=4threshold=2”可采用字节数据字串及至少两个256位tines256秘密共享密钥作为输入,使用具有所供应的秘密共享的Shamir私秘共享方法的实施方案来加密输入字串,且产生包括密文及相关联嵌入属性的输出字串。转变命令“locksslock_b 256numkeys=6threshold=3”可采用字节数据字串及至少三个256位tinesidx128秘密共享密钥作为输入,使用具有所供应的秘密共享的Shamir秘密共享方法的实施方案来加密输入字串,且产生包括密文及相关联嵌入属性的输出字串。转变命令“lock xorlock 128numkeys=6”可采用字节数据字串及六个128位对称密钥作为输入,通过对所供应的密钥迭代地执行XOR运算而派生经计算的密钥,使用“scipheraes 128mode=eax”转变命令加密输入字串,且产生包括密文及相关联嵌入属性的输出字串。转变命令“lock hashlock 192numkeys=7”可采用字节数据字串及七个192位对称密钥作为输入,通过对所供应密钥的有序级联执行散列而派生经计算的密钥,使用“scipheraes 192mode=eax”转变命令加密输入字串,且产生包括密文及相关联嵌入属性的输出字串。
各可变锁类型描述及操作模式可在开始于图60的可变锁上的随后部分中找到。TOP分析及方法可允许潜在利用多个密码编译密钥的复杂迭代锁变化以一简明逻辑方式完成且可允许未来的锁算法的不同类型的容易扩展。此外,可在随后展示SDFT的密钥管理方面可允许程序设计者相对轻松地方便地生成及管理此多个密码编译密钥。
如在图12、图13及图14中呈现,TOP分析及方法可允许本领域一般技术者进行给定数据操纵函数且判定其对于正规化为转变操作及类型的适用性。图12中的表可展示十分熟知的资料操纵的取样且可十分良好地被视为足以供广大开发者使用。然而,在数据操纵函数无法在此表中找到的这种情况中,可以分析及定制功能以使用TOP方法在SDFT架构内操作;功能诸如但不限于有损压缩、位散射、消息分散、擦除编码(ECC)及消息级RAID编码及结构化。在这些转变扩展的大部分情况中,不必重新编码或重写实际数据操纵函数。实际上,在大部分情况中,这样做可能起反作用且程序上弱化。可由转变库访问含有数据操纵函数的库且TOP方法可允许开发者围绕特定数据操纵函数提供正规化包装函数以在SDFT架构内良好地表现。
转变结构、转变审计记录(TAR)及使用转变的结构化数据折叠(SDFT)
图31以表格式展示了各种转变结构的规格。结构的限定依靠一基于嵌套密钥的方法,类似于如何在Javascript内限定结构;此可为有意的设计选择,使得其表示可容易地以多种程序设计语言进行复制且可不依靠特定语言的独特性。例如,Python v3.6允许限定分类而诸如Javascript的一些语言可能不允许限定分类,因此转变数据结构可不依靠分类来限定其具有更广泛适用性。转变结构可提供良好限定的工作存储器区域,由此可准备、处理及/或储存转变的输入及输出。可用于大部分但非所有转变操作中的主要数据储存单元或结构称为NSstr结构3108。可存在与转变调用相关联的NSstr的至少一个例项。所有转变结构可具有规定其表示何种结构的“typ”或结构类型字段。NSstr结构可进一步限定规定结构及/或其数据的状态的“state(状态)”字段。“obj”或对象字段可保持一单值或其可为指涉另一存储器区域的指针。obj字段可为可找到大部分转变的输入数据的位置。而且,obj字段可为可找到大部分转变的输出数据的位置。“digest”字段(若存在)可储存由obj字段储存或指涉的数据的摘要。摘要可能已以此产生的方式可取决于特定dign转变或摘要转变及供应至转变命令的参数及/或属性。“密钥堆栈”(若存在)可为KISS(密钥互换规格结构,在一后续部分中论述)结构的一单一例项或其可为依对应于其操作TAR的预定顺序的KISS结构列表。密钥堆栈基本上保持某些转变可需的各种类型的密钥。“tar”字段可指向NStar结构3106的一例项。
NStar结构3106可规定可应用于储存在NSstr结构的obj字段中的输入数据的特定转变审计记录(TAR)。TAR可为依逻辑顺序的转变命令集合,其可能已经有见识地定序以按一有序且良好表现方式处理NSstr中的数据以产生NSstr数据的单一“折叠”。我们可将对NSstr数据结构执行TAR的此过程称为“拼结”函数调用。相反地,“拆解”函数调用可依靠可逆转变的固有特性使用相同TAR“展开”NSstr结构内的折叠数据件。因此,转变的可逆性可变为利用转变的结构化数据折叠(SDFT)中的中心特征。SDFT方法可对NSstr结构使用TAR以迭代地转变如同对数据的组装线操作内的对象。由于可已完成对TAR中的各转变命令的可逆行为的分析,因此可在反向模式或拆解函数调用中调用任何TAR。可更深入地论述此话题,因为在以下部分中可呈现可使此等操作可行的另外必要成分。
NSbin结构3102可用于可仅相关于或可不仅相关于Python v3.6的特定功能。在Python v3.6中,可以以数据字串可内部储存的方式作出区分。其可被储存为“字节”字串或字符字串。字节字串数据类型可指示保持于变量内的信息可为一系列二进制字节数据。字符字串可指示保持于变量内的信息可为表示在某类型的编码方案中编码的字符的一系列位。Python v3.6可采用复杂内部管理方案来最佳地判定如何储存特定字符字串,因为不同编码对每“字符”可能需要不同的储存要求。实例可为UTF-8可使用8位长编码单元来表示各字符,而UTF-16可使用16位长编码单元来表示各字符;此等变化对于传送不同国际字符组可为必要的,其中一语言中的字符数量可十分不同于英语字母且因此可不拟合至8个数据位的排列中。转变、TAR及SDFT的较佳内部串行化方法可为JSON且JSON可不具有对将Python“字节”数据类型映像至其自身的一者的原生支援。若尝试转换,则JSON函数调用可能突然失败,具有可能不支持特定数据类型的一些指示。NSbin结构可针对此状况类型特别设计且可替换任何“字节”数据字串且因此可使Python变量与JSON兼容。“字节”字串可被编码为base64字符字串且储存于NSbin结构的“b64”字段内。现在可使字节字串变量指向此NSbin结构,从而覆写原始字节数据。这些可表示等效数据,但它们可在不同编码及结构中。然而,最终结果可为NSbin结构可与JSON完全兼容且现在可使用JSON函数安全地串行化而不具有归因于不兼容数据类型的错误。
在TOP方法中,对于NSbin结构转换及替换的此“字节”数据可称为来自图12及图33的“资讯征集”转变。在Python v3.6中,如在表3302中列出的资讯征集转变可采用任何有效Python结构或变量且将每一字节字串迭代地转变为等效NSbin结构,其可导致缺少任何字节数据类型的Python结构。本领域一般技术者可针对除Python v3.6以外的语言及其JSON函数调用客制化一适当资讯征集转变以移除数据串行化错误的这种来源。“资讯征集”的反向模式可称为“解除资讯征集(depress)”且可迭代地取消转换及替换,使得可恢复包含其原始数据类型的数据结构。
NSjson结构3104可用于仅保持可与JSON完全兼容的数据的一尤其有用功能。对针对NSstr 3108限定的字段的快速浏览可警告我们是否归因于潜在保持呈二进制字串形式或Python v3.6中的字节数据字串的来源的摘要值的摘要字段而针对JSON串行化直接提交结构的潜在问题。我们参考回图12且针对此特定问题再引入“mobius”转变。应注意,在此描述中的此点之前,对mobius转变的任何合理定义可能归因于转变及TOP方法的交织性质而无法使读者完全清楚地明白。图32中的mobius转变可以一圆形方式将一给定结构从一个形式转变为另一形式但具有如在一mobius带中的轻微扭曲。Mobius转变可通过将NSstr结构***性地转换为JSON可串行化结构(诸如NSjson)而成为利用转变的结构化数据折叠的重要实现者;转换的过程可嵌入用于NSstr整体的操作TAR连同经转变的数据,从而使所得可储存对象具有一自描述特性。Mobius转变可为以一方便方式在SDFT库中执行结构化数据折叠的本质的实施例。开发者可选择使用除mobius命令以外的转变命令的逻辑组合手动执行SDF,但mobius命令添加至少一个另外逻辑步骤,其可能需要开发者在SDFT库外部执行该步骤:将其正在操作的NSstr数据结构串行化为另一结构“诸如NSjson”的能力。Mobius转变可为TAR中的最后转变。由于其功能,此可能为可放置mobius转变的唯一逻辑位置。当处理mobius转变时,其可采用其可能正在操作的NSstr结构,且将其转变为NSjson结构。嵌入NSstr结构中的TAR可不再以有用或可访问形式存在,因此mobius转变可为待处理的一给定TAR的最后转变命令。简单地,mobius转变可对NSstr结构进行资讯征集,对其JSON串行化,接着将其储存于NSjson结构中,NSjson结构可被储存、传输、JSON串行化、折叠或可对此等结构执行的任何其他有效数据操作。可存在mobius转变的一反向模式,但以另一方式观察此转变可陈述其系一圆形转变:无论正向或反向模式,其取决于输入数据结构类型而执行一特定数据转变。表3204指示NSx结构,其的NSjson可为一变量。若在未来对于除图31中限定的转变结构以外的另外转变结构的需求增加且它们可能需要容纳至mobius转变中,则此表绘示mobius转变可如何针对除NSstr以外的任何转变结构而表现。在实际上不使用SDFT程序设计的情况下其可为不完全明显的,但mobius转变可逻辑地暗示不可能存在来自一经恢复NSjson结构的TAR处理,除非可对其操作mobius转变以将其转换为其原始NSstr结构,该结构可保持可已折叠其的TAR。为使用NSjson结构初始化此mobius自旋循环,可使用来自SDFT库的mobius函数调用反冲启动mobius(反向)以产生NSstr结构,访问嵌入式TAR且反向处理嵌入式TAR。此可进一步暗示TAR中的mobius转变命令(其通过定义将为待在反向模式中处理的第一命令)可在处理期间被安全地忽略,因为其可能已通过反冲启动函数调用而执行,从而其可在这种反向期间执行mobius功能不超过一次。在此定序中,无法在反向模式中忽略mobius转变可潜在产生mobius调用的无限振荡,此可将NSstr不断转换为NSjson且相反转换。其似乎是表达此等操作的一迂回方式,但其可产生相当紧凑双向TAR,其等可***性地嵌入输出经转变数据中,从而使经折叠的数据具有一自描述特性。此特性可为新颖的,因为其可作用于如同经解译脚本上但在正向或反向模式中以跨可支持SDFT库的实施方案的任何语言及/或操作***按一致可再现方式对数据执行操作。
图33展示用于资讯征集转变、清除转变及密钥转变的命令规格表3302、3304及展示其用途的一组样本转变命令3310。清除转变可为从NSstr结构内删除暂时或临时字段的一家务功能。某些转变在处理期间可具有对于另外临时字段的一需求且可在NSstr结构内产生另外字段以储存及访问其等。此等暂时字段在NSstr内的产生及使用可在分析其在TOP方法内的共存且最小化其与任何其他转变的适当运作的干涉之后以一深思熟虑方式完成。清除转变归因于其功能而可不存在反向模式,因此其可被安全地忽略。可在提出NSstr结构内的一新暂时字段时考虑此反向蕴含,该字段可不存在于转变的反向模式处理中,因此反向中的转变可不取决于其存在而使其适当运行。清除转变的一重要功能可为删除TAR的处理中使用的完整密钥堆栈的一内部复本;或其可仅删除密钥堆栈内的密钥且将KISS结构转换为密钥孔。此可为SDFT TAR处理中的最关键转变的一者,因为在准备NSstr以供储存之前无法适当对NSstr进行清除可能导致可已用于特定TAR处理中的任何及所有密码编译密钥的储存且其可无意地储存于明文及经折叠数据中。此状况可揭示(reveal,展现、显露、揭露)秘密密钥且破解经折叠数据内的一些或所有加密数据;此可并非加密数据的预期目的。
在表3304中,利用密钥转变的一些操作对其进行展示。此转变可为SDFT的密钥管理功能的部分且可通过指涉NSstr结构的tar字段而主要对密钥堆栈字段进行操作。密钥检查转变可测试储存的TAR且可产生一密钥模板清单。若输入一密钥堆栈,则其可与此等密钥模板比较以判定是否已在输入密钥堆栈中提供处于适当序列的正确密钥类型。例如,若TAR需要两个不同256位对称密钥用于可需要密钥的两个密钥转变,则其可在一清单中产生“对称256”的两个密钥模板,从而表示TAR期望密钥堆栈含有此等密钥(若可存在)。表3504列出各种密钥类型的一些。一空密钥堆栈或部分填充的输入密钥堆栈亦可经适当处理。当可不输入密钥堆栈时(其中TAR需要一些密钥),其可指示“密钥生成”转变。SDFT可参与密钥生成模式,由此根据派生密钥模板的适当密钥类型可被生成及组成密钥堆栈以用于在对储存于obj字段中的数据进行TAR处理之前提交至操作NSstr结构中。可在可输入一部分填充的密钥堆栈时参与一部分“密钥产生”模式。密钥检查及生产转变可协作地判定密钥堆栈中的部分供应密钥是否可具有适当类型且在适当序列中。接着,其可继续针对缺失密钥生成适当密钥。此程序可称为SDFT密钥堆栈管理的“缺齿”案例。可存在具有密钥转变命令的TAR的十分少任何实例,因为其可视为对于利用TAR的NSstr结构上的SDFT库的适当操作是如此基本的,其可通过每一调用中的预设来含蓄地执行以拼结/拆解操作而非使程序设计者将其放置在每一TAR中。可证明仅通过具有处理TAR的可能性(其可能需要密码编译密钥)可足以导致一致、含蓄及/或自动地对适当密钥堆栈管理含蓄地进行检查。TAR反向过程可依一适当反向顺序处理密钥堆栈。复杂性可归因于密钥堆栈模式中的派生转变的独特性而升高,此将在一后续部分中论述,其关于SDFT如何处置称为用于相依转变的TAR分组的此等状况。
图34展示密钥互换规格结构或KISS的表。此结构可具有至少两个操作模式:密钥或密钥孔。可由在表中限定的一些或所有字段规定一密钥的属性且可添加另外字段以扩展结构以视需要支持其他密钥属性。密码编译操作的TOP方法可为确认各密码编译转变需要规定该转变所需的确切密钥类型的一匹配密钥孔的观点。属性可包含(但不限于)用于密钥自身的实际唯一ID、用于通行语或通行码的询问或暗示、密钥描述等。若KISS结构中可存在密钥值,则其可仅称为密钥。若在KISS结构中可缺失密钥值,则其可称为密钥孔。此可由“ima”字段中的值来指示。域名可为“我是一”密钥/密钥孔的缩写且为简明起见可以该方式读取。标题为“In”的栏可指示用于产生一空白KISS结构且将一密钥***至其中(出于将其放置于NSstr结构的输入密钥堆栈中的目的)的所需值。标题为“Gen”的栏可指示可在来自SDFT库内的密钥生成转变期间自动生成及填充的字段。贯穿涉及TAR的SDFT论述,所有密钥指涉可与适当类型的KISS结构同义。可为明显的是,密钥堆栈可紧密对应于被处理的TAR的特性且堆栈转变命令及堆栈呈一特定形式的必要密码编译密钥及序列的此方法可允许透过无限数量个转变变化、转变参数变化及/或连续数据折叠迭代地处理任何输入数据。在TOP描述的此点处,我们可开始理解SDFT的各种组件的交织性质且可不以完全线性方式揭示任何特定部分的完全了解。
图35展示KISS操作模式的表3502、展示密钥类型/字段生成映射的矩阵3504及密钥类型定义3506。表3506列出由SDFT辨识的若干密钥类型但可不限于此等类型,因为可视需要添加及整合新密钥类型。至少三个密钥类型可需要一些说明,因为这些可使用熟知的基础密钥类型针对SDFT库特别结构化。密钥类型“symmetriclist”可为对称密钥的阵列或列表且可被储存为单一KISS结构内的密钥值。此密钥类型可支持(但不限于)如锁定及派生的这种转变。称为sslock及sslock_b的秘密共享锁转变可分别表示Shamir秘密共享算法的两个不同实施方案。锁sslock转变可期望呈一特定格式(包括内部索引编号)的秘密共享及256位长密钥的密钥共享。此可在SDFT库内称为“tines256”密钥类型。锁sslock_b转变可期望呈一特定格式(包括一内部索引编号)的秘密共享及256位长密钥的密钥共享。此可在SDFT库内称为“tinesidx256”密钥类型。
表3502是展示何种特征可在KISS结构可存在的两个模式(密钥(或转变)或密钥孔)中应用于KISS结构的矩阵。在转变(密钥)模式中,KISS结构可期望储存实际密码编译密钥以产生某版本的密文,其可包含加密的摘要及/或dign。因此,其的储存可在信息上使用但需要使用加密功能进一步嵌入以按一固定方式将其永久储存。在密钥孔模式中,KISS结构可期望具有足够细节以将适当密码编译密钥接受为其值以产生某版本的密文,其可包含加密的摘要、dign及/或派生的密钥。因此,其的储存可为强制的且可无需由任何嵌入方法进一步固定,因为其可不含有密钥值作为密钥孔。
表3504是展示哪些字段可为强制、相关、由密钥类型输入及/或产生的矩阵。在测试该表之后,可为明显的是,KISS结构可保持关于各种密码编译操作的salt。此根据对scipher嵌入式标头的论述似乎是冗余的但该salt论述可不呈现salt的整个图像。如在图37中展示,与转变相关联的属性3704、3714的持久性可分散于若干数据储存区域3732、3734、3736及3738中。TOP方法可已展示可在某些密码编译操作连同所得输出资料中嵌入salt,因为其可不揭示关于所产生密文的另外信息。然而,当我们测试在密钥堆栈模式中处理的密钥派生转变时,我们可发现将相关联salt值储存于KISS结构中可为方便且具有逻辑的。使用密钥派生函数的典型方法可为接受通行语作为输入,将其与某salt值组合且产生适当形成的密码编译密钥,诸如(但不限于)对称密钥。在此情况中,salt的使用可为了语义安全性。因此,完全可能的是,可接受相同通行语的每一密钥孔可具有不同salt,以便所得私密密码编译密钥可彼此不同,无论可存在什么合理理由。此派生密钥可以一临时方式使用且在使用的后被丢弃,由此仅留下密钥孔作为其存在的证据。由于通常无法永久保存密钥派生的产物(因为其可用作秘密密钥),故其可请求询问:我们可将其储存在何处?TOP可将其储存于对应的密钥孔中且可偏好SDFT储存此密钥孔连同经折叠的数据,由此可接受相同通行语的各密钥孔可具有适用于salt值的其自身例项的储存。程序设计者可以完全不同方式按一外部方式储存KISS的密钥孔。图37的顶部上的简化转变图(其相同于图5)在可引入TOP及SDFT的各种组件时变得更像图37的底部上的图。表3720总结属性的置位。
已在先前关于经由TOP及SDFT分析及可用的语法及各种转变命令描述很多,但TAR实际上在实践中看起来怎样?图36展示TAR的结构且列出TAR的若干实例。区段3602规定转变审计记录或TAR的一般结构。“tar label01”宣告指示其正下方的经限定TAR的名称或标签。所有TAR命令遵循TAR标签宣告且一空白行指示当前TAR定义的结束。因此,可在单一文本文件中宣告许多TAR。TAR定义区段可包含自身在一在线的TAR标签或转变命令。此可类似于一程序设计语言编译程序的宏观特征;其可用作将熟知TAR构造组合为一新TAR而无需实际上将定义复制为TAR自身的一方便特征。转变命令可***一特定序列中以按所要方式处理目标NSstr结构。TAR“test_a01”可仅将Python数据对象资讯征集为缺乏任何Python字节数据类型的一等效结构;对于其他语言,其可执行或可不执行相同功能,因为“资讯征集”可为语言及/或环境所特有。TAR“test_a02”连续执行资讯征集转变两次。第二资讯征集转变可不完成对数据的功能改变。此展示工作时的TAR扩展。TAR“test_a07”可对数据进行资讯征集,将其串行化为JSON字串,接着使用utf_32编码将其转换为字节类型二进制字串。TAR“test_a17”展示一终止mobius转变可看起来怎样。TAR“test_a20”对数据进行资讯征集,将其串行化为JSON字串,将其转换为utf_8经编码二进制字串,使用具有256位对称密钥的chacha20对其加密且接着将所得二进制密文字串转换为base64经编码字符字串。可在含有保持256位对称密钥值的单一KISS结构的NSstr的密钥堆栈中期望scipher转变的对称密钥。替代方案可为不提供密钥堆栈且拼结函数继续产生具有适当产生的随机256位对称密钥的有效密钥堆栈,使用其执行scipher转变且允许程序设计者在完成的后提取密钥堆栈(因此其内的密钥)的一副本。TAR“test_a42”展示TAR群组及相依转变的一实例:其将对数据进行资讯征集,串行化为JSON字串,将其转换为在utf_8中编码的二进制字串,从密钥堆栈中供应的通行语派生256位对称密钥,接着使用派生的对称密钥对数据执行chacha20加密。最后两个转变可具有永久相依性,因为密码依靠派生的密钥;因此,此相依性可在TAR内经分组为具有如此标记的前导<卷标>。在正向模式中,不存在对TAR定义内的TAR分组的明显影响,除了以视觉方式突显此等相依性。然而,TAR群组可在涉及TAR反向时发挥重要作用。当针对TAR反向过程准备TAR时,TAR群组可完整保持为一单元且其成分可不反向。图41及图42绘示TAR反向的若干实例。TAR“test_a64”可执行五个scipher转变及一DSS dign转变。此TAR可期望依一特定顺序填充有各种类型及长度的六个密钥的密钥堆栈。在区段3610中绘示可对应于TAR“test_a64”的密钥模板的一简化表示。此密钥模板可由含蓄密钥检查及/或产生转变使用以验证任何输入密钥堆栈及/或产生有效密钥堆栈以用于TAR的适当处理。
图38展示拼结及拆解(或与拼结相反)的SDFT操作的框图。SDFT中的两个中央操作可为“拼结”及其反向“拆解”。拼结操作可处理一给定NSstr,其可包括一些或所有以下项目:数据、TAR、密钥堆栈及/或其他属性。拼结操作可根据在3802内的TAR中列出的转变序列“拼结”或折叠3810 3802内的源数据且可将输出最终产生为一NSstr结构3804或一NSjson结构3806内的组件。拆解操作可根据在嵌入式TAR中列出的反向转变序列“拆解”或展开3820源NSstr 3804或NSjson 3806结构且可将输出最终产生为一NSstr结构3802。如将展示,拼结/拆解的对称性可为此设计的一有趣方面。注意可贯穿TOP使用的术语及视角的一致性。反向的拼结操作可等效于拆解。此可逆性原则可不仅简化此等功能的分析,而且其可过滤可导致关于数据转变的更高阶概念的模块化组织方法。
图39展示SDFT拼结操作的流程图。给出NSx结构,拼结函数或方法调用可利用提供有调用的参数及/或嵌入NSx内的TAR对其中的数据执行以下操作,其中在此情况中,“x”代表任何转变结构。类似于密钥检查/生成转变,mobius转变可视为对于此算法是如此基本的,其可在满足条件3906时对任何输入数据结构含蓄地执行。拼结可仅对NSstr结构适当执行其核心操作,因此若可传递NSx结构而非NSstr,则其可尝试对NSstr结构3918进行转换。无法产生有效NSstr 3924可产生适当错误码3978且突然终止程序3984。可存在至少三个不同方法来拼结或折叠其内的数据:首先,在有效NSstr内可含有指示对NSstr结构内的数据执行转变序列的TAR;其次,TAR标签的名称可作为参数传递至拼结调用中,由此指示对NSstr结构内的数据执行的较佳组转变;再次,客制化TAR清单可作为参数连同其在拼结调用中的给定名称被传递,由此指示对NSstr结构内的数据执行的较佳组转变。TAR 3912的准备可包括扩展其他TAR标签指涉及/或针对可为正向或反向的遍历模式适当对其排序。图41及图42绘示TAR反向的若干实例。接着,可对TAR及NSstr结构有效执行密钥检查转变。密钥检查转变的组件可为通过测试TAR而派生密钥模板清单3930。在使用TAR、输入密钥堆栈(其可为空或部分占据)及/或密钥模板的情况下,程序可组成用于TAR 3936的适当遍历的密钥堆栈。此可包括产生正确类型的缺失密钥,依适当顺序定序密钥及/或检查用于适当结构及类型的输入密钥。输入密钥类型及对应派生密钥模板中的任何失配可产生错误条件3942,其导致产生适当错误码3978且突然终止程序3984。程序现在可对适当序列3948中的TAR中的各转变命令进行反复且对包含于NSstr内的数据执行规定转变3954。在转变命令执行期间遭遇的任何错误3960可产生适当错误码3978且突然终止程序3984。当在不具有错误的情况下到达3948TAR序列的端部时,接着拼结操作可视为成功3966且程序可优雅地退出3972。
图40展示SDFT拆解操作的流程图。我们可通过比较图39及图40中的流程图来绘示转变可逆性的对称性,而非详细规定拆解程序。两个流程图的间的唯一差异可为TAR准备步骤3912及4012。由于可已使用TOP分析及结构化每一转变以按一双向方式按一良好表现方式执行,故拆解程序可无需十分不同于拼结程序,除了可如何呈现TAR。其可被实施为相同编码但在可指示一反向旗标时具有一轻微偏差且在遭遇此情况时执行TAR的适当反向定序。Python v3.6中的此调用可采用“obj.ravel(…,reverse=True)”的形式。对称性可允许实际实施码变得更小及/或可呈现程序设计错误的更小机会。一概念益处可为在出于特定目的建构新TAR时的想法简明及阐明性:程序设计者可依靠一适当TAR序列在其限制内完全可逆且可无需太多考虑应用程序的该部分。一益处可为程序设计者产生一组特定数据转变的工作量可有效减小至少一半,因为其可不再需要产生此等数据操纵的反向码。复杂加密及锁机制的建立可需要利用较大数量个密码编译密钥的巨大数量个数据操纵。转变组织原则(TOP)方法可帮助达成以离散、较不易产生错误的方式处理此复杂性的更结合且整体方法;因此,其可允许(但可不限于)更一致、可靠、安全、可携式、可理解、广泛、灵活、可扩展及/或复杂的编码及/或数据。
图43展示一转变表,其被映像至其可在TAR处理期间产生或需要的密钥类型模板。参考回对密钥管理的论述,密钥管理的主要操作的一者可为分析给定TAR且产生密钥类型模板的对应清单,其可详述在给定TAR的成功处理中可为必要的各密钥的类型及规格。表3506列出在SDFT内限定的密钥类型的至少九个类型。表4300展示各转变操作的映像,其可需要密钥及其在进行拼结/拆解程序时可需的对应密钥类型或“keytyp”。密钥模板可具有与各密钥类型相关联的若干属性,诸如但不限于密钥长度或“keylen”。为简洁及简化图解起见,我们可将256位长对称密钥指示为具有可表示为“symmetric keylen=256”或“symmetric 256”的密钥模板但在实际实施方案中可利用呈程序设计语言的任何可用数据结构机制以按一有组织方式储存此等值。在Python v3.6中,用于密钥模板的可能结构可由字典数组表示,其中数组中的各字典条目储存具有对应于字典密钥的各属性及对应于与字典中的该密钥相关联的值的属性值的单一密钥模板。在SDFT内,所有密钥模板可为临时结构且可经由密钥检查转变经受重复再生且其可不必永久储存此等密钥模板。以此方式,SDFT可在使密码编译转变归因于密钥类型/结构不兼容性而完全失败之前适当分析***至密钥堆栈中的任何密钥以进行处理。TOP及SDFT中的普遍主题可为以下观点:数据操纵序列的混淆可并非确保任何敏感有效负载中的可靠组件而是可归属于选定密码的强度及其操作属性及/或特性。
图44展示TAR实例及由各实例产生的密钥模板。表4402中的左栏列出TAR实例“A”。右栏指示针对可需要密码编译密钥作为属性输入的各转变命令产生的密钥类型模板。在此实例中,TAR“A”可需要所指示序列中的两个密码编译密钥。表4404中的左栏列出TAR实例“B”。右栏指示针对需要密码编译密钥作为输入的各转变命令产生的密钥类型模板。在此实例中,TAR“B”可需要所指示序列中的四个密码编译密钥。此过程可被认为是来自TAR的密钥模板生成。
图45展示TAR实例及由各实例产生的密钥模板及待输入(put)或生成(gen)的KISS结构的期望列表。KISS列表亦称为密钥堆栈。我们可采用来自图44的两个实例且展示一拼结/拆解调用的密钥管理方面中的下一步骤。一密钥堆栈可预期或产生为对应于如由4510展示的各密钥类型模板的KISS结构的列表的形式。当TAR“A”处理获得“scipher salsa20256”转变命令时,该过程可期望找到如由KISS A1指示的密钥堆栈中的一输入256位长对称密钥。当TAR“A”处理获得“digndss 1024digestlen=512”转变命令时,该过程可期望找到如由KISS A2指示的密钥堆栈中的一输入1024位dsa密钥。可以一类似方式读取及理解TAR“B”的KISS清单。若无法在密钥堆栈中找到此期望密钥,则TAR处理可期望替代地找到一经生成的密钥。此含蓄密钥生成可有益于程序设计者,因为生成用于给定加密转变的任何类型的可接受密钥的唯一要求是能够在TAR内对其进行宣告。生成用于特定加密函数的特定密钥可无需另外步骤。使用空密钥堆栈调用一拼结可导致输出NSstr结构保持具有适当生成密钥的一完全顺应密钥堆栈以匹配TAR且能够折叠其中的数据。强烈推荐及建议由KISS结构组成的此密钥堆栈可接着以一安全方式与经折叠的数据分开储存及/或其可以某方式进一步修改且再次折叠且使用TAR固定,因此使用密码编译转变进一步对其加密。当处理待管理及保护的许多密码编译密钥时,密钥堆栈的重复加密及封装可为有用的。TAR“B”可产生四个KISS的密钥堆栈且其可便于将整个密钥堆栈安全地储存至一密钥贮存库;然而,程序设计者为方便起见可希望使用单一密钥加密四个密钥的密钥堆栈。此可以下步骤完成:产生一新NSstr;将四密钥密钥堆栈***至数据obj字段中;拾取一适当密码编译TAR;及对NSstr结构执行一拼结调用。此系列步骤可产生具有单一KISS结构的密钥堆栈,其含有锁定至保持四密钥密钥堆栈的经折叠NSstr结构的密钥。
图46展示SDFT TAR处理内的密钥堆栈操作的三个模式:生成(gen)、输入(put)及注入(mixed)。区段4600绘示当密钥堆栈4602在TAR实例“B”的处理中为空时可能发生什么。拼结程序可采用TAR“B”4508的密钥类型模板且生成4606具有相同类型且依相同于如在4604中展示的密钥类型模板中找到的顺序的适当数量个随机生成的密码编译密钥。区段4610绘示当密钥堆栈4612是至TAR实例“B”的处理中的输入(put)4616时可能发生什么。拼结过程可采用TAR“B”4508的密钥类型模板且针对所提供的密钥堆栈4612对其进行检查以验证密钥的数量、类型及排序,且接着其可允许其在如4614中展示的TAR“B”的处理期间使用。区段4620绘示当密钥堆栈4622被呈现至TAR实例“B”中时可能发生什么,其中仅提供一个密钥KISS B3或亦称为一部分填充的密钥堆栈或“缺齿”案例。拼结过程可采用TAR“B”4508的密钥类型模板且针对所提供的密钥堆栈4622对其进行检查以验证密钥的数量、类型及排序。在各密钥类型模板对密钥堆栈条目的反复验证期间,任何空KISS结构可视为一特定类型的验证失败且可进一步解释为用于该密钥类型模板的含蓄密钥产生转变。拼结过程可接着将适当类型的新生成的密钥注入4626至密钥堆栈的空位置中且继续密钥验证反复。在完成此步骤之后,混合密钥堆栈(可称为输入与所生成的密钥的混合物、缺齿案例或密钥注入)可在如4624中展示的TAR“B”的处理期间呈现及使用。
图47展示如何生成及如何在数据的生命周期及其TAR中使用密钥堆栈的一图解。对数据4700的SDFT的使用可允许其根据如由一特定TAR 4702限定的一组可变转变以有序方式迭代地转变。TAR可被结构化,使得允许密码编译密钥类型且因此产生详述TAR所需的密钥的数量及类型的密钥模板。接着,无论是否可存在所有或一些必要密钥或不存在必要密钥,可在输入密钥堆栈的组成物4704中指涉密钥模板。当一所需密码编译密钥可能缺失时,组成过程可产生一新密钥以供使用。TAR、数据及密钥堆栈可接着传递至拼结调用4706中以根据TAR执行结构化数据的折叠。可接着由任何方法储存4708经折叠的数据。密钥堆栈中的密钥可储存4710于一分开的安全位置中。当需要指涉经折叠的数据时,应用可从其储存位置4712检索数据,从其安全储存器4714检索密钥或密钥堆栈,将经折叠的数据及密钥堆栈传递至一拆解调用4716中,且从拆解输出结构4702访问呈其原始形式的数据。此可指示利用转变的结构化数据折叠的一个完整循环。可存在转变及折叠任何数据结构的许多其他路径,但本质上,某形式的此循环可必须完成,以便完全检索SDFT内的原始数据。
密钥及/或密钥堆栈的储存4710可涉及利用一密码编译TAR的密钥堆栈的折叠,以便使用更少密钥(仅一个密钥及/或不同密钥)对其进行保护。经折叠的密钥堆栈数据可变为另一结构的部分,其自身最终可被折叠。数据可以级联方式迭代地折叠以建立内部数据结构,其中精确逐渐折叠可导致精确逐渐加密。以一精确、有组织及/或有条理方式引导复杂密码编译数据转变的此能力可导致使用更复杂转变方案的敏感数据保护的更佳及/或更简单设计。TAR的阐明及简明性可导致他人对目标数据完成的操作的更佳理解。
SDFT的一重要益处可为组合对如4704及4714中的一给定数据件的各种密码编译操作的上下文内的密钥管理的***处置。程序设计者可在某程度上摆脱生成各密钥且在此等过程期间手动操纵其储存及/或定序的不重要细节。在加密功能的应用中,此等不重要细节可快速累加以变为应用(因此程序设计者)必须追踪、分析、储存及/或使用的庞大数量个小细节或属性。SDFT方法可允许一给定应用追踪、分析、储存及/或使用加密功能的较少单独属性,因为其可允许该属性嵌入其已操作且产生为输出的数据及/或密钥堆栈的上下文内,由此其可提供经折叠的数据连同可已折叠其的转变的成对耦合。数据操纵指令从应用至数据的移植可允许更简单应用及/或具有加密功能的更复杂用途的应用。SDFT可实现表达结构化密码编译程序设计(SCP)方法的一更佳替代方案,如将在NUTS部分中论述。
图48展示可发生在储存于NSstr结构中的数据上的操作的图解。由一指标指涉及/或储存于一变量4802中的任何数据可使用例示方法及/或使用方法/函数调用4804直接封装4812至NSstr结构中。接着,NSstr结构4810可视需要封装TAR 4814及其相关联属性4816。属性可包括密钥堆栈、摘要、转变参数及/或临时变量。此可提供透过SDFT拼结/拆解操作处理NSstr所必需的最小组完整信息以使用可已提供的属性4810对包含于其内的数据执行TAR。在TOP用语中,我们可将此称为资料的折叠。SDFT的输出可返回为相同NSstr结构4810或NSx结构(诸如NSjson)。接着,此输出可以某持久且可访问方式储存4820、使用一程序间通信(IPC)方法4840传输至另一计算装置及/或储存至另一内部数据结构中4830。循环可在应用中的一后续点处针对经储存数据4820及4830重新开始。对于被传输的数据4840,循环可通过这种数据封包4800的接收而被初始化。
图49展示迭代地折叠资料的SDFT用途的流程图。该系列简化图展示使用N个连续数据折叠的SDFT拼结调用的数据的***折叠。可通过调用拼结4906来折叠含有至少数据4902及TAR 4904的NSstr结构4900以产生输出数据4908,输出数据4908可经修改及/或进一步封装至含有至少数据4922及TAR 4924的NSstr结构4920中,可通过调用拼结4926来折叠NSstr结构4920以产生输出数据4928,输出数据4928可经修改及/或进一步封装至含有至少数据4942及TAR 4944的NSstr结构4940中,可通过调用拼结4946来折叠NSstr结构4940以产生输出数据4948,输出数据4948可经修改及/或进一步封装……此过程可视需要进行迭代4950。应注意,在此系列复杂结构化数据折叠中,可通过简单修改储存于某文本文件或其等效物中的TAR指令而与应用代码分开地修改任何步骤中的任何TAR。不具有此等迭代封装的SDFT但具有转变序列及/或各步骤的参数变化的可能性的一等效程序化表达可能相对长、易于出错及/或难以理解。
图50展示迭代地展开资料的SDFT用途的流程图。该系列简化图展示使用N个连续数据展开的SDFT拆解调用的数据的***展开。其是图49的流的确切反向列且因此可如此理解。如先前在图39及图40中展示,拆解调用可相同于拼结调用,除了TAR的准备及经被馈送至其的数据的状态。应注意,在此系列复杂结构化数据展开中,可无需另外反向TAR,以便达成展开。拆解各经折叠的数据所需的所有必要TAR可被发现嵌入经折叠的构造内。NStar结构3106的更精密测试展示一“expd”字段,其被限定为“TAR命令扩展形式的清单”。此可为SDFT中的可逆性的关键特征:TAR准备步骤3912及4012的输出可产生缺乏标签指涉及任何其他外部指涉的一组完整可操作转变命令,且可视为经转变数据可已经受的转变的一完整描述。此可视为针对经折叠的数据设定的TAR的静态快照,由此确保可对经折叠的数据执行适当展开而无关于外部位置中的TAR定义的任何改变。其可暗示,TAR定义档案可随着时间生长出较大数量个TAR定义,但可通过SDFT程序保存操作TAR定义的储存以保留其可逆性而无关于此等外部定义档案的改变(其可并非一推荐实践)。此设计可促进以一更佳方式处置经储存的数据的时间兼容性的***方式。
图51展示SDFT API/库及其可访问的各种类型的TAR定义档案的图解。TAR定义可存在为许多形式,诸如但不限于文本文件、Nut、经加密的档案、数据库、伺服器程序及/或运行中存储器。TAR可在任何时间由程序设计者限定为拼结调用中的一客制化TAR定义且因此可为一临时TAR。对于可永久储存的这些TAR定义,图5100可绘示这些定义的各种形式但可不限于所展示的此等定义。标准TAR 5102可为TAR定义,其可被提供为一封装连同用于任何OS/语言配对的SDFT库安装。隐藏TAR 5104可为TAR定义,其可为可仅存在于访问受限位置中及/或由所表达准允访问的客制化TAR定义。这些可为一私密网络或客制应用安装内的TAR定义的较佳方法。隐藏TAR的使用可甚至保持隐藏在一拼结的输出内且TAR的扩展形式未被发现嵌入此经折叠的数据中而仅由TAR标签对其进行指涉。这种群组的管理者可具有维持隐藏TAR的义务,因为使用隐藏TAR折叠的数据可不必含有展开其所需的转变组。隐藏TAR可似乎类似于使一程序内的数据操纵序列混淆的等效方法。本端用户TAR 5106可为TAR定义,其可为仅可在用户或程序设计者的账户权限下访问的客制化TAR定义。这些可为程序设计者可制定以在一随后时间永久添加至TAR定义储存形式的一者的临时或发展TAR。远端TAR 5108可为TAR定义,其可在具有或不具有来自一远端伺服器或储存位点的准允访问的情况下被访问。此拓扑可归因于受限本端储存或归因于将密钥TAR定义集中至一中央管理区域中的策略而是必要的。此亦可为不断检查标准TAR定义是否可为最新版本的方法。受保护TAR 5110可为TAR定义,其可被定位于任何适当可访问位置中但可被加密以仅用于授权访问。可需成功遍历一分开鉴认及/或授权程序,以便获得对受保护TAR的访问。另一形式的受保护TAR可储存于一Nut容器内,其可需要一(若干)适当密钥来获得对其的访问。嵌入式经折叠TAR 5112可为连同来自拼结调用的经折叠的数据一起保留的扩展TAR定义。
图52展示执行手动数据折叠的一例示性Python脚本。图53展示一TAR定义的SDFT实例及其在Python脚本中的用途。图52及图53可共同展示SDFT可如何不同于使用Pythonv3.6的一更直接程序设计方法的实例。此等例示性Python脚本可使用各方法绘示手边的各任务的基本调用序列中的主要差异。我们可开始于一样本数据集5210。可在以如行02至06中展示的明语表达的任务5220中规定对数据执行的操作。通常,为易读起见,此等可作为批注行进入至程序自身中。区段5250展示执行任务的实际Python码且区段5260展示恢复原始数据5210的任务的反向处理。
在使用SDFT的情况下,数据集5310相同于5210。区段5320将任务5220表达为标记为“test_a70”的TAR定义。区段5350拼结数据且将经折叠数据写入至一档案。区段5360自一档案读取经折叠数据且对其拆解。
图52中存在18行Pyhton码且图53中仅存在8行编码。可为明显的是,数据转变的类型及数量的任何改变可影响区段5250及5260两者。图52中所述的方法需要程序设计者维持若干变量、任务序列及/或各函数或方法的适当调用。5260中的反向程序需要程序设计者确保依正确反向顺序调用所有操作且针对各函数或方法调用以正确方式馈送参数。5220中的任务的任何改变可导致区段5250及5260的程序设计改变。5220中的任何另外任务可导致区段5250及5260的另外程序行。更多临时变量可被产生及视需要用于对任务的这些添加或改变。
在图53中的SDFT方法中,可在TAR 5320中直接反映任务的任何改变。因此,任何另外转变修改可仅变化此区段的长度。拼结及拆解调用行10及14保持未改变。TAR 5320的5360中的反向过程无需规定为超过5320中的原始TAR定义。实际上,区段5350及5360可针对除行10以外的任何选定TAR定义保持未受扰,其中在拼结方法调用中规定TAR定义标签。
在所执行任务的易读性及理解性方面,读者可能偏好TAR 5320而非区段5250及5260中的实际程序代码。5220中规定的任务并非编码且可通常表达为Python码内的批注。对区段5250及5260中的程序代码的任何改变必须由程序设计者手动地与批注协调,否则若另一程序设计者尝试理解具有不精确批注的编码,则可接着发生混淆且反之亦然。TAR5320可视为以清晰且紧凑方式自描述。
由区段5250中的行15至16储存的数据不具有描述其可如何经转变的嵌入式元数据(metadata,后设数据)。转变方法在区段5250及5260中固线连接为实际码。以此方式写入的任何此数据可完全取决于相同或类似编码的存在以进行其适当检索及恢复。这些编码区段或其等效物必须永久维持以使其转变的数据永久可恢复。此可等效于一隐藏TAR方法。
由区段5350中的行11储存的数据可含有一嵌入式扩展TAR定义,其可已转变经折叠的数据。转变方法可与经折叠的数据成对,由此使其可运输。经折叠的数据的可恢复性可视为独立于产生其的编码5350及5360。可适当处理经折叠的数据中的嵌入式TAR定义的任何编码可恢复原始数据。此类型的功能可允许用于随着时间改变转变序列的更佳时间兼容性,因为旧经折叠的数据可自描述且因此自规定其可如何被恢复。
图54展示一单一通信会话内的动态TAR切换的框图。在TOP方法中,更高阶通信协议可视为将经转变的数据自一个计算过程传递至另一计算过程。由于转变可允许大部分频繁使用的加密功能的许多者,故其可用于产生IPC的安全消息。理论上,可使用一不同TAR转变及折叠各消息。各不同TAR定义可通过协议定义的现代标准视为其自身协议。在使用SDFT的情况下,可在每一经折叠的消息基础上在两个应用之间动态地切换TAR,如在图54中绘示。可使用如在图51中展示及描述的TAR源的任何混合物,只要各应用可具有对这些TAR定义源的访问。该组丰富嵌入式经折叠的元数据(诸如但不限于KISS结构,如规定一嵌入式密码编译转变中所需的各密钥的一确切密钥标识符的密钥孔)可允许基于SDFT的通信协议以在一更复杂且潜在更安全等级上提供安全性。
可导致称为SDFT的一架构的TOP分析及方法可允许经储存的数据含有可已产生其的其自身便携式指令集。此架构可限定一数据折叠且可提供使用可表达为可以一有组织方式嵌入经储存的数据内的转变审计记录(TAR)的在概念上且逻辑上一致的可逆转变处理方法折叠数据所述的方法及/或实施例。所得经折叠的数据可接着以某方式修改且可接着视需要重复折叠以达成所要应用或数据形式结果。除将TAR描述为程序设计语言以外,其表示呈一简明形式的一组协作资料操纵,其可允许转变序列的无限变化及/或给定TAR及/或属性内的转变属性的无限变化。SDFT可允许类似于程序设计语言的方式的可变数据集范畴使用范畴概念及技术隔离局部变量。透过TOP,可在一更高概念构造中观察协议变化,其可导致可为自描述且可自多种应用访问及读取的数据,该等应用可经由针对其程序设计环境调适的可用SDFT库访问其方法。此外,浸入至经折叠的数据中的此等特性可允许单一通信会话或单一经储存的数据对象内的协议的动态切换。TOP方法可用作NUTS生态***的一基本建立区块且在Nut的组成中。NUTS可独立于SDFT而全面实施但其可为不明智的。
NUT ID
NUTS设计可实现数据的可识别性而无关于位置。此可需要通用唯一ID(UUID)但其在不具有某形式的集中化的情况下无法以一保证方式达成,因此我们可选定具有足够长度及熵敏性质的一实际唯一ID的概念以提供ID冲突的低机率。图55展示用于生成Nut ID5500的程序的一实例的流程图。此处,本端装置5502可运行应用,其可调用一函数以从数据件生成实际唯一ID,诸如但不限于用户属性5504、环境属性5506及/或随机属性5508。用户属性5504可包含数据项,诸如但不限于用户登录信息、群组ID、公司ID、用户ID及/或用户通行码散列。环境属性5506可包含数据项,诸如但不限于MAC地址、IP地址、装置信息、***时间、OS信息、目录路径及/或档案、原子钟同步时间值、GPS同步时间值、所宣告的环境变量、线程ID、CPU运行时间、IMEI编号、电话号码、应用名称及/或程序ID。随机属性5508可包含数据项,诸如但不限于会话计数器、UUID、时钟周期计数、随机生成的编号、鼠标移动、键盘活动、文件***状态、部分或完整的屏幕区域散列、程序正常运行时间、OS正常运行时间及/或会话持续时间。这些数据件可收集及储存于一ID结构5510中,其可接着使用JSON或替代集结技术进行串行化。接着,可使用一散列算法(诸如SHA-512(来自NIST在2001年在FIPS PUB180-2中发表的散列算法的SHA-2系列))或替代散列方法(其可利用512位的建议最小长度产生实际唯一性以降低ID冲突的机率)使所得二进制字串成为散列5520。为可移植性及易读性起见,二进制散列可经编码为base64(或替代编码方案)文本字串5514,其可产生大致86个字符长的一文本字串。编码方案可包括可导致一可印刷且人类可读形式且可被多个程序设计语言及软件***接受为一文本字串的任何方法。取决于其中可能已调用函数的模态,可针对任何可访问Nut ID缓存5516检查所得经编码散列字串的重复。若可存在ID值的冲突,则可使用新随机属性5508重复该过程直至可生成非冲突ID;冲突可期望为罕见事件。此逻辑操作的输出字串可称为Nut ID 5518。
此过程可在运行程序内本端调用或可在本端驻留的伺服器应用或请求新Nut ID的远端伺服客户端应用内实施。伺服器模型实施方案的可能益处可为其访问现有Nut ID的较大缓存以检查且可产生具有较低冲突机率的Nut ID的能力。Nut ID重复检查并非强制的,因为ID结构5510中的散列长度及适当收集的数据组件可提供足够熵。贯穿一些或所有数字基础设施可存在一般划分概念,诸如具有IPv4/IPv6地址、域、目录层级及访问控制群组的因特网。以一类似方式,Nut ID可为实际唯一的但其可在由外部***或关系建构的一隔室的情境内使用且因此冲突机会可比由Nut ID的一给定位长度中的排列提供的数学机率小许多数量级。在可期望一不同长度的情况中,其可通过本领域一般技术者以模块化参数化方式将SHA-512散列替换为一替代散列算法而完成。
考虑到实际唯一ID可通过其生成为Nut ID的形式的过程,可通过其识别什么?在NUTS用语中,此可称为Nut ID戳记。NUTS内可存在至少两个结构,其可一致戳记有Nut ID:锁节点及Nut。分配至锁节点的Nut ID可称为锁ID。分配至Nut的Nut ID可称为Nut ID。锁节点可为Nut的一内部建立区块。锁节点可为一自包含的独立锁定机制,其可保护其称为包的有效负载。Nut可为由一或多个锁节点组成的数据结构。因此,Nut可完整或部分保持数据的任何一或若干小包。Nut可贯穿NUTS环境来使用以按一实际唯一方式识别表示为二进制形式的一些或所有相关联软件、数据及/或硬件。Nut ID戳记的后果可为每一Nut可被唯一识别,从而暗示储存于Nut内的每一数据小包可被该Nut ID唯一识别而无关于Nut可实体定位在何处。
图56展示Nut数据结构的一简化图。此图可突显Nut数据结构内的锁ID及Nut ID的使用及相对放置。特定锁ID 5614至5622可经分配至此Nut中且它们可为不同值。可分别由锁ID 5614至5622识别锁节点5604至5612。在一典型Nut数据结构信息(诸如此实例)中,Nut5602可为组织成称为锁图的一图形数据结构的锁节点群组。特定Nut 5602可由其Nut ID5634识别,Nut ID 5634可储存于锁节点5606的包5626中且Nut ID可视为此锁节点的有效负载,其可不同于可储存于其他锁节点包的一或多者中的Nut的有效负载。每一锁节点5604至5612结构可含有称为包5624至5632的有效负载区域。此展示Nut与其Nut ID的间的关系且其中我们可找到储存于典型Nut容器中的这些项目。
图57展示Nut ID、路径名称及/或有效负载数据之间的关系的实例。在Nut中可存在若干锁节点,其可用于储存Nut的元数据、关于Nut有效负载的元数据及/或Nut有效负载。元数据部分可储存于Nut中的各种锁节点的包中。5702展示其中可存在各储存于分别由NutID A3及B1识别的相异Nut中的两个相异Nut有效负载D1及D2的一案例。出于阐释性目的使用两个字符Nut ID,即使可能已在先前规定Nut ID可为可产生最多至86个字符长的文本字串的一512位散列的base64编码。Nut A3及B1在NTFS文件***中亦具有相异路径名称。5704展示具有相同文件名但不同路径名称的两个相异Nut。5706展示在不同目录中具有相同文件名的相同Nut的两个副本。5708展示在相同目录中具有不同文件名的一Nut的两个副本。此可并非此等属性的一些或所有排列的一穷尽性清单,但其可展示具有与各有效负载永久相关联的元数据项(诸如Nut ID)的灵活性。
嵌入可由相关联Nut ID识别的Nut档案内的数据可引起此方法的一新颖特征:基于元数据中的参数化规则自动产生动态文件名的能力。文件名可表示档案的正常标识串以及其的其他属性的制定总结,诸如但不限于修改日期及时间及/或该天的写入次数。此可给出在无需钻研正常隐藏属性(诸如无需查看目录浏览应用程序中的档案性质)的情况下实时识别一档案及其状态的更精确且方便的方式。其亦可允许档案及数据属性嵌入至容器中,容器保持档案而非依靠文件***的属性捕获能力(其可在文件***之间变化)。实例:用户可产生可储存文本文件的具有Nut ID#234的Nut,文本文件可始终由Nut ID#234识别,但用户可设立包括一基本名称+最后修改日期+该天的写入次数的一动态文件名,诸如“diary_20151115_1.txt”。在同一天,当用户在稍微修改之后保存至磁盘时,文件名可展示“diary_20151115_2.txt”且旧文件名可不再存在于目录中。此方法可自动产生可指示被储存数据的某状态信息的新文件名。可为实际唯一且可与路径名称+文件名指定分开的NutID的性质可允许在不具有任何外部参考的情况下实施此特征。此特征的益处的一者可为复制及存盘具有日期戳记的工作文件的先前状态的常用方法。作者可找到塞满其每天对其文档进行工作的档案的目录。在使用动态文件名方法的情况下,其在其目录中可仅具有含有最后写入的日期戳记的一个Nut档案。保存手动方法的方面的历史(状态)可使用在一后续部分中呈现的Nut历史特征保留在Nut自身内。Nut ID是主要内容识别的此概念可在随后被NUT伺服器用来对经分散Nut执行复制及同步操作。
锁图及锁节点
NUTS技术可在一分层、整合、模块化及/或迭代方法中应对数据的储存、保护及访问控制,该方法可被限定为结构化密码编译程序设计(SCP)。可描述及限定一Nut内部组件的整体设计且接着可在随后详细描述各经限定的结构。可以一分层方式描述一些特征且接着可提供一整体描述以展示单独特征可如何一起工作。可贯穿NUTS设计利用SDFT以改良复杂密码编译结构的组织及与各经折叠的数据结构相关联的属性的***嵌入。可在各种实施例中展示SDFT如何使SCP设计能够相对容易地实施(相较于等效手动方法)。
可存在可控制Nut的访问的四个不同方法:密钥孔、可变锁、层级访问控制(SAC)及/或Nut访问控制(NAC)。此等方法的一些或全部可部分或完全以一新颖方式在Nut内分层及/或整合在一起,Nut可以一内部化及/或独立方式提供一参考监测***的完整功能。可在称为锁节点的一复杂数据结构中体现此四个层,这些可被设计为模块化、孤立及/或可连结。
密钥孔可为可接受任何数量个密码密钥的一数据结构,密码密钥的各者可具有一相关联经加密的密钥映像。实施例不限于其当前可辨识及接受的密码密钥类型:通行语、对称密钥及非对称密钥对。可将位序列规定为秘密密钥的任何简单或复杂方法或任何过程可被整合为密钥孔。经加密密钥映射可含有若干组密钥,每组用于Nut内的访问控制的各层:可变锁、SAC及/或NAC。
可变锁可在正规化结构中提供不同类型的锁定机制,其可保护锁节点中的数据。这些可变锁可包括ORLOCK、MATLOCK、SSLOCK、XORLOCK及HASHLOCK。本公开内容不限于这些预定义锁类型而可被扩展或收缩以适应可经正规化为其结构的任何适当锁定方案。
层级访问控制可调节对锁图中的单独锁节点的渗透访问。此特征可引起称为梯度不透明性的Nut中的一性质,其可为Nut允许元数据的各种等级被视为给定适当访问属性的能力。
NUT访问控制或NAC可采用基于角色的密码编译访问控制(RBCAC)技术以精细控制对Nut内部组件的修改及鉴认。
结构化密码编译编程可为可允许不同方法之间的容易且灵活互动以表达各种访问模型的数据结构设计。可在加密数据及其相关联密码中完整体现安全机制,因此,可不存在对于Nut的访问控制的外部应用(诸如参考监测器)相依性。在一些实施例中,锁节点可单独用于保护有效负载的任何部分中的字段级数据。Nut容器的内部组件可潜在地利用多个密码密钥以体现特定安全模型。
Nut可为由称为锁节点的节点组成的称为锁图的定向图数据结构。各锁节点可由锁ID识别,其可由用于生成Nut ID的相同功能产生,因此其皆可具有相同特性。锁节点可储存于可由其锁ID指涉的一散列数组中。各锁节点可具有连结至其他锁ID的指针或具有空指针。在使用良好建立的程序设计图提取及遍历技术的情况下,可从锁节点的散列数组派生一锁图。不具有指向其的其他锁节点的锁节点可为密钥孔锁节点(入口或外部锁节点)。可具有空指标的锁节点可为锁图的终端锁节点且可储存Nut有效负载或对有效负载的指涉。锁节点可具有连结至其的多个锁节点。在大部分情况下,锁节点不连结回至锁图中的一较早锁节点或其自身。圆形连结指涉可能是不正常的但在保证此一结构时可透过客制Nut的客制化程序设计来适应。
本文中描述的支持Nut的功能的一些(若并非所有)数据结构可使用复杂数据结构在选定程序设计语言内实施。若SDFT函数库可用于选定程序设计语言,则其可容易地应用于折叠及封装任何及所有可应用的复杂数据结构或其子部分以最小化数据操纵码,阐明数据操纵方法,减小编码错误的机率且利用嵌入每一经折叠的数据结构中的所暗示SDFT特征。
应注意,归因于本公开内容的数据中心性质,大部分流程类型图可为传统流程图组件与数据组件混合的一混合物,其可称为数据流图或数据流程图。而且,锁节点设计层的交织性质可能难以在不进行正向参考陈述的情况下以一完全线性方式曝露其组件的逻辑操作,因此读取者的部分可能需要一些重读取。
图58系Nut或锁图5800的实施例,其包括采用模块化锁节点的多个目的方面的两个逻辑区段:Nut锁5802及Nut部分5804。锁图的Nut锁5802区段可允许使用一或多个锁节点针对一给定Nut构造复杂密码编译连结锁。当前在本公开内筒中限定五个类型的锁节点,其对应于五个类型的可变锁,提及为:ORLOCK、MATLOCK、SSLOCK、XORLOCK及HASHLOCK。各锁节点类型可指可变锁内部锁定机制的类型,其可在一特定锁节点的中心使用以保护加密密钥至储存区域及其他锁节点元数据及参数。如图30中揭示的锁定转变可为可变锁的一实施例且可在锁节点的建立中使用。成功地解锁及遍历锁图的Nut锁5802部分可引导向锁图5800的Nut部分5804区段。可存在构成Nut部分5804的若干锁节点:hair 5820、tick 5822、seal5824、vita 5826、bale 5828及/或tale 5830。Nut部分5804可含有Nut有效负载5830及/或元数据5820至5828。锁图的Nut部分的数量及类型可取决于Nut可被储存的数据类型及/或用于一些所期望的行为及特性的Nut的设计而变化。在此实例中,解锁密钥孔锁节点5806(5816)可导致适当密码密钥,其可***至所连结5818的锁节点5820的第一级密钥孔中。解锁锁节点5820可导致适当密码密钥,其可***至所连结的锁节点5822的第一级密钥孔中。解锁锁节点5822可导致适当密码密钥,其可***至所连结的锁节点5824的第一级密钥孔中。解锁锁节点5824可导致适当密码密钥,其等可***至所连结的锁节点5826的第一级密钥孔中。解锁锁节点5826可导致适当密码密钥,其可***至所连结的锁节点5828的第一级密钥孔中。解锁锁节点5828可导致适当密码密钥,其可***至所连结的锁节点5830的第一级密钥孔中。锁节点5830可连结至一空指标,因此其可为此锁图或Nut的终端锁节点或最内层。锁节点的解锁可包括使用SDFT方法拆解表示锁节点的经折叠的数据结构(展开)。各锁节点可含有多个经折叠的数据结构,其中解锁一锁节点的行为可等效于可应用的数据结构的展开。
图59展示包括逻辑区段Nut锁5902及Nut部分5904的一锁图实施例的简化Nut示意图5900。此实例探索包括四个锁节点5908、5910、5912及5916的Nut锁5902。锁节点5908至5912可为此Nut的密钥孔锁节点5906,因为其的一些或全部可为面向外的节点且可接受称为第一级密钥的外部密码密钥。用户可具有与这些密钥孔锁节点的一或多者相关联的第一级密钥。将第一级密钥储存为其有效负载的Nut的Nut ID可充当一密钥ID,其可与标记密钥孔锁节点5906中其所属于的密钥孔的标识符自动匹配。通行语密钥可由密钥ID或文本字串识别,其可将或可不将一询问保持为其标识符。可使用适当密钥孔标识符及具有适当询问清单的明文Nut元数据部分建构复杂多层通行语。可以一类似方式断开锁节点(诸如5914及5918)之间的连结,其中成功地解锁锁节点可产生具有标识符的一(若干)输出密钥。在此特定实例中,解锁密钥孔锁节点的任一者可揭示适当密码密钥,其可***至所连结5914的锁节点5916的密钥孔中。自此以后,包括Nut部分5904的节点的解锁可类似地行进至针对Nut部分5804描述的程序。此Nut锁5902构造可通过展示可存在解锁Nut 5900的有效负载的三个相异路径(其中各路径需要满足不同条件,以便继续进行解锁过程)而传达锁节点的建立区块性质及其组合的灵活性。
在图60中,锁节点6000可为包括以下区段的数据结构:参数6002、输入6006、密钥映像6008、可变锁6012、派生密钥6016、密钥组6020、包6024及/或输出6026。参数区段6002可保持锁节点的元数据、锁ID 6030及密钥映像6010的经加密字串、派生密钥6014、密钥组6018、包6022及由锁节点的适当访问角色密钥产生的所述经加密字串的dign(可在图83组件8334的论述中描述正向参考)。设计原则可类似于具有各区段的解锁的锁图中的流程,其可导致可帮助打开下一区段的密钥但接着锁节点内的各组件可提供特定功能。经加密字串上的dign可由读取者(一访问角色)使用以在解密尝试之前鉴认特定区段。当可存在某修改时可由特定区段的写入者(一访问角色)使用区段的经加密字串产生dign以保留或指示一适当写入者访问密钥持有者产生dign。此外,可通过SDFT方法的使用体现上述经加密字串的各者以使用含有密码编译转变自TAR折叠数据结构。给出在此区段中描述的经加密字串的数量及种类,SDFT方法可在编码时由程序设计者大幅减小管理密码编译相关的属性的负担。
密钥孔
在图61中,锁节点的输入区段6006可提供两个不同密钥孔:第一级密钥孔6102及访问密钥孔6104。在结构上,第一级密钥孔6102可接受任何数量个密码编译密钥,包括四个不同密钥类型:对称、非对称公开、非对称私密及通行语。访问密钥孔6104可接受对称及/或通行语密钥类型。第一级密钥孔及访问密钥孔可内部利用如在图34中展示的一或多个KISS数据结构,其等各在一密钥孔模式(ima=“密钥孔”)中操作以表示其可接受的各唯一密钥的密钥孔。
图62展示一单一密码编译密钥6202,其可具有一相关联密钥ID、密钥类型及密钥属性6206且亦可经指定为一第一级密钥。密钥ID可为任何标识字串。第一级密钥及本公开内容中提及的任何其他密钥可各由如在图34中展示的在密钥模式(ima=“key”)中操作的一KISS数据结构内部地表示,其具有填充有密钥的key->value字段及视需要填充的其他匹配属性字段。第一级密钥孔6204可接受可解码一经加密密钥映射6208的第一级密钥6202。经解密的密钥映像6240可为可包括三个区段的结构:主要密钥6210、层级密钥6212及访问密钥组(AKS)6214。主要密钥结构6210可含有对称密钥或尾部(其可称为主要密钥)、第一级密钥6202的过期日期/时间、第一级密钥的倒计时定时器及/或第一级密钥过期后的行动指令。可由锁节点的可变锁使用对称密钥或尾部。对于密钥孔锁节点,密钥映像结构可另外保持层级密钥6212及/或AKS 6214。层级密钥6212可保持待***至锁图的层级锁节点中的一组密钥,这些锁节点可由其层级指定识别。AKS 6214可保持待***至一密钥孔锁节点的其自身访问密钥孔6104中的一组密钥。经加密的密钥映像6208可为SDFT经折叠的数据结构,其可含有主要密钥6210、层级密钥6212及访问密钥组(AKS)6214结构。
图63展示用于任何锁节点及用于任何密码密钥的密钥***过程的流程图。步骤6304可为跨一给定密码密钥及其相关联密钥ID的Nut中的一些或所有所列出锁节点的一搜寻。一旦密码密钥***至适当密钥孔中6304,步骤6306可尝试解密及展开该密钥的经加密的密钥映像。经加密的密钥映像的解密及展开可等效于此等实施例的一SDFT经折叠的加密密钥映像的拆解。
在密钥孔锁节点的一经加密的密钥映像6208的成功解锁及展开后,1)层级密钥可***至各锁节点的第一级密钥孔中以匹配在各锁节点的参数区段中找到的层级指定,2)访问密钥组(AKS)的访问属性密钥组解锁密钥(AAKSUK)可***至锁节点的访问密钥孔中。由于如此多第一级密钥可已经***至锁节点,故可发生此第一级密钥解锁(或拆解),此后,我们可具有共同形成可由锁节点的可变锁使用的一组主要密钥的一组经解密(或展开)的密钥映像。
图64展示其中三个第一级密钥6402至6406可***至第一级密钥孔6400中的一实例。各密钥(→)可与其识别密钥ID匹配且可***至一散列数组或KISS密钥孔结构中的一槽中。密钥类型可指示一密钥类型,诸如但不限于对称、非对称公开、非对称私密及通行语。在Nut的一些实施例中,用户可规定可具有针对NUTS整合适当模块化的一对应密码方法的任何密钥类型。这些密钥密码方法可包含指纹扫描、虹膜扫描、掌纹、声纹、手写图案、面部辨识、DNA特性、实体密钥装置、硬件安全密钥、基于软件/硬件的零知识协议密钥及/或NFC密钥。若***非对称私密密钥(诸如可在RSA-2048中使用),则其可表示公开部分及私密部分,公开部分可从私密部分提取且可用于加密第一级密钥的经加密的密钥映像,因此解密操作可能需要呈现私密非对称密钥。如针对***至一个密钥孔6402中的一个密钥(→)明白地展示,其的经加密的密钥映像6412可使用密钥类型密码方法进行解密以揭示可含有三组相异密钥6432、6434及6436的密钥映像结构6430。可针对各密钥6404及6406进行此解密步骤以产生各自对应密钥映像组6440及6450。各解密步骤亦可等效于拆解此等实施例的SDFT经折叠的结构。对于通行语密钥类型,密钥可为通行语且密钥属性可指示所使用的通行语派生函数及用于该函数的适当参数,参数包括经执行以产生可解密经加密的密钥映像的对称密钥的迭代次数。对于利用SDFT的实施例,这种通行语属性亦可与一对应TAR匹配以访问具有匹配属性的适当派生转变。为将实例放至利用锁节点图6000的视角中,输入区段6006可含有第一级密钥孔6400,经加密的密钥映像6010可由6410表示且密钥映像6008区段可由6420表示。
可变锁
锁节点的下一部分可为如在图60的组件6012中展示的可变锁。可变锁可为可帮助保护储存于包6024中的锁节点的内容的锁定机制。可变锁可允许锁节点利用本领域一般技术者所熟悉的若干不同类型的密码编译锁技术的任一者。例如,这些不同锁类型可包括ORLOCK、MATLOCK、XORLOCK、HASHLOCK及/或SSLOCK。此可通过正规化各锁定方法的输入及/或输出以拟合至一共同数据流模型从而可无缝地替换各锁定方法来完成。类似地,第一级密钥孔及秘钥映像结构可充当用于流动至一可变锁中的秘钥数量及秘钥类型的数据正规器。锁节点可印刻有指示其可实施的可变锁类型6030的一组参数6002。一旦设定此值,锁节点即可很少改变此设定,不过可能由RAT(Nut的拥有者)再加密及/或重设锁节点。SDFT库描述如在图30中列出的可变锁及其随附规格(其可在此区段中为方便起见而被使用)的一实施例,但锁转变的使用并非实现一锁节点的此功能的一必然要求。
继续图64中的锁节点的遍历,其中我们以三个主要秘钥6432、6442及6452结束。我们可在图65中探索其可变锁可如何操作。可变锁6502可通过将一派生秘钥(DK)6506加密为经加密的派生秘钥(eDK)6504而保护该派生秘钥。一些或所有主要秘钥6432、6442及6452可为对称或尾部秘钥类型且可馈送至可变锁6502中。取决于可在锁节点参数区段6002及6030中规定的可变锁类型,适当可变锁函数可经调用以对DK或eDK执行加密/解密操作。图65展示通过可使用主要秘钥6432、6442及6452的可变锁6502将eDK 6504解密为DK 6506的一解密操作。图66展示通过使用主要秘钥6432、6442及6452的可变锁6502将DK 6506加密为eDK6504的一加密操作。在使用SDFT的实施例中,DK可为受到TAR保护的数据,TAR采用通过数据折叠的锁变换;因此,展开此结构显示包含于其内的派生秘钥。
图67中的表总结可变锁提及的一些秘钥特性。如术语可变锁可暗示,可正规化为此模型的任何锁技术可被添加为一另外可变锁类型。替代性地,可排除任何锁技术。图30中的表可对应于图67中的表且展示SDFT可如何体现其锁定转变中的可变锁设计。
锁节点的元数据区段6030可为可在一些或所有可变锁中涉及的一共同组件。可存在锁节点区段的各种dign(数字签名),其可已由一适当访问角色密钥(ARK)(诸如6040至6048(正向参考))产生。所有这些dign的一些可由Nut拥有者产生,其可为透过其AKS保持一根访问层(RAT)访问角色密钥(特定是RAT私密密钥)的任一者。具有有效第一级密钥的所有人可具有RAT公开密钥,其可使它们能够透过锁节点鉴认各种RATdign以确保Nut组件尚未被破解。在图中,有时RAT公开密钥可称为RAT读取者密钥且私密密钥可称为RAT写入者密钥。随后在此文件中,关于Nut访问控制层的进一步论述可更深入探索、规定及/或阐明这些特征。如先前在关于SDFT及TAR的区段中提及,经加密数据的dign可为经折叠的数据结构的TAR规格的部分,其可使受保护数据、其dign及产生其的TAR嵌入。明白地暗示,锁节点内的SDFT的一***使用对于程序设计者工作负载可为有利的。
图68中的ORLOCK(亦称为OR密钥)是一可变锁,其可接受任何数量个称为主要密钥6808的对称密码密钥且可***性地尝试使用对称密码编译密码(诸如AES-256或替代密码)解密6814eDK 6806。参数区段6002可指示用于此逻辑操作的密码方法或使用SDFT方法时的较佳TAR。eDK的第一成功解密可产生派生密钥(DK)6816且可导致ORLOCK的成功解锁。在任何可变锁中的解密尝试之前,可使用eDK 6806及RAT读取者密钥6802鉴认eDK 6804的标志。若鉴认成功6810,则解密过程可继续,否则可产生一错误6830且尝试可停止。主要密钥6808可为相同密钥,诸如但不限于对称的256位密钥。在此布置中,OR锁的本质可经隔离且正规化为密钥孔及可变锁结构以使其模块化。在经折叠的结构中,鉴认步骤可为TAR的部分且可由拆解的行动含蓄地尝试。
图69从RAT写入者或Nut拥有者的观点描绘ORLOCK的加密操作。其可采用任何主要密钥6902且可使用适当密码对DK 6906执行加密操作6920以产生eDK 6908。接着使用其RAT写入者密钥6904、eDK 6908及适当digning算法6922,其可产生eDK 6910的dign,其可储存于锁节点参数区段6044中。SDFT方法可以一紧凑方式将许多此等属性连同eDK折叠为一单一数据对象以储存于参数区段中。用于锁节点的非RAT部件的加密过程可为简单的;它们可擦除锁节点的应用存储器内容,因为它们可不对暗示其等无法成功改变其内容且对其进行dign的任何内容产生一真正dign,或它们可使用已解密的DK 6908且它们可加密锁节点的相关内容但可使eDK 6910不受影响,因为可不改变可与eDKdign相关的内容。此可展示仅RAT写入者可能够替换DK 6906的值或对其再加密。当使用SDFT方法时,锁节点的非RAT组件可选择将含有eDK的原始经折叠的数据留在参数区段中且擦除保持DK的展开结构。
图70中的MATLOCK(亦称为matroyshka锁、级联锁或AND锁)是一可变锁,其可接受固定数量个称为主要密钥7006的对称密码密钥且可使用一适当密码编译密码7014(诸如AES-256或替代密码)依递增顺序连续解密使用各主要密钥7008的eDK 7022。参数区段可指示用于此逻辑操作的确切密码及可需的主要密钥数量或使用SDFT方法时的较佳TAR。eDK7022的成功有序迭代解密可产生DK 7024且可导致MATLOCK的成功解锁。在任何可变锁中的解密尝试之前,可使用eDK 7022及RAT读取者密钥7002鉴认eDK 7004的dign。若鉴认成功7010,则解密过程可继续,否则可产生一错误7030且尝试可停止。在此布置中,matroyshka锁的本质可已经隔离且正规化为密钥孔及可变锁结构以使其模块化。在经折叠的结构中,鉴认步骤可为TAR的部分且可由拆解的行动含蓄地尝试。
图71从RAT写入者或Nut拥有者的观点描绘MATLOCK的加密操作。其可采用所呈现的一些或所有主要密钥7102且可依递减顺序7110将它们排序。接着,其可使用适当密码对DK 7120迭代地执行加密操作7112以产生eDK 7122。接着使用其RAT写入者密钥7124、eDK7122及一适当digning算法7118,其可产生eDK 7126的dign,可经储存于锁节点参数区段6044中。SDFT方法可以一紧凑方式将许多此等属性连同eDK折叠为单一数据对象以储存于参数区段中。用于锁节点的非RAT部件的加密过程可为简单的;它们可擦除锁节点的应用存储器内容,因为它们可不对暗示其等无法成功改变其内容且对其进行dign的任何内容产生一真正dign,或它们可使用已解密DK 7120且它们可加密锁节点的相关内容但可使eDK7126不受影响,因为可不改变可与eDKdign相关的内容。此可展示仅RAT写入者可能够替换DK 7120的值或对其再加密。当使用SDFT方法时,锁节点的非RAT组件可选择将含有eDK的原始经折叠的数据留在参数区段中且擦除保持DK的展开结构。
图72中的XORLOCK(亦称为XOR锁)是一可变锁,其可接受固定数量(>1)个称为主要密钥7206的对称密码密钥且可通过依递增顺序7222对各主要密钥7208连续应用XOR操作7224而产生一经计算的密钥。接着,其可尝试使用来自7224的具有一适当密码(诸如AES-256或替代密码)的经计算的密钥解密7228eDK 7210。参数区段6030可指示用于此逻辑操作的确切密码及可需的主要密钥数量(其可不小于两个密钥)或使用SDFT方法时的较佳TAR。eDK 7210的成功解密可产生DK 7212且可导致XORLOCK的成功解锁。在任何可变锁中的解密尝试之前,可使用eDK 7210及RAT读取者密钥7202鉴认eDK 7204的dign。若鉴认成功7220,则解密过程可继续,否则可产生一错误7230且尝试可停止。在此布置中,XOR锁的本质可已经隔离且正规化为密钥孔及可变锁结构以使其模块化。在经折叠的结构中,鉴认步骤可为TAR的部分且可由拆解的行动含蓄地尝试。
图73从RAT写入者或Nut拥有者的观点描绘XORLOCK的加密操作。其可采用所呈现的一些或所有主要密钥7302且可依递增顺序7320将它们排序。接着,其可对主要密钥7304迭代地执行XOR操作7322以产生经计算的密钥,该经计算的密钥可用于加密7326DK 7306以产生eDK 7308。RAT写入者密钥7310、eDK 7308及一适当标dign算法7328可用于产生eDK7312的dign,其可储存于锁节点参数区段6044中。SDFT方法可以一紧凑方式将许多此等属性连同eDK折叠为一单一数据对象以储存于参数区段中。用于锁节点的非RAT部件的加密过程可为简单的;它们可擦除锁节点的应用存储器内容,因为它们可不对暗示它们无法成功改变其内容的任何内容产生一真正dign,或它们可使用已解密DK 7306且它们可加密锁节点的相关内容但使eDK 7312不受影响,因为可不改变可与eDKdign相关的内容。此可展示仅RAT写入者可能够再加密DK 7306。当使用SDFT方法时,锁节点的非RAT组件可选择将含有eDK的原始经折叠的数据留在参数区段中且擦除保持DK的展开结构。
图74中的HASHLOCK(亦称为散列锁)是一可变锁,其可接受固定数量个称为主要密钥7406的对称密码密钥且可通过依一特定顺序7422连接7424所呈现的一些或所有主要密钥而产生一经计算的密钥且接着其可对字串应用散列算法7426。接着,其可尝试使用具有适当密码编译密码(诸如AES-256或替代密码)的经计算的密钥解密7428eDK 7410。参数区段6030可指示用于这些逻辑操作的确切密码及散列、所需的主要密钥数量及/或主要密钥的排序顺序或使用SDFT方法时的较佳TAR。eDK 7410的成功解密可产生DK 7412且可导致HASHLOCK的成功解锁。在任何可变锁中的解密尝试之前,可使用eDK 7410及RAT读取者密钥7402鉴认eDK 7404的dign。若鉴认成功7420,则解密过程可继续,否则可产生一错误7430且尝试可停止。在此布置中,散列锁的本质可已经隔离且正规化为密钥孔及可变锁结构以使其模块化。在经折叠的结构中,鉴认步骤可为TAR的部分且可由拆解的行动含蓄地尝试。
图75从RAT写入者或Nut拥有者的观点描绘HASHLOCK的加密操作。其可采用所呈现的主要密钥7502且可依递增顺序7520将其等排序,接着可连接它们7522且接着可通过对其执行散列操作7524而产生经计算的密钥。此经计算的密钥可用于解密7526DK 7506且可产生eDK 7510。RAT写入者密钥7508、eDK 7510及适当dign算法7528可用于产生eDK 7512的dign,其可储存于锁节点参数区段6044中。SDFT方法可以一紧凑方式将许多此等属性连同eDK折叠为一单一数据对象以储存于参数区段中。用于锁节点的非RAT部件的加密过程可为简单的;它们可擦除锁节点的应用存储器内容,因为它们可不对暗示它们无法成功改变其内容的任何内容产生一真正dign,或它们可使用已解密DK 7506且它们可加密锁节点的相关内容但使eDK 7512不受影响,因为可不改变可与eDKdign相关的内容。此可展示仅RAT写入者可能够再加密DK 7506。当使用SDFT方法时,锁节点的非RAT组件可选择将含有eDK的原始经折叠的数据留在参数区段中且擦除保持DK的展开结构。
图76中的SSLOCK(亦称为秘密共享锁或Shamir秘密共享方案)是一可变锁,其可接受n分之k个主要密钥7606,其中各者可为一相异尾部或秘密共享份且其中1>p+1≤k≤n且p+1可为所需的最小密钥数量(称为临限值)。为恢复秘密密钥,来自经解密的密钥映像7606的一些或所有尾部可被提供至适当秘密共享密码7622,诸如Shamir秘密共享方案或替代密码。若一些或所有尾部可为有效的且可存在足够数量个尾部,则恢复可为成功的。接着,其可尝试使用具有一适当密码编译密码(诸如AES-256或替代密码)的经恢复秘密密钥解密7624eDK 7608。参数区段6030可指示用于秘密共享及加密操作的确切密码以及用于秘密共享密码的份数(n)及临限值计数(p+1)及/或使用SDFT方法时的较佳TAR。eDK 7608的成功解密可产生DK 7610且可导致SSLOCK的成功解锁。在任何可变锁中的解密尝试的前,可使用eDK 7608及RAT读取者密钥7602鉴认eDK 7604的dign。若鉴认成功7620,则解密过程可继续,否则可产生一错误7630且尝试可停止。在此布置中,秘密共享锁的本质可已经隔离且正规化为密钥孔及可变锁结构以使其模块化。在经折叠的结构中,鉴认步骤可为TAR的部分且可由拆解的行动含蓄地尝试。
图77从RAT写入者或Nut拥有者(其可首次加密锁节点或其可在再加密可变锁的过程中)的观点描绘SSLOCK的加密操作。可产生7720新私密密码密钥K且接着可使用可在参数6030中规定的一适当秘密共享方法从K产生所要份数(尾部)。接着,这些尾部可储存为主要密钥7702。在步骤7724中,密钥K可加密DK 7704,从而产生eDK 7706。RAT写入者密钥7708、eDK 7706及一适当dign算法7726可用于产生eDK 7710的dign,其可储存于锁节点参数区段6044中。SDFT方法可以一紧凑方式将许多此等属性连同eDK折叠为一单一数据对象以储存于参数区段中。用于锁节点的非RAT部件的加密过程可为简单的;它们可擦除锁节点的应用存储器内容,因为它们可不对暗示它们无法成功改变其内容的任何内容产生一真正dign,或它们可使用已解密DK 7704且它们可加密锁节点的相关内容但可使eDK 7706不受影响,因为可不改变可与eDKdign相关的内容。此可展示仅RAT写入者可能够再加密DK 7704。当使用SDFT方法时,锁节点的非RAT组件可选择将含有eDK的原始经折叠的数据留在参数区段中且擦除保持DK的展开结构。
可变锁的描述及其各种逻辑操作的图解可展示一锁节点可如何采用输入区段6006中的第一级密钥孔6102、经加密的密钥映像6010、密钥映像6008、可变锁6012、经加密的派生密钥6014及/或派生密钥6016产生一稳健数据结构,该数据结构可允许不同锁定技术正规化及模块化,使得将一个锁技术替换为另一锁技术可需要一些参数6030改变及/或再加密。不同锁方法的正规化可确保Nut的用户第一级密钥可未受影响且可在许多不同锁定技术中在用户未知的不同Nut中采用单一用户第一级密钥且该等锁定技术可视为适合于保护特定Nut有效负载。突显其中SDFT方法可证明在一些此等复杂数据结构的实施例中有利的区段。此处有一些实例。ORLOCK可允许多个用户获得对锁节点的包的访问:此可为群组访问的形式或密钥的一者可表示一主密钥。MATLOCK、XORLOCK或HASHLOCK可确保可存在特定数量个密钥,以便拆解其包:敏感公司秘密可需要两个特定高级主管供应其各自秘密密钥以查看其内容。SSLOCK可需要可存在一最小数量个秘密密钥,以便获得对其包的访问:公司支付***可由一最小数量个授权人访问但其可不单独操作。
通过使用各第一级密钥孔的对应密钥映像划分各第一级密钥孔,密钥映像可含有第一级密钥的属性,诸如但不限于过期日期/时间、倒计时定时器及/或过期行动。若已开始过期属性的任一者,则对应的过期行动可经设定为在第一级密钥过期之后执行。例如,一典型过期行动可为删除第一级密钥的密钥映像。一密钥映像的删除可归因于其划分设计而不干涉密钥孔锁节点的任何其他注册第一级密钥。重新***过期第一级密钥可不再被辨识为有效密钥,因为可不存在匹配其的密钥映像。当然,应关于所采用的可变锁类型仔细完成此等第一级密钥删除:ORLOCK及一些SSLOCK可接受删除但MATLOCK、XORLOCK及HASHLOCK无法接受删除,因为其可针对该锁节点产生一闭锁状况。
复杂数据结构(其可出于以各种方式及层保护其内容的目的而利用多个密码编译技术)的相互影响可归因于每密码编译操作所需及/或产生的异常巨大数量个可变属性而造成实施细节中的显著挑战。在这种情况下,SDFT的效用及优雅显露且可提供方便组织方法及结构以协助克服此等实施挑战。例如,数据的单一经鉴认加密可需要将以下属性储存于某处:密钥类型、密钥长度、密码类型、密码模式、初始向量、密钥ID、填充、填充类型、填充长度、区块长度、数字签名或加密MAC字串(摘要)、摘要的匹配密钥ID、摘要长度、摘要密钥长度、摘要方法。将此乘以在迄今所呈现的锁节点规格中描述的各加密操作(锁节点具有在后续部分中论述的若干更多组件)且其可为持续追踪的一巨大数量个属性。在许多例项中,应用程序设计者及设计者可意识到此等窘境及挑战且可选择通过选择少量加密方法及相关联属性值且以一全局方式贯穿其实施方案使用它们而简化编码程序。这种简化可导致非所要后果,诸如但不限于较小安全性、较小灵活性、较少特征、更多不兼容性及可更难以维持或修改的计算机码。
层级
图78展示突显层级密钥用途的Nut的一框图(锁图)7800。Nut部分7804中的各锁节点可被分配一层级ID。锁节点7820至7824是层级ID“A”,锁节点7826是层级ID“B”,锁节点7828是层级ID“C”且锁节点7830是层级ID“D”。层级的指定可为任意的但可在私密敏感性上与各种Nut部分一起遵循一分组图案:层级愈深,包含于锁节点中的数据可愈敏感。通过层级访问控制(SAC)的精确使用,我们可实施Nut的梯度不透明性。出于阐释性目的,图78中描绘的层级ID是简单字母但实际上可为任何可标识字串组,诸如但不限于Nut ID(如在来自图55的实际唯一ID中)。
包括Nut锁7802的任何锁节点可被分配一层级。当Nut 7806的密钥孔锁节点经适当解锁或拆解时,其可显示可包括最多至三个密钥组7842的密钥映像7840(类似于图62)。此区段可集中于层级密钥7850(6212)及它们可如何在锁图内运行。在此实例中,我们可找到四个层级密钥7852、7854、7856、7858,它们可分别对应于层级“A、B、C、D”。各层级密钥可储存于具有相关联层级ID的层级密钥7850区段中。我们可遵循图79中呈现的流程图,其展示可如何使用各层级密钥。一旦一些或所有层级密钥可已***至它们的匹配锁节点的第一级密钥孔中,过程可完成且我们可等待锁图的遍历继续超越Nut锁区段7802。
层级密钥可与如在Nut部分7804区段中的一些或所有锁节点中展示的MATLOCK可变锁结合工作。当使用SDFT方法时,MATLOCK可由所涉及区段的较佳TAR中的“lockmatlock”转变指示。各层级密钥可为讨论中的锁节点(图79中的*)的MATLOCK中的强制密钥。若锁节点输出连结密钥或层级密钥可缺失,则可不按照MATLOCK的定义解锁特定锁节点。因此,可无法亦打开超越该等级的一些或所有更深层级。通过控制哪些层级密钥可储存于第一级密钥的密钥映像7840中,Nut拥有者可明确控制某人可精确渗透锁图7860多远。层级访问控制层可独立于Nut访问控制层而工作且其可与可变锁方法结合工作。
SAC及密钥孔可进行的方法可暗示,若多个密钥可呈现至密钥孔锁节点(诸如7806)中,则可显示多个密钥映像7840且可能多个层级密钥组7850可***至各种锁节点中。单一层级ID的层级密钥可为相同密钥,因此将相同密钥***至可利用MATLOCK的锁节点中可导致一个密钥***该ID下方,基本上可在密钥孔中多次覆写相同密钥。此可为层级密钥的一附加访问属性性质。
层级密钥及Nut访问控制(在下一部分中论述)两者皆可展现一附加访问属性性质或特性。将不同访问等级的第一级密钥***至锁图的第一级密钥孔中可导致锁图的访问等级,其可表示所有有效***的第一级密钥的访问等级的组合或联合。此性质的一个强大用途可为以一分段方式分布给定锁图的密钥,其中可能需要第一级密钥的组合,以便获得对锁图的十分特定的访问等级。此可与其中第一级密钥可呈现该密钥持有者的给定访问的完整图像的操作模式相反。
Nut访问控制
Nut访问控制或NAC是使用可独立于可变锁及层级访问控制而工作的密码编译数据结构的访问控制方法。NAC可使用基于角色的访问控制(RBAC)及密码编译访问控制(CAC)的组合,我们可将其称为基于角色的密码编译访问控制(RBCAC)或基于密钥的准允(KBP)。NAC属性密钥组可经局部化为一单一锁节点的内部组件,然而,一锁节点中可存在机制以沿着锁图的其余部分传播NAC属性,其可允许密钥持有者具有贯穿相关联锁节点的一致可访问等级。此等NAC属性可在可已自一外部源***的第一级密钥的一解锁或拆解密钥孔锁节点中找到。类似于层级密钥,NAC密钥可展现一附加访问属性性质。
KBP可使用公开密钥密码编译的熟知性质来部署,诸如产生数字签名(dign)且使用算法(诸如RSASSA-PSS(具有基于最初由Bellare及Rogaway发明的寄生签名方案的附录的RSA寄生签名方案)或替代算法)在一数据字串上非对称地对其进行鉴认。KBP的基本前提可为给出一私密/公开密钥对,私密密钥持有者(写入者)可使用写入者的私密密钥在一数据小包上产生一数字签名(dign)且接着公开密钥持有者(读取者)可使用读取者所拥有的写入者公开密钥来鉴认由写入者在数据小包上产生dign。若鉴认失败,则可已破解某物,诸如公开密钥、数据小包或dign或其的一些或全部。写入者可负责在目标数据小包的每一修改之后在目标数据小包上产生一更新dign且读取者可负责在“读取”或解密数据小包的前鉴认dign及目标数据小包。此过程可为读取者合理地确保其可读取已由可具有对应私密密钥的某人(写入者)产生或修改的某物。在基于角色的密码编译访问控制(RBCAC)中,各经限定的访问角色可具有非对称密钥对且角色的“写入者”可获得密钥的私密部分且角色的“读取者”可获得密钥的相应公开部分。通过按功能分开数据集且使用不同密钥对对各功能数据集进行dign,访问角色可被精确限定且可通过分布适当密钥部分被分配至各个密钥持有者。NUTS的RBCAC可允许一或多个对称密钥与所限定的角色的非对称密钥对耦合以提供对目标数据集的一另外控制层。耦合的对称密钥的持有者可解码及读取该角色的目标数据集。此耦合对称密钥可通过由eKS中的可变锁及后续密钥的解锁所显示的对称密钥加密该加密的顶部上的目标数据集。替代性地,耦合的对称密钥的存在可取代来自eKS的所显示的加密密钥的使用且可为对称加密目标数据集的唯一密钥。此替代方案对于较大目标数据集可为较佳的,因为其将被加密不超过一次。耦合的对称密钥可用于控制对一目标数据集的读取访问。
在NAC的实施例中,SDFT的使用可十分显著地简化编码。加密及dign可嵌入至适合于待执行功能的逻辑凝聚TAR中且SDFT的拆解程序可使此等操作的详细处理的大部分自动化。与TAR相关联的任何局部化属性可与目标数据折叠在一起或进一步与另一TAR折叠以简化其保护及储存。
图80中的表展示基于密钥的准允可如何与三个所限定的角色(读取者、写入者及检验者)及五个角色扮演者(A、B、V、X及Y)一起工作。拥有耦合的对称密钥S的所有角色扮演者可具有使用对称密钥S加密或解密数据的能力。写入者类别(COW)X及Y可具有使用非对称私密密钥R在经加密数据上产生dign的能力。在使用非对称公开密钥U的情况下,读取者类别(COR)A及B可具有检验由来自写入者类别的某者在经加密数据上产生对应数字签名的能力且它们可具有使用对称密钥S解密数据的能力。因此,产生一有效dign的能力可暗示你可具有修改数据的能力且所有其他读取者可鉴认可已由一有效写入者产生dign。所限定的角色数量取决于拥有者期望的访问控制粒度但一些或所有限定的角色可利用如图80所描述所述的方法。仅拥有非对称公开密钥U的角色扮演者可称为检验者;检验者可具有遍历整个Nut的能力但可无法解密对应于角色类别的目标数据。例如,COR确认者可仅鉴认可已通过一适当COW角色扮演者在dign上使用COW公开密钥而适当修改Nut的有效负载但其无法解密有效负载,因为其不具有解密密钥S的副本。
NAC可精确影响及控制可见及可修改内容方面,由此锁节点的内容方面,由此Nut的内容方面。在图81中展示的表列出Nut的一些部分但可含有比期望多或少的部分:hair、tick、seal、vita、face、tale及/或bale。在表中可存在对Nut日志及Nut历史的正向参考,此可在随后文件中详细说明。各列可表示一锁节点且限定Nut部分的数据可保持在该锁节点的包中。标题为包不透明度的栏可展示锁节点的包的密码模式,其可由锁节点的元数据来控制。包可被加密或不(明确)基于可称为包不透明度的元数据设定。若图81中的表中的一些或所有Nut部分存在于给定Nut中,则可由锁节点表示的各Nut部分可使用锁节点连结指针及连结密钥自上而下依序连结。相对于各Nut部分的包不透明度向下遍历此表的栏可称为Nut的梯度不透明度。适当外部第一级密钥的持有者可通过最终解锁锁节点的可变锁而获得对Nut的访问。取决于第一级密钥的SAC设定,密钥持有者可限于它们可遍历至Nut中多远。NAC可影响可允许哪些第一级密钥通过耦合的对称密码密钥的仔细放置、非对称密钥对的精确使用及使用数字签名方法而具有读取、修改及/或鉴认各Nut部分的能力。
图82展示列出针对典型Nut限定且用于典型Nut的基于密钥的准允访问角色的表。访问角色可不限于此清单,因为可存在取决于Nut拥有者的需求而限定的更多或更少访问角色。表列出Nut的四个区段,其可被识别但不限于:Bale、Vita、Tale及All。All区段可以是指未由另一访问角色明确覆盖的任何事物。此可需要锁节点的一些或所有内部工作,诸如但不限于密钥映像上的dign、eDK及/或未由表示一分开访问角色的密钥对规定的经加密的包。对于此论述,密钥对可包括非对称密钥对及耦合的对称密钥。耦合的对称数据的存在可取决于访问类别检验者角色的存在。All私密密钥的持有者可称为RAT(根访问层)或Nut的拥有者。各第一级密钥可具有密钥映像,其可含有用于鉴认目的的RAT读取者公开密钥的副本。Bale可被保持在保持Nut的有效负载的锁节点的包(诸如文件)中。此密钥对可归因于其频繁使用而特定命名为写入者类别(COW)及读取者类别(COR)。此密钥对可控制哪一第一级密钥可具有修改Nut的有效负载的能力。以类似方式,Nut日志可被保持在Nut的Vita部分的包中且可由日志记录器/日志读取者密钥对来控制。Nut历史可被保持在Nut的Tale部分的包中且可由历史记录器/历史读取者密钥对来控制。各访问角色类别的检验者角色可具有对与该角色相关联的至少一个公开密钥的访问,以便鉴认与其相关联的dign。检验者角色可暗示可能存在与其不具有访问权限的访问角色类别相关联的耦合的对称密钥。可给予维护过程对Nut内的所限定的检验者角色的组合的访问以检查Nut部分的有效性、一致性及/或真实性但无法读取受保护数据的内容。密钥对不限于此等设定且可基于要求扩展或缩小。锁节点的任何经加密及/或未加密的字串可具有通过其自身特定密钥对在其上产生的dign,且锁图中的所有锁节点可采用此特定性等级,这可能导致一极端访问控制粒度等级;然而,此极端访问控制粒度等级可减弱对此Nut的访问控制的有效性。
锁节点的参数区段可规定所应用的数字签名算法及非对称密钥的长度(默认为RSA-2048的2,048位的最小值)。替代性地,SDFT用途可允许特定TAR表示此等偏好且TAR标签可替代地储存于参数区段中。可保持Nut的有效负载的锁节点的经加密包可不由RAT写入者使用RAT写入者密钥数字地签名而是由具有COW访问的一密钥持有者(其可包含RAT写入者)数字地签名。可给予第一级密钥持有者经由密钥孔锁节点的其密钥映像中的其访问密钥设定及对应访问属性传播密钥(AAPK)对RAT读取者密钥进行访问;此RAT读取者密钥可允许任何合法第一级密钥持有者鉴认可在RAT授权的领域中的锁节点内的任何dign(由可具有对RAT写入者密钥的访问权限的第一级密钥持有者来例示)。鉴认任何RATdign的任何失败可暗示可已破解对应字串或经折叠的数据,或RAT读取者密钥可能无效,或第一级密钥可能不再有效或所提及的一些或所有原因。本申请可展示此警告且可不继续进程,因为Nut的完整性可能已被破解且进一步解密尝试可能无法成功或可能导致展示被破解的数据。
图83展示Nut如何获得其初始NAC访问密钥组。开始于密钥孔锁节点8300,第一级密钥8304可***至第一级密钥孔8306中且可解密或展开经加密的密钥映像,其可显示密钥映像结构8310,可存在一访问密钥组(AKS)8312,其可含有由可为对称的访问属性密钥组解锁密钥(AAKSUK)8314组成的一组密钥。各单独AAKSUK对称密钥可对应于如在图82中的表中展示的访问角色。AKS中的各AAKSUK可接着***至相同的锁节点8300的与初始第一级密钥孔8306相同的输入区段8302中的访问密钥孔8320;因此密钥映像8310可保持可馈送其自身访问密钥孔8320的AKS 8312中的一组密钥。此可为密钥孔锁节点(面向外的锁节点)的一特殊性质且在大部分情况中可能无法应用于内部锁节点。在访问密钥孔8320中,各适当***的AAKSUK 8314可解密或展开以显示对应的访问属性密钥组(AAKS)8330,其包括访问角色描述8332、访问角色密钥(ARK)8334及/或访问属性传播密钥(AAPK)8336。ARK 8334可规定对应于所给定角色的密钥对部分:公开(读取者)或私密(写入者)。AAPK 8336可为可充当至下一经连结锁节点的访问密钥孔中的AAKSUK的对称密钥。AAKSUK组可组成一组AAKS,其可限定第一级密钥的NAC访问属性及最终其在锁节点中的访问。在此图中,AAKS 8330可规定Nut拥有者的访问属性,因为其含有RAT私密密钥及COW密钥。AAKSUK的附加属性性质(由此NAC的附加属性性质)可在此图中绘示;各第一级密钥8304可存在AKS 8312,其可***至第一级密钥孔8306中,因此AAKSUK 8314每一次***至访问密钥孔8320中可为附加的。相同AAKSUK可仅通过访问密钥孔覆写现有一者,此可在可已处理一些或所有呈现的第一级密钥时导致唯一AAKS的联合。此可在可同时***具有不同访问属性的第一级密钥时导致一累积访问属性效应。
图84绘示AAPK可如何用于使NAC属性传播遍及锁图中的锁节点的其余部分。密钥孔锁节点8400可能已经适当解锁且一些或所有AKS 8402可能已经***至访问密钥孔8404中,此可导致AAKS 8420。访问属性传播密钥(AAPK)8424可接着***至下一经连结锁节点的访问密钥孔8432中。应注意,此可类似于可已填充密钥孔锁节点的访问密钥孔的方式,但该等密钥来自一经连结锁节点而非来自可在或可不在其自身第一级密钥孔中找到的AKS。内部锁节点8430的第一级密钥孔(未展示)可在密钥映像中具有一空AKS,除RAT访问等级密钥以外。通过遵循此传播方法,第一级密钥的访问属性可存在于锁图中的每一打开锁节点中。锁节点可隔离及局部化一些或所有或其内部控制机制,诸如具有针对其自身用途在锁节点内产生的不同组AAKS,即使访问角色可相同(诸如COW)。甚至AAKSUK及AAPK对称密钥可不同,只要它们可被适当映射。其可为良好限定的Nut针对整个锁节点且针对适当传播遍及其锁图的锁节点而为RAT分配一组完整AAKS的前提。以供参考,可存在一组完整AAPK及ARK,其可由RAT公开密钥来加密且可储存于锁节点的参数区段中,因此仅RAT可在该组可需再加密一锁节点时显示该组。
图85绘示使用AAPK的访问属性自一外部锁节点8500至一内部锁节点8530的传播。该图展示各种密钥可来自何处以馈送经连结节点的第一级密钥孔8550及访问密钥孔8560。输出区段8510可针对经连结锁节点8530的第一级密钥孔8550显示一链接对称密钥8512。AAPK 8522可***8524至经连结的锁节点8530的访问密钥孔8560中。
图86展示用于将密钥***至一访问密钥孔中的流程图,其可已使用先前区段中的实例详细介绍。
图87展示用于一替代实施例的基于密钥的准允的表。此表可通过进一步限定一写入非对称密钥对(UW,RW)及一每例项数据加密对称密钥Sn而扩展图80中呈现的表。来自图80的三个密钥可替代性地表示为dign非对称密钥对(UD,RD)及一预设数据加密对称密钥S0。另外密钥可允许ARK限定唯写访问角色,其可写入至一锁节点的包中但可不读取该包的任何其他部分。唯写角色可具有对密钥RD、UD、UW及Sn的访问。当唯写角色希望将消息Tn保存至锁节点的包中时,其可产生一单例项对称加密密钥Sn以加密Tn,从而产生经加密的消息En。接着,单例项对称加密密钥Sn可使用具有密钥Uw的非对称密码来加密以产生经加密的密钥Kn。En及Kn两者现在可保存在锁节点的包内。唯写角色亦可使用RD密钥产生dign且保存它。可通过鉴认SDFT TAR序列的适当应用替代性地或另外执行消息鉴认,该序列可为紧凑及组织简单起见而嵌入且自动折叠此信息。此等TAR序列可允许使用任何加密MAC转变的替代性消息鉴认方法。一旦唯写角色扮演者可完成写入且可能毁坏Sn的内存中例项,角色扮演者可不再具有对解密消息En的Sn密钥的访问,因为唯写角色可能不再拥有非对称私密密钥RW。仅这些可能拥有非对称私密密钥RW的副本的访问角色(诸如读取者及写入者角色)可解密经加密的密钥Kn以获得Sn且可使用其对经加密的消息En进行操作以获得原始消息Tn。鉴认方法可另外包含类似于Merkle树工作的方式的散列或dign链接以进行更有效鉴认包括数个单独消息的有效负载的过程。唯写角色访问可能不防止由本端***操作的锁节点上的先前消息的一未授权截断或覆写;然而,NUTS生态***可通过结合其Nut历史、复制及同步特征以各种协作方式帮助防止或突显此等发生。此将在随后在关于Nut伺服器及修订控制模块的部分中论述。
由图87中的表呈现的唯写及检验者的受限角色能力可帮助减轻与计算机***安全性内的普遍“万能密钥(God Key)”难题相关联的一些问题。此可为一熟知问题类别,其中在一个情况中,可给予一***管理者“万能密钥”或对一***或***组的所有访问认证,以便维护、更新、修复、安装及/或故障检修手边的一(若干)***。行业中倾向于归因于具有一适当安全调查检查的相对小数量个十分有能力及经验的***管理者而自动使技术能力与升高安全调查相关。此实践类型可能无法处置信任关系的动态性质,其中两方之间的信任等级可能随着时间以单边方式改变,此可能无法由其他者侦测到或可能有意对其他者隐藏。通过唯写及检验者访问角色的仔细使用,有效负载可受到保护以始终避免传输中或闲置的数据的未授权访问。此两个访问角色的应用可允许机构分离技术能力及安全调查的结合性质以更适当且独立地完全管理各方面。唯写角色可允许人及过程作为处置证据添加至Nut的日志组件但可能不允许他们读取有效负载或编辑日志。另外,唯写角色可具有对标志密钥的访问且可产生鉴认字串且检验鉴认字串。检验者角色可允许人及过程检查Nut的内部一致性及真实性而不允许对有效负载的任何访问。锁节点可被***性地修改、调适及***任何数据库***内(诸如但不限于noSQL或RDBMS)以在字段、记录、表及/或数据库等级上发生访问控制的此粒度。紧凑性、灵活性、特征及/或独立性可允许锁节点存在于计算机化设备中,如至设备自身中的嵌入式访问网关。此可在关于Nut的因特网的一后续部分中更详细论述。
NAC特征可涵盖可对一目标有效负载进行的一组完整行动排列。经允许行动的一简单交叉参考矩阵连同其NAC实施方案可经展示如下:
行动 读取 写入 检验
读取 读取者 写入者 读取者
写入 写入者 唯写 唯写
检验 读取者 唯写 检验者
读取者及写入者角色可具有检验或鉴认包含于锁节点的包内的dign的含蓄能力。
总结用于锁节点的三个保护方法:可变锁、层级访问控制及/或Nut访问控制。可变锁可主要保护可用于携载某数据内容的锁节点的包。层级访问控制可限定一用户可渗透至锁图层级中多深。Nut访问控制可规定可由一用户修改、查看、写入及数字签名Nut的哪些部分。一些或所有这些层可由锁节点的密钥孔机制内的嵌入或经折叠的密钥组来控制。密钥孔机制可为一灵活入口,其可允许***及处理多种密码密钥以用于各种功能。一些或所有这些组件可共同及/或分开工作以提供一组丰富访问控制,其可在每Nut基础上客制化且可经模块建构以展现受保护内容所期望的锁行为。锁节点的模块性亦可由于其迭代、紧凑及模块化设计而提供建立许多复杂锁定结构的简单性。尽管许多不同算法可用于完全解锁及利用Nut,但初始化机制的信息可由可完全储存于Nut的锁节点内的加密数据部分表示,因此其访问控制机制可为便携式且可独立于任何外部参考监测器而与其有效负载一起行进。此等机制可进一步由各种SDFT方法及结构来体现以帮助简化实施方案且更好管理内部编码及/或数据细节的复杂性。
Nut的访问控制模型可为强制访问控制(集中)、任意访问控制(用户中心)及其他访问控制的组合。其可类似任意访问控制器模型以使其可将一些或所有其访问属性储存于自身内及拥有者可直接设定每Nut的访问等级的方法以便促进可运输性。其亦可适应一些或所有任意访问控制模型且可整合至一些或所有此等环境中,此是归因于由其密钥孔、可变锁及其他机制提供的其灵活性。此外,其可展现其他特性,诸如但不限于梯度不透明度、附加访问属性及/或模块化锁节点连结(其对于NUTS可为新颖的)。
锁节点遍历
现在我们可遍历整个锁节点且看见可如何沿着路径揭露事物。图88描绘展示一锁节点8800内的解密数据流的简化图。可参考锁节点解锁过程的此交织且整合描绘中涉及的其他图的组件,诸如图62、图78、图83、图84、图85及图88。可参考由不同组件符号编号但可表示在一深度探讨类型所述的方法中测试的相同区段的不同视图的相同锁节点区段。锁节点解锁过程中所需的逻辑操作的定序可针对效率及/或其他目的进一步优化。解锁锁节点由此最终一锁图或Nut的过程可涉及可在此实例中描述的步骤,诸如但不限于:使用第一级密钥获得锁节点的访问权限及解密密钥;鉴认锁节点;使访问权限传播遍及锁图;对可变锁进行逻辑操作及/或对储存的数据进行解密;此等步骤可视需要扩展、缩小或重新排序。若适合,锁图及锁节点内的某些机制可受益于SDFT方法的适当应用。
第一级密钥8804可***至输入区段8806中且各第一级密钥可使用其相关联密码方法以尝试解密其匹配经加密的密钥映射8810且将其展开为密钥映像8808结构。各密钥映像6240可产生主要密钥6210,其可由可变锁8812使用。在各密钥映像7840(等效于6240)内可为一组层级密钥7850且各层级密钥(诸如7852至7858)可***至各自输入区段8302的第一级密钥孔8306中的锁图的匹配层级锁节点(诸如7820至7830)(在此实例中,层级密钥诸如7852至7858可等效于8304中的第一级密钥);诸如7820至7830的层级指定锁节点可采用MATLOCK,其可能需要两个密钥的一最小值来打开它:可在输出区段8510或8826中找到诸如7852的层级密钥及诸如8512的输出连结密钥。对于密钥孔锁节点8300,在各密钥映射8310内可为一组访问属性密钥组解锁密钥(AAKSUK)8314,其称为访问密钥组(AKS)8312,且各AAKSUK密钥可***至当前密钥孔锁节点8300的输入区段8302访问密钥孔8320中。一旦可以此方式获得一组访问属性传播密钥(AAPK)8336,它们8522(等效于8336)可***至下一经连结锁节点8540的访问密钥孔8560中。现在我们可具有一访问属性密钥组(AAKS)8332,其可含有访问角色密钥(ARK)8334。ARK可限定整个锁图的第一级密钥8304的访问角色。可使用此等ARK鉴认诸如8840至8848的各种锁节点区段的dign。可使用RAT公开ARK 8344(此可为RAT非对称密钥对的公开部分,如可已在NAC规格中描述)及区段8830中规定的鉴认算法来鉴认锁ID及元数据8840的dign。为鉴认,区段8830可连同对应dign8840及RAT公开ARK 8344提交至鉴认算法中。若鉴认失败,则区段8830可能已被破解且锁节点解锁过程可能产生一错误且可停止处理。若成功鉴认,则可针对对应于一有效***第一级密钥的各经加密的密钥映射鉴认经加密的密钥映像8842的各dign。为鉴认,各eKM 8810字串可连同对应dign8842及RAT公开ARK 8344提交至鉴认算法中。若鉴认失败,则eKM可能已被破解且锁节点解锁过程可产生一错误且可停止处理。若所有适当eKM已经成功鉴认,则经加密的派生密钥8844的各dign可被鉴认。为鉴认,各eDK 8814可连同对应dign8844及RAT公开ARK 8344提交至鉴认算法中。若鉴认失败,则eDK可能已被破解且锁节点解锁过程可产生一错误且可停止处理。若所有适当eDK已经成功鉴认,则经加密的密钥组8846的各dign可被鉴认。为鉴认,各eKS 8818可连同对应dign8846及RAT公开ARK 8344提交至鉴认算法中。若鉴认失败,则eKS可能已被破解且锁节点解锁过程可产生一错误且可停止处理。若所有适当eKS已被成功鉴认,则经加密的包8848的各dign可被鉴认。为鉴认,各eBag 8822可连同对应dign8848及COR ARK 8348提交至鉴认算法中。若鉴认失败,则eBag可能已被破解且锁节点解锁过程可产生一错误且可停止处理。若所有适当eBag已被成功鉴认,则此锁节点可视为完全鉴认。应注意,可使用读取者类别(COR)访问角色密钥8348鉴认eBag。此可适用于保持Nut的有效负载的锁节点,但对于将Nut元数据保持在其包中的锁节点,RAT公开ARK可替代地用于对其鉴认。接着,基于锁节点的参数区段8830中指示的可变锁类型,可使用来自密钥映像8808的该组主要密钥7844对各经加密的派生密钥字串(eDK)8814尝试一适当可变锁算法8812。通过解密eDK 8814而成功解锁可变锁8812可导致一或多个派生密钥(DK)8816。各派生密钥可解密可储存于参数8802中的对应的经加密的密钥组字串(eKS)8818。解密eKS可产生对应的密钥组8820结构,其可保持输出区段8826结构及包密钥。可在密钥组8820结构中找到的一(若干)输出连结密钥可储存于输入区段8826中且其可运作为可***至经连结锁节点8530(若存在)的第一级密钥孔中的密钥。包密钥可使用适当密码解密可储存于参数区段中的经加密的包字串(eBag)8822。经解密的包可保持数据,诸如但不限于Nut(锁图)的有效负载、关于有效负载的元数据、Nut的元数据、包的元数据、这些及/或其他数据的任何组合。包元数据可指示包8824是否保持Nut部分或Nut有效负载。若包保持Nut部分,则其可指示其可表示哪一Nut部分及其他适当Nut部分元数据及/或其他数据。若包保持Nut的有效负载,则其可指示储存的数据是否可为实际数据或对其的一参考且若如此,则其可为哪一引用类型,可为何种参考及/或其可定位于何处。
此系列步骤可针对锁图中的各锁节点重复以便解锁Nut。图89展示Nut解锁的一般流程图。大部分步骤可已在先前实例中详述但一些步骤可需进一步阐明。步骤8902-将锁节点组织为适当遍历等级:由于锁节点可以一基于列的形式储存于列表类型结构中,故可使用可储存于各锁节点内的链接信息提取及建构锁图的实际拓扑。一旦该图可被建构,则可完成一或多个另外通行以适当分配图等级,使得可依适当序列遍历锁节点。步骤8908-提示一些或所有基于通行语的密钥孔:在输入区段的处理期间,若一基于通行语的密钥孔遭遇一空密钥(通行语),则其可提示通行语。此预设行为可经修改以调用另一函数或绕过任何空通行语密钥孔。流程图中的任何逻辑步骤或过程可能具有错误,其可经产生且可导致过程停止且此等未详细规定,因为此为一较高阶流程图:例如,尝试操作的任何过程可失败且可使算法停止。流程图的其余部分可沿着先前实例的路径。
图90绘示一基于NUTS的***可如何打开包含于Nut中的文件。引入一正向参考:NUT簿9000可为一数据集合组织应用,其可使用Nut且可在谈到储存及组织通行码、密码密钥及/或证书的集合时本质上充当个人PKI。诸如9002及9004的档案符号可被使用遍及该等图以表示Nut档案。NUT簿***内可存在主要NUT簿访问密钥Nut 9002,其可经解锁以从应用获得某最小功能。密钥可储存于Nut 9002内且可称为主要NUT簿密钥且至Nut9002自身中的解锁机制可包括通行语。可存在与主要NUT簿密钥9002及文件访问密钥9004的一阶层密钥关系,使得以便访问将Nut保持在此配置中的任何文件,可能需要文件访问密钥。因此,阶层可经设定为需要主要NUT簿密钥9002来打开及访问文件访问密钥9004。保持文件访问密钥的Nut可具有Nut ID#33 9016。因此,可储存于有效负载9020中的密钥可称为密钥ID#33:文件访问密钥及保持其的Nut的Nut ID两者可由相同ID指涉,在此情况中为#33。文件9040可储存于具有Nut ID#44 9036的Nut9030中。类似地,文件可称为文件#44。当用户决定打开文件#44时,第一级密钥孔9032中的密钥孔的一者可规定其可需要密钥ID#33来打开它。可自NUT簿请求Nut#33 9004且以便打开它,可需要打开Nut 9004。为打开该Nut,可需要打开Nut9002。假定用户可已使用Nut 9002的一通行语初始化其NUT簿且NUT簿可能已将主要NUT簿密钥缓存在存储器中。接着,打开Nut 9004可仅需要NUT簿的文件级访问的另外通行语且一旦可打开它,Nut解锁的级联可发生以最终显示经解密文件#44 9050。NUT簿可快取文件访问密钥达一有限时间量以加快一会话期间的文件提取但某些事件(诸如不活动、休眠、屏幕锁、超时及/或明确锁定)可能需要通行语以再次进入文件访问。此区段介绍NUT簿应用及阶层通行码概念,其可在一后续部分中进一步论述。可需打开单一文件的该系列步骤可为许多但所采用的一些或所有逻辑可基于锁节点及其迭代程序且其的大部分可对用户隐藏。最终结果可为数据件可储存于Nut同类9030中且其安全性可在一些或所有环境中一致。
图91绘示NUTS用语中的共同用途以通过保持其的一Nut的Nut ID指代Nut的有效负载。此处展示标记为密钥#33的一密钥孔9124实际上可如何寻找具有Nut ID#33 9112的一Nut 9110且其可期望Nut#33保持可***至密钥孔9124中的单一密钥9114。可有兴趣注意,在许多此等图及实例中,若Nut可储存于一档案中,则在大部分操作中可很少指代一Nut档案的文件名。
下一组图展示锁图的各种例示性实施例,其可突显使用可变锁及锁节点连结的锁节点及锁图模型的灵活性及表达性。
图92展示接受者锁定模型的一列表的简化实施例:任何一个密钥9210可解锁ORLOCK锁节点9220,其可到达携载Nut的有效负载9290的锁节点。应注意,为简单起见,锁节点可以图形表示为一挂锁,但实际上,其为可储存Nut的一些元数据的全功能锁节点。
图93展示有序锁定模型的一简化实施例:可首先呈现密钥9310,接着再次呈现密钥9320,此可允许对Nut的有效负载9390的访问。MATLOCK锁节点9312可需要一单一密钥,而MATLOCK锁节点9322可能需要密钥9320及来自锁节点9312的连结密钥两者。
图94展示具有主密钥的一有序锁定模型的简化实施例:可首先呈现密钥9410,接着再次呈现密钥9420,其可允许对Nut的有效负载9490的访问。或,主密钥9430可直接呈现至ORLOCK锁节点9432,此可允许对有效负载9490的访问。ORLOCK锁节点9432可允许连结密钥或主密钥解锁它。
图95展示具有主密钥的锁定模型的简化实施例:可共同或分开呈现密钥9510或主密钥9520,此可允许对Nut的有效负载9590的访问。
图96展示具有主密钥的锁定模型的简化实施例:可共同或分开呈现密钥9610或主密钥9620,此可允许对Nut的有效负载9690的访问。锁图9632中的MATLOCK置位可指示在此Nut的位置中可存在某些层级控制且其可为储存一些Nut元数据的Nut部分。
图97展示安全保管箱锁模型的简化实施例:可共同呈现密钥9710及银行密钥9712,此可允许对Nut的有效负载9790的访问。
图98展示具有主密钥的秘密共享锁定模型的简化实施例:从一组密钥9810,可共同呈现满足或超过秘密共享临限值的数个密钥,此可允许对Nut的有效负载9890的访问。或,主密钥9820可直接呈现至ORLOCK锁节点9822,此可允许对有效负载9890的访问。密钥9810可为通行语、对称密钥及/或非对称密钥的任何组合,因为密钥孔/密钥映像结构可隐藏在SSLOCK锁节点9812中利用的秘密共享方案可需的尾部。
图99展示一“PrivaTegrity”型锁定模型的简化实施例:用户密钥9920可被呈现至ORLOCK 9922,此可允许对有效负载9990的访问。或,九个密钥9910可共同呈现至MATLOCK9912,此可允许对Nut的有效负载9990的访问。“PrivaTegrity”模型可能已在2016年初由David Chaum提出以实施文字消息传送***,其可使用其用户已知的密钥安全地传输消息但其可具有一共谋后门***,该***可涉及由九个国际管辖权保持的最多至九个不同密钥以便当且仅当所有九个管辖权可同意特定消息可为至关重要且可合法授权时给出对特定消息的执法访问。
图100展示多Nut配置的简化实施例,其中多个有效负载可储存于一单一Nut内:用户密钥10010或主密钥10012可访问一个有效负载或两个有效负载,此可取决于其层级访问控制。主密钥10020可归因于其穿过锁图的遍历路径而仅访问有效负载10092。此锁图可显示模块化锁节点的灵活性及共同工作的其访问控制层。可在一些或所有此单一Nut内以不同方式保护分开的数据小包。若主密钥10012及10020可相同,则可允许密钥持有者访问两个有效负载。
图101展示多Nut配置的简化实施例:用户密钥10110的任一者可访问一些或所有三个有效负载,此可取决于其层级访问控制。SSLOCK 10122的密钥10120可归因于其锁节点连结而仅访问有效负载10194。此锁图可显示模块化锁节点的灵活性及共同及/或单独工作的其访问控制层。可在此单一Nut内以不同方式保护分开的数据小包。本公开内容的灵活性质可允许锁配置的无限变化。
图102展示具有多个有效负载的直接锁定模型的简化实施例:此锁图可展示Nut的一平坦拓扑而非通常线性一者。ORLOCK 10212可为受关注节点,因为可存在若干方式来实施将其连接至五个不同锁节点所需的多个连结密钥。在一项实施例中,ORLOCK节点10212的输出区段可含有五个输出密钥。在另一实施例中,输出连结密钥映向可嵌入为密钥孔中的密钥映像且接着可传播至输出区段中。此外,层级密钥亦可扮演关于哪些密钥可访问各种节点的一角色。
图103展示一有序消息传递实例的简化实施例:其可为使用Nut及基于关系的密钥(RBK.一正向参考)的一抗共谋设计。Mr.Data 10310可具有各与Alice、Bob、Charlie及Danny的关系。一些或所有参与者可知道彼此。其关系可通过具有与各人的基于关系的密钥而同步。Mr.Data可希望将一组秘密指令发送至各人但其可希望依某一序列读取消息而无法通过参与者中的共谋而事先窥视。因此,Mr.Data可使此四个Nut的各者中建构有特定内容。发送至Alice 10320的Nut可仅由Alice打开,因为其可使用Alice与Mr.Data之间的RBK组锁。10320内部可为针对Alice的消息及针对Bob的密钥KBob。她可读取她的消息且可将密钥KBob发送至Bob。发送至Bob10330的Nut可采用MATLOCK,其仅可同时使用两个密钥来打开:Bob与Mr.Data之间的Bob的RBK密钥及来自Alice的密钥KBob。10330内部可为针对Bob的消息及针对Charlie的密钥KCharlie。他可读取该消息且可将密钥KCharlie发送至Charlie。发送至Charlie 10340的Nut可采用MATLOCK,其仅可同时使用两个密钥来打开:Charlie与Mr.Data之间的Charlie的RBK密钥及来自Bob的密钥KCharlie。10340内部可为针对Charlie的消息及针对Danny的密钥KDanny。他可读取该消息且可将密钥KDanny发送至Danny。发送至Danny10350的Nut可采用MATLOCK,其仅可同时使用两个密钥来打开:Danny与Mr.Data之间的Danny的RBK密钥及来自Charilie的密钥KDanny。10350内部可为针对Danny的消息。他可读取消息及Mr.Data的计划以排序可能已工作的消息。
在网络安全领域中,“后门”特征可在围绕话题的各种对话中带来负面含义。传统地,可能已按应用等级实施后门机制,此可已允许对由该应用处理的数据的自由访问。此类型的应用等级访问可已经建构为对由该应用处理的数据的安全性的一严重妥协,此取决于哪一方获得对该后门入口的访问。此等状况中的妥协感知可为有充分根据的,此归因于此等应用主要处理其自身应用存储器内的未加密数据的普遍性,由此将对明文数据的访问潜在授权至后门用户。在NUTS中且特别地在Nut的锁定模型中,一些人可观察到将主密钥用作至Nut中的后门类型;然而,技术上其可为十分不同的,因为在Nut的所有锁定模型中,所有门(密钥孔)皆为前门且需要适当密码编译密钥来获得对Nut的访问。NUTS API或任何NUTS相关应用实施例可不具有按应用等级设计的预期后门。具有可用于Nut的主密钥入口可存在数个正当理由,但所有此等入口可仅由一秘密密钥来限定且可被任何锁节点的输入区段的一粗略测试直接注意到。因此,尝试将后门型功能安装于NUTS相关应用内的任何应用可仅在首先获得对目标组Nut的主密钥的访问之后进行此操作,且其仅可应用于其中该主密钥有效的Nut。此可绘示数据中心方法对Nut的安全的灵活性、划分性、保护性及/或弹性。
在NUTS中的一些或所有访问控制方法中,可涉及将密码编译密钥隐藏于封装数据结构内的图案,其的展开可显示可允许对目标数据集的访问的其他密钥。在本公开内容中绘示的实施例中,这些密钥隐藏方法的大部分可使用数据封装及/或数据折叠方法。隐藏访问密钥的方法可为由实施者形成的一偏好或其可为各nut内的参数化设定。这些方法可包括数据折叠、数据封装、基于属性的加密、函数加密、来自参考监测器的授权符记或可在具备解密或解锁其密码编译机制的访问材料时提供后续访问密钥的选择性密码编译显示的任何其他方法。本公开内容中的演示实施例可能因为其简单且直接机制及其熟知特性而被选择。其他等效机制可使实施例的某些方面成为流线型或更有效率但其仍可本质上提供相同功能,控制对可授权访问至一目标数据集且可依据默认独立于任何参考监测器的访问属性的访问。显示方法的任何等效访问属性可替换为目前为止绘示成为nut的内容提供相同保护等级的方法。
此可推断关于Nut容器的区段及其内部工作。内部机制可直接体现或由可易于编码及管理此实施例的SDFT方法的用途来体现。Nut的有效负载可为Nut最终可保护的事物,其可为任何可储存数字数据,诸如但不限于文本档案、二进制应用、图像档案、远端***的访问密钥、可执行脚本、为安全地建立计算机到计算机的连接的认证、整个数据库、操作***、到其他Nut的连结、流数据及/或文本消息。归因于Nut描述透过其丰富可配置的元数据其可保持何物的能力,共同档案类型的标准清单可远不及其保持能力。锁节点架构可允许有效负载跨Nut,因此其可导致无限制的逻辑容器大小。若固态NUTS兼容芯片或电路可用,则可能将一实体装置转变为Nut本身,因此装置可仅由密钥持有者访问。一系列这种装置可构成仅可在适当鉴认下操作的整个网络及内部网络。模块化锁节点设计的灵活性质可允许Nut的锁定配置的无限变化。在以下区段中,可介绍各种***及/或方法,其可使用Nut作为安全储存的基础以展示可如何扩展、改良及再设计一些共同服务及方法以提供可已看似超过平均用户的范围的能力。
模块化I/O
程序设计者可能花费大量精力来确保将数据适当带入至一程序中、在其运行存储器空间中转变、计算及/或编辑且接着可适当永久储存。此应用发展模式的一不良副作用可能为文件格式及其各种版本的最终退化。具有、拥有及控制我们自身的数据可能是有用且期望的目标,但其用途为你们是否可适当读取它?读取格式、写入格式、作用于读取数据上及/或显示读取数据的能力可构成典型程序的一些基本组件。模块化I/O(MIO)可为将此逻辑操作模块化为可由可访问其的任一者使用的模块化组件的贮存库的***及/或方法。MIO的副作用可为产生文件格式转换模块的能力,其可允许用户访问档案读取及写入例程的过去版本,使得其旧数据可被读取。此可称为向后兼容性。亦可提供向前兼容性的一概念,但此特征的效用可相依于可设计应用模块的程序设计者的技巧性。MIO***的较佳实施例可为一些或所有模块可封装于Nut中,因此依据默认可存在各模块的鉴认、保护及/或访问控制。图104展示模块化I/O中的典型组件。元件10450可为一模块化I/O贮存库(MIOR),其可为可储存及组织MIO组件的一伺服器程序。MIOR可体现为可充当用户这种模块的一智能缓存的本端及/或远端伺服器类型应用。在其他实施例中,MIOR可在本端装置上具有本端缓存,因此其可更好促进共同请求的MIO模块。可读取及/或写入至一档案10404的典型应用10402可被概念地及程序设计地分成模块以读取10406及写入10408档案。档案10404可格式化为可为应用10402所特有的一特定格式“A”。类似地,此图展示具有对应数据档案10412及10420及其各自读取及写入模块10414、10422、10416及10424的两个其他应用10410及10418,其可在MIOR 10450中储存为特定格式(其可为“B”及“C”)。MIOR可含有可执行应用的不同任务或程序的其他模块。由10426至10432描绘可为档案转换模块,其可执行如由其各自标签规定的从一个文件格式至另一文件格式的转变:模块Convert_A_B 10426可通过档案读取模块10406使数据从文件格式“A”读取至一应用的存储器中且接着其可将存储器结构转变为类似可由读取模块File_Read_B 10414产生的一存储器结构。
模块化I/O:读取及写入
图105展示使用MIOR 10500的一简单读取及写入操作。可处理可储存为文件格式“A”的档案的应用10502可通过从MIOR 10500请求一档案读取模块File_Read_A10506而读取格式化为格式“A”的档案F_A 10504。模块10506(若发现)可被传输10510至App_A10502,此时App_A 10502可安装且可对档案F_A 10504执行档案读取模块File_Read_A 10506。模块File_Read_A 10506可对档案F_A 10504执行档案读取且可建构可表示档案F_A 10504的内容的内部存储器结构。可表示档案F_A 10504的内容的此存储器结构可接着传送至调用应用App_A 10502。一旦成功传送,App_A10502可继续使用可存在于其运行存储器空间中的档案F_A 10504的内容执行其功能。在其他实施例中,一旦可能已由档案读取模块File_Read_A 10506读取档案内容(如果可能存在一设施(facility,便利)),可无需将存储器结构传送至App_A 10502,由此档案读取模块10506及应用模块10502可共享相同存储器空间。
当应用App_A 10502准备好将档案F_A 10504的经修改内容储存回为档案形式时,其可接触MIOR且可请求文件格式“A”的一档案写入模块(称为File_Write_A10508)。在接收10512模块10508后,App_A可安装且可使用相同于读取程序的用于传送应用存储器结构的方法执行模块。写入模块10508可执行写入操作以永久储存,此可产生一经修改档案F_A10520。可依应用开发者视为适当的任何序列完成读取及写入模块10506及10508的MIOR的请求。在一项实施例中,应用可在开始前预先请求一些或所有相关I/O模块,以便确保可由应用执行一些或所有必要I/O操作,此可防止随后的任何非期望故障。在另一实施例中,可存在通过先前运行应用的先前提取模块的本端快取MIOR,其可经维持以便加快请求及提取程序。
可存在将两个或两个以上逻辑程序之间的存储器结构传送及/或共享至本领域一般技术者的许多方法,诸如但不限于共享存储器片段、存储器映像档案、数据库、程序间消息、二进制存储器转储档案及/或经转换存储器转储。MIO***中的应用存储器传送的较佳方法可为使用程序之间的经转换存储器转储。JSON读取及写入函数可经修改以辨识二进制数据且可将其自动转换为base64编码及从base64编码转换或其他二进制至文本编码方案。图106展示可在典型MIO档案读取操作中涉及的数据转换及传送。MIO读取模块File_Read_A10604可将成格式“A”的名称为F_A 10602的档案读取10620至其运行存储器10606中。因此,可在应用存储器结构10606中表示10630档案10602的相关内容。应用存储器可储存至JSON兼容数据结构10606中且可使用JSON写入函数调用集结为文本形式10610。视情况,JSON输出可嵌入至Nut容器10608中以添加安全性。因此,应用存储器10606可已转换及储存10608于读取模块10604外部。Nut 10608可接着由App_A 10612打开及读取至存储器中且可对数据小包10610执行JSON读取。因此,将数据重构至App_A 10614的运行存储器中。数据传送方法10622及10624可包含但不限于命令线自变量、程序间消息及/或(若干)数据档案。读取应用及/或数据处理应用可为不同机器、相同机器、分开线程或分开核心上的分开的过程;或应用可为具有实时修改其运行码的动态能力的本端或远端机器上的单一逻辑过程。
模块化I/O:向后兼容性
应用可通过贯穿其寿年发布具有增强的版本改变而随着时间经历渐进改变。许多此等版本改变可包含用于保存用户工作的储存档案的格式改变。历史上,此可导致两个问题:累赘及退化。累赘可为在软件归因于将向后兼容性能力添加至生产线的寿年的每一格式改变的每一版本中而变得臃肿。此可涉及大量格式版本改变。此外,若可存在应用可希望处置的其他第三方或打开格式,则其可导致更大软件臃肿。图105绘示应用可如何利用任何格式的任何版本,若模块化读取及写入模块可用于MIOR中,则可在不具有任何过度臃肿的情况下读取及处理档案。此外,图105绘示可如何将较新读取及写入模块单独添加至MIOR且可与MIOR通信的每一应用现在可在不具有任何程序修改的情况下具有对另外格式化模块的访问。这些较新模块可为读取相同应用生产线的档案格式的不同版本的能力或其可为读取及写入由任一者(包含应用开发者)写入的第三方文件格式的兼容性模块。
图107展示一向后兼容性实例,其中应用App_B 10702的版本可较新且可使用数据文件的一对应较新的格式版本“B”但用户可期望读取及写入文件格式10704的较旧版本“A”。诸如10708及10710的数据转换模块可经产生及储存于用于此等情况的MIOR 10700中。转换模块可负责读取一个格式且产生另一格式:在此实例中,转换模块10708可读取“A”格式化档案且可将其转换为“B”格式化档案;转换模块10710可读取“B”格式化档案且可将其转换为“A”格式化档案。档案F_A 10704可呈现至App_B10702,其中可判定档案可呈来自元数据的一不兼容格式且可继续请求MIOR 10700以获得读取“A”可需的读取模块序列且可产生“B”档案。MIOR 10700可以将以下模块发送至App_B 10702方式响应:File_Read_A10706、File_Write_A 10712、Convert_A_B 10708及Convert_B_A 10710。App_B 10702可对档案F_A10704调用File_Read_A10706,File_Read_A10706接着可调用Convert_A_B 10708且可将呈“A”形式的其存储器结构传送至模块10708,接着模块10708可将所接收的数据转换为“B”形式且可将其传送至App_B 10702。当App_B准备好将经修改的数据保存回至呈“A”格式的档案F_A时,其可接着调用Convert_B_A10710且将呈形式“B”的其存储器结构传送至模块10710中,接着Convert_B_A 10710可将其存储器结构转换为形式“A”且可调用File_Write_A10712且可传送呈“A”形式的其存储器结构,接着File_Write_A10712可使用呈形式“A”的其经修改内容覆写档案F_A10714且可格式化呈档案格式“A”的档案写入。更复杂实例可为依序调用若干转换模块以对适当较旧格式版本执行迭代转换程序或开发者可已添加频繁使用的版本改变转换器模块(诸如Convert_B_F及Convert_F_B)以便使此等请求成为流线型。
可使用一简单计算绘示软件臃肿:假定一流行应用可能已经受5次主要修订,跨3个操作***的3个格式版本具有各在10年内的主要版本改变。还假定这些改变的每一者可能已需要应用的I/O例程的不同版本。此可潜在导致应用的大部分当前版本将其I/O功能的多至135个版本携载在其自身内。假定此可为一极端情况,我们可理解可产生的程序代码的扩散以便随着时间维持一应用中的向后兼容性。此特性可称为软件的累赘性质。
具有添加至其贮存库的一致更新模块的一适当维护的MIOR 10700可充当历史I/O格式库且可允许用户在未来的任何时间访问其数据文件的较旧版本:此可解决软件及数据格式退化的问题。当可不再产生、销售及/或维护一应用时,其使用寿年可急剧缩短,因为可允许其在较新操作***版本上运行的较新版本可能不即将来临。当一应用可归因于不兼容性而不再在现代计算机上运行时,由应用格式化的数据文件可难以访问。聪明用户及开发者可已找到此等问题的各种解决方案但就其而言可需要更多精力及/或专业知识。使用MIOR可需要至少一个开发者可维护可与非现存应用相关联的模块且其可周期性地添加可与各种操作***的较新版本兼容的模块的较新版本。可使用自动单元测试工具及自产生OS类型及版本适当模块以一适时方式自动化此类型的例程维护。经更新模块可***至MIOR中且可具有对MIOR的访问的每一者可受益于开发者的工作;若可由因特网上的每一者访问特定MIOR,则网际网络上的一些或所有用户可自动受益于其而无需用户具有关于较低阶问题及可经调用以自动解决问题的程序的知识。软件向后及向前兼容性问题可称为软件的退化性质。
模块化I/O:向前兼容性
用户有时可能经历其可已在许多年前带来、安装及/或使用一应用但其在这些年内可尚未购买应用的后续更新的状况。然而,该用户仍可运行应用但其仅可读取及写入可与应用的较旧版本兼容的文件格式。应用的最新版本可已在过去的某时间引入具有另外特征的一较新文件格式。此状况可为用户呈现两个问题:1)其的应用版本无法读取格式化为最新格式版本的档案;及2)可读取来自此应用的最新格式的其他程序无法访问其较旧格式化数据。第一问题的解决方案可称为向前兼容性读取操作,由此其较旧应用可自可对数据执行渐进转换的MIOR直接加载一组模块,此可允许用户使用其较旧程序读取格式化为一较新版本的档案。第二问题的解决方案可称为一向前兼容性写入操作,由此其较旧应用可自可对数据执行渐进转换的MIOR直接加载一组模块,此可允许用户使用其较旧程序写入格式化为一较新版本的档案。考虑到向前兼容性而建立的程序可使用具有最小或不具有功能损耗的MIOR使此类型的过渡更容易且无缝。提供为较新格式版本的较新特征可最佳地映像至较不复杂应用程序构造或可仅替换为原始数据且允许用户在一随后时间修改它。图108使用实例绘示此两个不同逻辑操作。
向前兼容性读取操作:App_A10802可与格式化为版本“A”的档案兼容但用户可希望读取一较新文件格式“C”。此请求可传达至MIOR 10800且其可以可执行此回归转换的一模块序列作为回复:File_Read_C 10806、Convert_C_B 10808及Convert_B_A 10810。模块File_Read_C 10806可读取可格式化为版本“C”的档案F_C 10804。模块10806接着可调用回归转换函数Convert_C_B 10808且可将其存储器结构传送至该函数。模块Convert_C_B10808可对存储器中的数据执行转换且可产生与格式“B”(应用的一先前文件格式版本)兼容的存储器结构。模块10808接着可调用回归转换函数Convert_B_A 10810且可将其存储器结构传送至该函数。模块Convert_B_A 10810可对存储器中的数据执行转换且可产生与格式“A”(与较旧应用App_A兼容的期望文件格式版本)兼容的存储器结构。模块10810可将呈格式“A”的其存储器结构传送至调用应用App_A 10802且App_A可处理它。因此,可在不修改应用的情况下通过应用的较旧版本读取文件格式的较新版本。
向前兼容性写入操作:App_A 10840可与格式化为版本“A”的档案兼容但用户可希望写入可超过其原始能力的较新文件格式“C”。此请求可传达至MIOR 10800且其可以可执行此等渐进转换的一模块序列作为回复:File_Write_C 10816、Convert_B_C 10814及Convert_A_B 10812。App_A10840可调用Convert_A_B 10812且可将其存储器结构传送至该函数。模块Convert_A_B 10812可对存储器中的数据执行转换且可产生与格式“B”兼容的一存储器结构。模块10812接着可调用渐进转换函数Convert_B_C10814且可将其存储器结构传送至该函数。模块Convert_B_C 10814可对存储器中的数据执行转换且可产生与格式“C”兼容的存储器结构。模块10814接着可调用档案写入函数File_Write_C 10816且可将其存储器结构传送至该函数。模块File_Write_C 10816可写入可格式化为版本“C”(期望的档案格式版本)的档案F_C 10818。因此,可在不修改应用的情况下通过应用的较旧版本写入一文件格式的较新版本。
本公开内容不限于所展示的两个实例。转换模块可经产生以访问任何操作***上的应用的一些或所有文件格式版本。转换模块可不限于其应用生产线内的转换但可经写入以跨不同应用生产线执行转换。转换模块可包含数据至不同格式的转换,诸如但不限于档案至数据库、数据库至档案、档案至数据流、数据流至档案、档案至网页、网页至档案、档案至云端储存、云端储存至档案及/或其他。
模块化I/O:显示
图109展示操作中的MIOR显示模块的图。一旦应用App_A 10902可已成功从档案F_A 10904将数据读取至其存储器中,其可继续使用模块Display_A 10908的功能以将档案F_A 10904的内容显示给用户。在显示模块中,模块的功能方面可极大取决于应用、数据内容及/或开发者的设计而变化。一些模块可经设计以使用共享内存方法,此可允许显示模块直接访问应用存储器中的数据,其他模块可将数据传送至显示模块且显示模块可允许其展示数据。显示模块的其他实施例可为屏幕格式化指令及/或用于展示及可能编辑数据类型的模板。显示功能的此模块化可允许针对各种硬件及OS平台产生客制显示模块,同时允许调用程序保持相对不改变。
随后在NUT簿区段中论述的集合目录架构可利用模块化显示的轻量方面。替代建立更大单块应用来处置、显示及/或编辑不同数据集集合,NUT簿可充分利用MIOR架构,其可允许NUT簿基于所测试Nut中的有效负载类型而进行逐个客制化。
模块化I/O:应用
在图110中,MIOR 11000可储存诸如11022的模块化应用模块。NUT浏览器11020(正向参考)可为在外观及行为上可类似于大部分档案及目录浏览器的应用但其可辨识Nut且可通过查看Nut的广泛元数据而对其起作用。在Nut 11030内,元数据11002可为关于其可保护及储存的有效负载类型的信息。当用户从NUT浏览器11020选择Nut且双击打开它时,NUT浏览器可打开Nut且可读取元数据以指出可需要哪些模块来打开档案。元数据可包含数据,诸如但不限于应用版本、文件格式版本及/或显示版本。接着,NUT浏览器可请求11004MIOR11000查找应用App_A 11022、File_Read_A 11024及Display_A 11026。MIOR 11000可返回一些或所有模块且可由NUT浏览器11020调用应用App_A 11022。一旦App_A正在运行,其可调用File_Read_A 11024以便读取可储存于Nut 11030中的Nut有效负载F_A 11028的内容。在将存储器结构自11024传送至调用模块App_A11022后,其可调用显示模块Display_A11026以将数据F_A 11028展示给用户。
模块化I/O应用模块可在其可保持及完成方面极大变化:在一些实施例中,其可为复杂逻辑计算模块;在另一实施例中,其可储存整个软件安装包;在另一实施例中,其可含有I/O、显示及/或应用功能的一些或所有方面;在另一实施例中,其可含有包含可以一远端方式反冲启动用户的环境的再生的Genesis Nut的信息。模块化I/O应用模块的功能不限于此等情况。
模块化I/O特征(诸如读取、写入、显示及/或应用程序)可在MIOR或容器等级下上覆有访问控制机制,使得仅适当授权的用户可访问它。此等访问控制机制可包含但不限于访问控制政策、所有权要求及/或用于列举目的的DRM机制。大部分访问控制可源自其中可储存模块的Nut容器的性质。随着进一步详细论述本发明,可明白可派生此等MIOR请求的机制。当数据文件或其内容可封装于一安全Nut容器内时,可存在关于Nut内容的许多可用元数据等级,此元数据可规定数据格式的细节,诸如但不限于产生其的应用版本、显示版本、文件格式版本、大小、产生时间、最后修改时间、作者、文件类型及/或总结。可由打开Nut的应用提供环境属性,诸如但不限于OS版本、应用版本、硬件制造及/或版本。在具有关于环境、数据内容及/或所请求操作的此等信息件的情况下,MIOR可查找适当模块且可以满足操作的一组模块或一错误消息作为回复。这些模块化I/O模块可运行为相同机器上、跨不同机器、跨不同芯片或核心、跨网络及运行一计算装置上的一(若干)逻辑程序的其他模式的一单一或分开程序。透过此等模块,可部分或完全解决退化、累赘、适应性、兼容性及/或灵活性的问题。
NUT历史
Nut容器可被建构以储存有效负载的历史。历史的形式可包括周期性快照、渐进增量、完整事件序列或该三种或任何其他存盘方法的任何组合。历史的形式可取决于所储存的数据类型及应用及/或数据的偏好及设计而变化。NUTS生态***可包含支持此等数据历史存盘模式的方法及***。此三种存盘方法可为本领域一般技术者已知的良好建立方法。Nut历史的实***置可在称为Tale的Nut部分中(图81)且其不透明度可由Nut RAT来控制。
图111展示一简化Nut示意图,其绘示其历史结构在覆盖一文件的两个编辑会话的三个时间点内的渐进改变。在时间T1,Nut 11102可保持数据D1 11110且其历史可为空11112。用户可在时间T2编辑11126数据D1 11110且可产生一新版本D2 11114。应用可采用一快照存盘方法且可在时间T111118将数据D1 11110的原始版本作为数据的一快照储存于Nut的历史区段11116中。随后,用户可在时间T3编辑11128数据D2 11114且可产生一新版本D3 11120。应用可采用一快照存盘方法且可在时间T2 11124将数据D2 11114的较旧版本作为数据的一快照储存于Nut的历史区段11122中。在时间T3,历史区段11122现在可保持数据D3 11120的先前版本的两个相异快照11118及11124。用户可在任何时间使用简单历史提取方法随意浏览及提取Nut的历史11122,从而允许复原或自其产生全新文件。可存在Nut元数据参数,其可控制历史区段的类型、频率及/或寿年以便设定手边的数据的合理历史生长。对于一些文本文件,永远保存一些或所有改变可为实际的,因为其大小在使用一存盘增量方法时可相对小。此可允许Nut在此后的任何时间产生文件的一些或所有经保存版本。二进制文件可取决于应用而存盘为快照或增量。某些事件驱动应用可将完整组事件序列存档为其历史。应注意,Nut历史可存盘于Nut自身内且可独立于外部程序及/或储存***。只要可存在可用于NUTS环境中的有效负载类型的存档方法,即可以此方式历史地存档任何有效负载。
NUT日志
Nut容器可被建构以储存Nut的事件日志。由于计算机过程可读取、操纵及/或写入Nut,故其可在Nut自身内产生及留下对Nut进行的逻辑操作的审计存底。审计存底本质上可在来自对象视角的每一对象基础上存在。因此,在Nut历史与Nut日志之间,自从数据对象起始的事件编年史可储存于一单一容器中以用于在随后时间进一步检视。Nut存档的精确性、内容及/或粒度可相依于通过对Nut进行操作的应用的开发者的此等特征的严谨及方法用途。Nut日志的实***置可在称为Vita的Nut部分中(图81)且其不透明度可由Nut RAT来控制。
图112展示一简化Nut示意图,其绘示其事件日志结构在覆盖Nut上发生的两个事件的三个时间点内的渐进改变。此实例可针对Nut历史继续来自图111的案例。在时间T1,Nut 11102可保持数据D1 11110且其日志11212可保持可指示在时间T1产生Nut 11102的事件E1的一个日志条目11218。用户可在时间T2编辑11226数据D1,其可在Nut 11104中产生数据的一新版本D2 11114。编辑应用可在T2将一事件日志条目记录至Nut日志11216中,如可由组件11222指示。随后,用户可在时间T3编辑11228数据D2 11114且可产生一新版本D311120。编辑应用可在T3将一事件日志条目记录至Nut日志11230中,如可由组件11224指示。在时间T3,日志区段11230现在可保持三个相异事件日志条目11218、11222及11224。用户可在任何时间使用简单日志提取方法随意浏览及提取Nut的日志11230,此可允许Nut上的审计。可存在Nut元数据参数来控制日志区段的类型、频率及/或寿年以便设定Nut的合理且适当日志生长。
***管理者及应用开发者可知道当在修改数据对象中可能涉及一个以上应用时追踪其***上的错误及错误所涉及的工作及精力,因为其可能必须浏览一些或所有参与应用的事件日志(若其可具有对所有这些的访问)且可过滤出关于成问题对象的事件日志条目且接着可能依对象上可发生该事件的序列手动重建该等事件。在使用Nut日志的情况下,可已在来自对象视角的对象等级下完成事件日志的此收集、过滤及重建。此外,Nut的元数据可将工作应用规定至对象所有者可期望的事件日志消息细节的事件粒度。此粒度的范围可为自一简洁除错等级至一详细除错等级,以便追踪调查的各种线。敏感的最高机密有效负载可能需要事件日志细节的最高粒度等级,以便对其访问历史执行一审计存底。简而言之,此可为通过任何应用在一对象需要的每粒度等级的每一对象基础上控制对象的可审计过去的一致且客制化方法。术语一致可指可用日志特征的一致设计及操作且术语客制化可指设计可适应的每对象偏好。
基于关系的密钥(RBK)
可如何建立基于关系的密钥(RBK)的描述应被可已手动使用加密工具的任一者所耳熟:Bob及Alice可能希望私密地通信且因此其可彼此交易随机产生的非对称密码密钥(仅公开部分)或可在诸如PGP或其效物的工具中使用密钥以交换加密消息及文件。Bob及Alice对密钥对的保护及管理可完全取决于它们。此可导致适当建立、维持及利用各关系的蓄意且艰难任务,从而可能需要Alice及Bob具有对密码、其适当用途及/或密钥保护的入门知识。此类型的密钥交换可在Bob或Alice不具有经由一集中式目录或一信任网站的经建立公开密钥证书时发生。其亦可在参与者感觉产生一完全私密通信通道可能需要一另外私密层时发生。
若RBK是Alice及Bob等人的预设通信方法,则可能发生什么?后果可能是什么且以一无痛方式使其发生可需要什么?RBK的建立、维持及/或使用的***方面可为自动的。建设性的是在探究如何***性地完成RBK的细节之前探索RBK的一致应用的一些性质及后果。
基于关系的密钥的特性
·两方之间的信任等级可为一动态可调整参数。此可为任何两方之间的现实生活关系的一观察:信任可为相对的。其可随着时间基于事件及通信而盛衰。
·信任等级的单边调整。关系中的任一方可在通知或不通知另一方的情况下随意单边地改变其关系的信任等级。
·可从消息上下文判定关系通道健康。任一者可不时破解***及密钥。RBK的预设用途可允许任一方测试通信内容且可判定另一人的***或密钥已被破解的可能性。在最简单情况中,不具有RBK加密的来自Bob的消息可能为被破解的标记。
·可随着时间评估关系的真正性质。若经由RBK传输不正常性质的消息且发送方的密钥可能尚未被破解,则发送方可能已改变关系的性质。
·损失关系可为永久的且关系的一些或所有历史可丧失商业及/或有意义价值。单边地,任一方可通过阻止其消息或擦除其RBK组而断开关系。关系通道的此逻辑操作可为各用户呈现一确定性单边消息阻止能力。
·各方可严格遵守相互服从的基本原则或承担损失关系的风险-基本原则可随着时间变化。数字地说,含蓄基本原则的违反可以一永久方式导致关系的单边断开。
·其可允许呈一数字密码编译形式的真实世界关系的更紧密表达。呈其最广泛使用形式的公开密钥密码编译可为可与人们如何形成关系相反的一集中式模型。RBK可为分布式且可以一私密方式使用公开密钥密码编译。
·破坏隔离。Bob环境上的RBK破坏可与Bob及其可已与其联系人(即,Alice)建立的RBK通道隔离。对Alice环境的损坏可与其和Bob的通道及其相互历史公报隔离。Alice的一些或所有其他关系通道可为安全的且可不被破坏Bob环境的黑客攻破。
个人信息管理器或PIM可为计算机软件中的熟知应用概念。其可经广泛限定为可提供个人用途的生产力及组织工具的各种功能的混合物。PIM可提供工具,诸如但不限于日历、通讯簿、联系人管理、通行码保持器、笔记、电子邮件管理器、聊天功能、项目管理、密钥管理器、计算器、任务列表及/或活动记录器。PIM可为此等功能的任一者的组合或其可仅提供一单一功能。PIM可经设计以按一隔离方式局部操作或仅在PIM网站伺服器中或在其任何组合中操作。在向前进行的论述中,对PIM(诸如一通讯簿或聊天或电子邮件管理器)的此等功能的参考可理解为提供该功能的任一者作为其供品的PIM或其可为其唯一功能。
图113展示可如何建构Alice与Bob之间的数字通讯簿条目以针对通讯簿中的一些或所有关系以一致方式支持RBK。Alice的通讯簿11310(其可为由她的PIM提供的一功能)可具有两个条目:用于其自身的一条目11320及用于Bob信息的一条目11330。在Alice自身条目11320中,其可已列出其自身的基本联系数据11322及一些个人资料11324。Alice的通讯簿条目11320可经储存且可经固定为Alice***上的Nut档案中的有效负载。在Bob的联系人卡11330上,Alice可具有Bob的一些联系信息11332,诸如其名字及电子邮件地址。Bob的通讯簿条目11330可经储存且可经固定为Alice***上的Nut档案中的有效负载。Bob的通讯簿11350(其可为由他的PIM提供的一功能)可具有两个条目:用于其自身的一条目11360及用于Alice信息的一条目11370。在Bob自身条目11360中,其可已列出其自身的基本联系数据11352及一些个人资料11354。Bob的通讯簿条目11360可经储存且可经固定为Bob***上的Nut档案中的有效负载。在Alice的联系人卡11370上,Bob可具有Alice的一些联系信息11372,诸如其名字及电子邮件地址。Alice的通讯簿条目11370可经储存且可经固定为Bob***上的Nut档案中的有效负载。当Alice及Bob决定与彼此建立RBK时,他们可决定在其之间建立一私密双向通信通道。Alice可通过产生一非对称密钥对11334及11336、将其储存于Bob的地址卡11330下方且将密钥11334的公开部分传输11344至Bob而开始程序。可由一通行语安全Nut、写在纸上的消息、打给Bob的电话、使用外界已知的Bob公开密钥的一消息或本领域一般技术者熟知的安全密钥交换协议的任何版本完成传输程序11344。当Bob接收其内具有密钥11334的此消息时,其可将消息储存于Alice的地址卡条目11370中以作为私密地发送消息至Alice的一密钥11334。Bob接着可产生一非对称密钥对11374及11376,将其储存于Alice的地址卡11370下方且使用Alice发送至其的公开密钥11334将密钥11374的公开部分传输11346至Alice以加密消息。当Alice接收此消息时,其可使用其对于Bob消息的私密密钥11336解密来自Bob的消息。她可提取内部的密钥11374,她可将密钥储存于Bob的地址卡条目11330中以作为私密地发送消息至Bob的密钥11374。她可针对Bob产生使用来自卡11330的密钥11374加密的一确认消息且可透过任何工作通信媒体将消息发送至Bob。Bob可接收消息,接着其可使用来自卡11370的密钥11376解密消息且可标记其RBK组被建立且与Alice互动。
Alice与Bob间的此RBK建立中的步骤可为自动的且可使用一单一动作按钮或命令来初始化。此可为NUT簿如何管理其联系人集合的操作基础且可在随后在此文件中的NUT簿部分中论述。Bob或Alice可单独针对其PIM中的其各自通讯簿中的一些或所有联系人卡重复该过程。最后,各人可建立用于其联系人的各者的一RBK通道,这可视为用于其关系的各者的私密通信通道。若Cathy是Alice与Bob之间的一共同好友,则Cathy与Bob的RBK关系可不同于Cathy与Alice的RBK关系且RBK配置可反映该现实。
既然我们可已限定RBK及其***用途的上下文,那么其可为Alice或Bob做什么?在两个实体之间发送消息的RBK的一致使用可允许其通信通道健康的监测。一实际用途的实例可为SPAM电子邮件减少。可估计,可由恶意及/或商业类型两者的SPAM电子邮件占据全局网际网络带宽及数据储存的显著容量。我们可冒险假定并非许多人欢迎此等SPAM容量。SPAM减少的一些通常方法可为使用基于内容图案辨识、域例外、地址例外的过滤技术及/或实际上执法关闭丰富SPAM伺服器。在其中RBK加密可为默认通信方式的模式中,可以更确定性方式侦测SPAM。
自动化程序诸如RBK的过程中的主要障碍之一可为显著缺乏用户亲和、用户可访问及/或用户可控制个人公开密钥基础设施(PKI)应用。NUT簿连同Nut的用途可尝试填充PKI间隙。其可提供灵活、安全及/或用户可控制方法以按一无缝方式储存、操纵及访问此信息。
图114展示减小现在可能已建立RBK通信通道的Alice与Bob之间的SPAM的流程图且其可为他们的预设通信方法且其可使用熟知公开电子邮件地址。若经由Alice与Bob之间的RBK加密电子邮件,则其可能为自Alice至Bob的有效电子邮件或反之亦然11414。若任一人从另一人接收未使用RBK加密的电子邮件,则该电子邮件很可能为SPAM且可被过滤出且可储存于SPAM频格11412中。
图115展示减小现在可能已建立RBK通信通道的Alice与Bob之间的SPAM的流程图且其可为他们的预设通信方法且其可使用未公开私密电子邮件地址-匿名电子邮件地址。若经由Alice与Bob之间的RBK加密电子邮件,则其可能为自Alice至Bob的有效电子邮件或反之亦然11514。若任一人从另一人接收未使用RBK加密的电子邮件,则该电子邮件很可能为SPAM且可被过滤出且可储存于SPAM频格11512中。此实例可假定该组私密电子邮件地址可仅在Alice与Bob之间使用以为彼此发送RBK经加密消息,因此亦将RBK信道概念扩展至电子邮件地址等级。我们可将通信信道定向电子邮件地址的此类型限定为匿名电子邮件地址。
可经由匿名电子邮件地址一致使用RBK的Alice与Bob之间的通信通道可展现可经分析以判定关系本身的健康的某些特性。我们可已依据默认从通道移除一些或所有未加密SPAM消息,如可在图115中描述。现在我们可测试适当RBK经加密消息的上下文。图116中的表列出Alice-Bob通信通道的健康的基于确定性上下文的状态矩阵。其可需要由Alice进行内容的一定性评估以指出其关系可正在发生什么?此展示Alice的一单边行动矩阵,其可基于Bob的行为,如可由Bob发送至Alice的消息所证实。
图116中列出的最后征兆可在Bob的角色可替换为一网站供应商(即,Alice可能已与一供应商建立匿名RBK通信通道)时造成一有趣案例。图117中的表展示Alice-供应商通信通道的健康的基于确定性上下文的状态矩阵。现在,Alice可具有追踪此供应商是否可能已透过匿名电子邮件地址及RBK组的信道可识别方面将其信息销售给垃圾邮件发送者的能力。其可将一透明等级提供至具有一清晰审计存底的供应商营销部门的内部工作中。可由一般用户以一***详细方式使此类型的供应商可归责性前所未有。供应商违反Alice信任的后果可为悲惨的,因为供应商可能永久失去联系其的方法。实际上,匿名电子邮件地址及/或RBK的适当且一致使用可允许Alice的数字等效物走出一商店且不再回来;此可充当供应商不滥用其客户端的个人信息的吓阻措施。
图118展示自供应商观点的Alice-供应商通信通道的健康的基于确定性上下文的状态矩阵。通道特性可为供应商提供其可采取的相同类型的单边行动来保护其生意且可能保护其客户端。一供应商对此方法的使用可能增强其对于私密性及数据安全性的声誉。亦可含蓄地陈述供应商可不参与客户端数据的批发无限制转售。
图119展示RBK的使用可如何帮助隔离一用户***上的敏感数据的破解。Bob11900可具有与Alice 11910及Dave 11920的RBK通道。Bob可已点击一特洛伊木马(Trojanhorse)网站且可已感染一密钥记录器或等效恶意软件且随后黑客可已能够渗透其RBK的安全数据储存(诸如其NUT簿)。因此,具有一些或所有其联系人的Bob的RBK组可已被破解11900。Bob可联系一些或所有其好友且通知其此攻破或其一些好友可已从使用其与Bob的私密通道发送至其的SPAM消息推断出Bob或其***出错。若我们查看Alice的NUT簿11910(其中她可储存一些或所有其RBK组),则她可将其与Bob 11912的RBK组标记为已被破解且可在Bob共同行动以移除其***上的病毒时产生一新RBK组。此可为对Alice的损害程度且其不扩散至Alice已建立的其他RBK关系。在其亦始终与其联系人使用匿名电子邮件地址时尤其如此。Alice可自黑客接收SPAM但当其将信道标记为已被破解或删除时SPAM可被自动忽略。当Bob可准备好时,Alice可产生一组新RBK及一新匿名电子邮件信道且其可私密地继续其数位对话。Dave的程序可相同于其RBK储存11920。
匿名关系
在过去几十年中已对网际网络提升及加强的数字关系拓扑及惯例可为不自然且不真实的。匿名性可为一强大关系构造且可为我们可在日常基础上享受大部分偶然互动的关系等级,诸如但不限于去药店购买个人产品、去一餐厅购买食物、叫一辆出租车去兜风及/或出现在一抗议集会上。与此实体现实相反,因特网上的几乎每一供应商可希望知道Alice究竟是谁,包含其可从Alice获得的一些或所有个人信息。许多供应商本身可通过不公开直接电话号码而保持相对匿名且可透过电子邮件、交易***及/或远端客服中心的远端外包客户服务代表为客户提供服务。匿名性的最普遍用途可为可希望隐藏的人,诸如黑客。当前可存在用于可希望在因特网上保持匿名的人的假人物产生网站但其可能必须以十分艰难方式保持追踪匿名性且可必须有目的双重地作出谨慎决定。RBK及匿名电子邮件地址的使用可为一般用户带来因特网上的此匿名不平衡的某平等且可在无需依靠假人物及偶然双重性的情况下授权其具有与供应商及彼此的更有意义的双向关系。
图120展示预封包个人资料Nut的简化示意图。Nut可储存关于一人12000的详细个人信息。其可出于不同目的自动化此个人信息的不同子组的预封包。12010可为一简单个人资料Nut,其可仅含有名字及电子邮件地址。匿名个人资料Nut 12020可仅展示一替代电子邮件地址。购物个人资料Nut12030可包含购物网站购买物品通常所需的信息字段。来自主信息12000的此数据子集的保护可经由简单规则及过滤器完成且可视需要在因特网上的一注册程序期间产生。无论供应商或服务是否可接受数据Nut,信息皆可用于在其他方法需要时***至正确字段中。若用户利用一匿名电子邮件服务(正向参考),则如12020的数据Nut可动态地提供针对所建立的特定关系产生的匿名电子邮件地址。
图121绘制可使用Nut的一自动化注册程序中的事件序列的图表。因特网上的一供应商可使用及接受个人资料Nut且可允许以一自动化方式与其客户建立RBK通道。用户可访问供应商的网站且可希望注册12100。用户可通过指导其NUT簿自动注册至供应商的网站且可输入注册网站的URL而开始程序。NUT簿可询问供应商以提取供应商为其注册可需的信息12102。NUT簿可组成供应商可请求的用户个人信息的一子组且可为用户展示一预览。用户可决定注册所请求的信息可为可接受的且NUT簿可已收集相关信息且可继续程序12104。NUT簿可提取且可产生含有预览信息的一预封包Nut且可将其发送至供应商的网站。供应商可接受注册请求且可将一询问发送至在预封包Nut中规定的用户的电子邮件地址12106。用户可接收供应商通过要求其转至一特定URL以输入验证码12108或其他可能检验形式而对其电子邮件要求其提供其可能并非一网站机器人(其可从事琐碎注册)的证据的询问。一旦成功输入验证码,供应商可确信请求可来自一人且可继续与用户建立自动产生的登录认证、登录密钥及/或RBK组。用户的NUT簿可针对供应商、其相关网站信息、登录认证、登录密钥及/或RBK组12112自动产生一登录卡。可使用程序中的几个点处的用户互动完成注册程序:初始化、个人数据封装检视/编辑及/或人类检验。挑选一登录名称、通行码、键入个人信息及/或为供应商产生一通行码保持器中的一条目的麻烦可不被要求且可为自动化的。当启动用户的NUT簿时,其在一完全鉴认模式中可无缝地具有对供应商的实时访问,因为NUT簿可在被要求时自动记录其。应注意,此程序可使用采用此方法以可能受益于用户及供应商两者的任何供应商来完成。用户及供应商的较少麻烦可从用户的其数据库获得更精确信息及可能他们之间的更多交易的可能性。
图122绘制使用Nut及一匿名电子邮件地址的一自动化注册程序中的事件序列的图表。因特网上的一供应商可使用及可接受Nut且可允许使用匿名电子邮件地址以一自动化方式与其客户建立RBK通道。用户可访问供应商的网站且可希望注册12200。用户可通过指导其NUT簿自动注册至供应商的网站且可输入注册网站的URL而开始程序。NUT簿可询问供应商以提取供应商为其注册可需的信息12202。供应商可接受匿名注册,因此NUT簿可联系NUT邮件服务且可在其账户下请求一对匿名电子邮件地址。NUT簿可组成且可展示待发送至供应商注册的数据的一预览,其可包含新产生的匿名电子邮件地址。用户可决定注册所请求的信息可为可接受的且NUT簿可继续程序12204。NUT簿可产生含有预览信息的一预封包Nut且可将其发送至供应商的网站。供应商可接受注册请求且可将询问发送至在预封包Nut中规定的用户的新匿名电子邮件地址12206。用户可接收供应商通过要求其转至一特定URL以输入验证码12208或其他可能检验形式而对其匿名电子邮件地址要求其提供其可能并非一网站机器人(其可从事琐碎注册)的证据的询问。一旦成功输入验证码,供应商可确信请求可来自一人且可继续与用户建立自动产生的登录认证、登录密钥及/或RBK组。用户的NUT簿可针对供应商、其相关网站信息、登录认证、登录密钥、匿名电子邮件地址及/或RBK组12212自动产生一登录卡。可使用程序中的几个点处的用户互动完成注册程序:初始化、个人资料封装检视/编辑及/或人类检验。挑选一登录名称、通行码、键入个人信息、产生电子邮件地址及/或为供应商产生一通行码保持器中的一新条目的麻烦可不被要求且可为自动化的。当启动用户的NUT簿时,其在一完全鉴认模式中可具有对供应商的无缝访问,因为NUT簿可在被要求时自动记录其。此程序可不需要可已尤其针对此关系产生的个人用户信息及电子邮件地址,其仅暗示用户与供应商间的相关电子邮件可到达此匿名电子邮件地址。如可在随后论述各种基于NUT的服务,其的一些或全部提供匿名注册。
可使用RBK及匿名电子邮件地址建立的通信信道可归因于其经由RBK加密任何事物的默认模式而以一确定性方式最小化SPAM。此外,其可将通道的双向控制给予可涉及的各方,使得可存在对于关系及其暗示范围的相互尊重。自此暗示关系边界的偏离可精确指出关系改变事件且可招致范围为自调查至以一确定性方式切断共同关系的一单向反应。对于尝试破坏Bob或Alice的数据的第三方,除检索该对正确匿名电子邮件地址以外,第三方亦可必须破解经加密消息及文件。
可接受且可处理自动化注册的网站可添加另外服务,诸如但不限于年龄过滤。父母可将一预封包Nut存于其孩子的装置的NUT伺服器上以指示一些同属识别特征,诸如但不限于性别、年龄及/或大概位置。此预封包Nut可自动用于使孩子在可接受Nut的任何孩子亲和或父母预批准网站上注册。供应商可基于此信息及其可提供的服务(诸如但不限于酒网站、烟草网站、电影预览网站、成人内容网站及/或枪械网站)接受或拒绝访问尝试。此外,因特网活动记录Nut可被配置于孩子的装置的NUT伺服器上以监测其活动及数位行踪。父母亦可通过跨家中的一些或所有装置使用此Nut使得装置切换对于孩子每日的累积的因特网使用无关紧要而管理对因特网使用的限制。可通过使用装置自身上的此孩子识别Nut及/或结合一基于NUTS的WiFi路由器(正向参考)上的特定配置设定完成某些网站的阻止或进入。
NUTS核心应用
图123中的表列出可包括NUTS核心应用组的应用。这些应用可驻留在可利用NUTS技术的大部分***中且其可处置Nut档案,如在图124中的操作计算装置的此简化图中展示。如先前提及,可已由先前在本发明中论述的材料指涉一些或所有此等应用。在本公开内容中无法更早地详述此等应用,此归因于其对于NUTS的一些或所有核心基本功能及能力的相依性,诸如但不限于锁节点、锁图、Nut部分、Nut历史、Nut日志、MIO、MIOR、Nut ID、RBK、梯度不透明度及/或匿名关系。一些或所有此等核心应用可指利用Nut作为基本储存单位,其可由一般档案体现但不限于此。此可暗示此等***触摸、储存及/或操纵的一些或所有数据可依据默认带来高度安全性及访问控制。可已用于锁节点设计中的设计哲学(其可协助读者更充分理解此核心应用)可为迭代、整合、独立性及/或可识别性的概念。
NUTS核心应用:NUT伺服器
可在图125中的用户装置的简化图中示意性地描绘NUT伺服器。背景中可存在NUT伺服器可执行的若干密钥功能以组织及维持NUTS兼容环境。NUT伺服器12510可在一用户计算装置12500的应用空间中运行。装置可具有其中可保持Nut档案12522的某储存器12520。NUT伺服器可负责提供API及开始于各种应用(包括NUT簿12512、NUT浏览器12514及/或包含装置OS的其他应用12516)的通信信道。NUT伺服器亦可负责维持与可属于可运行NUT伺服器12530且可能与NUT云端12540交谈的用户的其他装置的外部连接。NUT伺服器可并非用户装置12500的文件***的一替换者而是可透过本端操作***及文件***工作以访问及处理任何Nut档案。
图126展示NUT伺服器及其功能的主要内部的一简化图。用户装置可具有管理硬件及软件的操作***12600。装置可具有由透过OS12600运行的网络接口12602及其相关联驱动器服务的外部通信。装置亦可具有可由OS12600附接且可由其管理的一文件***12604。储存于文件***上可为MIOR 12610的数据储存且用户数据可包含于Nut 12606及12608中。OS 12600亦可充当一应用环境,其中可运行许多应用,包括图中描绘的应用:NUT伺服器12620、NUT簿12642、NUT浏览器12644、MIOR伺服器12646及其他应用12648。NUT伺服器12640可在另一装置上运行但应用编程接口12636亦可处置该通信。
在NUT伺服器12620内,可存在一模块12622,其可将鉴认执行至NUT伺服器中且可维持一密钥缓存。当NUT伺服器开始时,其可不具有窥视任何Nut中的任何安全层的任何授权。用户及/或硬件可提供必要鉴认,此可允许NUT伺服器鉴认模块12622获得对某些密钥组的访问。此可简单得像具有保持密钥组且要求用户提供通行语、打开Nut且将其有效负载中的密钥组缓存至受保护/未受保护存储器中的一通行语受保护的Nut;或其可为如在许多计算装置中找到的安全硬件提供密钥;或其可为一硬件符记,诸如但不限于用户可提供的USB密钥。密钥组可至少含有一NUT伺服器鉴认密钥及/或用于可安装于本端装置上的各NUTS核心应用的密钥。可存在出于组织目的及效率可由NUT伺服器维持的一缓存12624。缓存的一部分可为Nut ID的索引12626。此索引可含有用户可希望本端及远端地保持追踪的一些或所有Nut ID。在索引中查找一Nut ID可指示可在何处找到Nut ID。缓存12624的另一部分可归属于保持频繁访问的Nut的存储器中的Nut缓存12628。
NUT伺服器可负责同步具有相同Nut ID 12630的两个或两个以上Nut的内容。一旦NUT伺服器可经适当鉴认且其可具有足够密钥来访问用户拥有的一些或所有Nut,则其可打开各种Nut以测试其内容且管理其。各Nut可保持一版本编号及最后更新或修改的时间戳。若一更新在Nut上发生且NUT伺服器可通知其或NUT伺服器可注意到其,则其可注意更新且可查找索引12626以查看其中此经更新Nut的副本可本端或远端地存在的一些或所有位置。接着可***性地开始传播及同步12630受影响Nut的改变。此程序可归因于嵌入各Nut内的元数据(诸如但不限于Nut ID、版本编号、内部dign、历史及/或日志)而十分简单。若可满足各种修改准则,则最新版本可简单覆写现有版本。NUT伺服器能够部分或完全窥视一Nut可为不必要的,因为其取决于如关于是否可发生一同步更新的Nut的梯度不透明度可允许的可视元数据。足够明文元数据可允许不具有密钥的NUT伺服器将一些Nut同步至讨论中的Nut。在其中可存在版本分叉或分支的可能性的情况中,用户可涉及决定当前进行哪一版本。复制功能12630可允许同级NUT伺服器自动跨用户控制装置传播此等类型的改变。当一用户可将多个NUT伺服器安装及连接于其装置上时,由12630提供的功能可构成用于用户的一个人NUT云端。用户可以一自动化方式享受其装置的任一者上的同步及/或重复Nut。当发生更复杂版本问题或可请求Nut的某一历史版本时,修订控制模块12632可处置这些请求。其可利用Nut所采用的特定版本增量方法且可执行更精细版本粒度控制以产生Nut的期望版本。这些Nut特定版本增量方法及Nut的内容读取/写入方法可存在或可不存在于本端MIOR中,因此可存在MIOR接口12634以在可需要该等功能时供应这些功能。
访问Nut可被限定为可含有用于其他***或容器的鉴认认证的一安全Nut,诸如但不限于网站登录、数据库登录、公司***、个人装置、软件***、其他Nut、NUT伺服器、电子邮件***、聊天***及/或需要一秘密万能密钥及/或登录ID的任何数字***。NUT伺服器可呈现用于其他应用的应用接口12636以访问其功能。NUT伺服器可由其应用类型及安装详情来识别,另外,其亦可被分配Nut ID。用户装置的NUTS配置档案可指向文件***12604中的配置目录或区域,其中其可找到保持其可需要知道的各应用(诸如但不限于远端及/或本端NUT伺服器)的信息的访问Nut。例如,本端NUT伺服器12620配置目录可保持含有远端NUT伺服器12640的NutID、类型及/或访问密钥的一访问Nut。成功打开此访问Nut可为本端NUT伺服器12620给予足够信息以尝试联系远端NUT伺服器12640且鉴认其,使得其可打开一信任通信通道且为彼此发送Nut。以类似方式,可存在NUT伺服器可互动的各种应用的配置Nut。由于访问Nut是Nut,故其可保持同步、复制及/或在同级NUT伺服器中传播。
自NUT伺服器可如何运行的此说明,Nut内部的反复设计方法可延伸至应用及相关联于配置及鉴认其的数据可如何储存及访问。敏感数据可尽可能多的储存于Nut中。当我们考虑Nut的内建功能及特征及由NUT伺服器提供的功能时,此一简单陈述的后果变得深远。未鉴认NUT伺服器可提供足够功能性以复制、传播及/或同步其可不具有内部访问的Nut。此可系归因于一Nut的梯度不透明度性质:构成未显示元数据的许多Nut部分可被保存为明文且可提供用于由NUT伺服器对Nut执行的许多正常维护行动的足够信息。归因于可建立至Nut中的安全性特征,用于跨WAN或一内部网络在应用之间运输Nut的通信通道的安全性可具有较少意义。
使用访问Nut的此方法可解决与软件设计、程序设计及/或用途相关联的数个问题。例如,软件开发者的缺点可为当其在开发其程序代码的程序中将登录及通行码硬编码为其程序代码,以便使项目加快至一测试***中,诸如一测试数据库或测试应用程序伺服器。可通过恰在可已经最小测试的阶段的前将另外鉴认程序添加至程序代码中而完成至QA的过渡及测试及开发的生产模式。在使用访问Nut的情况下,可能在最早阶段将其整合至开发程序中且程序可永远无需改变,仅访问Nut可改变。管理器可针对一开发者、QA工程师及/或生产用户分配及产生适当访问Nut。此等访问Nut可无缝地整合至其各自NUT簿集合中且可允许其在不曾分开签名的情况下连接至其应用资源。管理器可实际上维持访问Nut的所有权且视需要改变所有权且NUT伺服器可最终复制及/或同步所有权,使得终端用户可永远无需被其打扰,由此项目管理器可远端且安全地管理用户与其应用之间的关系。访问Nut的有效使用可允许任何用户针对单点登录(SSO)配置其***:可在需要时自动鉴认至其本端NUT伺服器上的SSO及其他一切。阶层通行码(正向参考)可允许某些访问及信息子组的另外安全性。
图127是NUT伺服器的一替代实施例,其中Nut缓存12628可替换为NoSQL数据库12728的功能。NoSQL数据库可被一些人视为对象定向数据库的一子组且其的许多可十分有效地处置可为非表结构的Nut状容器。一些NoSQL数据库(诸如CouchBase)可提供内建复制及NUT伺服器可采用以执行其的一些职责的其他特征。
NUTS核心应用:MIOR伺服器
模块化I/O贮存库或MIOR可为如在图128中描绘的基于伺服器的服务。此可为MIO***及方法的一典型实施例。计算装置12810可具有在装置上运行的本端MIOR伺服器,其具有其自身本端MIOR缓存12812。若本端MIOR伺服器可不满足一请求,则其可联系熟知基于因特网的MIOR伺服器12820或其镜像12830。可搜寻其各自缓存12822及12832以获得请求中的适当MIO模块。若找到,则可将其发送回至用户计算装置上的起源MIOR伺服器。若在因特网上的第一MIOR伺服器12820处未发现所请求模块,则MIOR伺服器12820可联系因特网上的其他MIOR伺服器以查找模块。原始请求可具有一超时或对其可共同形成的级联请求数量的级联限制。在一些实施例中,请求可异步完成而非在一阻止模式中完成(若适当)。
此程序的一仔细检测可在图129中描绘。应用12918可在本端装置12910上运行,其可需要将Nut档案12908读取至其存储器中。Nut 12908可指示其可需要来自MIOR伺服器12914的用于其有效负载的某一组读取及写入模块。应用可联系其本端MIOR伺服器12914且可针对此Nut请求读取及写入模块。MIOR伺服器12914可查找其本端MIOR缓存12916以查看其是否可具有这些模块。若找到,则可将模块或模块在本端***或网络上的位置信息回复给应用。若未找到,则MIOR伺服器12914可联系跨WAN 12900或MIOR伺服器的其他网络以从诸如12920的一较大MIO贮存库请求模块。MIOR伺服器12920可为专用伺服器,其经优化以针对各种模块为来自因特网的请求服务。一旦MIOR伺服器12922自MIOR伺服器12914接收请求,其可针对这些模块检查其本端MIOR缓存12924。若找到,则可将请求中的模块回复给MIOR伺服器12914。若未找到,则其可联系其同级群组中的其他MIOR伺服器以搜寻此模块。同时,其可将“无法找到但继续搜寻”的消息发送回至MIOR伺服器12914。当远端请求带回所请求模块时,本端MIOR伺服器12914可在将其储存至其本端MIOR缓存12916之前鉴认模块。一如既往,当应用12918例示及使用模块时,其亦可使用正常NUTS内部机制鉴认内容。
图130展示用于从MIOR伺服器提取MIO模块的流程图。
可经由会话密钥或匿名账户建立远端MIOR伺服器与本端MIOR伺服器之间的鉴认(若如此期望)。更高等级的服务可包含对具有客制加密Nut的排他模块的访问,诸如一公司可希望针对使用客制开发软件的其员工使用广泛MIOR网络分布但员工可仅在其具有可能来自公司的一访问Nut中的访问密钥时打开及鉴认客制模块,因此所有权信息可始终固定于相对开放服务平台上。
在图131中展示一MIOR缓存的内部组织的一典型实施例。缓存13100可具有一组索引13110,其可含有对可交叉参考及编入索引的各种模块的参考。MIOR结构不限于此实施例而可含有一些或所有这些组织结构及技术。由于每一模块可储存于Nut中,故主Nut ID索引13112可含有模块的一些或所有Nut ID及其在缓存中的位置。档案I/O模块索引13114可通过描述及Nut ID列出该类型的一些或所有模块。档案应用模块索引13118可通过描述及NutID列出该类型的一些或所有模块。档案显示模块索引13120可通过描述及Nut ID列出该类型的一些或所有模块。集合模块索引13116可通过描述及Nut ID列出属于一集合的一些或所有模块。可建立其他索引以允许缓存的有效搜寻。集合群组(正向参考)13130至13150在图中描绘为视觉地展示可如何将相关模块分组在一起。集合分组方法可在NUT簿的操作中扮演一重要角色。
NUTS核心应用:NUT浏览器/NUT外壳
图132展示NUT浏览器应用的图。NUT浏览器本质上可为可在NUT外壳命令线接口(CLI)应用的功能上运行的图形用户接口(GUI)。通常已知的外壳程序可为bash外壳、csh、cmd.exe、DOS外壳等。通常已知的档案管理器程序可为Windows窗口、Apple寻检器及其他。此两个程序的用户面向行为可十分类似于其通常已知的对应物;然而,差异可为NUT浏览器及NUT外壳可辨识Nut且可更充分处理其以利用可储存于每一Nut档案中的丰富元数据。可由两个方法识别每一Nut档案:表面'*.nut'档案名称延伸及/或更深入探讨作为一Nut的内容。大部分文件***可适应档案名称延伸方法。可在尝试确认一*.nut档案实际上可为一Nut时或在将新档案自一未信任源引入至本端***中时使用Nut读取尝试。
大部分流行操作***(诸如Mac OS、Windows及/或Linux)可使用若干方法来识别文件类型,包括档案名称延伸、幻数、统一类型标识符(UTI)、文件***属性及/或其他。档案名称延伸可为最表面方法,因为当可改变一档案名称时,其内容类型与辨识间的连结可被切断。幻数及UTI可为嵌入档案标头处的紧凑但受限元数据形式且可需要对一文件类型索引的访问以交叉参考该内容可为哪一形式。此文件类型索引可存在于OS、文件***或其他外部***中。文件***属性可经表示为可附接至一文件***的索引机制内的例项的档案对象的属性。此信息可仅在可记录及辨识其的文件***/操作***组合的域中有效。Nut元数据不仅可规定有效负载类型而且可规定可如何读取、写入、显示及/或运行它。其可规定成功处理内容可必需的各种模块的一些或所有版本。实际上,其可移除对用于处理内容的任何及所有外部参考表的一些或所有相依性,诸如但不限于Windows注册项目及/或Mac OS性质清单。此可允许Nut自描述且规定访问其内容可需的必要组件且可允许MIOR伺服器自动安装其在访问时可缺乏的任何组件。
NUT浏览器/NUT外壳可读取任何选定Nut的元数据且可与各种其他NUT核心应用通信以尝试通过访问13232MIOR伺服器13250而打开、显示及/或运行关于Nut的内容的适当应用。若用户已适当鉴认至NUT伺服器13240中,则NUT浏览器/NUT外壳可具有对一些或所有必要访问Nut的访问13234以更进一步适当打开Nut。实际上,NUT浏览器/NUT外壳可作用相同于可适当处理一Nut的任何应用。
取决于可用于本端***上的永久储存,NUT浏览器/NUT外壳可允许具有相同文件名的多个Nut存在于相同储存区域中,只要Nut ID可不同。一些储存***(诸如数据库及对象文件***)可不对文件名敏感。对于大部分基于云端的储存***,Nut ID识别方法可比传统路径名称方法更自然地拟合。
NUTS核心应用:NUT簿
图133中展示NUT簿的示意图。目前为止,典型Nut处理应用可看似类似组件;其可形成在图134中更一般化的Nut处理架构的基础且可运行类似于NUT浏览器应用可如何在图132中工作。NUT簿可具有至NUT伺服器13334及MIOR伺服器13332的必要接口。其可视需要处理MIOR模块13326至13330以提供由其提供的功能,如由13322及13324指示。NUT簿的主要功能可为维持称为一卡目录的一组有组织缓存13336。NUT簿可为由如在图135中展示的数据集合组成的一电子卡目录。NUT簿可提供在一典型个人信息管理器中找到的一些功能。为什么NUT簿是一卡目录?此处是为什么有意义的各种理由的一清单:
·用户无法容易收集、处理及组织任何数据组
·其通常可在电子表、文本文件或简单数据库中非正式地完成
·不存在容易访问的一般效用来以一安全方式获取、组织及/或登记不同数据集合,其中贮存库可包括集合中的每项目的数据文件。
·PKI证书、联系人卡、RBK组、网站登录、棒球统计、VPN登录及认证、汽车历史、DVD集、戳记集、书集、孩子的病历记录等。此等可视为不同数据或卡集合。
·Nut可以可易于使用及运输的一安全方式安全地储存各项目类型。
·因此,我们亦可储存使NUTS无缝地工作至Nut中可需的一些或所有加密密钥。
·我们可通过将其Nut ID及任何可选搜寻索引元数据编入索引于NUT簿应用内而访问此卡集合。
·NUT伺服器可意识到某些重要卡类型且可在其的许多任务中优先考虑其的处理。
·可存在于多NUT伺服器环境中的Nut可依据默认具有封装至每项目的单一档案中的复制、同步、登录、完整历史、加密及/或访问控制以易于运输。
NUT簿可含有一密钥缓存13520,其可取决于可用硬件而呈受保护或未受保护存储器的形式。密钥缓存可储存具有所附接适当属性(诸如但不限于其在期满、期满时间及/或期满事件的前可使用的次数)的频繁使用访问密钥。其的主要目录缓存13550可具有其可保持追踪的Nut的一主Nut ID索引。缓存可由不同数据集合组成,诸如但不限于PKI证书13562、联系人卡13564、NUT伺服器访问卡13566、文件控制卡13568及/或任何其他经限定集合13570。这些集合可取决于NUT簿及可用硬件的配置而储存于存储器中、一数据库中、一文件***或其他储存机制上。数据库及文件***储存可定位于远端,只要其可经由一网络接口在本端访问。图136可为如何组织NUT簿目录缓存的一布局的实例。
储存于NUT簿中的数据可为PIM、通行码保持器、PKI证书管理器、密钥环、通讯簿、记笔记应用、食谱书、DC集索引、戳记集索引、书集索引、病历记录及/或可表达为一集合的任何其他数据集的凝集。用于一般用户的当前现有技术可不为其提供将其生活的不同片段数字地组织成一功能数字形式的许多选择。通讯簿应用可为众多但可缺乏无缝容易交叉兼容性。大部分明智用户可不将敏感通行码储存于其通讯簿中且可评估及使用用于该特定目的的一通行码保持器应用。甚至仅对于此两个简单应用、通讯簿及通行码保持器,若用户将考虑诸如操作***兼容性、同步、云端占用面积、备份、网站浏览器整合等的特征,则决策矩阵可已扩展若干维度。且,无法保证通行码保持器与通讯簿间的良好整合。若用户希望保持追踪其家庭成员的病历记录、汽车服务记录、房屋维护计划、关于孩子课程的学校登录、宠物兽医记录、数字装置信息及/或其他数据集合,则他们可能必须使用用于各数据类型的不同应用依各种不同格式进行追踪。电子表的一常见用途可为组织此不同数据集且可充当用户的通用数据库。NUT簿可允许用户将一些或所有信息类型***性地储存为Nut形式且可将数据用途整合至任何Nut兼容应用中。可经适当形成及识别的数据可通过可利用其经限定结构的应用来运行。NUTS环境的一些或所有特征可用于NUT簿中的每一Nut,诸如但不限于安全性、同步、复制、备份及/或非退化。
非退化及/或时间兼容性可为使用MIOR的一重要特性。通过使用NUT簿连同MIOR内的集合,用户可获得若干优势:其可产生的数据可为他们的,该数据可为安全的,且其可具有一合理预期以能够无限地访问其数据(或只要NUTS可起作用且受支持)。NUT簿亦可充当数据库用户的世界与档案用户的世界之间的一桥梁。其可提供呈储存为一文件格式的记录形式的一数据库的益处。用于特定集合的读取/写入功能的MIO模块可为与检索用户可想到的特定集合的细节相关的一有组织规格字段组但可不限于此模型。在一些实施例中,读取/写入模块可为至各种数据库的接口且可提供调用应用的野外制图及转换功能。在其他实施例中,其可为使用来自一软件公司的特许密钥解密有效负载的所有权二进制格式的读取/写入模块。模块可用以访问数据的各种方式可为十分不同的且可取决于应用开发者的目标而具有许多排列。可由具有十分少程序设计知识的用户自简单现有模板开始客制化一特定集合的基本结构。新且有用集合可添加至其本端MIOR以用于其个人用途且经由Nut档案与其他人共享。其亦可提交至一因特网MIOR伺服器以供任一者在某认可程序后使用。
既然我们可已涵盖NUT簿的一些动机及设计目标,那么我们可集中于NUT簿可如何充当PKI且最终可为一般用户提供SSO等级的服务。图137概述阶层通行码的概念。在NUTS用语中,通行码可等效于通行语,因为Nut可接受两个形式且替代任何通行码,用户可使用硬件符记、经编码二进制密钥或可提供秘密密钥的任何其他方法。通行码及其相关联微分器(诸如但不限于双因素鉴认、登录规则、客制通行码规则、客制网页及/或硬符记)的杂草状扩散可迅速失去控制且可使用户在其中其可诉诸于极其容易地记起跨许多网站的通行码的一精神状态中,由此用户可抵消单独供应商为使其***对于其客户端更安全所做的努力。NUTS的较佳解决方案可为使用尽可能少通行码以允许有效SSO访问且阶层通行码可体现此方法。可存在一主要通行码13710,其可允许至NUT伺服器及NUT簿中的基本鉴认。主要通行码可打开含有可在密钥缓存13520中快取的一密钥的Nut且可被配置以在会话或一预定事件结束的后自动删除。此主要密钥可足以有效使用大部分NUT伺服器及NUT簿功能。可存在第二等级通行码,诸如但不限于购物13714、工作13716、金融13718及/或通信13712。仅可在成功输入有效主要通行码后输入此等通行码,由此其可尊重一通行码阶层。此第二等级可允许用户分离及隔离不同数据群组的不同安全等级。第二等级中的各通行码可经配置以在密钥缓存13520中具有不同寿年,使得用户可控制他们的曝露。例如,用户可具有一银行集合卡中的一因特网银行账户登录信息且可将其与可具有一单一使用寿年的金融密钥固定在一起。接着,每当其可希望通过访问储存于银行卡中的登录及通行码来访问银行网站时,其可必须输入金融通行码。在各银行卡内,可随机产生网站通行码以最大化熵且经储存以供NUT簿的自动登录使用。可添加更多等级,但其取决于用户信息的复杂性及用户可希望记住多少。可存在一主通行码13720,其可绕过一些或所有阶层通行码。可针对最大保护仔细选择或随机产生主通行码且可将其保持在一安全位置中。在使用此阶层通行码方法的情况下,用户可仅需仔细选择可难以猜测但可仅归因于其可需要记住的通行码数量的减少而可更易于记住的一组通行码,且此可形成其SSO访问的基础。
图138经历用于打开一个人文件Nut 13806的通行码输入程序。此文件可仅由主要等级密钥来保护,因此输入主要通行码13710以访问主要密钥以鉴认至NUT伺服器13804中可足以打开保持个人文件13806的Nut。在图139中,主通行码13720路线可完全相同于主要通行码路线。
图140展示可如何打开由一第二等级工作通行码13716保护的一工作文件。可供应主要通行码13710以访问第一级密钥,接着可输入工作通行码以获得对工作等级密钥14008的访问,其可解锁工作文件Nut 14010。在图141中,解锁路线的主通行码13720可保持相同于图139中,其仍可为一单一步骤访问,因此可以一更安全方式产生主通行码。
图142展示NUT簿密钥缓存13520的一更详细图。其可具有针对与NUT伺服器14210相关联的密钥划分的一区段且其可具有针对其的各种卡集合14230上的用途划分的一区段。
图143展示NUT簿可如何查看目录卡的流程图。
保留所有权是关于不同拥有者的Nut混合的概念。假定Alice在Acme公司获得一新工作且其两者皆可使用基于NUTS的应用来管理组织其各自联系人及/或数字密钥的不重要细节。另外,Acme可使用Nut来控制访问Nut且由部门及/或由员工访问等级仔细地锁定公司文件。当Alice被雇用时,Acme的HR部门可对Alice发出一般公司访问Nut:其可为可允许Alice查找诸如内部公司联系人列表、客户列表及/或各种公司文件的信息的访问Nut。Acme的NUTS***可能已被客制化及/或配置以通过将有效负载的副本包装成由员工的特定访问Nut及公司主密钥锁的包装Nut而给出对可储存于Nut中的敏感文件的访问。这些公司Nut的所有权(RAT)可始终为Acme。类似地,Alice的个人Nut可始终使其作为RAT。以一密码编译方式明确限定拥有者的能力可允许由其NUTS环境内的各相应拥有者适当处理各Nut。Nut的此保留所有权特性可允许Alice在其可使用的任何装置上组合其Nut与Acme的Nut且维持对其的控制。相同操作可应用于Alice装置上的Acme的Nut。Alice及Acme两者皆可将其各自访问Nut的寿年设定为一相对短周期。例如,对于储存于外部***上的Nut,寿年可设定在60天。因此,每60天,可由密钥拥有的Nut的各拥有者更新密钥或可由管理密钥的外部NUT伺服器自动删除密钥。若在一适当访问Nut中发送删除命令至适当NUT伺服器,则可强制发生删除且其可被编码以***性地删除拥有者的一些或所有受影响Nut。由此,各方可具有直接或间接在外部***中维持对其Nut的控制的能力。因此,若Alice离开一新工作,则她可知道她可能已在其公司桌面计算机上留下副本的个人联系信息可在60天或更短时间内自动删除。相同操作可应用于留在Alice的个人装置上的任何Acme拥有的Nut:若不存在经更新的访问Nut,则***上不存在相关联Nut。此类型的Nut混合可意在解决篡改两个或两个以上分开联系人清单及不同组安全措施的老问题以用于将工作带回家。现在,Alice可始终使用其个人NUT簿作为其个人及职业生活中的主要联系人来源且其可合理地确保该来源可为安全的。
在另一实施例中,NUT簿联系人卡可携载对含有一熟人的个人信息的外部Nut的参考或嵌入该等外部Nut。来自Bob的外部Nut可不被Alice拥有而被Bob拥有。Bob可为Alice发送关于其自身的一预封包受限详细联系Nut且可维持其在Alice的NUTS环境中的所有权。Alice针对Bob的NUT簿条目可直接或通过参考将此Nut嵌入至其针对Bob的联系条目中。无论何时Bob改变关于其自身的一些或所有信息(诸如新邮件地址、新工作地址、电话号码或其他受影响信息),其可通过任何可用方法将对其预封包联系Nut的更新发送至Alice且一旦Alice的NUT伺服器辨识该更新,其可自动更新Alice的NUT簿中的Bob卡中的适当嵌入式外部Nut。接着,Alice的NUT簿可运行联系应用以处理经更新的卡,此可导致Alice的Bob卡中的更新。此最后步骤可确保Alice的Bob卡条目可永不丢失其关于Bob信息的过去历史且Alice可在期望时追踪Bob信息的各种历史改变。一些或所有此步骤可在不干预良好建立的信任RBK关系的情况下自动发生。此可意谓Alice的一些或所有信任RBK关系可具有含有较少或不含有人工干预的经更新联系人信息,此可导致极大节省Alice及其好友的各者的时间及精力。若Alice具有99个RBK联系人且可发生50次更新,则仅可必须由受影响人自身初始化50次改变且其余可由各受影响人的NUT伺服器自动处置。在一传统通讯簿设定中,50次更新可变为受影响个体进行的50次更新、发送至99个好友以通知其该改变的通知、99个好友的各者对其自身通讯簿进行多至50次更新连同50次更新可产生的近10,000个事件内的某等级的转录错误,更不必说可涉及的100个人所花费的集体时间。可通过具有一集中式服务替代地解决此实施例但此等服务可提供受限私密性、访问、所有权及/或控制。NUTS解决方案可尽可能多地强调分散化,同时尝试始终维持高等级的私密性、历史、审计存底及/或所有权。
基于NUTS的服务
基于NUTS的服务可将Nut用途延伸至一更广泛网络,诸如因特网,使得可在多个远端各方之间利用Nut。图144中的表列出NUTS可支持及提供的各种基于网站的服务的实例且图145展示此服务的一简化网络布局。一些或所有服务可提供具有提供为不具有约束的最低等级的多层服务封装。可经由分开购买的服务信用凭证直接或匿名支付更多层封装。可在不同程度上匿名地使用一些或所有服务。
基于NUTS的服务:NUT邮件
图146中描绘的NUT邮件伺服器展示一基于网站的电子邮件服务,其经由其注册用户中的Nut传递一些或所有其消息。此外,其可支持自动注册、匿名注册、匿名通道及/或基于RBK的通信。伺服器可与NUT簿及/或NUT伺服器应用互动。NUT邮件可具有一客户端组件,其可在一用户装置上运行以使其能够管理、编辑、显示、组成、发送及/或接收电子邮件。
图147展示用于以自动化方式在NUT邮件伺服器上建立一匿名注册的程序。用户可使用一预封包Nut联系14700伺服器,此可含有一较佳现有联系方法,诸如但不限于电子邮件地址、文本能力电话号码及/或网站浏览器。伺服器可接受请求14702且可使用较佳联系方法14704将一请求发送至用户。用户可输入来自请求的所需信息且伺服器可产生一随机产生的登录ID及通行码,其可采用14706中的密码方法的最大熵。伺服器亦可产生与用户的RBK对,其可在用户与伺服器/管理者之间的一些或所有通信中采用。用户可将登录认证及RBK对储存于其自身联系人信息14708的卡中的其NUT簿中。因此,用户可以一主要自动化方式14710使用NUT邮件伺服器匿名注册。
可已在注册程序期间产生的登录ID及RBK可仅被用户用来通信至NUT邮件伺服器;在某种程度上,其可视为用户与伺服器之间的私密通道。当用户希望与亦可使用NUT邮件的另一人通信时,可需在NUT邮件伺服器上与该人建立一通信通道,如在图148中描绘。通信信道可包括一对随机产生的电子邮件别名,其可作为别名附接至各用户的经注册的账户。一旦通行通道可能已经被建立及检验以便更好地保留关系匿名性,NUT邮件伺服器可不保持追踪此别名对。这些别名在功能上可类似于RBK,类似的处在于其可仅由通道中的两个参与者使用。别名产生的随机性质可不在跨因特网的电子邮件运输期间泄露参与者的身份。电子邮件内容本身可装于由进一步保护有效负载的RBK方法保护的Nut中。此可提供基于关系所述的方法及混淆的两个分离层,其可最小化一些或所有非所要SPAM及/或第三方电子邮件。一旦可适当建立通信信道,则电子邮件的交换可为相当标准的,如在图149中展示。
NUT邮件伺服器背后的安全基本原理可总结如下:
·匿名注册可意谓一破解伺服器可十分少地显示经注册用户及/或其电子邮件内容。
·电子邮件在RBK经加密Nut内的封装可提供内容安全性的另一独立层。被黑客破坏的伺服器可仅显示由Nut固定的消息。
·使用别名对的NUT邮件通信信道可混淆电子邮件元数据。
·伺服器可不永久储存别名配对数据,仅足够长以检验通道。
·伺服器可储存电子邮件消息达十分短时间周期。其可由用户配置但预设可为在伺服器可自用户的NUT邮件客户端或NUT伺服器接收至少2个副本可存在于伺服器外部的信息后或在一预配置持续时间后可删除消息。
·电子邮件的一简短历史可允许伺服器具有十分小长期数据储存要求。
·随机产生的登录、别名、通行码及/或RBK可充分利用可导致另外安全性的可用数据熵。
可不易于在不具有一NUT簿的整合促进的情况下使用NUT邮件伺服器,不过其可为可能的。登录ID、通行码及/或别名可使用最大熵方法产生且可看似随机字符的一长字串的拼凑物。关系与别名对之间可存在1:1对应,因此用户可必须保持追踪的别名数量可十分迅速地变多。此通信方法的一益处可为由参与者产生的数据就其本身而言可为无用的且仅可经由目标数据监视及/或复杂重建技术提取某意义。
NUT邮件伺服器的数据储存要求可不同于一普通电子邮件伺服器:其在一持续基础上可使用每用户更小的空间。当用户的NUT伺服器或NUT邮件客户端可指示电子邮件的至少两个副本可能存在于NUT邮件伺服器外部时,NUT邮件伺服器可永久删除电子邮件Nut。此类型的简单规则可允许信道中的各参与者在各最小限度上建立其公报的两个或两个副本。NUT邮件伺服器可利用各经注册的客户端的NUT伺服器以卸除尽可能多长期的储存,由此减少其自身的每用户持续储存要求。NUT邮件伺服器可仅具有经注册的用户的新电子邮件消息,因为各用户可已下载及复制其自身NUT邮件客户端/NUT伺服器***上的先前电子邮件。
基于NUTS的服务:NUT聊天
NUT聊天可为基于Nut的匿名聊天服务。其可提供以下聊天特征:
·其可支持匿名注册、成对随机别名及/或RBK
·其可能够提供用于匿名性的本端NUT聊天集线器电话号码
·其可支持同时的电话号码及非单元电话聊天
·其可同时支持SMS/MMS及基于因特网的聊天会话
·其可支持类似于NUT邮件伺服器的历史特征
·聊天历史可保存于各联系人条目储存器内或其可储存于Nut中且其可由目标联系人条目而非仅由电话号码或聊天地址来指涉。
·可在无需NUT聊天服务的情况下永久保存聊天历史以用于个人用途。
·NUT聊天可为用于可包含于一Nut中的聊天消息的专用服务。
·随机产生的登录、别名、通行码及/或RBK可充分利用可导致另外安全性的可用数据熵。
·其可多任务化通信路由以确保消息递送且展示虚拟聊天会话。
针对图150中的NUT聊天伺服器展示网络图的一实例。其的注册程序可类似于NUT邮件伺服器采用的方法且可提供用于其用户的一些或所有匿名特征。可存在运行于用户装置上的一基于Nut的NUT聊天客户端且针对图151中的三个参与者之间的聊天会话展示基本数据流配置。此可为一标准文本消息传递拓扑,其中NUT聊天伺服器充当中间15100的协调者。由于NUT聊天可基于Nut,故会话的整个聊天历史可保存于Nut中且因此可在适当配置时自动利用NUT伺服器复制/传播/同步特征。NUT伺服器可经配置以优先考虑NUT聊天Nut,使得其可归因于聊天会话中的实时互动性的性质而以一更及时方式处置。仔细查看图151展示相同聊天Nut存在于多个位置中;其展示一聊天拓扑可等效于多个实***置中的数据状态的流线型同步。图152是可使用一用户的NUT伺服器复制NUT聊天会话的一程序的数据流的实例。由于各聊天参与者可将一些或所有聊天会话历史储存于Nut 15122至15126中,故NUT伺服器15238可跨其同级NUT伺服器(诸如15242)传播对该Nut的改变。通过以此方法方式适当同步数据,当用户在其装置#4 15240上带来一NUT聊天客户端15260时,其可看见相同于其可留在装置#2上的会话历史且NUT聊天伺服器不涉及使其装置#4更新。当初始化一聊天会话时,且当通过各自NUT聊天客户端对通道的任一侧上的聊天Nut的测试判定其异步时,可自动初始化一强制同步程序以使会话更新至最新版本(应注意,聊天历史的分类可基本上视为有效负载的较新状态,亦称Nut历史)。例如,Alice可具有与Bob的长期匿名NUT聊天通道但其可以某种方式损失或删除在其智能电话上储存此会话历史的聊天Nut。当她假定与Bob的此NUT聊天会话且透过NUT聊天伺服器进行联系时,伺服器可自Alice及Bob两者接收会话版本号码且其可展示Bob可具有比Alice更新的会话版本。此时,Bob聊天Nut的副本可经自动请求且可经由NUT聊天伺服器发送至Alice且Alice的NUT聊天客户端可将Bob的会话历史接受为自己拥有且聊天会话可继续其历史及由此其上下文的一共同观点。可由NUT聊天伺服器在此案例中使用十分少储存且可由终端用户在其控制下储存一些或所有会话信息。一旦聊天会话版本可能已经同步,发送至彼此的聊天消息在此后可包含于仅保持会话中的新聊天消息的Nut中而非整个历史且各终端上的NUT聊天客户端可负责分别更新其累积聊天会话,由此其可减小一持续聊天会话中的数据传送的大小。
此外,Alice的NUT簿可参考其的Bob联系条目以参考或指出聊天Nut及电子邮件Nut,使得与Bob的一些或所有相关历史通信可经编入索引至Bob的信息下,此可引起储存于Alice控制下的一关系中的上下文的***校对。
NUT聊天客户端可参与一对话,其可涉及路径不可知聊天会话以用于可靠性、冗余性及/或混淆。图153展示Bob与Alice之间的三个分离聊天会话的一典型数据流图案,其可使用多至三个不同聊天服务及/或聊天ID。有时,此类型的分离及隔离可为期望的且便于可涉及的各方。在其他时间,可由其他参与者做出的选择强迫用户:例如,Bob可仅希望聊天服务B上的一账户,因此Alice可被迫产生服务B上的一登录以与Bob聊天。然而,在NUT聊天客户端可与其他聊天服务介接的程度上,其可允许相同两个人间的多个分离聊天会话团聚成如在图154中展示的一路径不可知聊天会话,此可称为对话。聊天Nut可为消息的基本媒介,使得一些或所有可具有版本号码且可同时在三个聊天会话路径上发送Nut的副本。无论哪一聊天Nut可到达其他NUT聊天客户端,第一个可经处理且其他被忽略(或可被NUT伺服器Nut合并而合并且接着被摒弃)。有时,归因于运输限制的性质,聊天Nut可转换为适合于运输平台的简明安全文本消息。在此方法中,可透过多个路径保留交谈且仅最新版本可展示给各参与者且程序可不依靠单独聊天服务提供商的储存及/或组织功能,仅依靠其运输机制。冗余路径可最小化或实际上消除对话的运输故障。各运输服务可储存的历史可为无用的,因为其可在每消息基础上由Nut保护,因此内容可为不透明的。运输机制可为可允许传递Nut的任何通道,诸如但不限于电子邮件伺服器、ftp伺服器、联网文件***、点对点连接、Wifi协议、蓝芽协议及/或任何其他数字传输方法。Nut的同步性质可允许仅使用共享Nut参与聊天会话,Nut经配置以具有至少两个写入者及共同方法以使用户访问Nut。此实施例可展示可如何相对简单地去中介化聊天***的功能,同时独立于服务而保护用户的数据且通过用户加强传输机制的整体可靠性。
基于NUTS的服务:NUT云端
NUT云端可为可用于任何NUTS用户的一基于因特网的储存伺服器,如在图155中描绘。NUT云端可支持匿名注册、成对随机别名及/或RBK。其可与个人NUT伺服器无缝地整合以延伸个人NUTS网络的范围及可用性。NUT云端可储存Nut且其储存及带宽限制可受到服务层等级及用户可配置政策的影响。NUT云端账户可与其他基于NUTS的服务互操作以供应更永久及/或可访问储存:即,其可备份NUT邮件及/或NUT聊天消息。
在服务的基本等级上,其可提供一足够储存等级及带宽以用于一般个人用途。其主要目的可为促进自因特网上的任何访问点访问储存于Nut中的数据。其可与NUT伺服器无缝地整合以在家中及路上同步Alice的一些或所有数据。
NUT云端连同个人NUT伺服器可提供相同于或更佳于任何基于因特网的中心管理云端服务的同步等级;然而,不同于流行免费可用云端同步服务,NUT云端可提供完全匿名性、用户控制私密性、完整历史、完整审计存底及/或安全数据所有权。
基于NUTS的服务:NUT网
NUT网可为可用于NUTS用户的基于Nut的网站伺服器,如在图156中描绘。NUT网可支持匿名注册、成对随机别名及/或RBK。NUT网可储存Nut且其储存及带宽限制可受到服务层等级及用户可配置政策设定的影响。NUT网账户可与其他基于NUTS的服务互操作以访问更永久及/或可访问储存:例如,其可自NUT云端及/或NUT伺服器提取Nut。
储存于Nut中的共享网页内容可允许用户控制谁可查看内容且其可在密码编译等级上完成。人可具有与内容拥有者的RBK对以便查看告示页。我们可说此可为***社会网络、私密社会网络及/或经鉴认社会网络。NUT网伺服器或其他未授权第三方可不挖掘内容的任一者,因为其可不具有用于内容的密钥的任一者。只要内容可储存及固定于Nut中,拥有者即可保持对其的控制。拥有者亦可查看与其本端Nut储存器中的告示相关联的一些或所有历史(若其可被配置以亦本端地复制及同步Nut)。有时,人感觉在亲密好友及家庭中共享图片及视讯可为一私密事件且第三方在不具有发起人的知识及/或准允的情况下无权拥有副本以供其使用。可针对需要一用户群组内的私密性的状况产生NUT网。
职业摄影师可建立用于潜在客户端的私密网页以查看具有大量细节的有版权图片且控制为谁发布密钥及多长时间。网页Nut可记录图片上的一些或所有活动以产生摄影师的审计存底。项目管理器可建立私密网页以用于协调项目成员中的活动。自一安全视角,注册程序可归因于建立至Nut中的访问控制而为不必要的但其可充当NUT网伺服器处的一组织及划分功能。
基于NUTS的服务:NUT集线器
当前,对于物联网(IoT)可如何通信及/或运作可不存在普遍接受的标准。IoT可为硬件产品的一生长区域,其可具有内建联网能力且可允许用户自各种个人计算装置远端地控制及监测产品的功能。许多IoT产品可自其等传感器将一恒定数据流发送回至制造供应商以使其进行收集及分析,有时产品的用户-拥有者未知。一些或所有此等IoT装置的操作模式可基于其数据收集范围及方法产生私密问题的许多入侵,因为产品可预期用于人的家庭的最私密区域。可由产品系列的IoT硬件供应商供应获得某用途的IoT架构。NUT集线器可为一封包转送服务以促进可由称为Nut的因特网(IoN)的NUTS兼容IoT型装置产生的基于Nut的消息的处置。如在图157上的网络图中描绘,IoN可为用于与我们家中的IoN兼容装置安全且私密地通信的一基于NUTS的标准。NUT集线器上的最低服务层可用于可具有使用任何基于NUTS的服务的一经注册账户的任一者。账户可为匿名的。NUT集线器可与Nut一起工作且其可排列某一消息量。NUT集线器可与NUT云端及/或NUT伺服器无缝介接以访问另外储存。
NUT集线器拓扑可经配置以按若干方式工作。在图158中展示直接拓扑,其中用户家中的每一IoN装置可独立连接至IoN供应商伺服器15804、NUT集线器15802及/或用户控制装置15806、15822及15824。此拓扑可允许供应商具有对我们家中的装置的直接访问且用户可仅过滤输出Nut封包至过滤各装置的能力的程度:此可为如今IoT装置使用的主要通信方法。
较佳NUT集线器拓扑可为如在图159中描绘的间接拓扑。一些或所有IoN装置可在离开LAN 15920且接着横越NUT集线器15902之前透过一指定NUT伺服器集线器15930进行通信。此拓扑可允许对IoN消息的过滤规则的精细调谐,从而基于Alice的舒适等级离开其家。NUT伺服器集线器装置15930可包括一桌上型PC、一专用设备或甚至成为WiFi路由器15920的部分。若指定的NUT伺服器集线器15930被关闭或不可用,则IoN装置无法与外部世界通信。
图160中展示一NUT伺服器集线器的配置。在类似NUT伺服器15930内可存在称为NUT集线器/IoN接口16032的组件。此模块可负责与NUT集线器15902、IoN装置15922及/或其他NUT伺服器集线器16052通信。接口模块16032可记录、排列、转送、中继、处理及/或过滤来自IoN设备及IoN控制装置两者的IoN Nut消息。
由图161展示NUT集线器/IoN界面的一特写视图。接口16032可包括一些或所有此七个功能或其他另外功能。IoN装置索引16112可保持追踪由用户注册的一些或所有IoN装置。IoN装置鉴认16114可鉴认且可加密往复于IoN装置的消息。接口可保持追踪用户的消息过滤及规则16116。消息记录器16118可记录一些或所有IoN消息以永久储存。消息队列16120可临时储存无法递送的消息。装置密钥缓存16122可储存一些或所有访问密钥以用于鉴认及加密IoN消息且其可体现于受保护的存储器硬件(若可用)内。远端控制接口16124可为可允许远端启动IoN装置特定功能的模块。
由图162展示任何IoN装置上的NUT集线器/NUT伺服器/IoT接口的一特写视图。接口16210可包括一些或所有此七个功能或其他另外功能。Nut索引16212可保持追踪储存于与实施且管理IoN装置相关的装置上的一些或所有Nut。鉴认模块16214可鉴认且可加密往复于供应商、NUT集线器及/或NUT伺服器集线器的装置的消息。接口可保持追踪用户的消息过滤及规则16216。消息记录器16218可记录一些或所有IoN消息以永久储存。消息队列16220可临时储存无法递送的消息。装置密钥缓存16222可储存一些或所有访问密钥以用于鉴认及加密IoN消息且其可体现于受保护的存储器硬件(若可用)内。远端控制接口16224可为可允许远端启动IoN装置特定功能的模块。IoN装置可归因于其硬件限制而具有用于客制过滤的一组受限功能。其亦可具有储存限制,此可限制其可记录及排列的消息量。因此,若历史及审计存底可为重要的,则可强烈建议用户使用如在图159中描绘的一间接IoN拓扑,其可允许用户访问可由NUT伺服器集线器提供的增强功能。此接口15922不限于IoN/IoT特定装置,任何计算装置可具有一类似接口(若开发者可针对其产生一接口)且遵循IoN装置的操作模式;另外,可具有在其上运行的NUT伺服器的一版本的任何装置可能够充当IoN装置自身。
当Alice为其购买新IoN装置时,其可需要将该装置添加至其网络且配置该装置。图163上的流程图展示Alice将其新IoN装置适当注册至其基于NUTS的网络可采用的步骤。配置IoN装置的方法可为透过Alice的NUT簿建立与其的RBK关系。步骤16302及16304可允许NUT伺服器集线器将装置特定信息中继至其NUT簿且继而NUT簿可产生IoN/IoT装置目录卡,填写模型、版本及/或序列号码,产生RBK对且经由NUT伺服器集线器将其发送回至IoN装置。产生IoN装置的目录卡的行动可产生Nut,其可产生用于该Nut的Nut ID;因此,IoN装置可在此后印刻有其目录卡Nut的Nut ID。此步骤可类似于为我们家庭网络上的新装置挑选IP地址,但使用Nut ID的潜在优势可影响广泛。IoN装置的经分配的Nut ID亦可充当指涉装置的永久方式而无关于其实际IP地址及/或位置。IoN装置可重设至工厂条件,使得可由一新或相同拥有者在其上印刻一新Nut ID。
一旦IoN目录卡保存于Alice的NUT簿中,配置过程即可继续至步骤16306且其可检查是否可存在解密装置的配置数据、显示配置数据及/或设定配置数据所必要的MIO组件。一旦可已对配置屏幕进行适当设定,Alice即可将设定保存至关于装置的其IoN目录卡中且可将其提交至NUT伺服器集线器接口以待发送至IoN装置16314。装置可接收配置Nut,可对其鉴认,可对其解码,可对其验证,接着可将改变应用至其内部***。一旦完成,其可将Nut发送回至NUT伺服器集线器,从而指示其状态。Alice可监测此装置且其可自动看见来自装置的消息。
IoN装置可在一模式中操作,其中一些或所有消息可为Nut且因此可依据预设获得相同私密等级及对Nut的控制。由于Nut可利用MIO组件,故可透过相同MIOR机制提交对装置的软件配置、固件及/或软件更新且过时的可能性可能较低。NUT集线器可被配置成可为用户确保在必要时可由用户监测、记录及/或控制任何事物且可由IoN装置收集的一些或所有输出信息可经过滤以尊重用户的私密偏好。在此实施例中,NUTS核心哲理可延伸至实体装置中,使得你们拥有的装置有时或所有时间可在你们控制下且其可产生的一些或所有数据亦可为你们的。MIO及其功能的力量在此案例中可为明显的,因为可通过用户而非许多所有权协议检测具有一适当MIO组件的任何数据格式。
此可为我们带来称为在16124及16224中展示的远端控制接口的重要模块。此可为用户或供应商可与IoN/IoT装置相反且可使其对命令(我们称为命令Nut)远端地起作用所采用的方法。RBK鉴认命令Nut可被处理且装置拥有者(RAT)可对其执行任何可用命令。此鉴认要求可允许用户通过调整供应商的访问权利而完全控制其与供应商的关系。用户可允许装置供应商具有对其、其的一子组的完全访问及/或不具有访问。此可防止使用IoN/IoT装置作为进入点对Alice的家庭网络进行未授权访问:各IoN/IoT访问点现在可硬化基于NUTS的安全性。由于我们可已提及Nut可如何传播且可沿着内部网络及/或因特网发送的延伸性质,基本上IoN命令Nut可从可存在一适当路由的任何处发送至IoN装置。图164中的流程图展示远端控制接口可如何处理命令Nut。
NUT集线器及其远端控制接口的性质可引起Alice自可存在连接性的任何处完全控制一些或所有其NUTS兼容装置的能力。其可呈现一安全协议,客制消息可由该安全协议发送同时通过由RBK对表示的Alice的NUT簿关系来控制。其可为Alice呈现所有其IoN装置的一中心视图但其可以一分散方式安装、配置及/或维护。若Alice控制其Nut,则她可控制一些或所有其装置。此可为在Alice可决定使用NUTS的SSO能力时其应十分仔细选择其通行语或使用基于硬件的密钥的另一原因。在这种实施例中,供应商的角色可简略为硬件制造商的角色而非属于Alice且可位于Alice家中的一私密区域中的个人装置的一未邀请远端管理者的角色。NUTS环境的安全性可比偏向于制造商(开发者)的偏好及/或优势的当前IoT协议呈现一更统一的、硬化的及/或用户可控制障壁。
基于NUTS的服务:NUTS认证伺服器
由于NUT伺服器程序及协议的完整性对于信任其可如预期般表现可为必要的,故可存在NUTS认证伺服器(NCS)以在一持续基础上验证NUT伺服器安装。如在图165中描绘,NCS可用于任何NUTS用户且可支持匿名注册、成对随机别名及/或RBK。其可具有一服务层等级,其中最高等级被NCS公司官方认证为“NUTS认证”。NCS的主要功能可为监测NUT伺服器适当删除Nut及/或使用NUT伺服器协议、行为及/或程序侦测未授权篡改。由于聪明程序设计者可识别探针且可规避其,故匿名注册如何工作的架构可允许NCS探测NUT伺服器实际上无法被侦测。用户可选择在其NUT伺服器上启动可为一自愿服务等级。可存在由NCS初始化的自动程序以注入具有测试Nut的目标NUT伺服器且侦测是否可已根据NUT伺服器协议将某些行动应用至其。在较高服务等级下,测试器的积极参与可允许关于远端NUT伺服器的状态的甚至更全面评估。
供应商可订阅NUTS认证等级测试以恒定维持其客户可已知的NUT伺服器符合性等级且因此为其确保可处置其Nut。测试程序亦可突显对客户端未知的客户端NUTS环境的任何未授权修改。自客户端侧,可使用NUTS***及方法但可并非“NUTS认证”的任何供应商可需要关于处置Nut的政策的更多调查。用户可配置其NUT伺服器及/或NUT簿以与公开可用NCS数据库上的一查找表介接以在与在线供应商接洽之前评估其认证状态或缺乏认证状态。
在图166中,NCS16520可执行可允许其评估远端供应商NUT伺服器(或个人NUT伺服器)16620至16624的行为的功能。过期完整性探测16602可为其中Nut可经注入16604至***中且可由远端控制接口16610探测在过期之后是否存在于该***上的方法。例如,若在远端NUT伺服器上找到过期Nut,则NUT伺服器可不具有符合性且可并非“NUTS认证”。长持续时间注入测试16608可在一较长时间量内且在一持续基础上测试NUT伺服器。结果分析及认证16606可评估远端NUT伺服器对各种注入测试的依从性且可为NUT伺服器安装评分。检查所安装的NUT伺服器的版本及修补版本可与确保NUT伺服器可被更新且具有符合性成为一体。一长过时版本可指示可能已进行NUTS安全协议及/或未授权客制修改的宽松维护,由此采用可更缓慢。测试亦可包含但不限于检查各种敏感二进制代码片段的散列签名及/或自匿名因特网地址注入。将NUT伺服器匿名注册至NCS服务可确保可以更安全方式针对更深测试设定RBK。
NCS无法保证NUT伺服器可尚未被破解,因为在具有足够知识及资源的情况下,任何人或群组可最终规避由NCS进行的测试。现场检测可导致较高NUTS认证等级。对于一般用户,不与可尚未在最高等级下认证的任何商业NUT伺服器接合可为好政策。为与个人NUT伺服器接合,来自NCS的自动免费测试的基本等级可为在与其接合之前的最小要求。
用于WiFi/以太网络路由器的基于NUTS的联网
图167展示用于基于个人NUTS的WiFi/以太网络路由器16710的网络布局的实施例。路由器可使用可在WiFi通信中涉及的常规协议操作以及使用基于Nut的消息传送作为替代协议。NUTS WiFi路由器可如任何IoN装置般安装及配置,由此拥有者建立与其的RBK关系且可经由其NUT簿将信息储存于其IoN目录卡中。在配置程序期间,由于用户可由目录卡条目表示其的大部分装置,故其可能够通过Nut ID在路由器上注册其可希望访问的一些或所有装置。起源Nut消息可含有发送装置的Nut ID且因此可对照用于访问的注册列表进行适当审查。路由器可接着被指示以建立各种装置与其自身之间的关系,因此其可允许Nut消息的内容的安全通信。在图168中展示用于处理NUTS WiFi路由器处的消息的流程图。可通过经注册的装置对可以传递通过路由器的一些或所有消息进行鉴认。步骤16818展示可用于基于NUTS的路由器上的有趣特征。未注册装置可接触路由器以不使用RBK进行访问。当此发生时,其可查找带宽分配的拥有者特定配置设定及WiFi访问的不同分类的限制:经注册、IoT及/或客体。经注册装置可经设定以不具有对使用类型及所请求带宽的限制。IoT/IoN装置可具有其自身类别且可能需要相同于经注册装置的鉴认等级但可作为一群组分开管理。图169上的表展示其可透过路由器具有的经限定分类及访问类型。客体装置可使用常规但具有约束的协议获得访问。在图170中展示基于分类的属性限制的样本配置。拥有者可规定每装置限制,诸如但不限于过期、带宽、汇总带宽、分类类型的最大连接、目的地及/或消息模式。以此方式,客体装置可具有透过某些限制内的未知NUTS WiFi路由器的因特网访问,而可由NUTS等级安全方法保护经鉴认的NUTS内部网络。此方法可有效地分开产生WiFi通信架构内的可管理通道分类。
用户的一些或所有经注册装置现在可独立于内部分配的IP地址以进行识别而非通过目录卡中的Nut ID。此可为以更普遍方式跨一些或所有网络使数据及硬件更有形且有功能的NUTS性质。路由器可保持追踪对照经注册装置的Nut ID映像的动态IP地址分配。在未来迭代及其他实施例中,硬件制造商可允许沿着IP地址及/或MAC地址侧使用Nut ID以访问各种装置上的以太网络接口。识别Nut ID的装置可视为等效于将一***名称分配至PC上的OS安装但其可为***且实践独特的,因此改变以太网络卡或将以太网络卡添加至一***可呈现新IP地址及/或MAC地址但其可不改变与装置相关联的Nut ID。
可使用基于NUTS的WiFi路由器在路由器等级上而非或另外在装置及用户等级上监测及限制父母对其孩子的因特网访问的监督。可包封经注册的装置讯务的消息Nut可包含用户识别信息,其可用于通过父母偏好进一步过滤讯务。
具有Nut的应用包装
云端服务、应用储存及/或其相关联应用的出现及发展可已允许跨不同装置的应用的模块化及/或可转移性的某形式。然而,此可并非桌上型或膝上型计算机的情况。可在其上运行的大部分应用可需要手动安装及/或维护。良好维护的制度环境亦可如此,其中可由***管理者将预选应用封包的混合卷至一客制安装封包中以易于机器建立。或,其可在交换至计算机中的磁盘上产生仿制预安装应用。对于运行环境,个人及/或管理者可能十分难以监测及鉴认可安装于特定装置上的每一程序。十分严格的账户规则可导致用户的减小生产率或***部门的增加人员要求。
包装于一良好建构的Nut中的应用可解决许多此等问题。本端操作***可经修改以仅允许Nut包装应用运行。蕴含可为众多的。此可防止未批准且未审查应用的一些或所有未授权安装及执行。可在一受管理制度环境中通过访问密钥的集中式管理实施政策。可涉及裸二进制的执行的病毒感染向量可急剧减少。NUT伺服器复制及同步特征可允许经的安装软件的较新版本跨一些或所有装置的容易传播。适当包装的Nut可被远端命令以在成功同步后使用远端控制接口自安装。可使用如在图171中描绘的NUT伺服器自动化装置环境备份及复制。计算装置17100可储存用于可能已发生故障的装置的Nut备份。在获得准备好安装的新装置17140后,可需适当安装的应用可为NUT伺服器17144及其访问密钥。接着,来自具有正确密钥的任何计算装置的复制命令可初始化从装置1至装置2的一些或所有相关Nut的复写且接着可执行一些或所有Nut包装应用的必要安装。
表面上,此方法看起来可能并非不同于仿制硬盘或具有良好获得的安装脚本但可能存在一些显著差异。Nut包装应用可为应用的规格而非特定二进制本身。二进制可储存于制度MIOR中且接着MIO机制可在Nut包装应用规格的打开过程期间接管以提取用于装置(其可相同或可不相同于其可替代的原始装置)的当前操作***的应用的正确版本。此MIOR用途可为控制包括异质操作***及/或硬件的计算环境内的应用版本的方式。NUTS技术的使用实际上可允许一些或所有这些程序从因特网的任何处出现,因此可以远端方式代表机构安装及维护新机器。
此的一实例可为正在进行为期一周的旅行的销售员的膝上型计算机可能被偷,该计算机可含有其在客户端会议中可希望使用的20个客制呈现及机密客户端报告。假定公司利用NUTS,则销售员可去最近计算机商店且在***管理者的引导下购买一替代膝上型计算机。其接着可将从因特网下载的标准NUT伺服器安装于该膝上型计算机上。管理者可经由电子邮件为其发送称为一Genesis Nut的特定编码访问/安装Nut且销售员可从基于网站浏览器的公司电子邮件页将此Genesis Nut下载至其新膝上型计算机上。管理者可打电话给销售员且告诉销售员可解锁Genesis Nut的秘密通行语。一旦使用本端NUT伺服器/NUT浏览器解锁,Genesis Nut可初始化跨因特网的一些或所有必要程序以从其与公司伺服器的最新同步复制来自销售员的丢失膝上型计算机的应用程序及数据。在取决于备份数据量的大约几分钟至几个小时,销售员可完全操作重新安装于其新膝上型计算机上的一些或所有其联系人、应用程序及/或Nut且此可在不同膝上型计算机品牌及不同操作***上完成,只要公司MIOR可经适当接种及维护。与此复制效应同时,管理者可针对储存于被偷膝上型计算机上的一些或所有公司拥有的Nut将自删除命令发送至被偷膝上型计算机以防小偷启动膝上型计算机以连接至因特网。此可为一预防措施,因为可已使用公司Nut过期政策单独固定膝上型计算机上的Nut。
在另一实施例中,硬件嵌入式NUT伺服器可整合至一未初始化计算装置中,其可具有至包含可访问源NUT伺服器及MIOR伺服器的网络的连接。Genesis Nut可加载至装置上且可被访问,此可初始化程序以导致将包含OS、驱动器、应用、应用配置数据及/或用户数据的一计算环境完全安装至此未初始化计算装置上。在装置及可访问MIOR缓存的内容的测试之后,OS选择可留给用户。可随着用户访问不同Nut而递增地安装应用或通过询问用于访问用户Nut的所需应用的一完整列表的源NUT伺服器而同时安装所有应用。
事件处理服务(EPS)
NUT集线器可允许利用IoN/IoT装置及NUT伺服器的基于Nut的通信。事件处理服务(EPS)可运作为用于存盘可由可能希望产生一事件或事件反应的IoN装置及应用产生的事件的一协调者,如在图172中描绘。由于一些或所有事件可包含于Nut内,故任何事件可跨任何网络通信,只要装置之间可存在一可横越路由。此可允许用户监测本端及远端IoN/IoT装置及/或NUT伺服器***中的所要事件。其可允许用户触发本端及/或远端装置上的经排程或特定事件。可跨一些或所有用户装置复制事件(若如此期望)。EPS可与远端控制接口一起工作以允许基于事件初始化装置特定命令。图172体现一案例,其中装置17200上的本端日历应用17208可透过本端EPS 17204触发一定时事件以在装置17210上的NUT伺服器17212可达到的IoN装置17220上执行。本端EPS17204可将事件中继至可具有对目标IoN装置17220的访问的另一EPS17214。EPS17214接着可将事件/命令中继至其本端NUT伺服器17212且接着其可使用其IoN/IoT接口以将事件/命令Nut传递至IoN装置17220。在接收事件/命令Nut后,IoN装置17220可鉴认且接着可经由其远端控制接口执行命令。此等事件的实例可变化但不限于按一排程起动远端伺服器、按一排程发送电子邮件、发送关于***状态的聊天消息、早上在一IoN兼容咖啡机上冲泡咖啡、改变一智能型恒温器上的温度设定及/或在一寒冷冬天早上在可已完成咖啡冲泡后的二十分钟热车。
EPS可将其可已在其可运行的各装置上接收及产生的过去事件储存于一事件Nut储存区域17216及17206中。此可充当用于通信及装置故障的事件储存库以及事件队列。用户或管理者可在一随后时间浏览这些事件且可分析其以用于任何后续用途。具有NUT云端账户的用户亦可将其事件复制至储存库,使得可自任何因特网访问查看事件。一些或所有事件可受到Nut保护且可被用户拥有。NUT集线器可与其无缝介接以利用EPS的排列能力。
利用EPS及其储存库的应用的实例可为家用警报***开始警示其的一些电池操作传感器的电池电量可能较低。家用警报***可产生规定可能涉及的单元的一低电量事件且可请求警报维护公司的服务通话。警报公司可建议其可经由电子邮件为用户的问题服务的各种时间且用户可作出一不同时间建议或接受他们的建议时间。在接受后,可使用预约信息自动更新警报公司及用户装置上的两个日历。警报***可具有与警报公司的一受限RBK关系,因此其可以一安全方式使用房主的含蓄批准进行诊断。
使用应用Nut的上下文计算
网站公司可不加掩饰地夺取用户的数字碎屑的一些或所有小面,诸如但不限于搜寻习惯、搜寻历史、装置规格、网站查看习惯、购物倾向、部落格内容、社会网络、商业网络、电子邮件内容、文本消息、相片及/或甚至其DNA的数字化分析。此用户产生的数据的绝大部分可不被可已产生其的用户拥有、访问、检视、改变、删除及/或控制。NUTS技术可使应用开发者更容易储存用户产生的数据且可更容易将副本给予用户以用于其自身用途及存档。其可提供一共同安全容器,该容器可经由MIO在内容格式上变化以允许客制化。十分少网站服务供应商可大体上足以覆盖用户的数字占用面积的大部分方面;例如,Amazon可能仅知道我们的一些购物偏好且Google可能仅知道我们的一些搜寻历史。因此,网站供应商通常可基于其提供的服务而聚集一人的习惯的部分片段。收集用户的一些或所有数字行踪及活动的最佳优点可由用户提供给用户。在图173中展示一供应商及用户应用的典型网络布局,其中供应商可使用基于本端浏览器的cookies以标记用户或其当前会话且可使用大数据收集伺服器以记录来自应用及应用上的一些或所有活动。
若用户与可在用于其自身存盘及用途的Nut中提供完整会话记录的应用介接,则用户可最终能够收集其数字的各种小面,如在图174中描绘。这些会话历史可提供一上下文,其后可由上下文敏感应用完成分析以为用户提供更多方便,如在图175中展示。应用可将其会话历史保存于应用Nut17414中且此继而可被用户可已安装的一些或所有其他应用使用以适当有益于用户。上下文的适当分析可派生用户可希望完成的任务的本质。会计应用17524可将其会话记录于应用Nut 17414中以用于一些或所有账单支付且检查用户可能已完成的账户活动。可读取此会话历史的图案(pattern,模式)辨识应用17520可分析其且推荐支付每月账单所采用的历史步骤且可呈现其可代表用户所采取的行动的一预览。若用户同意其分析,则其可执行这些步骤以使用用户名下的各种账户自动支付一些或所有相关账单。若用户经由NUT云端17500同步其Nut时,则此应用Nut可跨因特网用于用户。
由应用Nut保存的上下文的另一有用方面可为可重复程序。此可为开发者可能喜欢的命令线接口中的一共同特征,其中可依需要针对可选再执行保存先前命令。应用Nut可依需要针对实际上任何兼容应用上的用户提供相同类型的程序唤回。储存旅行应用的一上下文可在用户对网站进行初始搜寻后提供应用Nut中的一提出旅程的要求的本质。随后,用户可通过使用一上下文敏感旅行搜寻应用对一些或所有其较佳旅行路线再执行净化要求而自动重新开始对其的这种搜寻。此可减轻在各旅行网站上再输入各种形式所花费的时间且可产生一些或所有其选项的自动总结。此外,由于程序可被用户完全控制且可由其NUT簿储存一些或所有敏感信息,故可由上下文敏感旅行搜寻应用适当地应用用户可具有里程特权及/或会员的对供应商的询问,以获得对其最私人化及有意义的结果。此类型的深度上下文敏感搜寻实际上不可能由单一供应商完成,除非用户有时或在所有时间将对其的一些或所有敏感数字信息的自由访问由衷地给予该供应商且完全信任它;此可为一般数字敏感用户的高度怀疑建议。
在另一实施例中,图176展示用户的IoN/IoT装置的网络布局及其可针对其家中的日常生活订阅的各种效用及服务。单一公司无法以数字方式收集用户的整个家庭生活。然而,若用户的一些或所有装置产生的应用Nut且用户具有可分析其的各种数字上下文的应用,则用户可完成此。一节能上下文敏感应用可分析用户家中的各种电子设备的电力使用且可将其与电子公司的峰值及非峰值收费合并以建议可由应用代表用户自动制定的节能措施。其可分析各装置的用户个人使用习惯以在其辨识来自过去的一组情况时协调用户的方便组合。若周期性地运行自诊断显示次佳操作读数的失败部分,则IoN/IoT装置可通知用户维护要求。
可存在关于含有各种环境传感器的IoT装置的安全关注,其可并非由装置的拥有者完全控制而是由制造商及/或潜在不法黑客控制。图177展示两个IoN装置及其各自制造商的网络布局的实例。当可由各IoN装置17730及17740产生应用Nut 17734及17744时,其可由NUT伺服器17722本端地存档于本端储存器17724中。随后,用户可在将此存盘应用Nut发送至制造商前检视及过滤此存盘应用Nut以移除用户认为不适合第三方收集的任何敏感信息。在图178中,上下文分析应用17808可提供用户的一些或所有IoN/IoT产生的消息的特定例程过滤以最小化将其隐私不知不觉地曝露至第三方。以此方式,第三方仍可自各所销售的装置收集一些数据以仅达到各拥有者可允许的程度;因此,其可推断一般购买者可愿意给予其什么个人信息。
结论及哲理
已详述的各种实施例及案例实例可基于数据属于产生其的用户且用户可具有精确控制其曝露的方法的核心NUTS哲理。设计可足够灵活以适应更改及/或替代方案,诸如但不限于替代秘密方法、具有不同长度的密钥、不同数据转变及/或不同锁定机制。SDFT为程序设计者提供一有用工具集,其在最低等级上转变数据且可帮助实现结构化密码编译编程以建构NUTS结构及其他复杂密码编译结构。SDFT允许数据可移植性,以一灵活且通用方式与其转变命令成对。NUTS的各种实施例可经客制化以拟合至现有组织和安全基础设施中或其可为用于单一用户的独立设备。数据有形性可为NUTS提出的一重要哲理且可实施用户储存、操纵及/或检视可以简单方式产生的数据的能力,同时提供有益于大部分复杂受管理***的特征。总而言之,NUTS可给予各用户组织其数字工作及数据的当前方法的一替代方案。

Claims (28)

1.一种经由网络进行通信的方法,所述方法包括:
通过经由所述网络彼此通信的多个计算机中的一个计算机的至少一个处理器使用折叠数据的方法来对消息进行处理,使用所述折叠数据的方法来对消息进行处理包括:使用多个逻辑操作来对至少一个输入数据对象进行处理以产生至少一个输出数据对象,其中,数据折叠利用对所述至少一个输入数据对象中的同一输入数据对象依离散步骤执行的整个序列的多个逻辑操作的至少一个本质来将所述至少一个输出数据封装在数据结构的至少一个数据字段中,所述整个序列的多个逻辑操作的所述至少一个本质被封装在所述数据结构的至少一个命令字段中;其中,
来自所述数据结构的所述至少一个数据字段的所述至少一个输出数据对象被配置成:使用来自所述数据结构的所述至少一个命令字段的所述整个序列的多个逻辑操作的被封装的至少一个本质来产生所述至少一个输入数据对象中的所述同一输入数据对象。
2.根据权利要求1所述的方法,所述方法还包括:通过所述多个计算机中的第二计算机的至少一个第二处理器使用来自所述数据结构的所述至少一个命令字段的所述整个序列的多个逻辑操作的被封装的至少一个本质,来对来自所述数据结构的所述至少一个数据字段的所述至少一个输出数据对象进行处理,以产生所述至少一个输入数据对象中的所述同一输入数据对象。
3.根据权利要求1所述的方法,所述方法还包括通过所述至少一个处理器利用下述方法来对消息进行处理:使用从经由所述网络耦合的所述多个计算机中的一个计算机接收到的来自第二数据结构的至少一个第二命令字段的整个第二序列的多个第二逻辑操作的被封装的至少一个第二本质,来对来自所述第二数据结构的至少一个第二数据字段的至少一个第二输出数据对象进行处理,以产生至少一个第二输入数据对象中的同一第二输入数据对象。
4.根据权利要求1所述的方法,其中,所述多个逻辑操作包括转变。
5.根据权利要求1所述的方法,其中,所述至少一个输出数据对象能够储存于计算环境中。
6.根据权利要求1所述的方法,其中,所述至少一个输出数据对象能够传输至另外的计算机过程。
7.根据权利要求1所述的方法,其中,第一消息内的整个序列的多个逻辑操作的至少一个本质与第二消息内的整个序列的多个逻辑操作的至少一个本质不同。
8.一种在经由网络耦合的多个计算机之间使用的通信设备,所述通信设备包括:
至少一个处理器;以及
至少一个存储器,所述存储器存储有指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器以下述方式来对消息进行处理:使用多个逻辑操作来对至少一个输入数据对象进行处理以产生至少一个输出数据对象,其中,数据折叠利用对所述至少一个输入数据对象中的同一输入数据对象依离散步骤执行的整个序列的多个逻辑操作的至少一个本质来将所述至少一个输出数据封装在数据结构的至少一个数据字段中,所述整个序列的多个逻辑操作的所述至少一个本质被封装在所述数据结构的至少一个命令字段中;其中,
来自所述数据结构的所述至少一个数据字段的所述至少一个输出数据对象被配置成:使用来自所述数据结构的所述至少一个命令字段的所述整个序列的多个逻辑操作的被封装的至少一个本质来产生所述至少一个输入数据对象中的所述同一输入数据对象。
9.根据权利要求8所述的设备,其中,所述指令在由所述至少一个处理器执行时还使所述至少一个处理器以下述方式来对消息进行处理:使用从经由所述网络耦合的所述多个计算机中的一个计算机接收到的来自第二数据结构的至少一个第二命令字段的整个第二序列的多个第二逻辑操作的被封装的至少一个第二本质,来对来自所述第二数据结构的至少一个第二数据字段的至少一个第二输出数据对象进行处理,以产生至少一个第二输入数据对象中的同一第二输入数据对象。
10.根据权利要求8所述的设备,其中,所述多个逻辑操作包括转变。
11.根据权利要求8所述的设备,其中,所述至少一个输出数据对象能够储存于计算环境中。
12.根据权利要求8所述的设备,其中,所述至少一个输出数据对象能够传输至另外的计算机过程。
13.根据权利要求8所述的设备,其中,第一消息内的整个序列的多个逻辑操作的至少一个本质与第二消息内的整个序列的多个逻辑操作的至少一个本质不同。
14.一种用于数据折叠的***,所述***包括:
至少一个处理器;
至少一个存储器;以及
位于所述至少一个存储器中的数据结构,所述数据结构包括:
至少一个输入数据对象,所述至少一个输入数据对象被所述至少一个处理器使用多个逻辑操作进行处理以产生至少一个输出数据对象,其中,所述数据折叠利用对所述至少一个输入数据对象中的同一输入数据对象依离散步骤执行的整个序列的多个逻辑操作的至少一个本质来将所述至少一个输出数据封装在所述数据结构的至少一个数据字段中,所述整个序列的多个逻辑操作的所述至少一个本质被封装在所述数据结构的至少一个命令字段中;其中,
来自所述数据结构的所述至少一个数据字段的至少一个输出数据对象被配置成:使用来自所述数据结构的所述至少一个命令字段的所述整个序列的多个逻辑操作的被封装的至少一个本质来产生所述至少一个输入数据对象中的所述同一输入数据对象。
15.根据权利要求14所述的***,其中,所述至少一个处理器还被配置成以下述方式来对消息进行处理:使用从经由所述网络耦合的所述多个计算机中的一个计算机接收到的来自第二数据结构的至少一个第二命令字段的整个第二序列的多个第二逻辑操作的被封装的至少一个第二本质,来对来自所述第二数据结构的至少一个第二数据字段的至少一个第二输出数据对象进行处理,以产生至少一个第二输入数据对象中的同一第二输入数据对象。
16.根据权利要求14所述的***,其中,所述多个逻辑操作包括转变。
17.根据权利要求14所述的***,其中,所述至少一个输出数据对象能够储存于计算环境中。
18.根据权利要求14所述的***,其中,所述至少一个输出数据对象能够传输至另外的计算机过程。
19.经由网络耦合的多个计算机,所述多个计算机中的每个计算机包括至少一个处理器和至少一个存储器,所述存储器存储有指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器使用根据权利要求14所述的***对消息进行处理。
20.根据权利要求19所述的***,其中,第一消息内的整个序列的多个逻辑操作的至少一个本质与第二消息内的整个序列的多个逻辑操作的至少一个本质不同。
21.一种折叠数据的方法,所述方法包括:
至少一个处理器使用多个逻辑操作来对至少一个输入数据对象进行处理以产生至少一个输出数据对象,其中,数据折叠利用对所述至少一个输入数据对象中的同一输入数据对象依离散步骤执行的整个序列的多个逻辑操作的至少一个本质来将所述至少一个输出数据封装在数据结构的至少一个数据字段中,所述整个序列的多个逻辑操作的所述至少一个本质被封装在所述数据结构的至少一个命令字段中;以及
至少一个处理器使用来自所述数据结构的所述至少一个命令字段的所述整个序列的多个逻辑操作的被封装的至少一个本质,来对来自所述数据结构的所述至少一个数据字段的所述至少一个输出数据对象进行处理,以产生所述至少一个输入数据对象中的所述同一输入数据对象。
22.根据权利要求21所述的方法,其中,所述多个逻辑操作包括转变。
23.根据权利要求21所述的方法,其中,所述至少一个输出数据对象能够储存于计算环境中。
24.根据权利要求21所述的方法,其中,所述至少一个输出数据对象能够传输至另外的计算机过程。
25.一种用于折叠数据的***,所述***包括:
存储器,所述存储器被配置为存储数据结构;以及
至少一个处理器,所述处理器被配置成:
使用多个逻辑操作来对至少一个输入数据对象进行处理以产生至少一个输出数据对象,其中,数据折叠利用对所述至少一个输入数据对象中的同一输入数据对象依离散步骤执行的整个序列的多个逻辑操作的至少一个本质来将所述至少一个输出数据封装在所述数据结构的至少一个数据字段中,所述整个序列的多个逻辑操作的所述至少一个本质被封装在所述数据结构的至少一个命令字段中;以及
使用来自所述数据结构的所述至少一个命令字段的所述整个序列的多个逻辑操作的被封装的至少一个本质,来对来自所述数据结构的所述至少一个数据字段的所述至少一个输出数据对象进行处理,以产生所述至少一个输入数据对象中的所述同一输入数据对象。
26.根据权利要求25所述的***,其中,所述多个逻辑操作包括转变。
27.根据权利要求25所述的***,其中,所述至少一个输出数据对象能够储存于计算环境中。
28.根据权利要求25所述的***,其中,所述至少一个输出数据对象能够传输至另外的计算机***。
CN202311550181.0A 2016-09-15 2017-08-31 通信方法和设备、折叠数据的方法和***以及计算机 Pending CN117692170A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662395084P 2016-09-15 2016-09-15
US62/395,084 2016-09-15
PCT/US2017/049661 WO2018052726A1 (en) 2016-09-15 2017-08-31 Encrypted userdata transit and storage
CN201780053634.5A CN109643285B (zh) 2016-09-15 2017-08-31 加密的用户数据传输及储存

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780053634.5A Division CN109643285B (zh) 2016-09-15 2017-08-31 加密的用户数据传输及储存

Publications (1)

Publication Number Publication Date
CN117692170A true CN117692170A (zh) 2024-03-12

Family

ID=61560000

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311550181.0A Pending CN117692170A (zh) 2016-09-15 2017-08-31 通信方法和设备、折叠数据的方法和***以及计算机
CN201780053634.5A Active CN109643285B (zh) 2016-09-15 2017-08-31 加密的用户数据传输及储存

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201780053634.5A Active CN109643285B (zh) 2016-09-15 2017-08-31 加密的用户数据传输及储存

Country Status (14)

Country Link
US (7) US10503933B2 (zh)
EP (1) EP3513298A4 (zh)
JP (2) JP7076819B2 (zh)
KR (3) KR20240038828A (zh)
CN (2) CN117692170A (zh)
AU (4) AU2017325928C1 (zh)
BR (1) BR112019003128A2 (zh)
CA (1) CA3031531A1 (zh)
CR (1) CR20190075A (zh)
EA (1) EA201990315A1 (zh)
IL (1) IL274473B (zh)
MX (2) MX2019002385A (zh)
TW (3) TWI763710B (zh)
WO (1) WO2018052726A1 (zh)

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3377982A4 (en) * 2015-11-18 2019-07-31 Level 3 Communications, LLC SERVICE ACTIVATION SYSTEM
US10374809B1 (en) 2016-12-13 2019-08-06 Amazon Technologies, Inc. Digital signature verification for asynchronous responses
US10887090B2 (en) * 2017-09-22 2021-01-05 Nec Corporation Scalable byzantine fault-tolerant protocol with partial tee support
US10491577B2 (en) * 2017-10-18 2019-11-26 Blue Jeans Network, Inc. Secure, customer-controlled storage for cloud-managed meeting details
US11329817B2 (en) * 2017-10-19 2022-05-10 Devi Selva Kumar Vijayanarayanan Protecting data using controlled corruption in computer networks
US10903997B2 (en) 2017-10-19 2021-01-26 Autnhive Corporation Generating keys using controlled corruption in computer networks
US10061932B1 (en) * 2018-01-04 2018-08-28 WindTalker, LLC Securing portable data elements between containers in insecure shared memory space
US10817649B2 (en) * 2018-01-09 2020-10-27 Saudi Arabian Oil Comapny Unicode conversion with minimal downtime
US10878036B2 (en) * 2018-01-17 2020-12-29 Actian Corporation Maintaining character set compatibility in database systems
US20190238323A1 (en) * 2018-01-31 2019-08-01 Nutanix, Inc. Key managers for distributed computing systems using key sharing techniques
US10693662B2 (en) * 2018-02-22 2020-06-23 Idlogiq Inc. Methods for secure serialization of supply chain product units
US11088826B2 (en) * 2018-02-27 2021-08-10 International Business Machines Corporation Managing assets with expiration on a blockchain
US11687794B2 (en) * 2018-03-22 2023-06-27 Microsoft Technology Licensing, Llc User-centric artificial intelligence knowledge base
US20190318118A1 (en) * 2018-04-16 2019-10-17 International Business Machines Corporation Secure encrypted document retrieval
CN108959128B (zh) * 2018-06-04 2023-03-31 浙江大学 Crypt-SHA512加密算法的加速装置与方法
EP3591926A1 (en) * 2018-07-03 2020-01-08 Assa Abloy AB Providing connectivity for a plurality of iot devices
CN109086608A (zh) * 2018-07-20 2018-12-25 西安四叶草信息技术有限公司 一种检测文件上传漏洞的方法、终端设备和服务器
US11216592B2 (en) * 2018-08-02 2022-01-04 Qualcomm Incorporated Dynamic cryptographic key expansion
CN110825922B (zh) * 2018-08-14 2020-08-04 阿里巴巴集团控股有限公司 数据统计方法和装置
TWI813742B (zh) * 2018-08-23 2023-09-01 美商阿爾克斯股份有限公司 在網路路由環境中的非同步物件管理機制
WO2020112210A2 (en) * 2018-09-14 2020-06-04 SeaPort, Inc. Methods and systems for customized encoding and decoding communications
US11741196B2 (en) 2018-11-15 2023-08-29 The Research Foundation For The State University Of New York Detecting and preventing exploits of software vulnerability using instruction tags
CN109743287A (zh) * 2018-12-06 2019-05-10 广东电网有限责任公司 一种基于数据隔离的数据重组方法及装置
TWI682296B (zh) * 2018-12-06 2020-01-11 啓碁科技股份有限公司 映像檔打包方法及映像檔打包系統
US11985112B2 (en) * 2018-12-18 2024-05-14 Bae Systems Information And Electronic Systems Integration Inc. Securing data in motion by zero knowledge protocol
KR102570688B1 (ko) * 2018-12-27 2023-08-28 한국전력공사 데이터 보안 장치
US20200210595A1 (en) * 2018-12-30 2020-07-02 Sze Yuen Wong CryptoJSON Indexed Search Systems and Methods
US10389708B1 (en) 2019-01-03 2019-08-20 Capital One Services, Llc Secure authentication of a user associated with communication with a service representative
US20200228505A1 (en) * 2019-01-10 2020-07-16 Pango Inc. Private Exchange of Encrypted Data Over A Computer Network
US10937339B2 (en) * 2019-01-10 2021-03-02 Bank Of America Corporation Digital cryptosystem with re-derivable hybrid keys
US11232104B2 (en) * 2019-01-21 2022-01-25 International Business Machines Corporation Join and predicate filtering using string lengths for variable character fields
CN109886048B (zh) * 2019-02-12 2023-01-13 苏州超块链信息科技有限公司 一种基于密码学难度累积的数据一致性保护方法
CN109829719B (zh) * 2019-02-22 2021-06-25 中国农业银行股份有限公司 一种无连接的跨账本DvP结算方法及***
WO2020176475A1 (en) * 2019-02-25 2020-09-03 Cargosmart Ltd. Zero trust communication system for freight shipping organizations, and methods of use
US11763011B2 (en) 2019-02-25 2023-09-19 Oocl (Infotech) Holdings Limited Zero trust communication system for freight shipping organizations, and methods of use
US11228434B2 (en) 2019-03-20 2022-01-18 Zettaset, Inc. Data-at-rest encryption and key management in unreliably connected environments
CA3058236C (en) 2019-03-27 2020-08-25 Alibaba Group Holding Limited Retrieving public data for blockchain networks using highly available trusted execution environments
EP3673617B1 (en) * 2019-03-27 2021-11-17 Advanced New Technologies Co., Ltd. Retrieving public data for blockchain networks using trusted execution environments
KR102274294B1 (ko) 2019-03-29 2021-07-08 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 고 가용성의 신뢰 실행 환경을 사용하여 블록체인 네트워크에 대한 액세스 데이터를 리트리빙하는 방법
US11853454B1 (en) * 2019-05-31 2023-12-26 Ca, Inc. Systems and methods for preparing a secure search index for securely detecting personally identifiable information
US20220321326A1 (en) 2019-06-05 2022-10-06 Mastercard International Incorporated Security model for distributed computing system
CN110246207A (zh) * 2019-06-13 2019-09-17 四川长虹电器股份有限公司 基于多图层的图形验证码生成方法
CN110267001B (zh) * 2019-06-17 2021-11-16 视联动力信息技术股份有限公司 一种视联网设备信息管理方法及装置
WO2020256734A1 (en) * 2019-06-21 2020-12-24 Bae Systems Information And Electronic Systems Integration Inc. Control of mission data tool application program interfaces
CN110446108B (zh) * 2019-06-28 2022-04-22 中国传媒大学 一种媒体云***及视频加密、解密方法
CN112307487A (zh) * 2019-08-02 2021-02-02 中国电信股份有限公司 消息处理方法和装置、消息集群服务器
US11265709B2 (en) 2019-08-08 2022-03-01 Zettaset, Inc. Efficient internet-of-things (IoT) data encryption/decryption
US11356274B2 (en) * 2019-09-20 2022-06-07 Kaleidoscope Blockchain, Inc. Verifying a set of remotely stored data
US11533127B1 (en) 2019-09-20 2022-12-20 Kaleidoscope Blockchain, Inc. Determining data availability
CN110708058B (zh) * 2019-10-24 2023-05-30 大连东软信息学院 一种基于全自旋逻辑器件的2-4线译码器及其控制方法
CN112825054B (zh) * 2019-11-21 2023-09-05 杭州海康威视数字技术股份有限公司 一种数据处理方法及电子设备
US11119995B2 (en) * 2019-12-18 2021-09-14 Ndata, Inc. Systems and methods for sketch computation
US10938961B1 (en) 2019-12-18 2021-03-02 Ndata, Inc. Systems and methods for data deduplication by generating similarity metrics using sketch computation
US11641346B2 (en) 2019-12-30 2023-05-02 Industrial Technology Research Institute Data anonymity method and data anonymity system
CN113312326B (zh) * 2020-02-26 2024-04-16 伊姆西Ip控股有限责任公司 用于存储管理的方法、电子设备和计算机程序产品
US11265144B2 (en) * 2020-03-09 2022-03-01 International Business Machines Corporation Consistent ciphertext creation
US11544389B2 (en) * 2020-03-16 2023-01-03 Acronis International Gmbh Systems and methods for performing secure computing while maintaining data confidentiality
WO2021206934A1 (en) * 2020-04-09 2021-10-14 Nuts Holdings, Llc Nuts: flexible hierarchy object graphs
US11151229B1 (en) 2020-04-10 2021-10-19 Avila Technology, LLC Secure messaging service with digital rights management using blockchain technology
US10873852B1 (en) 2020-04-10 2020-12-22 Avila Technology, LLC POOFster: a secure mobile text message and object sharing application, system, and method for same
US11175989B1 (en) * 2020-04-24 2021-11-16 Netapp, Inc. Pooling blocks for erasure coding write groups
US11368287B2 (en) 2020-05-19 2022-06-21 International Business Machines Corporation Identification of a creator of an encrypted object
EP3917103A1 (de) * 2020-05-29 2021-12-01 Siemens Aktiengesellschaft Verfahren, system, sender und empfänger zum authentifizieren eines senders
US11238757B2 (en) * 2020-06-11 2022-02-01 Fmr Llc Shifting substitution cipher based efficient vaultless data tokenization apparatuses, methods and systems
US11599649B2 (en) * 2020-06-29 2023-03-07 Rockwell Automation Technologies, Inc. Method and apparatus for managing transmission of secure data packets
US11606346B2 (en) 2020-06-29 2023-03-14 Rockwell Automation Technologies, Inc. Method and apparatus for managing reception of secure data packets
EP3933630A1 (en) * 2020-06-30 2022-01-05 Nxp B.V. Method and apparatus to adjust system security policies based on system state
CN111931200B (zh) * 2020-07-13 2024-02-23 车智互联(北京)科技有限公司 一种数据序列化方法、移动终端和可读存储介质
US11962709B1 (en) * 2020-07-15 2024-04-16 Marvell Asia Pte, Ltd. Structures and methods for deriving stable physical unclonable functions from semiconductor devices
CN112104615B (zh) * 2020-08-24 2021-07-20 清华大学 基于IPv6地址的文件可信判断的处理方法及装置
TWI744002B (zh) * 2020-09-22 2021-10-21 財團法人資訊工業策進會 資料傳輸系統與資料傳輸方法
CN112395304B (zh) * 2020-10-30 2024-01-02 迅鳐成都科技有限公司 基于数据行为模拟的数据安全计算方法、***及存储介质
CN112347103B (zh) * 2020-11-05 2024-04-12 深圳市极致科技股份有限公司 数据同步方法、装置、电子设备及存储介质
US20220141221A1 (en) * 2020-11-05 2022-05-05 T-Mobile Innovations Llc Smart Computing Device Implementing Network Security and Data Arbitration
TWI749866B (zh) * 2020-11-12 2021-12-11 南亞科技股份有限公司 資料處理裝置與資料處理方法
KR102519357B1 (ko) 2020-11-18 2023-05-03 (주)에프알텍 O-RAN 프론트홀의 5G mmWave 광대역 빔포밍 MIMO 서비스 방법과 그 장치
CN112241547B (zh) * 2020-11-23 2023-06-06 中国联合网络通信集团有限公司 车辆数据加密分析方法、边缘服务器及存储介质
KR102497155B1 (ko) 2020-11-24 2023-02-07 주식회사 에스원 방범 시스템에서 감지 루프에 대한 강제 루핑을 검출하기 위한 장치 및 이를 위한 방법
CN112492580B (zh) * 2020-11-25 2023-08-18 北京小米移动软件有限公司 信息处理方法及装置、通信设备及存储介质
JP7175480B2 (ja) * 2020-12-02 2022-11-21 株式会社アーリーワークス 情報処理システム及びプログラム
KR102293404B1 (ko) 2020-12-07 2021-08-26 주식회사 마이지놈박스 블록체인 기술을 이용한 dna 데이터의 인증과 무결성 확보를 위한 장치 및 이를 위한 방법
KR20220081256A (ko) * 2020-12-07 2022-06-15 주식회사 마이지놈박스 블록체인 기술을 이용한 dna 데이터의 인증과 무결성 확보를 위한 장치
CN112541186B (zh) * 2020-12-21 2022-03-18 中国电子科技集团公司第三十研究所 一种基于运动状态感知的密码抗失控***及方法
US11327721B1 (en) * 2021-02-08 2022-05-10 Marco Renedo System for extending functionality of a computer programming language, and related method and software
CN113222829B (zh) * 2021-02-25 2023-04-25 安徽师范大学 基于Bernstein基的数字图像分存方法及图像复原方法
US11856090B2 (en) 2021-06-24 2023-12-26 International Business Machines Corporation Data protection optimization
US12008150B2 (en) 2021-06-24 2024-06-11 International Business Machines Corporation Encrypted data processing design including cleartext register files
US11868275B2 (en) 2021-06-24 2024-01-09 International Business Machines Corporation Encrypted data processing design including local buffers
CN113259390B (zh) * 2021-06-25 2021-09-14 深圳市爱挖网络科技有限公司 一种用于招聘平台的账号安全防护***
CN113360505B (zh) * 2021-07-02 2023-09-26 招商局金融科技有限公司 基于时序数据的数据处理方法、装置、电子设备及可读存储介质
CN113497806B (zh) * 2021-07-05 2023-07-04 国铁吉讯科技有限公司 一种远程登录方法、装置及存储介质
CN113569262B (zh) * 2021-07-30 2022-05-10 立信(重庆)数据科技股份有限公司 基于区块链的密文存储方法及***
US20230086809A1 (en) * 2021-09-17 2023-03-23 BCD International, Inc. Combined security and video camera control system
CN114154123B (zh) * 2022-02-09 2022-05-17 北京天防安全科技有限公司 应用于Python项目的加密保护方法
CN116629871B (zh) * 2023-07-21 2023-10-17 济南正浩软件科技有限公司 一种订单线上支付***及支付方法
TWI832800B (zh) * 2023-09-19 2024-02-11 英業達股份有限公司 多種規格點燈的硬碟背板
CN117421759B (zh) * 2023-12-19 2024-03-29 长春市鸣玺科技有限公司 基于大数据信息进行处理的工程资料管理***及方法

Family Cites Families (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870474A (en) * 1995-12-04 1999-02-09 Scientific-Atlanta, Inc. Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US5715403A (en) 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US7690043B2 (en) 1994-12-19 2010-03-30 Legal Igaming, Inc. System and method for connecting gaming devices to a network for remote play
US5933501A (en) 1996-08-01 1999-08-03 Harris Corporation `Virtual` encryption scheme combining different encryption operators into compound-encryption mechanism
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6324650B1 (en) 1998-03-16 2001-11-27 John W.L. Ogilvie Message content protection and conditional disclosure
US6185684B1 (en) 1998-08-28 2001-02-06 Adobe Systems, Inc. Secured document access control using recipient lists
US6205549B1 (en) 1998-08-28 2001-03-20 Adobe Systems, Inc. Encapsulation of public key cryptography standard number 7 into a secured document
US6823068B1 (en) 1999-02-01 2004-11-23 Gideon Samid Denial cryptography based on graph theory
DE19906450C1 (de) * 1999-02-16 2000-08-17 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erzeugen eines verschlüsselten Nutzdatenstroms und Verfahren und Vorrichtung zum Entschlüsseln eines verschlüsselten Nutzdatenstroms
US6845449B1 (en) 1999-07-23 2005-01-18 Networks Associates Technology, Inc. System and method for fast nested message authentication codes and error correction codes
US6976168B1 (en) 1999-07-23 2005-12-13 Mcafee, Inc. System and method for adaptive cryptographically synchronized authentication
US20110208567A9 (en) * 1999-08-23 2011-08-25 Roddy Nicholas E System and method for managing a fleet of remote assets
US20020184485A1 (en) 1999-12-20 2002-12-05 Dray James F. Method for electronic communication providing self-encrypting and self-verification capabilities
US20050015608A1 (en) 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
GB0023409D0 (en) 2000-09-22 2000-11-08 Integrated Silicon Systems Ltd Data encryption apparatus
US6862354B1 (en) * 2000-09-29 2005-03-01 Cisco Technology, Inc. Stream cipher encryption method and apparatus that can efficiently seek to arbitrary locations in a key stream
US7010570B1 (en) 2000-10-16 2006-03-07 International Business Machines Corporation System and method for the controlled progressive disclosure of information
TW548983B (en) * 2000-10-26 2003-08-21 Gen Instrument Corp Initial viewing period for scalable authorization of streaming multimedia content
AU2002232807A1 (en) * 2000-12-19 2002-07-01 At And T Wireless Services, Inc. Synchronization of encryption in a wireless communication system
US7136859B2 (en) 2001-03-14 2006-11-14 Microsoft Corporation Accessing heterogeneous data in a standardized manner
US7043637B2 (en) 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US6981138B2 (en) 2001-03-26 2005-12-27 Microsoft Corporation Encrypted key cache
WO2002077878A1 (en) 2001-03-26 2002-10-03 Galois Connections Inc Crypto-pointers for secure data storage
WO2002077747A2 (en) 2001-03-27 2002-10-03 Microsoft Corporation Distributed, scalable cryptographic access control
US7461405B2 (en) * 2001-04-26 2008-12-02 Autodesk, Inc. Mixed-media data encoding
US20020198748A1 (en) * 2001-05-25 2002-12-26 Eden Thomas M. System and method for implementing an employee-rights-sensitive drug free workplace policy
US7359517B1 (en) 2001-10-09 2008-04-15 Adobe Systems Incorporated Nestable skeleton decryption keys for digital rights management
US20030074482A1 (en) 2001-10-16 2003-04-17 Christensen Erik B. Composable messaging protocol
US8059815B2 (en) 2001-12-13 2011-11-15 Digimarc Corporation Transforming data files into logical storage units for auxiliary data through reversible watermarks
US7137553B2 (en) 2001-12-31 2006-11-21 Digital Data Research Company Security clearance card, system and method of reading a security clearance card
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US7487365B2 (en) 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
JP4111923B2 (ja) 2003-01-22 2008-07-02 株式会社リコー データ形式可逆変換方法、画像処理装置、データ形式可逆変換用プログラム及び記憶媒体
US7181016B2 (en) 2003-01-27 2007-02-20 Microsoft Corporation Deriving a symmetric key from an asymmetric key for file encryption or decryption
US7197512B2 (en) 2003-03-26 2007-03-27 Microsoft Corporation Type bridges
US7653876B2 (en) 2003-04-07 2010-01-26 Adobe Systems Incorporated Reversible document format
CA2523548C (en) * 2003-05-23 2014-02-04 Washington University Intelligent data processing system and method using fpga devices
US7389529B1 (en) 2003-05-30 2008-06-17 Cisco Technology, Inc. Method and apparatus for generating and using nested encapsulation data
US7480382B2 (en) 2003-09-30 2009-01-20 Microsoft Corporation Image file container
US7421741B2 (en) 2003-10-20 2008-09-02 Phillips Ii Eugene B Securing digital content system and method
US7243157B2 (en) 2004-02-20 2007-07-10 Microsoft Corporation Dynamic protocol construction
JP2005259015A (ja) 2004-03-15 2005-09-22 Ricoh Co Ltd 文書開示装置、文書開示システム、プログラム及び記憶媒体
US20050213511A1 (en) * 2004-03-29 2005-09-29 Merlin Mobile Media System and method to track wireless device and communications usage
JP2005341316A (ja) * 2004-05-27 2005-12-08 Sony Corp 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム
WO2005119432A2 (en) 2004-06-01 2005-12-15 Red Bend Ltd Method and system for in-place updating content stored in a storage device
US8306920B1 (en) * 2004-07-28 2012-11-06 Ebay Inc. Method and system to securely store customer data in a network-based commerce system
US7739501B2 (en) 2004-07-29 2010-06-15 Infoassure, Inc. Cryptographic key construct
IL164571A0 (en) * 2004-10-14 2005-12-18 Yuval Broshy A system and method for authenticating and validating the validating the linkage between input filesand output files in a computational process
US7454021B2 (en) * 2004-10-29 2008-11-18 Hewlett-Packard Development Company, L.P. Off-loading data re-encryption in encrypted data management systems
US7441185B2 (en) 2005-01-25 2008-10-21 Microsoft Corporation Method and system for binary serialization of documents
EP1870821A4 (en) * 2005-03-30 2013-04-03 Fujitsu Ltd IMPLEMENTATION PROCEDURES FOR STRUCTURED DATA
US8694788B1 (en) 2005-04-29 2014-04-08 Progressive Casualty Insurance Company Security system
US8832047B2 (en) 2005-07-27 2014-09-09 Adobe Systems Incorporated Distributed document version control
US7945784B1 (en) 2005-08-19 2011-05-17 Adobe Systems Incorporated Method and system to perform secret sharing
US20070078684A1 (en) * 2005-09-30 2007-04-05 International Business Machines Corporation Models for sustaining and facilitating participation in health record data banks
JP2007142591A (ja) 2005-11-15 2007-06-07 Matsushita Electric Ind Co Ltd 暗号管理方法
US7593548B2 (en) 2005-12-15 2009-09-22 Microsoft Corporation Secure and anonymous storage and accessibility for sensitive data
US20070177583A1 (en) 2006-01-31 2007-08-02 Microsoft Corporation Partial message streaming
US8561127B1 (en) 2006-03-01 2013-10-15 Adobe Systems Incorporated Classification of security sensitive information and application of customizable security policies
US20080248782A1 (en) 2006-04-07 2008-10-09 Mobitv, Inc. Providing Devices With Command Functionality in Content Streams
CA2546148A1 (en) 2006-05-09 2007-11-09 Nikolajs Volkovs Method, system and computer program for polynomial based hashing and message authentication coding with separate generation of spectrums
WO2008008244A2 (en) * 2006-07-07 2008-01-17 Sandisk Corporation Content control system and method using versatile control structure
US20080091606A1 (en) 2006-10-12 2008-04-17 William Grecia Proprietary encapsulated session container with embedded features for a post transferred option for electronic commerce along with a system for distribution and user access
US20080097786A1 (en) * 2006-10-18 2008-04-24 Rohit Sachdeva Digital data security in healthcare enterprise
US20080104146A1 (en) * 2006-10-31 2008-05-01 Rebit, Inc. System for automatically shadowing encrypted data and file directory structures for a plurality of network-connected computers using a network-attached memory with single instance storage
US8219821B2 (en) 2007-03-27 2012-07-10 Netapp, Inc. System and method for signature based data container recognition
US7779139B2 (en) 2007-04-30 2010-08-17 Microsoft Corporation Normalization of binary data
US8656159B1 (en) 2007-10-11 2014-02-18 Adobe Systems Incorporated Versioning of modifiable encrypted documents
JP4818345B2 (ja) 2007-12-05 2011-11-16 イノヴァティヴ ソニック リミテッド セキュリティーキー変更を処理する方法及び通信装置
US7996672B1 (en) 2007-12-05 2011-08-09 Adobe Systems Incorporated Support for multiple digital rights management systems for same content
US8145794B2 (en) 2008-03-14 2012-03-27 Microsoft Corporation Encoding/decoding while allowing varying message formats per message
US8621222B1 (en) 2008-05-30 2013-12-31 Adobe Systems Incorporated Archiving electronic content having digital signatures
US8826005B1 (en) 2008-08-21 2014-09-02 Adobe Systems Incorporated Security for software in a computing system
US20100174664A1 (en) 2009-01-05 2010-07-08 Blackrock Institutional Trust Company, N.A. ETF Trading in Secondary Market Based on Underlying Basket
US20100173610A1 (en) * 2009-01-05 2010-07-08 Qualcomm Incorporated Access stratum security configuration for inter-cell handover
US8978091B2 (en) 2009-01-20 2015-03-10 Microsoft Technology Licensing, Llc Protecting content from third party using client-side security protection
US10169599B2 (en) 2009-08-26 2019-01-01 International Business Machines Corporation Data access control with flexible data disclosure
US8831228B1 (en) 2009-08-28 2014-09-09 Adobe Systems Incorporated System and method for decentralized management of keys and policies
US8468345B2 (en) * 2009-11-16 2013-06-18 Microsoft Corporation Containerless data for trustworthy computing and data services
EP2348450B1 (en) 2009-12-18 2013-11-06 CompuGroup Medical AG Database system, computer system, and computer-readable storage medium for decrypting a data record
US8397068B2 (en) 2010-04-28 2013-03-12 Microsoft Corporation Generic file protection format
CN103460184B (zh) 2010-10-04 2019-05-17 维谛信息技术***有限公司 用于结合通用数据模型存储库来监视并管理数据中心资源的***和方法
JP2014509109A (ja) * 2011-01-11 2014-04-10 アップル インコーポレイテッド リアルタイム又はリアルタイムに近いストリーミング
HU230908B1 (hu) 2011-03-25 2019-02-28 Tresorit Kft. Eljárás és rendszertechnikai elrendezés csoportmegosztások kezelésére elosztott adattárolási, különösen P2P környezetben
US8181035B1 (en) * 2011-06-22 2012-05-15 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
US9077525B2 (en) 2011-06-24 2015-07-07 Microsoft Technology Licensing, Llc User-controlled data encryption with obfuscated policy
US9378380B1 (en) 2011-10-31 2016-06-28 Reid Consulting Group System and method for securely storing and sharing information
US9390228B2 (en) 2011-10-31 2016-07-12 Reid Consulting Group, Inc. System and method for securely storing and sharing information
CN104012030B (zh) * 2011-12-21 2018-04-13 英特尔公司 用于保护对称加密密钥的***及方法
WO2013101215A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Cloud based real time app privacy dashboard
US9344413B2 (en) 2012-01-18 2016-05-17 OneID, Inc. Methods and systems for device disablement
US9575906B2 (en) * 2012-03-20 2017-02-21 Rubicon Labs, Inc. Method and system for process working set isolation
US8739308B1 (en) * 2012-03-27 2014-05-27 Amazon Technologies, Inc. Source identification for unauthorized copies of content
US9116906B2 (en) * 2012-06-12 2015-08-25 Sap Se Centralized read access logging
WO2014007668A1 (en) * 2012-07-02 2014-01-09 Intel Corporation Asynchronous distributed computing based system
US9285981B1 (en) 2012-07-16 2016-03-15 Wickr Inc. Discouraging screen capture
US9278249B2 (en) * 2012-07-23 2016-03-08 Icon Health & Fitness, Inc. Exercise cycle with vibration capabilities
WO2014059136A2 (en) 2012-10-12 2014-04-17 Safelylocked, Llc. Techniqued for secure data exchange
US8972750B2 (en) 2012-12-19 2015-03-03 Adobe Systems Incorporated Method and apparatus for securing transfer of secure content to a destination
WO2014105834A1 (en) 2012-12-30 2014-07-03 Feliciano Raymond Richard Method and apparatus for encrypting and decrypting data
US20140245025A1 (en) * 2013-02-22 2014-08-28 Spideroak Inc. System and method for storing data securely
US10769296B2 (en) 2013-12-10 2020-09-08 Early Warning Services, Llc System and method of permission-based data sharing
CN103731272B (zh) 2014-01-06 2017-06-06 飞天诚信科技股份有限公司 一种身份认证方法、***及设备
US9767317B1 (en) * 2014-03-25 2017-09-19 Amazon Technologies, Inc. System to provide cryptographic functions to a markup language application
CN105207774B (zh) * 2014-05-30 2019-03-01 北京奇虎科技有限公司 验证信息的密钥协商方法及装置
WO2015184221A1 (en) * 2014-05-30 2015-12-03 Georgetown University A process and framework for facilitating information sharing using a distributed hypergraph
GB2513260B (en) 2014-06-27 2018-06-13 PQ Solutions Ltd System and method for quorum-based data recovery
US20160028735A1 (en) 2014-07-28 2016-01-28 Max Planck Gesellschaft zur Förderung der Wissenschaften e.V. Private analytics with controlled information disclosure
AU2015346644A1 (en) 2014-11-12 2017-06-29 Reid Consulting Group System and method for securely storing and sharing information
US9129095B1 (en) 2014-12-19 2015-09-08 Tresorit, Kft Client-side encryption with DRM
US9871772B1 (en) * 2015-03-17 2018-01-16 The Charles Stark Draper Laboratory, Inc. Cryptographic system for secure command and control of remotely controlled devices
RU2673842C1 (ru) * 2015-03-20 2018-11-30 Ривец Корп. Автоматическая аттестация сохранности устройства с применением цепочки блоков
CN105743958A (zh) * 2015-04-13 2016-07-06 乐视网信息技术(北京)股份有限公司 一种终端之间的通信方法和装置
US10515409B2 (en) * 2016-03-23 2019-12-24 Domus Tower, Inc. Distributing work load of high-volume per second transactions recorded to append-only ledgers
US10613938B2 (en) * 2015-07-01 2020-04-07 Actifio, Inc. Data virtualization using copy data tokens
KR101661930B1 (ko) 2015-08-03 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템
US10243744B2 (en) * 2016-06-21 2019-03-26 The King Abdulaziz City For Science And Technology Residue message authentication code
CN105930236A (zh) * 2016-07-15 2016-09-07 深圳市沃特玛电池有限公司 一种基于BMS Bootloader升级的应用程序版本回退方法
US11341259B2 (en) 2018-12-12 2022-05-24 Spideroak, Inc. Managing group authority and access to a secured file system in a decentralized environment
US11341261B2 (en) 2019-04-05 2022-05-24 Spideroak, Inc. Integration of a block chain, managing group authority and access in an enterprise environment

Also Published As

Publication number Publication date
IL274473B (en) 2021-10-31
TW202333054A (zh) 2023-08-16
US20180075262A1 (en) 2018-03-15
KR20190047687A (ko) 2019-05-08
AU2023204296A1 (en) 2023-07-27
US20210240868A1 (en) 2021-08-05
EP3513298A4 (en) 2020-05-06
AU2017325928B2 (en) 2021-11-11
CN109643285B (zh) 2023-12-08
TW202232312A (zh) 2022-08-16
JP2022116009A (ja) 2022-08-09
KR20240038828A (ko) 2024-03-25
TWI803291B (zh) 2023-05-21
IL274473A (en) 2020-06-30
AU2017325928C1 (en) 2022-04-28
US20210240867A1 (en) 2021-08-05
EA201990315A1 (ru) 2019-08-30
TWI763710B (zh) 2022-05-11
US20200019735A1 (en) 2020-01-16
MX2023007718A (es) 2023-07-10
KR20220137788A (ko) 2022-10-12
US20230315917A1 (en) 2023-10-05
US20180075253A1 (en) 2018-03-15
KR102649209B1 (ko) 2024-03-20
US11010496B2 (en) 2021-05-18
EP3513298A1 (en) 2019-07-24
AU2022200795B2 (en) 2023-04-06
CN109643285A (zh) 2019-04-16
AU2017325928A1 (en) 2019-03-07
AU2023204296B2 (en) 2023-12-14
BR112019003128A2 (pt) 2019-05-21
US11720716B2 (en) 2023-08-08
KR102482406B1 (ko) 2022-12-29
JP7076819B2 (ja) 2022-05-30
CR20190075A (es) 2019-06-05
TW201814511A (zh) 2018-04-16
AU2024201130A1 (en) 2024-03-14
MX2019002385A (es) 2019-06-20
AU2022200795A1 (en) 2022-02-24
US11003802B2 (en) 2021-05-11
US20200226297A1 (en) 2020-07-16
CA3031531A1 (en) 2018-03-22
US10671764B2 (en) 2020-06-02
JP2019537769A (ja) 2019-12-26
WO2018052726A1 (en) 2018-03-22
US10503933B2 (en) 2019-12-10

Similar Documents

Publication Publication Date Title
CN109643285B (zh) 加密的用户数据传输及储存
US11558192B2 (en) NUTS: flexible hierarchy object graphs
IL293412B1 (en) Transfer and storage of encrypted user data
IL310890A (en) Transfer and storage of encrypted user data
EA040905B1 (ru) Зашифрованный транзит и хранение пользовательских данных
NZ791988A (en) Encrypted userdata transit and storage

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