CN104685825A - 用于安全通信的共享秘密标识 - Google Patents

用于安全通信的共享秘密标识 Download PDF

Info

Publication number
CN104685825A
CN104685825A CN201280076055.XA CN201280076055A CN104685825A CN 104685825 A CN104685825 A CN 104685825A CN 201280076055 A CN201280076055 A CN 201280076055A CN 104685825 A CN104685825 A CN 104685825A
Authority
CN
China
Prior art keywords
hash
data item
computing equipment
mark
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201280076055.XA
Other languages
English (en)
Other versions
CN104685825B (zh
Inventor
E·克鲁格里克
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.)
Empire Technology Development LLC
Original Assignee
Empire Technology Development 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 Empire Technology Development LLC filed Critical Empire Technology Development LLC
Publication of CN104685825A publication Critical patent/CN104685825A/zh
Application granted granted Critical
Publication of CN104685825B publication Critical patent/CN104685825B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本申请一般描述了与用于安全通信的共享秘密标识有关的技术。在一些示例中,设备可以交换诸如文件去重散列的散列,从而标识匹配散列。标识的匹配散列代表了可用作对设备之间的后续安全通信进行加密和/或解密的共享秘密的共享数据项。每个设备从其相应的安全存储器中取回共享的数据项并且可以使用共享数据项对后续安全通信进行加密和/或解密。窃听者可以观察散列交换,但是在对共享数据项没有访问权的情况下不能对安全通信进行解密,因为散列可有效地非可逆。

Description

用于安全通信的共享秘密标识
背景技术
除非在此处进行说明,否则此处所描述的材料不是本申请权利要求的现有技术并且不因包含在该部分中而承认是现有技术。
电子通信频繁地发生于不安全的通信信道上。不安全的通信信道可以包括有线和无线信道以及加密和非加密的信道。所谓的“开放式”或非加密的Wi-Fi网络通常是不安全的,但是,即使是对无线传输进行加密的“开始安全的”Wi-Fi网络易受诸如所谓的“中间人”的攻击。蜂窝通信网络也会是不安全的。例如,第三方可以设置用来捕获和转送蜂窝通信数据的“虚假的”或未经授权的蜂窝通信站。一般地,在任意网络基础结构内可能发生各种各样的窃听活动。
安全通信可以包括交换第三方不能截获和/或解密的不同确定程度的信息。安全通信方法可以使用共享秘密,例如,如G.Simmons,“PrepositionedShared Secret and/or Shared Control Schemes,”Advances in Cryptology–Eurocrypt 1989(Springer,1990):436-467和D.Catalano,R.Gennaro和S.Halevi,“Computing Inverses Over a Shared Secret Modulus,”Advances inCryptology–Eurocrypt 2000(Springer,2000):190-206中所描述的。共享秘密提供了强有力的安全通信工具,其允许例如拥有共享秘密的各方利用共享秘密对数据进行加密和解密,而不具有共享秘密的任意方都不能对截获的数据进行解密。然而,在一些情景中,起初建立共享秘密而未将共享秘密或可用来确定共享秘密的信息提供给可能的窃听者会呈现出安全脆弱性。
发明概述
本公开一般描述了与用于安全通信的共享秘密标识有关的包括设备、方法和计算机可读介质在内的技术。一些示例性的方法可以包括:通过计算设备,将存储在计算设备能访问的安全存储器位置上的数据项发送到通信目标散列;通过计算设备,从计算设备发送的散列中接收标识的散列,其中标识的散列表明通信目标对与通信目标能访问的安全存储器位置上的标识的散列对应的数据项具有访问权;以及通过计算设备,利用共享数据项作为共享秘密对与所述通信目标的后续通信进行加密或解密。
一些示例性的方法可以包括:通过计算设备,接收存储在计算目标能访问的安全存储器位置上的数据项的散列;通过所述计算设备,将接收到的散列与存储在计算设备能访问的安全存储器位置上的数据项的散列进行比较,从而标识散列,其中标识的散列表明计算设备对计算设备能访问的安全存储器位置上的对应于标识的散列的数据项具有访问权;通过计算设备,将标识的散列发送到通信目标;以及通过计算设备,利用对应于标识的散列的数据项作为共享秘密对与通信目标的后续通信进行加密或解密。
还公开了具有实现本文所描述的各种技术的指令的计算设备和计算机可读介质。示例性的计算机可读介质可以包括具有能够由处理器执行的计算机可执行指令的非暂态计算机可读存储介质,当通过处理器执行时,所述指令使所述处理器实施本文所提供的各种方法的任意组合。示例性的计算设备可以包括服务器,服务器包括处理器、存储器以及配置为实施本文所描述的方法的共享秘密标识系统。
前面的概述仅仅是示例性的,而不意在以任何方式进行限制。通过参考附图以及下面的详细说明,除了上文所描述的示例性的方案、实施例和特征之外,另外的方案、实施例和特征将变得清晰可见。
附图说明
通过下面结合附图给出的详细说明和随附的权利要求,本公开的前述特征以及其它特征将变得更加清晰。应理解的是,这些附图仅描绘了依照本公开的多个实施例,因此,不应视为对本发明范围的限制,将通过利用附图结合附加的具体描述和细节对本公开进行说明,在附图中:
图1是示出参与用于安全通信的共享秘密标识的示例性的计算设备的框图;
图2是示出作为构造为执行用于安全通信的共享秘密标识的计算设备的一个示例的示例性的计算设备的框图;
图3是示出用于标识用于安全通信的共享秘密的示例性的方法的流程图;
图4是示出示例性的数据项和对应散列的框图;
图5是示出交换标识的散列的示例性的计算设备的框图;以及
图6是示出用于分配用作共享秘密的定制数据项的示例性的方法的框图,
所有都是依照本公开的至少一些实施例布置的。
发明详述
在下面的详细说明中,将参考附图,附图构成了详细说明的一部分。在附图中,除非上下文指出,否则相似的符号通常表示相似的部件。在详细说明、附图和权利要求中所描述的示例性实施例不意在限制。可以使用其它实施例,并且可以做出其它改变,而不偏离本文呈现的主题的精神或范围。将易于理解的是,如本文大致描述且如图中所图示的,本公开的方案能够以各种不同配置来布置、替代、组合、分离和设计,所有这些都在本文中明确地构思出。
本公开一般涉及包括与用于安全通信的共享秘密标识有关的包括部署于其中的方法、设备、系统和/或计算机可读介质的技术。在一些示例中,设备可以交换诸如文件去重散列的散列,以标识匹配散列。标识的匹配散列代表了共享数据项,该共享数据项可用作共享秘密以对设备间的后续安全通信进行加密和/或解密。每个设备可以从其相应的安全存储器取回共享数据项且可以使用共享数据项来对后续的安全通信进行加密和/或解密。窃听者可以观察散列交换,但是在对共享数据项没有访问权的情况下不能对安全通信解密,因为交换的散列可有效地非可逆。
例如,在一些实施例中,第一计算设备可配置成将存储在第一计算设备能访问的安全存储器位置上的数据项的散列发送到第二计算设备。在该示例中,第二计算设备可称为通信目标。第一计算设备可配置成从通信目标接收标识的散列,其中标识的散列可对应于两个设备共享的数据项。标识的散列在此处还可称为匹配散列,对应的数据项在此处可称为共享数据项。第一计算设备可配置成将共享数据项或其方面用作共享秘密以对与通信目标的后续安全通信进行加密和/或解密。
在一些实施例中,第二计算设备可配置成从第一计算设备接收散列。在该示例中,第一计算设备可称为通信目标。第二计算设备可配置成将接收到的散列与存储在第二计算设备能够访问的安全存储器位置上的数据项的散列进行比较以标识出表明对共享数据项具有访问权的匹配散列。第二计算设备可配置成将标识的散列发送到通信目标以及使用对应的共享数据项或其方面作为共享秘密以对与通信目标的后续安全通信进行加密和/或解密。
在一些实施例中,第一和第二计算设备可配置为同时地或者交替地发送和接收,即交换散列,以及将接收到的散列与存储在其相应的安全存储器位置上的数据项的散列进行比较。首先标识表明对共享数据项的拥有的匹配散列的计算设备(其可以是第一或第二计算设备)可以将标识的散列发送到另一计算设备。第一和第二计算设备可以配置为通过利用对应于标识的散列的共享数据项作为共享秘密对通信进行加密和解密来开始安全通信。
在一些实施例中,交换的散列可以包括存储在计算设备的本地存储器中的数据项的存储系统去重散列。去重散列可以包括为存储块生成的高度压缩的签名以检测包含相同数据的块且使能通过引用而不是相同数据的多个副本来表示。去重散列可以有效地非可逆,意味着不可能通过去重散列来明确地生成原始数据项。将理解的是,可以利用任何散列函数来生成去重散列。一般地,用于去重或其他目的的散列函数可以包括将可变长度的较大数据集(例如,数据项)映射到固定长度的较小数据集(例如,散列)的任意算法。一个散列,无论是去重散列还是其他散列,可以包括,例如32或64位整数,但是散列可以呈现多种形式,本公开不限于任意特定的散列类型。数据去重通常是减少或消除重复数据的复制副本的数据压缩技术。可以使用去重散列来减少存储占用,还能够应用于网络数据传输,例如,减少必须发送的字节数。在示例性的去重过程中,可以标识并存储独特的数据项或其部分,例如数据项内的独特字节模式。可以将其他的数据项可以与存储的数据项进行比较,每当发生匹配时,都可以用指向存储的数据项的指针来替换冗余数据项。鉴于相同的字节模式可以出现很多次,去重能够大幅地减少计算设备存储或传输的数据量。
在一些实施例中,计算设备可配置成选择用于交换的散列。本文中描述了各种散列选择技术,其中任意一种可以单独使用或者与其他散列选择技术组合使用。在一些实施例中,通过计算设备交换的数据项的散列可以包括用户配置文件数据项的散列,诸如电子邮件、文本文件、图像文件、社交数据(例如,经由社交网络共享的数据)或其部分。在一些实施例中,由计算设备发送的数据项的散列可以包括系统数据项的散列,诸如操作系统文件、应用文件或其部分。在一些实施例中,由计算设备发送的数据项的散列可以包括具有共享历史的数据项的散列,如本文进一步详细描述的。
散列选择可配置成按特定实施例的需要来平衡安全性与速度和便利性。例如,系统数据项用作共享秘密通常可以在标识共享秘密时提供高水平的速度和便利性,而由于相同系统数据项集合在许多设备中的可用性,与用户配置文件数据项相比,系统数据项的使用可以提供低水平的安全性。例如,与流行的操作系统族中任一个相关联的系统数据项被普通使用。因为系统数据项普遍存在,所以在一些实施例中计算设备可配置成交换系统数据项的散列,以实现相对高水平的便利性和速度的共享秘密标识。
对比而言,诸如计算设备的用户之间的共享文本消息或电子邮件的用户配置文件数据项通常可以更独特且不大可能被可能的窃听者访问。在一些实施例中,计算设备因此可以配置成试图通过交换用户配置文件数据项的散列来将用户配置文件数据项标识为共享秘密,从而提供相对强的安全性。然而,共享用户配置文件数据项的标识可涉及到设备间一些附加信息交换、附加散列选择处理操作、和/或在一些实施例中的用户引导散列选择操作。计算设备可配置成交换用户配置文件数据项的散列,以实现相对高水平的通信安全性。
此外,在一些实施例中,计算设备可配置成交换用户配置文件数据项和系统数据项这两者的散列。例如,计算设备可配置成首先交换用户配置文件数据项的散列,以及如果未能标识共享用户配置文件数据项则交换系统数据项的散列。在一些实施例中,计算设备可配置成,例如通过建立通信目标的用户或设备标识符以及判定是否存在任何与用户和/或通信目标设备通信的历史,来检测共享的用户配置文件数据项何时可用。计算设备可配置成当存在与用户和/或通信目标设备通信的历史时利用用户配置文件数据项的散列来执行共享秘密标识的散列选择,以及当不存在与用户和/或通信目标设备的通信历史时利用系统数据项的散列来执行共享秘密标识的散列选择。将理解的是,可以借助本公开来实现多种其他的散列选择方法和/或本文所描述的散列选择技术的变型例。
在一些实施例中,计算设备可配置成例如通过标识与通信目标相关联的用户以及标识具有涉及到与通信目标相关联的用户的共享历史的数据项来选择用于交换的散列。通过计算设备交换的数据项的散列可以包括具有涉及到与通信目标相关联的用户的共享历史的数据项的散列。在一些实施例中,部分地通过与社交网络应用、社交网络应用程序接口(API)或与可用社交网络数据的交互来实现用户和/或数据项标识,其中可用社交网络数据很可能包括计算设备的用户的联系人以及共享数据项的标识。
在一些实施例中,计算设备可配置成基于对应数据项的唯一性/稀有性而优先所选用于交换的散列。例如,可以选择对应于更“稀有”数据项的散列,用于在对应于不太稀有的数据项的散列之前或之后进行交换,从而调节安全性强度与标识匹配散列的可能的速度。趋于更稀有或唯一的数据项的散列可以包括用户配置文件数据项,诸如通信各方之间的电子邮件交流以及一个通信方创建的公司文档。趋于不太稀有或唯一的数据项的散列可以包括诸如应用代码区域和操作系统文件的系统数据项。在一些实施例中,计算设备可以配置成按安全性减小的次序对数据项分类且基于这样的优化来选择数据项的散列。例如,两个通信方之间的电子邮件会比全公司发送的电子邮件更安全;少数人共享的图像会比在诸如的社交网络上共享的图像更加安全。
在一些实施例中,计算设备可配置成,例如通过显示配置成接收极可能与通信目标共享的或者用户标识为具有高的唯一性程度的数据项的用户选择的一个或多个用户界面(UI),来请求用户帮助进行散列选择。例如,UI可配置成接收一个或多个具体数据项的用户选择或多类数据项中一类数据项的用户选择。用户选定数据项的散列或者来自用户选定类的数据项的散列可以与通信目标交换。
在一些实施例中,计算设备可配置成定制多个数据项中的每一个以生成多个定制数据项。这些定制数据项可与多个联系人共享以在与联系人相关联的潜在通信目标设备能访问的安全存储器位置上建立定制数据项。例如,具备客户借以参与安全通信的计算设备的公司可以将“一拨(blast)”电子邮件发送给其客户,该电子邮件对人眼来说是相同的,但是可以包括底层数据差异,例如在电子邮件中所包含的图像中的不同像素特性。电子邮件可以包括后来用作公司计算设备与客户计算设备之间的安全通信中所涉及的唯一共享秘密的共享数据项。
在一些实施例中,交换标识的散列可以包括发送/接收一组散列,计算设备可配置成从一组散列中确定标识的散列。例如,计算设备可以将一个或多个“虚假”散列连同标识的散列一起发送,虚假散列不对应于任何共享数据项。然后,通信目标可以通过检查该组中的散列是否对应于通信目标的安全存储器中的数据项的散列来从一组散列中确定标识的散列。窃听者可以观察散列交换,但是难以判定该中的哪个散列对应于共享数据项。
在一些实施例中,通过计算设备交换的数据项的散列可以包括数据项的一个或多个部分的散列,每个数据项的一个或多个部分包括每个数据项的少于全部的部分。计算设备可配置成利用数据项的对应于标识散列的一个或多个部分作为共享秘密来对后续通信进行加密和/或解密,其中所述数据项的一个或多个部分包括除了与通过计算设备交换的散列对应的那些部分之外的部分。例如,数据项可以对应于多个散列,每个散列对应于多页或多存储块数据项的不同页或存储块。计算设备可配置成交换数据项的一些页的散列,例如,数据项的第一页和第三页,并且可以利用交换的散列来标识共享数据项。计算设备可配置成使用除了那些对应于交换散列的页之外的页,例如共享数据项的第二页和第四页,作为后续通信的加密和/或解密的共享秘密。理论上可具有大量处理力而由观察的特定散列生成可能的数据项库的窃听者将不能够对于非交换散列做出同样的动作。
根据本公开的一些示例性的解决方案可配置成使得共享秘密标识快速、安全且自动,即使通信介质不安全时也不显露共享秘密。使用本公开解决方案的设备的窃听者可以看到继无意义的非可逆散列的交换之后的突然的安全连接。
在一些实施例中,通信设备可配置成一次发送一批散列。标识匹配散列的计算设备可配置成利用对应于匹配散列的数据项作为共享秘密加密密钥来发送编码的通信。最后一批散列的发送者可以配置成尝试最近期发送的批次的散列中的可能的共享秘密中的每一个作为共享秘密加密密钥。虽然窃听者可以尝试对散列进行逆设计来发现共享秘密,但是安全通信计算设备可任选地配置成通过在临时安全信道上交换补充共享秘密来实现更大的安全性。
在一些实施例中,计算设备可配置成完全在云内或者通信各方具有访问权的云之间交换散列。在一些实施例中,计算设备可配置成在云内高速交换散列且通过其安全云连接将共享秘密提供给每个通信方的通信应用。例如,计算设备可以授权基于云的散列交换,而不是直接交换散列,并且与每个计算设备相关联的云服务可以承担本文所描述的各共享秘密标识方法中的任一种。
在一些实施例中,计算设备可以采用本文所描述的解决方案来预防典型的“中间人”方案。在示例性的“中间人”方案中,计算设备用户Alice和Bob可以使用加密密钥,加密密钥被窃听者X截获或通过其他方式可为窃听者X使用。X可以向Alice自称是Bob的计算设备,向Bob自称是Alice的计算设备。然而,本文所公开的解决方案可配置成确保X对Alice或Bob使用的共享秘密没有访问权。将仅在Alice与Bob之间共享的数据项用作共享秘密可以确保作为第三方的X不会拥有共享秘密。更广泛共享的数据项的使用可能无法供较完全的第三方不会拥有共享秘密的确保;但是,可以选择这样的数据项来有效地将窃听的风险降至近似零。
图1是示出依照本公开的至少一些实施例布置的参与用于安全通信的共享秘密标识的示例性的计算设备的框图。图1包括计算设备101和计算设备102。计算设备101包括共享秘密标识系统110、安全通信系统120、存储子系统130和安全存储器140。计算设备102包括共享秘密标识系统150、安全通信系统160、存储子系统170和安全存储器180。
共享秘密标识系统110包括散列选择器111和散列比较器112。安全通信系统120包括加密/解密模块121。安全存储器140包括数据项散列141、用户配置文件数据项142、和系统数据项147。用户配置文件数据项142和/或系统数据项147可以包括各类数据项,例如类A143、类B 144和类C 145。为简化说明,在图1中示出了三类,但是应当理解的是,在一些实施例中可存在更多或更少的类。计算设备102中的相似元件,即共享秘密标识系统150、安全通信系统160、存储子系统170和安全存储器180可类似于计算设备101中的相似元件来配置。
在图1中,计算设备101和102可以经由任意有线或无线连接来通信。例如,计算设备101和102可以经由Wi-Fi网络、蜂窝通信网络和/或诸如以太网连接的有线通信网络中的一种或多种来通信。计算设备101和102均可连接到诸如因特网的网络或网络集合,并且可以经由网络来通信。
计算设备101或计算设备102在本文中可称为“通信目标”,即,计算设备101是计算设备102的通信目标,反之亦然,因为用户和/或计算设备101上的进程会试图进入与计算设备102的安全通信对话,反之亦然。一般地,在本文中参考计算设备102作为通信目标来描述计算设备101的操作。
通常,在图1中,散列选择器111可以选择待发送给通信目标的散列152。同时,散列比较器112可以将自通信目标接收到的散列与数据项散列141进行比较。当计算设备101或计算设备102发现匹配的散列时,可以将匹配的散列作为标识的散列153传送给另一设备。安全通信系统120和160可以使用安全存储器140和180中的对应于标识散列153的相同数据项作为用于计算设备101与计算设备102之间的安全通信154的共享秘密。
计算设备101和102可配置成进行初始握手151以确认两个计算设备101和102是否配备有共享秘密标识系统,以及可选地交换用于散列选择的握手数据。示例性的握手数据可以包括共享秘密标识系统确认,以及任选的用户标识数据和/或设备标识数据。用户标识数据可以包括例如与登录到计算设备101和102上的用户相关联的姓名或其他标识符。设备标识数据可以包括例如诸如标识计算设备101和102中的每一个的全局唯一标识符(GUID)的标识符。共享秘密标识系统110可配置成在确认了通信目标均配备有共享秘密标识系统之际将散列选择器111初始化。
散列选择器111可配置成选择将数据项散列141中的哪些数据项散列例如作为发送给计算设备102的散列152发送到通信目标。可以根据各种散列选择方法中的任一种来配置散列选择器111。在一些实施例中,散列选择器111所选择的以及计算设备101发送给通信目标的散列152可以包括用户配置文件数据项142的散列。用户配置文件数据项142可以例如从类A 143、类B 144和/或类C 145中选出。用户配置文件数据项142可以包括例如与在计算设备101内建立的用户配置文件相关联的任意数据项。这些数据项通常可以包括用户著作的和/或用户下载的文件、图像、视频文件、电子邮件、文本文件和/或其部分。
在一些实施例中,散列选择器111所选择的以及计算设备101发送给通信目标的散列152可以包括具有共享历史的数据项散列。例如,散列选择器111可配置成在具有对应于共享历史的特性或者与对应于共享历史的特性相关联的安全存储器140中搜索数据项,例如具有表明多作者的元数据的数据项。作者通常是计算设备的人类用户,其创建文件,首先将文件存储在计算设备上,和/或其他方式将内容贡献给文件,例如通过撰写先前作者发起的文档的段落,或者通过编辑先前作者起初存储在计算设备上的图像。文件可以包括标识其作者的元数据,或者在一些情况下,文件内容或文件系统元数据可以标识文件的作者。对应于共享历史的属性可以包括指示作者不同于登录计算设备101的用户的元数据和/或其他文件属性、指示多个作者/参与者的浏览和评论的属性、指示存储在多个位置上的属性、和/或指示已经作为附件发送了电子邮件和/或保存或上传到网络存储位置的历史的属性。
在一些实施例中,散列选择器111可配置成采用社交网络应用或社交网络API来标识具有共享历史的数据项。经由社交网络应用共享的任意或全部的数据项可以视为具有共享历史,并且可以被选择以用于散列交换。散列选择器111还可配置有在散列选择过程中的进一步的细化,例如标识与通信目标关联的特定用户共享的数据项。此外,在一些实施例中,散列选择器111可配置成采用社交网络应用来进行目标设备102的用户标识。例如,散列选择器111可配置成从社交网络应用请求可能为目标设备102的用户的附近朋友的身份。散列选择器111可配置成选择具有共享历史的数据项散列,用作散列152。
在一些实施例中,散列选择器111可配置成使用与通信目标相关联的握手数据,诸如用户和/或设备标识符数据,例如用户名和GUID,来从数据项散列141中选择散列。例如,散列选择器111可配置成从依照握手151交换的握手数据中标识与通信目标相关联的用户,如本文所描述的,并且散列选择器111可配置成搜索安全存储器140以标识具有涉及到与通信目标相关联的用户的共享历史的数据项。散列选择器111可以配置成选择具有涉及到与通信目标相关联的用户的共享历史的数据项的散列,用作散列152。
在一些实施例中,散列选择器111所选择的以及计算设备101发送给通信目标的散列152可包括系统数据项147的散列,系统数据项147包括操作系统文件、应用文件或其部分中的一个或多个。在一些实施例中,系统数据项147的散列以及用户配置文件数据项142的散列可以存储在数据项散列141中,例如作为存储子系统130维护的去重散列,或者作为共享秘密标识系统110所计算和存储的散列。在一些实施例中,可以在通信时,例如响应于握手151,通过共享秘密标识系统110来计算系统数据项147的散列以及用户配置文件数据项142的散列。散列选择器111可配置成从数据项散列141中计算或选择系统数据项147的散列和/或用户配置文件数据项142的散列,用于与通信目标进行交换。系统数据项147还可以包括多个不同的类别,与用户配置文件数据项142的类别类似,散列选择器111可配置成从任意系统数据项类别中选择散列。
在一些实施例中,散列选择器111可配置成使能进行安全存储器140中的数据项的用户选择,以及根据用户数据项选择从数据项散列141中选择散列。类似地,在一些实施例中,散列选择器111可配置成使能进行数据项类型和/或类别的用户选择,以及根据用户类型/类别选择从数据项散列141中选择散列。例如,散列选择器111可配置成显示UI,UI配置成接收诸如类A 143、类B 144和/或类C 145的多类数据项中的一类数据项的用户选择。类别可以包括例如电子邮件、图片、社交数据、文档、来自特定文件夹的文件、具有某规定属性的文件等。散列选择器111可配置成接收多类数据项中的一类数据项的用户选择,计算设备101可配置成发送包括用户选定类的数据项中的数据项的散列的散列152。
在一些实施例中,散列选择器111可配置成检测安全存储器140内对应于安全级别的数据项的属性,以及根据对应的数据项的安全级别从数据项散列141中选择散列。例如,散列选择器111可配置成在安全存储器140内搜索具有与唯一性/稀有性对应的属性的数据项,即未被或不可能被除计算设备101和计算设备101的用户可能试图与其通信的朋友圈、同作者、同僚和联系人以外的很多用户/计算设备所共享的数据项。例如,一般地,诸如用户配置文件数据项142中的用户图片和文档的定制数据项会比系统数据项147中的数据项更稀有。可对应于安全级别的数据项的其他属性包括,例如,数据项的密码保护,受密码保护的文件夹或存储位置上存在数据项,或者在安全存储器140内被认为比安全存储器140内一些其他位置更安全的存储器位置上存在数据项。在一些实施例中,散列选择器111可以配置成选择首先作为散列152发送的更安全的数据项散列,随后选择较不安全的数据项散列。
在一些实施例中,散列选择器111可配置成选择与数据项的一个或多个部分对应的散列以作为散列152进行交换,每个数据项的一个或多个部分包括每个数据项的少于全部的部分。例如,安全存储器140中的数据项可以各自包括多个部分或多段,诸如存储在安全存储器140内的多个不同存储块内的部分,或者与多页文件的一页或多页的集合对应的部分。散列选择器111可配置成选择例如数据项的第一部分的散列以用作散列152,而第二部分和后续部分可以不作为散列152进行交换。可替代地,散列选择器111可配置成选择包括每个数据项的少于全部的部分的任意其他部分的散列。该方法允许后续安全通信154任选地使用包括数据项部分的共享秘密而不是那些与通过计算设备101和102交换的散列152对应的数据项。例如,共享秘密标识系统110和150可配置成交换数据项的第一部分的散列,而安全通信系统120和160可配置成使用数据项的第二部分作为用于安全通信的共享秘密。
在一些实施例中,散列选择器111可配置成使用其他各种技术中的任一种来进行散列选择,例如,散列选择器111可配置成基于安全存储器140内的数据项位置、数据项日期、数据项作者和/或任意数据项属性来选择散列。在一些实施例中,散列选择器111可配置成从数据项散列141中随机地选择散列。
在一些实施例中,散列选择器111可配置成从存储子系统130中获取所选的散列。例如,散列选择器111可配置成将散列请求131发送到存储子系统130。散列请求131可以从数据项散列141和/或安全存储器140中的数据项中标识散列。存储子系统可以响应于散列请求131而返回散列133。散列选择器111可配置成使计算设备101将来自散列133中的一个或多个散列例如作为散列152发送到通信目标。
在一些实施例中,散列选择器111可配置成计算所选的散列。例如,散列选择器111可配置成将数据项请求发送到存储子系统130,散列选择器111可以作为响应接收所请求的数据项。散列选择器111可配置成利用任意散列法技术来计算所请求的数据项的散列。
所选的散列可以作为散列152被发送到通信目标。在一些实施例中,可以按以预定时间间隔分离的批次来发送散列152。一批散列包括一起发送到通信目标的一组的两个或以上散列。成批地发送散列152可以允许在发送下一批之前在通信目标处进行比较处理以及返回标识的散列153(如果可用)。在一些实施例中,每个计算设备101和102可配置成将一批散列152发送到对方,每个计算设备101和102可配置成执行比较处理,每个计算设备101和102可配置成重复进行散列的发送和比较,直到计算设备101或102之一将标记为标识散列153的散列发送到另一个。
散列比较器112可配置成将从通信目标接收到的散列与计算设备101能访问的数据项的散列(诸如安全存储器140中的数据项散列141)进行比较。在一些实施例中,散列比较器112可配置成与存储子系统130进行一个或多个散列比较134交互,存储子系统130可配置成与安全存储器140进行一个或多个存储器访问135交互以执行期望的散列比较。例如,散列比较器112可配置成经由散列比较134从存储子系统130请求,从计算设备102接收到的任意散列152是否在数据项散列141中存在。存储子系统130可配置成通过存储器访问135来检查散列比较134中指定的散列在数据项散列141中是否存在。如果不存在,则存储子系统130可配置成将赴否定指示返回散列比较器112。如果在散列比较134中指定的任意散列在数据项散列141中存在,则存储子系统130可配置成经由与散列比较器112的另一散列比较134交互来返回任意匹配的散列。
安全存储器140可以包括计算设备101和/或其用户能访问的而一个或多个其他计算设备或用户不能访问的任意存储器位置。例如,在一些实施例中,在与计算设备101处于同一壳体内的诸如本地硬盘驱动器或闪存的本地存储器可以包括安全存储器140。其他的存储器位置也可以充当安全存储器140,诸如与计算设备101安全连接的基于云的存储位置、安全拇指驱动器或其他存储器。
在一些实施例中,数据项散列141可以包括存储在安全存储器140中的数据项的存储系统去重散列。否则,数据项散列141可以包括根据任意散列法技术计算出的任意散列。在一些实施例中,共享秘密标识系统110可配置成计算数据项散列141以用于共享秘密标识。共享秘密标识系统110可以例如计算数据项散列141并且可以将数据项散列141存储在表格、列表或其他数据结构中,以便其用于共享秘密标识。在一些实施例中,共享秘密标识系统110可配置成在连接时,例如响应于握手151,而计算数据项散列。
当散列比较器112发现匹配散列时,共享秘密标识系统110可配置成将匹配散列发送到通信目标,例如作为标识散列153发送到计算设备102。在一些实施例中,共享秘密标识系统110可以配置成当发送标识散列153时采用一个或多个安全预防措施。例如,共享秘密标识系统110可配置成在包括标识散列153的一组散列中发送标识散列153,以使得检测哪个散列对应于共享数据项的任务对于任何企图窃听者来说更难。一组散列中的一个散列可以对应于从通信目标接收到的散列,而一组中的其他散列可以不对应于从通信目标接收到的散列。在通信目标处的,例如在计算设备102处的共享秘密标识系统110(或者在计算设备102将包括标识散列153的一组散列发送到计算设备101的情况下,计算设备101处的共享秘密标识系统110)可以配置成将包括标识散列153的一组散列与先前交换的散列152进行比较以由包括标识散列153的一组散列中确定标识散列153。在一些实施例中这种安全预防措施和/或其他安全预防措施的多种变型例可应用并且可由本领域技术人员借助于本公开来开发。
响应于将标识散列153发送到通信目标和/或从通信目标接收标识散列153,共享秘密标识系统110可配置成将标识散列153或与其有关的数据提供给安全通信系统120。安全通信系统120可配置成取回对应于标识散列153的数据项,以及利用对应于标识散列153的数据项作为共享秘密对与通信目标的后续通信进行加密和/或解密。
例如,安全通信系统120可配置成向存储子系统130进行对与标识散列153对应的数据项的数据项请求136。存储子系统130可配置成执行存储器访问137以取回所请求的数据项,存储子系统130可配置成将所请求的数据项作为数据项138返回安全通信系统120。安全通信系统120可配置成将数据项138供给加密/解密模块121,用于在与通信目标的一个或多个安全通信对话中对与通信目标的安全通信154进行加密和解密。
在通过计算设备101发送的数据项的散列152包括每个数据项的一个或多个部分的散列的实施例中,每个数据项的一个或多个部分包括每个数据项的少于全部的部分,安全通信系统120可配置成利用数据项138的对应于标识散列153的一个或多个部分作为共享秘密对安全通信154进行加密和/或解密,其中数据项138的一个或多个部分包括除了与由计算设备101发送的散列152对应的那些部分之外的部分。
将理解的是,在一些实施例中,共享秘密标识系统110可配置成做出数据项请求136且接收数据项138,然后将数据项138供给安全通信系统120,作为如上所述的将标识散列153供给安全通信系统120以及允许安全通信系统120从安全存储器140取回数据项138的备选方案。此外,将理解的是,虽然在一些实施例中未修改的数据项或其部分可用作共享秘密,但是在其他实施例中共享秘密标识系统110和150、和/或安全通信系统120和160可配置成在使用它们作为共享秘密之前修改数据项。例如,一些修改方法可以包括利用第二散列法将数据项散列化,或者是整批地或者是分块的,以及使用散列化的数据项或其部分作为共享秘密。
图2是依照本公开的至少一些实施例布置的作为配置成执行用于安全通信的共享秘密标识的计算设备的一个示例的计算设备200的框图。在一些实施例中,任一计算设备101或102可配置类似于计算设备200。在最基本的配置201中,计算设备200可以包括一个或多个处理器210和系统存储器220。存储器总线230可用于处理器210与系统存储器220之间通信。
根据期望的配置,处理器210可以是任意类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任意组合。处理器210可以包括诸如第一级超高速缓存211和第二级超高速缓存212的一级或多级超高速缓存、处理器核213和寄存器214。处理器核213可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP Core)或其任意组合。存储器控制器215还可与处理器210一起使用,或者在一些实施方式中,存储器控制器215可以是处理器210的内部部件。
根据期望的配置,系统存储器220可以为任意类型,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或其任意组合。系统存储器220典型地包括操作系统221、一个或多个应用222和程序数据225。在一些实施例中,操作系统221可以包括由虚拟机管理器(VMM)管理的虚拟机。在一些实施例中,操作系统221可以包括存储子系统130,如图1所示。在一些实施例中,操作系统221还可以包括共享秘密标识系统110和安全通信系统120。可替代地,应用222可以包括共享秘密标识系统110和安全通信系统120,如图2所示。程序数据225可以包括由共享秘密标识系统110和/或安全通信系统120使用的共享秘密标识系统数据226。
计算设备200可以具有附加的特征或功能,以及利于基本配置201与任意所需的设备和接口之间的通信的附加接口。例如,总线/接口控制器240可用来方便基本配置210与一个或多个数据存储设备250之间经由存储接口总线241的通信。任意数据存储设备250可以包括诸如图1所示的安全存储器140的安全存储器。数据存储设备250可以是可移除存储设备251、非可移除存储设备252或其组合。可移除存储设备和非可移除存储设备的示例包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘设备、诸如压缩盘(CD)驱动器或数字多功能盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)和磁带驱动器,仅列举了几个。示例的计算机存储介质可以包括以用于诸如计算机可读指令、数据结构、程序模块或其它数据的信息的存储的任何方法或技术实现的易失性和非易失性的介质以及可移除和非可移除的介质。
在一些实施例中,如图1所示的安全存储器140可以包括计算设备200能访问的任意存储设备,诸如系统存储器220、存储设备250、通信设备280和/或其他计算设备290。安全存储器可以包括经过各种安全措施中的任一种处理的各个存储器位置中的任一个。安全存储器可以包括本地硬盘驱动器,由于对于不具有设备的物理所有权的用户而言不能访问,所以其通常至少在一定程度上是安全的,并且可以通过密码保护和/或加密技术来使其进一步安全。通过要求认证或其他安全预防措施,网络驱动器是安全的。
第一级超高速缓存211、第二级超高速缓存212、系统存储器220、可移除存储设备251和非可移除存储设备252都是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储设备、磁盒、磁带、磁盘存储设备或其他磁存储设备,或者任何其他可用来存储所需的信息且可由计算设备200访问的介质。任何这样的计算机存储介质可以是设备200的部分。
计算设备200还可以包括便于从各个接口设备(例如,输出接口、外围设备接口和通信接口)经由总线/接口控制器240到基本配置201的通信的接口总线242。示例的输出设备260包括图形处理单元261和音频处理单元262,其可配置成经由一个或多个A/V端口263与诸如显示器或扬声器的各种外部设备通信。示例的外围设备接口270可以包括串行接口控制器271或并行接口控制器272,其可配置成通过有线或无线连接经由一个或多个I/O端口273与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其它外围设备(例如,打印机、扫描仪等)的外部设备通信。示例的通信设备280包括网络控制器281,其可布置成便于经由一个或多个通信端口282通过网络通信与一个或多个其他的计算设备290的通信。在一些实施例中,通信设备280可以包括图1所示的安全通信系统120。
计算机存储介质可以是通信介质的一个例子。通信介质通常可通过计算机可读指令、数据结构、程序模块或诸如载波或其它传输机制的调制数据信号中的其它数据来具体化,并且包括任何信息输送介质。“调制数据信号”可以是使得其特性中的一个或多个以将信号中的信息编码的方式设定或改变的信号。通过举例而不是限制的方式,通信介质可以包括诸如有线网络或直接线连接的有线介质,以及诸如声波、射频(RF)、红外(IR)和其它无线介质的无线介质。
计算设备200可实现为诸如智能手机或平板式电脑的移动设备,和/或实现为包括膝上型计算机配置和非膝上型计算机配置的个人或商业用途计算机。计算设备200还可以实现为各种电子设备中的任一种,这将是易于理解的。
图3是示出依照本公开的至少一些实施例布置的用于标识用于安全通信的共享秘密的示例性方法的流程图。示例的流程图可以包括如框301-309图示的一个或多个操作/模块,其代表了可通过一方法执行的操作、计算设备200中的功能模块、和/或可以记录在计算机可读介质300上的指令。
在图3中,图示出框301-309包括顺序地执行的框,例如,先是框301,最后是框309。然而,将理解的是,这些框可以方便地重新布置以适应特定的实施例,而且在一些实施例中这些框或其部分可以同时执行。还理解的是,在一些示例中,可以去除各个框,可将各框划分成额外的框、和/或与其他框组合。
图3示出了计算设备200可以借以来标识用于安全通信的共享秘密且利用共享秘密参与安全通信对话的示例性的方法。一般地,计算设备200可以与通信目标交换散列以标识在计算设备200与通信目标之间共享的数据项,用作共享秘密。
在“握手”框301中,计算设备200可以采用与通信目标的任何握手协议。在一些实施例中,可以采用传输层安全(TLS)和/或安全套接字层(SSL)型握手。在一些实施例中,可以采用传输控制协议(TCP)握手。各种握手协议可用,或者可以对于不同的通信技术开发各种握手协议,可以将任意握手协议与本公开的实施例相结合使用。在一些实施例中,除了通常可根据既定的握手协议交换的握手数据之外,计算设备200可以执行增广握手以采集用于散列选择的数据。例如,计算设备200可以从通信目标采集用户标识符和/或设备标识符信息。框301随后是框302。
在“选择散列”框302中,计算设备200可以选择要发送到通信目标的散列,如结合图1中的散列选择器111所描述的。在一些实施例中,所选的散列可以包括存储在计算设备200的本地存储器中的数据项的存储系统去重散列。在一些实施例中,所选的散列可以包括用户配置文件数据项的散列,用户配置文件数据项包括电子邮件、文本文件、图像文件或其部分中的一个或多个。在一些实施例中,所选的散列可以包括系统数据项的散列,系统数据项包括操作系统文件、应用文件或其部分中的一个或多个。在一些实施例中,所选的散列可以包括具有共享历史的数据项的散列。在一些实施例中,所选的散列可以包括每个数据项的一个或多个部分的散列,每个数据项的一个或多个部分包括每个数据项的少于全部的部分,使得后续的对安全通信的加密或解密能够使用除了由计算设备发送的散列对应的那些部分之外的部分。
在一些实施例中,框302可以包括:通过计算设备200,标识与通信目标相关联的用户和具有涉及到与通信目标相关联的用户的共享历史的数据项。例如,当在框301中交换用户标识符信息时,可以使用用户标识符信息来标识与通信目标相关联的用户。可替代地,UI可以请求用户输入与通信目标相关联的用户标识符。计算设备200随后可以标识具有涉及到通信目标用户的共享历史的数据项,并且计算设备200可以将这些数据项的散列包括在框303中由计算设备200发送的数据项散列中。在一些实施例中,共享秘密标识系统可配置成与一个或多个其他的应用配合以标识与通信目标相关联的用户和/或具有涉及到与通信目标相关联的用户的共享历史的数据项。例如,社交网络应用可以对用户标识符以及在各用户间共享的数据项具有访问权。
在一些实施例中,框302可以包括用户引导散列选择,例如,通过计算设备200来显示UI,UI配置成接收有关多类数据项中的一类数据项的用户选择,以及通过计算设备接收有关多类数据项中的一类数据项的用户选择。数据项的类别可以包括例如:文件型类别,诸如电子邮件、图片、文档和/或其他文件类型;存储位置类别,诸如文件夹、驱动器和/或其他存储位置;文件属性类别,诸如文件匹配特定搜索标准、文件具有某文件名称和/或创建日期;和/或可用于特定实施例的任何其他类别。计算设备200可以将用户所选的数据项类型中的数据项的散列包括在框303中由计算设备200发送的数据项的散列中。框302随后是框303。
在“发送/接收散列”框303中,计算设备200可以将存储在计算设备200能访问的安全存储器位置上的数据项的散列发送到通信目标。由计算设备200发送的散列可以包括在框302中选择的散列。可替代地或者与发送散列相结合,计算设备200可以接收存储在通信目标能访问的安全存储器位置上的数据项的散列。不是对于所有实施例都要求包括发送散列和接收散列的双向散列交换。在一些实施例中,在框303中计算设备200可以发送散列而不接收散列,在这些实施例中计算设备200无需执行框304-306。而是,计算设备200可以等待以在框307中接收标识的散列,并且可以进行到框308。在一些实施例中,在框303中计算设备200可以接收散列而不发送散列,在这样的实施例中计算设备200无需执行框307。而是,计算设备200可以执行框303-306,直至在框306中发现标识的散列且将标识的散列发送到通信目标。
在一些实施例中,计算设备200可以在框303中发送接连批次的散列,直到标识出匹配的散列。例如,在框303中,一批散列可以发送到通信目标,可以从通信目标接收不同批次的散列。可以将接收到的批次的散列进行比较以判定在框304-305中是否发现匹配的散列。如果没有发现匹配的散列,则计算设备200可以返回框303以与通信目标交换另外批次的散列。如果在框304-305中发现匹配的散列,或者在框307中接收到匹配的散列,则计算设备200可以进行到框308。框303随后是框304或框307。
在“比较接收到的散列”框304中,计算设备200可以将在框303中从通信目标接收到的散列与存储在计算设备200能访问的安全存储器位置上的数据项的散列进行比较。计算设备200可以在框304中比较散列以标识匹配的散列。标识的散列可以表明,计算设备200对与计算设备200能访问的安全存储器位置上的标识散列对应的数据项具有访问权。在一些实施例中,比较接收到的散列可以包括:将接收到的散列提供给存储子系统,使得存储子系统能够核对计算设备200能访问的安全存储器中的接收到的散列,以及从存储子系统接收任何匹配散列的指示。在一些实施例中,比较接收到的散列可以包括在计算设备200能访问的散列表或其他数据结构中查找接收到的散列。框304随后可以是决策框305。
在“找到匹配的散列?”决策框305中,当在框304中没有找到匹配的散列时计算设备200可以返回框303,或者当在框304中找到一个或多个匹配散列时进行到框306。因此,当找到匹配散列时,决策框305随后是框306,而当没有找到匹配散列时,决策框305随后是框303。
在“将标识散列发送到通信目标”框306中,计算设备200可以将在框304中标识为匹配散列的散列发送到通信目标。在一些实施例中,当发送标识散列时,可以采取安全预防措施,例如通过发送包含标识散列的一组散列,如结合图1所描述的。而且,在一些实施例中,可以通过除了标识散列本身之外的信息来对标识的散列进行标识。例如,计算设备200可以发送散列标识信息,表明例如来自通信目标接收到的批次#2内的第3个散列与计算设备200能访问的安全存储器内的散列匹配。框306随后可以是框308。
在“接收标识散列”框307中,计算设备200可以从通信目标接收由计算设备在框303中发送的散列中的标识散列。标识散列可以表明,通信目标对与通信目标能访问的安全存储器位置上的标识散列对应的数据项具有访问权。在一些实施例中,在框307中接收到的标识散列可以包括散列以及表明散列是匹配散列和/或通信目标将继续利用对应的数据项作为共享秘密来开始安全连接的信息。在一些实施例中,在框307中接收到的标识散列可以包括一组散列,计算设备200可以从一组散列中确定标识散列,例如如本文所论述的。响应于接收到标识散列,计算设备200可以结束框303-306的操作。框307随后是框308。
在“取回数据项以用作共享秘密”框308中,计算设备200可以将与在框306中发送到通信目标的标识散列对应的数据项或者在框307中从通信目标接收到的数据项在计算设备200能访问的安全存储器中定位。在一些实施例中,计算设备200可以将数据项装载到安全通信系统中,用作共享秘密。在一些实施例中,计算设备200可以标识数据项的除了对应于标识散列的那些部分之外的部分或者数据项的包括对应于标识散列的那些部分在内的部分,用作共享秘密。框308随后可以是框309。
在“利用数据项作为共享秘密来参与安全通信”框309中,计算设备200可以利用对应于标识散列的数据项作为共享秘密对与通信目标的通信进行加密和/或解密。经加密的/解密的与通信目标的通信在本文中可称为“后续”通信,因为它们是在共享秘密标识之后进行的。计算设备200可以使用在框308中取回的数据项的任意变换来对安全通信进行加密和/或解密。在一些实施例中,后续通信的加密/解密可以使用的共享秘密包括数据项的除了与由计算设备200和通信目标交换的散列对应的那些部分之外的部分。
在一些实施例中,除了图3所示的框之外,计算设备200可以存储数据项和/或数据项标识符,用于与特定通信目标的任何后续安全通信。例如,计算设备200可以保存包含通信目标设备标识和共享秘密标识符在内的表格,用于查找用于与通信目标通信的共享秘密。判定共享秘密是否之前已经被标识而用于与特定通信目标进行安全通信可以在框301之后以及框302之前来进行。当共享秘密之前已经被标识而用于安全通信时,计算设备200可以省略框303-307,而计算设备200可以直接进行到框308。换言之,当之前已经标识出共享秘密时,计算设备200可试图再次使用之前标识的共享秘密。如果之前标识的共享秘密在框309中不可用,则计算设备可以返回框303且重新参与共享秘密标识,如本文所描述的。
图4是示出依照本公开的至少一些实施例布置的示例性的数据项和对应散列的框图。图4包括数据项400和数据项散列410。数据项400包括存储块401-405。数据项散列410包括散列411-415。在图4汇总示出了五个存储块和五个散列作为多个存储块和多个对应的散列的示例,然而将理解的是,数据项可以包括更多或更少的存储块,数据项散列可以包括更多或更少的散列。
数据项400和各存储块401-405可以包括安全存储器140内的数据项,例如在用户配置文件数据项142内的或者在系统数据项147内的数据项。数据项400包括第一存储块401、第二存储块402、第三存储块403、第四存储块404和第五存储块405。存储块401-405可以包括任意给定尺寸的数据块,或者通过某种描画器分离的数据块,诸如接连的电子邮件或者档案文件中的其他文件,或其部分。例如,在一些实施例中,第一存储块401可以表示数据项400的第一页;第二存储块402可以表示数据项400的第二页;第三存储块403可以表示数据项400的第三页;第四存储块404可以表示数据项400的第四页;第五存储块405可以表示数据项400的第五页。
数据项散列410可以包括对应于数据项存储块401-405的散列411-415。散列411可对应于第一存储块401,散列412可对应于第二存储块402,散列413可对应于第三存储块403,散列414可对应于第四存储块404,散列415可对应于第五存储块405。在一些实施例中,数据项散列410可以包括由存储子系统130计算的去重散列。在一些实施例中,数据项散列410可以包括例如由共享秘密标识系统110计算的任何散列类型。数据项散列410可以存储在安全存储器140内,如图1所示,或者数据项散列410可以存储在计算设备101能访问的任何其他存储器位置上。
在一些实施例中,用于标识共享秘密的计算设备和/或过程可以将散列411-415中的一个或多个标识为匹配散列,该匹配散列与通信目标处的散列匹配。匹配散列可以作为标识散列来交换,如本文所描述的。计算设备随后可以使用数据项400、或存储块401-405的任意组合作为用于安全通信的共享秘密。
例如,计算设备200可以将散列411和/或413发送给通信目标,通信目标可以将散列411和/或散列413作为标识散列返回计算设备200。在一些实施例中,计算设备200和通信目标随后可以使用数据项400内对应于未交换散列的存储块,诸如对应于未交换散列412和414的存储块402和/或404,或者全部存储块401-405,作为用于后续安全通信对话的共享秘密。企图窃听安全通信对话的截获计算设备理论上可以计算出对应于交换散列411和/或413的所有可能的数据块,但是在实际中这样的计算证明是不可能实现的,因为比合理可用的情况需要更多的计算时间、成本和耗费。然而,截获计算设备不能计算未交换散列412、414和/或415的所有可能的数据块,因此采用未交换散列作为共享秘密的至少一部分的实施例可具有额外的安全优势。然而,应强调的是,不是对于本公开的所有实施例都需要在共享秘密中使用数据项的对应于未交换散列的部分。
图5是示出依照本公开的至少一些实施例布置的交换标识散列的示例性的计算设备的框图。图5包括计算设备101、计算设备102和标识散列包500。计算设备101包括共享秘密标识系统110,共享秘密标识系统110包括如图1所示的散列选择器111和散列比较器112,以及标识散列管理器510。计算设备102包括共享秘密标识系统150,如图1所示,其中共享秘密标识系统150包括散列选择器551、散列比较器552和标识散列管理器553。标识散列包500包括标记501以及一组散列,该一组散列包括虚假散列502、虚假散列503、标识散列504和虚假散列505。
在图5中,共享秘密标识系统110和150可配置有标识散列管理器510和553,以交换包500。标识散列管理器510和553可响应于散列比较器112或552得到的标识匹配散列,配置成生成标识散列包500并将标识散列包500发送到通信目标。标识散列管理器510和553还可配置成从自通信目标接收到的标识散列包500中提取标识散列504。
例如,响应于标识出匹配散列,标识散列管理器553可配置成将作为标识散列504的匹配散列连同虚假散列502、503和505以及标记501一起封装到标识散列包500中。在接收到标识散列包500时,标识散列管理器510可配置成读取标记501以判定标识散列包500包括标识散列,以及将散列502-505与由计算设备101和102交换的如图1的散列152的散列进行比较,从而判定散列502-505中的哪个散列是对应于用作共享秘密的数据项的标识散列504。虚假散列502、503和505可以例如包括之前交换的散列中的非匹配散列,即,不与计算设备102处的数据项的对应散列匹配的散列。
图6是示出依照本公开的至少一些实施例布置的分配定制数据项以用作共享秘密的示例性的方法的框图。图6包括计算设备600、计算设备101、安全存储器140和联系人651、652和653。计算设备600包括共享秘密分配系统611,共享秘密分配系统611包括数据项定制模块612和数据项分配模块613。安全存储器140包括原始数据项620、定制数据项621-623和数据项散列141。计算设备101包括共享秘密标识系统110。
在图6中,计算设备600和101以及安全存储器140可以例如由诸如公司的第一实体操作,而联系人651-653可以包括与第一实体交互的用户和/或设备,例如,联系人651-653可以包括由公司客户操作的客户电子邮件账户和/或计算设备。计算设备600和101以及安全存储器140可以例如经由LAN型连接通信耦合,而计算设备600和101可以例如经由WAN连接(例如经由与互联网的连接)与联系人651-653进行通信。
在图6中,共享秘密分配系统611可配置成生成定制数据项621-623,以及与联系人651-653共享定制数据项621-623以在与多个联系人651-653相关联的潜在通信目标设备能访问的安全存储器位置上建立定制数据项621-623。同时,计算设备101可如结合图1所描述的配置成使用共享秘密标识系统110来标识用于对与尤其包括与联系人651-653关联的设备的通信目标的通信进行加密和解密的共享秘密。
在一些实施例中,数据项定制612可配置成经由对安全存储器140的读/写访问601来访问原始数据项620。原始数据项620可以包括例如要插入联系人651-653的电子邮件中的图像。数据项定制612可配置成自动地定制原始数据项620以创建定制数据项621-623,例如通过对图像内的一个或多个像素做出改变,以及将各种修改版本的原始数据项620作为定制数据项621-623保存在安全存储器140中。
在一些实施例中,数据项分配613可配置成使计算设备600将不同的定制数据项发送给联系人651-653中的每个联系人。例如,如图6所示,计算设备600可以将定制数据项621发送给联系人651,计算设备600可以将定制数据项622发送给联系人651,计算设备600可以将定制数据项623发送给联系人653。将不同的定制数据项发送给联系人651-653中的每个联系人的效果在于,能够在与联系人651-653中的每个联系人相关联的存储器中建立唯一数据项,以便后来用作与计算设备101通信的共享秘密。在一些实施例中,数据项分配613可配置成用元数据为定制数据项621-623加标签以表明定制数据项621-623中的每一个与哪个联系人651、652或653共享。计算设备101可配置成进行读/写访问602,如结合图1中对安全存储器140的访问所描述的,从而标识并使用定制数据项621-623与联系人651-653中的任意联系人进行安全通信。
在系统方案的硬件实现和软件实现之间保留了极小的区别;硬件或软件的使用通常是(但并不总是,因为在一些背景下硬件和软件之间的选择会变得重要)表示成本相对于效率权衡的设计选择。存在各种可以实现(例如,硬件、软件和/或固件)本文所描述的过程和/或系统和/或其它技术的媒介物,并且优选的媒介物将随着部署过程和/或系统和/或其它技术的背景而变化。例如,如果实施者判定速度和精度重要,则实施者可以选择主硬件和/或固件媒介物;如果灵活性重要,则实施者可以选择主软件实现;或者,另外可选地,实施者可以选择硬件、软件和/或固件的一些组合。
前面的详细说明已经通过框图、流程图和/或示例阐述了设备和/或过程的各个实施例。在这些框图、流程图和/或示例包含一项或多项功能和/或操作的程度上,本领域技术人员将理解的是可以通过各种各样的硬件、软件、固件或几乎其任意组合来单独地和/或统一地实现这些框图、流程图或示例内的每项功能和/或操作。在一个实施例中,本文所描述的主题的多个部分可经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它集成格式来实现。然而,本领域技术人员将理解的是,在本文公开的实施例的一些方案可以整体地或部分地等同地实现为集成电路、在一个或多个计算机上运行的一个或多个计算机程序(例如,实现为在一个或多个计算机系统上运行的一个或多个程序)、在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序)、固件、或几乎任何组合,并且根据本公开的内容,设计电路和/或编写用于软件和/或固件的代码将在本领域技术人员的技能范围内。另外,本领域技术人员将理解的是,本文所描述的主题的机制能够以各种形式分布为程序产品,并且本文所描述的主题的示例性实施例适用,无论实际上用于实施分布的特定类型的信号承载介质如何。信号承载介质的示例包括但不限于以下:可记录型介质,诸如软盘、硬盘驱动器、压缩盘(CD)、数字多功能盘(DVD)、数字带、计算机内存等;以及传输型介质,诸如数字和/或模拟通信媒体(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。
本领域技术人员将理解的是以本文所阐述的方式描述设备和/或过程以及此后利用工程实践来将这样描述的设备和/或过程集成到数据处理系统中通常在本领域范围内。也即,本文所描述的设备和/或过程的至少一部分能够经由合理量的实验集成到数据处理系统中。本领域技术人员将理解,典型的数据处理系统通常包括如下中的一项或多项:系统单位外壳、视频显示设备、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、诸如操作系统、驱动器、图形用户界面和应用程序的计算实体、诸如触摸板或屏幕的一个或多个交互设备、和/或包括反馈环和控制电动机(例如,用于感测位置和/或速度的反馈;用于移动和/或调整部件和/或量的控制电动机)的控制系统。典型的数据处理系统可利用任何适合的商业上提供的部件来实现,诸如在数据计算/通信和/或网络计算/通信系统中常见的部件。本文所描述的主题有时说明了包含在不同的其它部件内的不同部件或与不同的其它部件连接的不同部件。应理解的是,这些所描绘的体系结构仅是示例性的,并且实际上可以实施实现相同功能的许多其它体系结构。在概念意义上,实现相同功能的任何部件的布置有效地“关联”,使得实现期望功能。因此,在此处组合以实现特定功能的任何两个部件可视为彼此“关联”,使得实现期望功能,无论体系结构或中间部件如何。同样,任意两个如此关联的部件还可视为彼此“可操作地连接”、或“可操作地耦合”以实现期望的功能,并且能够如此关联的任意两个部件还可视为彼此“能够可操作地耦合”以实现期望功能。能够可操作耦合的具体示例包括但不限于能够物理上可配合和/或物理交互的部件和/或能够无线交互和/或无线交互的部件和/或逻辑上交互和/或能够逻辑上交互的部件。
关于本文中基本上任何复数和/或单数术语的使用,本领域技术人员能够根据上下文和/或应用适当地从复数变换成单数和/或从单数变换成复数。为了清晰的目的,本文中明确地阐明了各单数/复数的置换。
本领域技术人员将理解,一般地,本文所使用的术语,尤其是随附权利要求(例如,随附权利要求的主体)中所使用的术语,通常意在为“开放式”术语(例如,术语“包括”应当解释为“包括但不限于”,术语“具有”应解释为“至少具有”,术语“包括”应解释为“包括但不限于”,等等)。本领域技术人员还理解,如果意图表达引导性权利要求记述项的具体数量,该意图将明确地记述在权利要求中,并且在不存在这种记述的情况下,不存在这样的意图。例如,为辅助理解,下面的随附权利要求可能包含了引导性短语“至少一个”和“一个或多个”的使用以引导权利要求记述项。然而,这种短语的使用不应解释为暗示不定冠词“一”或“一个”引导权利要求记述项将包含该所引导的权利要求记述项的任何特定权利要求局限于仅包含一个该记述项的实施例,即使当同一权利要求包括了引导性短语“一个或多个”或“至少一个”以及诸如不定冠词“一”或“一个”的(例如,“一”和/或“一个”应当解释为表示“至少一个”或“一个或多个”);这同样适用于对于用于引导权利要求记述项的定冠词的使用。另外,即使明确地记述了被引导的权利要求记述项的具体数量,本领域技术人员将理解到这些记述项应当解释为至少表示所记述的数量(例如,没有其它修饰语的裸记述“两个记述项”表示至少两个记述项或两个以上的记述项)。此外,在使用类似于“A、B和C等中的至少一个”的惯用法的那些实例中,通常这样的构造旨在表达本领域技术人员理解该惯用法的含义(例如,“具有A、B和C中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系统)。在使用类似于“A、B或C等中的至少一个”的惯用法的那些实例中,通常这样的构造旨在表达本领域技术人员理解该惯用法的含义(例如,“具有A、B或C中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系统)。本领域技术人员将进一步理解,呈现两个以上可选项的几乎任何分离词和/或短语,无论是在说明书、权利要求或附图中,都应理解为设想包括一项、任一项或两项的可能性。例如,术语“A或B”将理解为包括“A”或“B”或“A和B”的可能性。
虽然在本文中已经利用各种方法、设备和系统描述和图示了一些示例性的技术,但本领域技术人员应理解的是,可以进行其他各种修改,可以替代等同方案,而不偏离权利要求的主题。另外,可以做出许多修改以使特定的情形适应权利要求主题的教导,而不偏离本文所描述的中心构思。因此,目的在于权利要求主题不限于所公开的特定示例,而是这些权利要求主题还可以包含落在随附权利要求范围内的所有实现方案及其等同方案。

Claims (60)

1.一种安全通信方法,包括:
通过计算设备将存储在所述计算设备能访问的安全存储器位置上的数据项的散列发送到通信目标;
通过所述计算设备,从由所述计算设备发送的所述散列中接收标识的散列,其中所述标识的散列表明所述通信目标对与所述通信目标能访问的安全存储器位置上的标识的散列对应的数据项具有访问权;以及
通过所述计算设备,利用与所述标识的散列对应的所述数据项作为共享秘密来对与所述通信目标的后续通信进行加密或解密。
2.如权利要求1所述的方法,其中由所述计算设备发送的所述数据项的散列包括存储在所述计算设备的本地存储器中的数据项的存储系统去重散列。
3.如权利要求1所述的方法,其中由所述计算设备发送的所述数据项的散列包括用户配置文件数据项的散列,所述用户配置文件数据项包括电子邮件、文本文件、图像文件或其部分中的一个或多个。
4.如权利要求1所述的方法,其中由所述计算设备发送的所述数据项的散列包括系统数据项的散列,所述系统数据项包括操作系统文件、应用文件或其部分中的一个或多个。
5.如权利要求1所述的方法,其中由计算设备发送的数据项散列包括具有共享历史的数据项散列。
6.如权利要求1所述的方法,还包括:
通过所述计算设备,标识与所述通信目标相关联的用户;以及
通过所述计算设备,标识具有涉及到与所述通信目标相关联的用户的共享历史的数据项;
其中由所述计算设备发送的数据项散列包括具有涉及到与所述通信目标相关联的用户的共享历史的数据项的散列。
7.如权利要求1所述的方法,还包括:
通过所述计算设备,显示用户界面(UI),所述用户界面配置为接收有关多种类型数据项中的数据项类型的用户选择;以及
通过所述计算设备,接收所述有关多种类型的数据项的数据项类型的用户选择;
其中由所述计算设备发送的数据项散列包括所述用户选择的数据项类型中的数据项散列。
8.如权利要求1所述的方法,还包括:
生成多个定制数据项;以及
与多个联系人共享所述定制数据项以在与所述多个联系人相关联的潜在通信目标设备能访问的安全存储器位置上建立所述定制数据项。
9.如权利要求1所述的方法,其中接收所述标识的散列包括接收一组散列,还包括从所述一组的散列中确定所述标识的散列。
10.如权利要求1所述的方法,其中由所述计算设备发送的数据项散列包括每个数据项的一个或多个部分的散列,每个数据项的所述一个或多个部分包含每个数据项的少于全部的部分,并且其中对后续通信进行加密或解密使用所述数据项的对应于所述标识的散列的一个或多个部分作为共享秘密,其中所述数据项的所述一个或多个部分包括除了与由所述计算设备发送的散列对应的那些部分之外的部分。
11.一种具有能够由处理器执行的计算机可执行指令的非暂态计算机可读存储介质,当通过所述处理器执行时,所述指令实现安全通信模块,使所述处理器:
通过包括所述处理器的计算设备将存储在所述计算设备能访问的安全存储器位置上的数据项散列发送到通信目标;
接收由所述计算设备发送的散列中的标识的散列,其中所述标识的散列表明所述通信目标对与所述通信目标能访问的安全存储器位置上的标识的散列对应的数据项具有访问权;以及
利用对应于所述标识的散列的数据项作为共享秘密,对与所述通信目标的后续通信进行加密或解密。
12.如权利要求11所述的非暂态计算机可读存储介质,其中由所述计算设备发送的数据项的散列包括存储在所述计算设备的本地存储器中的数据项的存储系统去重散列。
13.如权利要求11所述的非暂态计算机可读存储介质,其中由所述计算设备发送的数据项的散列包括用户配置文件数据项的散列,所述用户配置文件数据项包括电子邮件、文本文件、图像文件或其部分中的一个或多个。
14.如权利要求11所述的非暂态计算机可读存储介质,其中由所述计算设备发送的数据项的散列包括系统数据项的散列,所述系统数据项包括操作系统文件、应用文件或其部分中的一个或多个。
15.如权利要求11所述的非暂态计算机可读存储介质,其中由所述计算设备发送的数据项的散列包括具有共享历史的数据项的散列。
16.如权利要求11所述的非暂态计算机可读存储介质,还包括使所述处理器执行如下动作的指令:
标识与所述通信目标相关联的用户;以及
标识具有涉及到与所述通信目标相关联的用户的共享历史的数据项;
其中由所述计算设备发送的数据项的散列包括具有涉及到与所述通信目标相关联的用户的共享历史的数据项的散列。
17.如权利要求11所述的非暂态计算机可读存储介质,还包括使所述处理器执行如下动作的指令:
显示用户界面(UI),用户界面配置为接收有关多种类型数据项中的数据项类型的用户选择;以及
接收所述有关多种类型数据项中的数据项类型的用户选择;
其中由所述计算设备发送的数据项散列包括所述用户选定的数据项类型中的数据项散列。
18.如权利要求11所述的非暂态计算机可读存储介质,还包括使所述处理器执行如下动作的指令:
生成多个定制数据项;以及
与多个联系人共享所述定制数据项以在与所述多个联系人相关联的潜在通信目标设备能访问的安全存储器位置上建立所述定制数据项。
19.如权利要求11所述的非暂态计算机可读存储介质,其中使所述处理器接收所述标识的散列的指令包括接收一组散列的指令以及从所述一组的散列中确定所述标识的散列的指令。
20.如权利要求11所述的非暂态计算机可读存储介质,其中由所述计算设备发送的数据项散列包括每个数据项的一个或多个部分的散列,每个数据项的所述一个或多个部分包括每个数据项的少于全部的部分,并且其中使所述处理器对后续通信进行加密或解密的指令配置为使用所述数据项的对应于所述标识的散列的一个或多个部分作为共享秘密,其中所述数据项的所述一个或多个部分包括除了对应于由所述计算设备发送的散列的那些部分以外的部分。
21.配置为提供共享秘密标识模块的计算设备,包括:
处理器;
存储器;以及
安全通信模块,其存储在所述存储器中且能够由所述处理器执行,其中所述安全通信模块配置为:
通过所述计算设备将存储在所述计算设备能访问的安全存储器位置上的数据项散列发送到通信目标;
接收由所述计算设备发送的散列中的标识的散列,其中所述标识的散列表明所述通信目标对与所述通信目标能访问的安全存储器位置上的所述标识的散列对应的数据项具有访问权;以及
利用对应于所述标识的散列的数据项作为共享秘密,对与所述通信目标的后续通信进行加密或解密。
22.如权利要求21所述的计算设备,其中由所述计算设备发送的数据项散列包括存储在所述计算设备的本地存储器中的数据项的存储系统去重散列。
23.如权利要求21所述的计算设备,其中由所述计算设备发送的数据项散列包括用户配置文件数据项的散列,所述用户配置文件数据项包括电子邮件、文本文件、图像文件或其部分中的一个或多个。
24.如权利要求21所述的计算设备,其中由所述计算设备发送的数据项散列包括系统数据项的散列,所述系统数据项包括操作系统文件、应用文件或其部分中的一个或多个。
25.如权利要求21所述的计算设备,其中由所述计算设备发送的数据项散列包括具有共享历史的数据项散列。
26.如权利要求21所述的计算设备,其中所述安全通信模块配置为:
标识与所述通信目标相关联的用户;以及
标识具有涉及到与所述通信目标相关联的用户的共享历史的数据项;
其中由所述计算设备发送的数据项散列包括具有涉及到与所述通信目标相关联的用户的共享历史的数据项的散列。
27.如权利要求21所述的计算设备,其中所述安全通信模块配置为:
显示用户界面(UI),所述用户界面配置为接收有关多种类型数据项中的数据项类型的用户选择;以及
接收所述有关多种类型数据项中的数据项类型的用户选择;
其中由所述计算设备发送的数据项散列包括所述用户选定的数据项类型中的数据项的散列。
28.如权利要求21所述的计算设备,其中所述安全通信模块配置为:
生成多个定制数据项;以及
与多个联系人共享所述定制数据项以在与所述多个联系人相关联的潜在通信目标设备能访问的安全存储器位置上建立所述定制数据项。
29.如权利要求21所述的计算设备,其中所述安全通信模块配置为接收一组散列中的标识的散列,以及从所述一组的散列中确定所述标识的散列。
30.如权利要求21所述的计算设备,其中由所述计算设备发送的数据项散列包括每个数据项的一个或多个部分的散列,每个数据项的所述一个或多个部分包括每个数据项的少于全部的部分,并且其中所述安全通信模块配置为利用所述数据项的对应于所述标识的散列的一个或多个部分作为共享秘密来对后续通信进行加密或解密,其中所述数据项的所述一个或多个部分包括除了与由所述计算设备发送的散列对应的那些部分之外的部分。
31.一种安全通信方法,包括:
通过计算设备,接收存储在通信目标能访问的安全存储器位置上的数据项的散列;
通过所述计算设备,将所述接收到的散列与存储在所述计算设备能访问的安全存储器位置上的数据项的散列进行比较,从而标识散列,其中所述标识的散列表明所述计算设备对与所述计算设备能访问的安全存储器位置上的所述标识的散列对应的数据项具有访问权;
通过所述计算设备,将所述标识的散列发送到所述通信目标;以及
通过所述计算设备,利用所述对应于标识的散列的数据项作为共享秘密,对与所述通信目标的后续通信进行加密或解密。
32.如权利要求31所述的方法,其中与所述接收到的散列进行比较的数据项的散列包括存储在所述计算设备的本地存储器中的数据项的存储系统去重散列。
33.如权利要求31所述的方法,其中与所述接收到的散列进行比较的数据项的散列包括用户配置文件数据项的散列,所述用户配置文件数据项包括电子邮件、文本文件、图像文件或其部分中的一个或多个。
34.如权利要求31所述的方法,其中与所述接收到的散列进行比较的数据项的散列包括系统数据项的散列,所述系统数据项包括操作系统文件、应用文件或其部分中的一个或多个。
35.如权利要求31所述的方法,其中与所述接收到的散列进行比较的数据项的散列包括具有共享历史的数据项的散列。
36.如权利要求31所述的方法,还包括:
通过所述计算设备,标识与所述通信目标相关联的用户;以及
通过所述计算设备,标识具有涉及到与所述通信目标相关联的用户的共享历史的数据项;
其中与所述接收到的散列进行比较的数据项的散列包括具有涉及到与所述通信目标相关联的用户的共享历史的所述数据项的散列。
37.如权利要求31所述的方法,还包括:
通过所述计算设备,显示用户界面(UI),所述用户界面配置为接收有关多种类型数据项中的数据项类型的用户选择;以及
通过所述计算设备,接收所述有关多种类型数据项中的数据项类型的用户选择;
其中与所述接收到的散列进行比较的数据项的散列包括所述用户选定类的数据项类型中的数据项。
38.如权利要求31所述的方法,还包括:
生成多个定制数据项;以及
与多个联系人共享所述定制数据项以在与所述多个联系人相关联的潜在通信目标设备能访问的安全存储器位置上建立所述定制数据项。
39.如权利要求31所述的方法,其中发送所述标识的散列包括发送包括所述标识的散列的一组散列。
40.如权利要求31所述的方法,其中所述标识的散列对应于数据项的对应于标识的散列的一个或多个部分,所述数据项的所述一个或多个部分包括所述数据项的少于全部的部分,并且其中对所述后续通信进行加密或解密使用所述数据项的除了对应于所述标识的散列的那些部分之外的一个或多个部分作为共享秘密。
41.一种具有能够由处理器执行的计算机可执行指令的非暂态计算机可读存储介质,当由所述处理器执行时,所述指令实现安全通信模块,使所述处理器:
通过包括所述处理器的计算设备,接收存储在通信目标能访问的安全存储器位置上的数据项的散列;
将所述接收到的散列与存储在所述计算设备能访问的安全存储器位置上的数据项的散列进行比较,从而标识散列,其中所述标识的散列表明所述计算设备对与所述计算设备能访问的安全存储器位置上的所述标识的散列对应的数据项具有访问权;
将所述标识的散列发送到所述通信目标;以及
利用所述对应于标识的散列的数据项作为共享秘密,对与所述通信目标的后续通信进行加密或解密。
42.如权利要求41所述的非暂态计算机可读存储介质,其中与所述接收到的散列进行比较的数据项的散列包括存储在所述计算设备的本地存储器中的数据项的存储系统去重散列。
43.如权利要求41所述的非暂态计算机可读存储介质,其中与所述接收到的散列进行比较的数据项的散列包括用户配置文件数据项的散列,所述用户配置文件数据项包括电子邮件、文本文件、图像文件或其部分中的一个或多个。
44.如权利要求41所述的非暂态计算机可读存储介质,其中与所述接收到的散列进行比较的数据项的散列包括系统数据项的散列,所述系统数据项包括操作系统文件、应用文件或其部分中的一个或多个。
45.如权利要求41所述的非暂态计算机可读存储介质,其中与所述接收到的散列进行比较的数据项的散列包括具有共享历史的数据项的散列。
46.如权利要求41所述的非暂态计算机可读存储介质,还包括使所述处理器执行如下处理的指令:
标识与所述通信目标相关联的用户;以及
标识具有涉及到与所述通信目标相关联的用户的共享历史的数据项;
其中与所述接收到的散列进行比较的数据项的散列包括具有涉及到与所述通信目标相关联的用户的共享历史的所述数据项的散列。
47.如权利要求41所述的非暂态计算机可读存储介质,还包括使所述处理器执行如下处理的指令:
显示用户界面(UI),所述用户界面配置为接收有关多种类型数据项中的数据项类型的用户选择;以及
接收所述有关多种类型数据项中的数据项类型的用户选择;
其中与所述接收到的散列进行比较的数据项的散列包括所述用户选定的数据项类型中的数据项的散列。
48.如权利要求41所述的非暂态计算机可读存储介质,还包括使所述处理器执行如下处理的指令:
生成多个定制数据项;以及
与多个联系人共享所述定制数据项以在与所述多个联系人相关联的潜在通信目标设备能访问的安全存储器位置上建立所述定制数据项。
49.如权利要求41所述的非暂态计算机可读存储介质,其中使所述处理器发送所述标识的散列的指令包括使所述处理器发送包含所述标识的散列的一组散列的指令。
50.如权利要求41所述的非暂态计算机可读存储介质,其中所述标识的散列对应于所述数据项的与所述标识的散列对应的一个或多个部分,所述数据项的所述一个或多个部分包括所述数据项的少于全部的部分,并且其中使所述处理器对后续通信进行加密或解密的指令使用所述数据项的除了对应于所述标识的散列的那些部分之外的一个或多个部分作为共享秘密。
51.配置为提供共享秘密标识模块的计算设备,包括:
处理器;
存储器;以及
安全通信模块,其存储在所述存储器中且能够由所述处理器执行,其中所述安全通信模块配置为:
通过所述计算设备,接收存储在通信目标能访问的安全存储器位置上的数据项的散列;
将所述接收到的散列与存储在所述计算设备能访问的安全存储器位置上的数据项的散列进行比较,从而标识散列,其中所述标识的散列表明所述计算设备对与所述计算设备能访问的安全存储器位置上的所述标识的散列对应的数据项具有访问权;
将所述标识的散列发送到所述通信目标;以及
利用所述对应于标识的散列的数据项作为共享秘密,对与所述通信目标的后续通信进行加密或解密。
52.如权利要求51所述的计算设备,其中所述与接收到的散列进行比较的数据项的散列包括存储在所述计算设备的本地存储器中的数据项的存储系统去重散列。
53.如权利要求51所述的计算设备,其中与所述接收到的散列进行比较的数据项的散列包括用户配置文件数据项的散列,所述用户配置文件数据项包括电子邮件、文本文件、图像文件或其部分中的一个或多个。
54.如权利要求51所述的计算设备,其中与所述接收到的散列进行比较的数据项的散列包括系统数据项的散列,所述系统数据项包括操作系统文件、应用文件或其部分中的一个或多个。
55.如权利要求51所述的计算设备,其中与所述接收到的散列进行比较的数据项的散列包括具有共享历史的数据项的散列。
56.如权利要求51所述的计算设备,其中所述安全通信模块配置为:
标识与所述通信目标相关联的用户;以及
标识具有涉及到与所述通信目标相关联的用户的共享历史的数据项;
其中与所述接收到的散列进行比较的数据项的散列包括具有涉及到与所述通信目标相关联的用户的共享历史的所述数据项的散列。
57.如权利要求51所述的计算设备,其中所述安全通信模块配置为:
显示用户界面(UI),所述用户界面配置为接收有关多种类型数据项中的数据项类型的用户选择;以及
接收所述有关多种类型数据项中的数据项类型的用户选择;
其中与所述接收到的散列进行比较的数据项的散列包括所述用户选定的数据项类型中的数据项的散列。
58.如权利要求51所述的计算设备,其中所述安全通信模块配置为:
生成多个定制数据项;以及
与多个联系人共享所述定制数据项以在与所述多个联系人相关联的潜在通信目标设备能访问的安全存储器位置上建立所述定制数据项。
59.如权利要求51所述的计算设备,其中所述安全通信模块配置为发送所述标识的散列包括使所述处理器发送包含所述标识的散列的一组散列的指令。
60.如权利要求51所述的计算设备,其中所述标识的散列对应于所述数据项的与所述标识的散列对应的一个或多个部分,所述数据项的所述一个或多个部分包括所述数据项的少于全部的部分,并且其中所述安全通信模块配置为利用所述数据项的除了对应于所述标识的散列的那些部分之外的一个或多个部分作为共享秘密来对后续通信进行加密或解密。
CN201280076055.XA 2012-09-26 2012-09-26 一种安全通信的方法、计算设备及非暂态计算机可读存储介质 Expired - Fee Related CN104685825B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/057219 WO2014051558A1 (en) 2012-09-26 2012-09-26 Shared secret identification for secure communication

Publications (2)

Publication Number Publication Date
CN104685825A true CN104685825A (zh) 2015-06-03
CN104685825B CN104685825B (zh) 2018-07-06

Family

ID=50340287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280076055.XA Expired - Fee Related CN104685825B (zh) 2012-09-26 2012-09-26 一种安全通信的方法、计算设备及非暂态计算机可读存储介质

Country Status (3)

Country Link
US (1) US8997179B2 (zh)
CN (1) CN104685825B (zh)
WO (1) WO2014051558A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107481129A (zh) * 2017-09-29 2017-12-15 武汉企越财务咨询有限公司 用于财务咨询公司的财务数据管理系统
CN108353070A (zh) * 2015-10-30 2018-07-31 瑞典爱立信有限公司 建立在第一通信设备和至少一个第二通信设备之间共享的秘密

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012122994A1 (en) * 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
US8997179B2 (en) 2012-09-26 2015-03-31 Empire Technology Development Llc Shared secret identification for secure communication
GB2518256A (en) * 2013-09-13 2015-03-18 Vodafone Ip Licensing Ltd Communicating with a machine to machine device
US10691310B2 (en) * 2013-09-27 2020-06-23 Vmware, Inc. Copying/pasting items in a virtual desktop infrastructure (VDI) environment
US9654286B2 (en) * 2013-10-04 2017-05-16 Microsoft Technology Licensing, Llc Content gathering using shared key
US9823842B2 (en) 2014-05-12 2017-11-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
WO2016095152A1 (en) * 2014-12-18 2016-06-23 Nokia Technologies Oy De-duplication of encrypted data
US10447689B2 (en) * 2014-12-30 2019-10-15 Verizon Patent And Licensing Inc. Systems and methods for authenticating a user device for a web service
US9983827B1 (en) 2016-11-29 2018-05-29 Red Hat Israel, Ltd. Key-based memory deduplication protection
US10404797B2 (en) * 2017-03-03 2019-09-03 Wyse Technology L.L.C. Supporting multiple clipboard items in a virtual desktop infrastructure environment
US11720549B1 (en) * 2021-04-30 2023-08-08 Splunk Inc. Data stream integrity using blockchain
US12118127B1 (en) * 2021-10-29 2024-10-15 Splunk Inc. Data stream integrity in a tiered blockchain structure

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004006073A2 (en) * 2002-07-02 2004-01-15 The Ascent Group Limited, Storage and authentication of data transactions
CN101420297A (zh) * 2008-09-08 2009-04-29 北京飞天诚信科技有限公司 协商密钥的方法和系统
US7809685B2 (en) * 2006-04-21 2010-10-05 Ricoh Co., Ltd. Secure and efficient methods for logging and synchronizing data exchanges
US20110238989A1 (en) * 2010-03-24 2011-09-29 Diversinet Corp. Method and system for secure communication using hash-based message authentication codes

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2401012B (en) * 2003-04-23 2005-07-06 Hewlett Packard Development Co Cryptographic method and apparatus
EP1548605B1 (en) * 2003-08-12 2009-01-07 Sony Corporation Communication processing apparatus, communication control method, and computer program
WO2008071795A2 (en) * 2006-12-15 2008-06-19 Boesgaard Soerensen Hans Marti Digital data authentication
US9930099B2 (en) 2007-05-08 2018-03-27 Riverbed Technology, Inc. Hybrid segment-oriented file server and WAN accelerator
US8189769B2 (en) 2007-07-31 2012-05-29 Apple Inc. Systems and methods for encrypting data
US9395929B2 (en) * 2008-04-25 2016-07-19 Netapp, Inc. Network storage server with integrated encryption, compression and deduplication capability
US8788830B2 (en) * 2008-10-02 2014-07-22 Ricoh Co., Ltd. Method and apparatus for logging based identification
US20110055471A1 (en) 2009-08-28 2011-03-03 Jonathan Thatcher Apparatus, system, and method for improved data deduplication
US8934630B2 (en) 2009-11-02 2015-01-13 International Business Machines Corporation Compressing block-cipher encrypted data
US8428227B2 (en) * 2010-05-18 2013-04-23 Certicall, Llc Certified communications system and method
US8566696B1 (en) * 2011-07-14 2013-10-22 Google Inc. Predicting user navigation events
US8997179B2 (en) 2012-09-26 2015-03-31 Empire Technology Development Llc Shared secret identification for secure communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004006073A2 (en) * 2002-07-02 2004-01-15 The Ascent Group Limited, Storage and authentication of data transactions
US7809685B2 (en) * 2006-04-21 2010-10-05 Ricoh Co., Ltd. Secure and efficient methods for logging and synchronizing data exchanges
CN101420297A (zh) * 2008-09-08 2009-04-29 北京飞天诚信科技有限公司 协商密钥的方法和系统
US20110238989A1 (en) * 2010-03-24 2011-09-29 Diversinet Corp. Method and system for secure communication using hash-based message authentication codes

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108353070A (zh) * 2015-10-30 2018-07-31 瑞典爱立信有限公司 建立在第一通信设备和至少一个第二通信设备之间共享的秘密
US11765148B2 (en) 2015-10-30 2023-09-19 Telefonaktiebolaget Lm Ericsson (Publ) Establishing a secret shared between a first communications device and at least one second communications device
CN107481129A (zh) * 2017-09-29 2017-12-15 武汉企越财务咨询有限公司 用于财务咨询公司的财务数据管理系统
CN107481129B (zh) * 2017-09-29 2023-10-13 台州保镖电子有限公司 用于财务咨询公司的财务数据管理系统

Also Published As

Publication number Publication date
WO2014051558A1 (en) 2014-04-03
US20140090016A1 (en) 2014-03-27
CN104685825B (zh) 2018-07-06
US8997179B2 (en) 2015-03-31

Similar Documents

Publication Publication Date Title
CN104685825A (zh) 用于安全通信的共享秘密标识
US11159310B2 (en) Digital security bubble
US11012428B1 (en) Cloud messaging system
US10242217B1 (en) Secure file transfer
GB2560434B (en) Securely transferring user information between applications
US10382197B1 (en) Key management and dynamic perfect forward secrecy
CN106664202B (zh) 提供多个设备上的加密的方法、系统和计算机可读介质
CN113364760A (zh) 一种数据加密处理方法、装置、计算机设备及存储介质
US11943350B2 (en) Systems and methods for re-using cold storage keys
CN108664547B (zh) 电子装置、会议文件共享的方法及存储介质
US10230697B2 (en) User terminals, and methods and computer-readable recording mediums storing computer programs for transmitting and receiving messages
US9015483B2 (en) Method and system for secured data storage and sharing over cloud based network
US20140143541A1 (en) Method and Apparatus for Managing Encrypted Files in Network System
US20200145389A1 (en) Controlling Access to Data
EP2869232A1 (en) Security key device for secure cloud services, and system and method of providing security cloud services
CN111832056A (zh) 用于生成二维码的方法和系统
CN105721156A (zh) 用于模幂加密方案的通用编码函数
KR20210110597A (ko) 디지털 식별성 관리 장치
CN110062941A (zh) 消息发送系统、通信终端、服务器装置、消息发送方法以及程序
CN111181920A (zh) 一种加解密的方法和装置
US9178855B1 (en) Systems and methods for multi-function and multi-purpose cryptography
KR102137540B1 (ko) 분할 기능을 이용한 소셜 미디어 제공 방법 및 시스템
CN107210992B (zh) 在安全数据系统和外部数据系统之间上传和下载数据
KR102507864B1 (ko) 보안 인스턴트 메시징 방법 및 장치
WO2020174286A1 (en) Method for file decryption and sender identity verification in offline mode without use of certification authority

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180706

Termination date: 20190926