CN107104938B - 建立安全的数据交换通道方法、客户端及计算机可读介质 - Google Patents

建立安全的数据交换通道方法、客户端及计算机可读介质 Download PDF

Info

Publication number
CN107104938B
CN107104938B CN201710081833.9A CN201710081833A CN107104938B CN 107104938 B CN107104938 B CN 107104938B CN 201710081833 A CN201710081833 A CN 201710081833A CN 107104938 B CN107104938 B CN 107104938B
Authority
CN
China
Prior art keywords
client
server
update sequence
information item
submission
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.)
Active
Application number
CN201710081833.9A
Other languages
English (en)
Other versions
CN107104938A (zh
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN107104938A publication Critical patent/CN107104938A/zh
Application granted granted Critical
Publication of CN107104938B publication Critical patent/CN107104938B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Theoretical Computer Science (AREA)

Abstract

提供了一种用于验证第一客户端、第二客户端以及服务器之间的数据交换通道的方法。第一客户端与第二客户端交换对信息项的更新序列,并且第一客户端、第二客户端以及服务器中的每一个保存对信息项的更新序列历史的相应拷贝。首先,第一客户端从第一客户端向服务器发送安全审计查询,该安全审计查询包括由第一客户端与第二客户端共享的审计标识符。在从服务器接收到查询响应之后,第一客户端将查询响应中的更新序列历史与由第一客户端保存的对应的更新序列历史的拷贝进行比较。当查询响应中的更新序列历史与由第一客户端保存的更新序列历史不同时,第一客户端将该数据交换通道标记为不安全并且终止与第二客户端交换对信息项的更新。

Description

建立安全的数据交换通道方法、客户端及计算机可读介质
技术领域
本申请总体涉及计算机安全技术,并且具体地涉及通过以匿名方式使用来自通道的用户的审计查询来验证通道的安全性从而建立可以防止中间人攻击的安全的数据交换通道。
背景技术
在密码学和计算机安全中,中间人(MITM)攻击是下述攻击:攻击者可以秘密地截取并且可能将改变,在直接彼此通信或经由不破坏数据通信的安全性的第三方而间接彼此通信的双方之间交换的数据。中间人 (MITM)攻击对于人们接受由不同供应商提供的在线数据托管服务而言是巨大挑战,这是因为没有技术可以保障服务供应商自身不能够访问其托管的数据。
发明内容
本申请的目的在于提供一种安全的数据交换通道,该安全的数据交换通道通过让来自通道的用户以匿名的方式提交审计查询来验证通道的安全性,从而可以防止中间人攻击。
根据本申请的第一方面,提供了一种用于验证第一客户端、第二客户端和服务器之间的数据交换通道的方法,所述服务器分别通信地耦接至第一客户端和第二客户端。在第一客户端通过数据交换通道与第二客户端交换对信息项的更新序列之后,第一客户端、第二客户端和服务器中的每一个保存对信息项的更新序列历史的相应拷贝。为了验证数据交换通道的安全性,第一客户端向服务器发送安全审计查询,该安全审计查询包括由第一客户端和第二客户端共享的审计标识符。接下来,第一客户端从服务器接收查询响应,该查询响应包括由服务器保存的对更新序列历史的拷贝。第一客户端然后将查询响应中的更新序列历史与由第一客户端保存的对应的更新序列历史的拷贝进行比较。当查询响应中的更新序列历史与由第一客户端保存的更新序列历史不同时,第一客户端将该数据交换通道标记为不安全,并且终止通过该数据交换通道与第二客户端交换对信息项的另外的更新。
根据本申请的第二方面,第一客户端包括一个或更多个处理器、存储器以及存储在存储器中的多个程序模块,所述多个程序模块当由所述一个或更多个处理器执行时执行上述多个操作。
根据本申请的第三方面,存储在与具有一个或更多个处理器的第一客户端结合使用的非暂态计算机可读介质中的计算机程序产品包括多个程序模块,所述多个程序模块当由所述一个或更多个处理器执行时执行上述多个操作。
附图说明
为提供对实施方式的进一步理解,附图在本文中被合并且构成说明书的一部分,示出了所描述的实施方式并且与描述一起用以说明基本原理。相同附图标记指代相应部件。
图1是根据本申请的一种说明性实施方式的客户端-服务器计算机网络环境的框图;
图2是示出了根据本申请的一种说明性实施方式的计算设备的部件的框图;
图3A至图3J是示出了根据一种说明性实施方式的通过服务器在第一客户端与第二客户端之间进行的不同数据交换场景的框图;
图4是根据一种说明性实施方式的在两个客户端与服务器之间进行的数据交换的流程图;以及
图5A至图5C是根据一种说明性实施方式的第一客户端验证数据交换通道的流程图。
具体实施方式
现在详细参考附图中示出的实施方式和示例。在以下详细描述中,阐述了许多非限制性具体细节以辅助理解本文中呈现的主题。但是对于本领域普通技术人员而言明显的是,可以在不偏离权利要求的范围的情况下使用各种替选方案并且可以在没有这些具体细节的情况下实践本主题。现在参照附图,提供了可以实现说明性实施方式的数据处理环境的示例性框图。应当理解的是,这些附图仅为示例性的并且并不意在对可以实现不同实施方式的环境断定或隐含任何限制。可以对所描绘的环境进行许多修改。
图1描绘了根据本申请的一种说明性实施方式的客户端-服务器计算机网络环境的框图。网络环境10包括网络14,网络14是用于在网络环境 10内连接在一起的各种计算设备与计算机服务器之间提供通信链路的介质。网络14可以包括诸如有线通信链路、无线通信链路或光纤线缆的连接。
在所描绘的示例中,服务器15和服务器16与存储单元17一起连接至网络14。此外,客户端11、客户端12以及客户端13连接至网络14。客户端11、客户端12以及客户端13可以采用以下形式:膝上型计算机、台式计算机、平板计算机、移动电话(例如智能电话)、多媒体播放设备、导航设备、教育用设备(例如小孩的学习玩偶)、游戏站、或控制设备(例如,家用或工业控制器)。在所描绘的示例中,服务器15和服务器16向客户端11、客户端12以及客户端13提供诸如文件、图像和应用等的数据。网络环境10可以包括未示出的另外的服务器、客户端以及其他设备。
在所描绘的示例中,网络环境10是因特网,其中,网络14表示对使用协议中的一套传输控制协议/网际协议(TCP/IP)来彼此通信的网络和网关的世界范围的集合。因特网的核心是主节点或主机计算机之间的高速数据通信线的主干网,其包括路由数据包的上千商业、政府、教育和其他计算机系统中的数十个。网络环境10还可以被实现为多个不同类型的网络,例如,局域网(LAN)或广域网(WAN)。注意,图1意在作为示例,而并非作为对不同说明性实施方式的架构限制。
在一些实施方式中,服务器15与其他服务器侧部件如服务器16或存储单元17交换大量数据包以对客户端11、客户端12以及客户端13中的一个或更多个客户端处的终端用户提供服务。图2是示出了根据本申请的一种说明性实施方式的用作客户端的计算设备的部件的框图。在该说明性示例中,计算设备30包括通信构造102,其提供处理器104、存储器106、持久存储装置108、通信单元110、输入/输出(I/O)单元112以及显示器 114之间的通信。在一些实施方式中,计算设备30可以采用以下形式:膝上型计算机、台式计算机、平板计算机、智能电话等。
处理器104用以执行用于可以被加载至存储器106中的软件程序的指令。取决于特定实现方式,处理器104可以是一个或更多个处理器的集合或者可以是多处理器核。此外,可以使用主处理器与次级处理器存在于单个芯片上的一个或更多个异构处理器系统来实现处理器104。作为另一说明性示例,处理器104可以是包含同一类型的多个处理器的对称式多处理器系统。
在这些示例中,存储器106可以是随机存取存储器或任何其他合适的易失性或非易失性存储设备。持久存储装置108可以取决于特定实现方式而采用各种形式。例如,持久存储装置108可以包含一个或更多个部件或设备,如硬盘驱动器、闪存、可重写光盘、可重写磁带或以上的某种组合。持久存储装置108使用的介质还可以是可移除的。例如,可移除硬盘驱动器可以用于持久存储装置108。
通信单元110提供用于与其他服务器或计算设备进行通信。通信单元110可以通过对物理通信链路和无线通信链路中之一或二者的使用来提供通信。
输入/输出单元112允许与可以连接至计算设备30的其他设备对数据进行输入和输出。例如,输入/输出单元112可以通过键盘和鼠标来提供对用户输入的连接。此外,输入/输出单元112可以将输出发送至打印机。显示器114提供向用户显示信息的机构。
用于操作系统和应用或程序的指令被存储在持久存储装置108中。这些指令可以被加载至存储器106中以供处理器104执行。以下描述的不同实施方式的处理可以由处理器104使用计算机实现的指令来执行,这些计算机实现的指令可以位于存储器中例如存储器106中。这些指令被称为程序代码(或模块)、计算机可用程序代码(或模块)或计算机可读程序代码(或模块),其可以由处理器104中的处理器读取和执行。不同实施方式中的程序代码(或模块)可以实施在不同物理或有形计算机可读介质如存储器106或持久存储装置108上。
程序代码/模块118以功能形式位于能够选择性地移除的计算机可读存储介质116上,并且可以被加载在或传送至计算机设备30用于由处理器104执行。程序代码/模块118和计算机可读存储介质116构成计算机程序产品。在一个示例中,计算机可读存储介质116可以为有形形式,例如被插入在或放置在作为持久存储装置108的一部分的驱动器或其他设备中的光盘或磁盘,用于传送到存储设备例如作为持久存储装置108的一部分的硬盘驱动器上。以有形形式,计算机可读存储介质116还可以采用连接至计算设备30的持久存储装置的形式,如硬盘驱动器、拇指驱动器或闪存。计算机可读存储介质116的有形形式也可以称为计算机可读存储介质。在一些实例中,计算机可读存储介质116不能够从计算设备30移除。
在一些其他实施方式中,程序代码/模块118可以通过至通信单元110 的通信链路以及/或者通过至输入/输出单元112的连接来从计算机可读存储介质116传送至计算设备30。在说明性示例中,通信链路和/或连接可以是物理的或无线的。计算机可读存储介质116还可以采用非有形介质的形式,例如包含程序代码/模块的通信链路或无线传输。
针对计算设备30示出的不同部件并不旨在对可以实现不同实施方式的方式提供架构性限制。不同说明性实施方式可以以下述计算机系统来实现,该计算机系统包括除针对计算设备30示出的部件以外或代替这些部件的部件。图2中所示的其他部件可以根据示出的说明性示例来变化。
作为一个示例,计算设备30中的存储设备是可以存储数据的任何硬件装置。存储器106、持久存储装置108以及计算机可读存储介质116是为有形形式的存储设备的示例。在另一示例中,总线系统可以用于实现通信构造102并且可以包括一个或更多个总线,例如系统总线或输入/输出总线。可以使用提供用于在附接至总线系统的不同部件或设备之间传输数据的任何合适类型的架构来实现总线系统。此外,通信单元可以包括用于发送和接收数据的一个或更多个设备,例如调制解调器或网络适配器。此外,存储器例如可以是存储器106或在可以存在于通信构造102中的接口和存储控制器集线器中找到的高速缓存。
在计算机网络安全的上下文中,网络环境10可以被进一步简化成通信地耦接至两个客户端的服务器,并且两个客户端经由服务器通过数据交换通道来彼此交换数据。图3A至图3J是示出了根据一种说明性实施方式的通过服务器在第一客户端与第二客户端之间进行的不同数据交换场景的框图。
如图3A所示,第一客户端310的用户想要与第二客户端320的用户安全地通信。例如,这两个用户可以在研究同一文档。在两个用户中的一个用户将其编辑输入在文档中之后,该用户想要通过服务器340与另一客户端处的另一用户共享修改后的文档。在从服务器340接收到修改后的文档之后,另一用户可以通过服务器340输入其改变并且将进一步修改的文档返回至第一用户。如上所指出,该过程中的挑战在于:第一客户端310 和第二客户端320处的用户可能不信任管理服务器340的一方。换言之,两个用户有合理的担心:服务器340处的那方可能发起中间人攻击来监视他们的通信。
本申请的一方面在于引入一种用于在第一客户端310、第二客户端 320(一侧)以及服务器(另一侧)之间建立安全的数据交换通道的协议。该协议包括两个步骤:(i)在第一客户端310与第二客户端320之间建立独有通道;以及(ii)在这样的通道中实现安全验证机制以使得服务器340 不能够监视在该通道上的通信。
在涉及服务器340的数据交换通道以外,在第一客户端310的用户与第二客户端320的用户之间还存在带外数据交换通道(在线或离线),以使得两个用户可以与彼此交换一些简单信息。例如,第一客户端310的用户可以呼叫第二客户端320的用户以传递信息。第一客户端310处的用户可以使用即时消息收发(IM)来向第二客户端320的用户传递信息。第一客户端310处的用户可以向第二客户端320处的用户发送蜗牛邮件(snail- mail)。
步骤1:在第一客户端310与第二客户端320之间建立独有通道。
当第一客户端310的用户想要经由服务器340与第二客户端320的用户安全地通信时,第一客户端310的用户需要建立独有通道。在一些实施方式中,该通道由独有统一资源定位符(URL)来标识,以使得第一客户端310和第二客户端320二者将使用该独有URL来在其之间进行通信。假设第一客户端310的用户想要发起通道,则该用户需要选择群名称(G) 并且因此成为该组的发起者。URL是通过两个因素来唯一地确定:群发起者(第一客户端310的用户)以及群名称(G)。在一些实施方式中,URL=H (第一客户端310,G),其中H()是散列函数,其使用以下输入来创建独有散列:群发起者(第一客户端310的用户)以及群名称(G)。
如图3B所示,一旦第一客户端310的用户选择群名称(G),则该用户使用带外通道来向第二客户端320的用户通知群名称(G)。例如,第一客户端310的用户可以呼叫第二客户端320的用户来告知该用户其选择的群名称。注意,群名称为公共信息。带外通道不需要是安全的。唯一的要求是带外通道必须可信以使得第二客户端320的用户可以接收到实际的群名称。
在本申请中,第一客户端310使用服务器340来与第二客户端320 建立安全的数据交换通道,用于在两个客户之间进行将来数据交换。第一客户端310经由服务器340向第二客户端320发送邀请(I),邀请第二客户端320加入由群发起者(第一客户端310的用户)创建的命名为G的群。
如图3C所示,第二客户端320的用户具有两个与群名称有关的信息源:(i)通过服务器340,即邀请;以及(ii)通过带外通道直接来自第一客户端310的用户。第二客户端320的用户可以验证来自两个源的群名称是否彼此匹配。如果来自两个源的群名称匹配,则第二客户端320将接受邀请。然后通过服务器340建立第一客户端310与第二客户端320之间的独有URL。
另一方面,如果服务器340意在攻击第一客户端310与第二客户端 320之间所提出的数据交换通道。则服务器340可以将群名称从G改变成 G’。但是如图3D所示,第二客户端320的用户将注意到,来自两个源的群名称(G和G’)不同。该用户然后可以分辨出数据交换通道经受攻击并且可以拒绝邀请。此外,该用户还可以经由带外通道联系第一客户端310的用户:所提出的数据交换通道被损坏并且应当弃用。
在以下部分中,假设来自两个源的群名称相同,因而经由服务器340 建立了在第一客户端310与第二客户端320之间的独有URL。
步骤2:在这样的通道中实现安全验证机制以使得服务器340不能够监视该通道上的通信。
如图3E所示,安全验证机制假设在该通道的操作中可能涉及四组公钥-私钥配对。
·第一客户端310:
ο
Figure BDA0001226134550000071
用于第一客户端310的公钥,由想要向第一客户端310 发送消息的任何人使用以对该消息进行加密,使得仅第一客户端 310可以对其进行解密。
ο
Figure BDA0001226134550000072
用于第一客户端310的私钥,由第一客户端310使用以对通过
Figure BDA0001226134550000073
加密的消息进行解密。
·第二客户端320:
ο
Figure BDA0001226134550000081
用于第二客户端320的公钥,用作与
Figure BDA0001226134550000082
类似的目的。
ο
Figure BDA0001226134550000083
用于第二客户端320的私钥,用作与
Figure BDA0001226134550000084
类似的目的。
·服务器340:
ο
Figure BDA0001226134550000085
由服务器340创建用于伪装第一客户端310的公钥
ο
Figure BDA0001226134550000086
由服务器340创建用于对通过
Figure BDA00012261345500000810
加密的消息进行解码的私钥
ο
Figure BDA0001226134550000087
由服务器340创建用于伪装第二客户端320的公钥
ο
Figure BDA0001226134550000088
由服务器340创建用于对通过
Figure BDA0001226134550000089
加密的消息进行解密的私钥
注意,两个客户端经由数据交换通道安全地交换数据需要前两个密钥配对,并且取决于管理服务器340的那方是否计划发起任何中间人 (MITM)攻击,最后的两个密钥配对可以存在或者可以不存在。但是即使存在,也假设最后的两个密钥配对的存在对于客户端的用户而言不可见。在本申请中,提出了一种用于客户端验证最后的两个密钥配对的存在并且因此确认数据交换通道的安全性的方法。
私钥
Figure BDA00012261345500000811
Figure BDA00012261345500000812
可以用于对消息进行签名。数字签名仅可以使用对应公钥
Figure BDA00012261345500000813
Figure BDA00012261345500000814
来验证。如图3F所示,第一客户端310 和第二客户端320将其公钥
Figure BDA00012261345500000815
Figure BDA00012261345500000816
加载至服务器340。为了安全地与彼此通信,第一客户端310和第二客户端320在服务器340中查询彼此的公钥。取决于服务器340是否想要攻击第一客户端310与第二客户端320之间的数据交换通道,服务器340可以以下述三种方式中之一来对第一客户端310和第二客户端320的查询作出响应:
A:如图3G所示,服务器340向第二客户端320发送
Figure BDA00012261345500000821
以及向第一客户端310发送
Figure BDA00012261345500000817
在场景A下,因为第一客户端310具有第二客户端320的公钥
Figure BDA00012261345500000820
所以第一客户端310可以使用
Figure BDA00012261345500000818
对其至第二客户端320的消息进行加密,服务器340不能够对该消息进行解密。类似地,第二客户端320能够使用
Figure BDA00012261345500000819
对其至第一客户端310的消息进行加密,服务器340也不能够对该信息进行解密。第一客户端310与第二客户端320之间的数据交换通道是安全且机密的。换言之,可以假定不存在由服务器340引起的对于第一客户端310与第二客户端320之间的数据交换通道的安全问题。
B:不失一般性,如图3H所示,服务器340向第二客户端320发送
Figure BDA0001226134550000095
而向第一客户端310发送
Figure BDA0001226134550000096
在场景B下,第一客户端310以分布式版本控制系统(DVCS)——例如创建类似连锁事件的数据交换的取决于路径的历史的git——中的提交的形式创建有效载荷。在一些实施方式中,数据交换的取决于路径的历史记录在不同时刻通过不同客户端对信息项(例如文档)进行的更新序列。具体地,第一客户端310将执行以下步骤:
1.第一客户端310挑选消息M1;
2.第一客户端310使用
Figure BDA0001226134550000097
对M1进行加密
Figure BDA0001226134550000098
3.第一客户端310使用
Figure BDA0001226134550000099
对加密的M1进行签名:
Figure BDA0001226134550000091
4.第一客户端310基于经加密和签名的M1建立git提交C1:
Figure BDA0001226134550000092
以及
5.第一客户端310在独有URL处将C1推进至服务器340。
如果服务器340不改变C1并且不予改变将其保存,第二客户端320 将从独有URL取回C1并且执行以下动作:
1.第二客户端320检查C1以得到其内容:
Figure BDA0001226134550000093
2.第二客户端320使用
Figure BDA00012261345500000910
来验证第一客户端310的签名,并且得到经加密的消息:
Figure BDA0001226134550000094
以及
3.第二客户端320试图使用
Figure BDA00012261345500000911
对经加密的消息进行解密。因为加密是使用
Figure BDA00012261345500000913
而非使用
Figure BDA00012261345500000912
进行,所以第二客户端320将失败。
这时,第二客户端320知道数据交换通道被损坏。第二客户端320 的用户然后可以使用带外通道向第一客户端310的用户通知该损坏。
如果服务器340改变C1,则服务器340可以进行以下操作:
1.服务器340检查C1以得到其内容:
Figure BDA0001226134550000101
2.服务器340使用
Figure BDA0001226134550000106
来验证第一客户端310的签名,并且得到经加密的消息:
Figure BDA0001226134550000102
3.服务器340使用
Figure BDA0001226134550000107
对加密进行解密以得到M1;
4.服务器340使用
Figure BDA0001226134550000108
对M1重新加密:
Figure BDA0001226134550000109
5.服务器340不具有
Figure BDA00012261345500001011
服务器340仅可以使用
Figure BDA00012261345500001010
对经加密的M1进行签名:
Figure BDA0001226134550000103
以及
6.服务器340基于经重新加密并重新签名的M1来创建git提交
Figure BDA0001226134550000104
当第二客户端320试图从独有URL取回git提交时,服务器340能够根据其ID来识别第二客户端320,并且将定制的提交C′1提供给第二客户端320。在接收到定制的提交C′1时,第二客户端320然后将执行以下动作:
1.第二客户端320从独有URL取回服务器340提供的C′1
2.第二客户端320检查C′1以得到其内容:
Figure BDA0001226134550000105
以及
3.第二客户端320使用
Figure BDA00012261345500001012
来验证签名,以及因为经加密的消息是通过
Figure BDA00012261345500001014
而非通过
Figure BDA00012261345500001013
进行签名,所以第二客户端320将失败。
类似地,第二客户端320也将知道数据交换通道被损坏,并且第二客户端320可以经由带外通道联系第一客户端310的用户有关安全破坏。
总的来说,在场景B下,所有破坏都会被检测到并且服务器340进行的中间人攻击将失败。
C:如图3I所示,服务器340向第二客户端320发送
Figure BDA0001226134550000118
以及向第一客户端310发送
Figure BDA0001226134550000119
图4描绘了场景C下对经加密的消息M1的交换。最初,第一客户端310通过执行以下步骤来创建git提交:
1.第一客户端310挑选消息M1;
2.第一客户端310使用
Figure BDA00012261345500001110
对M1进行加密:
Figure BDA00012261345500001111
3.第一客户端310使用
Figure BDA00012261345500001112
对经加密的M1进行签名:
Figure BDA0001226134550000111
4.第一客户端310基于经加密并签名的M1来创建git提交C1:
Figure BDA0001226134550000112
以及
5.第一客户端310在独有URL处将C1推进至服务器340。
在服务器340接收到提交之后,服务器340可以通过伪装第一客户端310并且执行以下动作来修改提交以欺骗第二客户端320:
1.检查C1以得到其内容:
Figure BDA0001226134550000113
2.使用
Figure BDA00012261345500001116
来验证签名:
Figure BDA0001226134550000114
3.使用
Figure BDA00012261345500001115
对加密进行解密:M1;
4.使用
Figure BDA00012261345500001114
对M1重新加密:
Figure BDA0001226134550000115
5.使用
Figure BDA00012261345500001113
对重新加密的M1进行签名:
Figure BDA0001226134550000116
以及
6.基于经重新加密并重新签名的M1来创建git提交C′1
Figure BDA0001226134550000117
当第二客户端320想要从独有URL取回时,服务器340可以经由第二客户端320的ID检测到第二客户端320,并且向第二客户端320提供 C′1。第二客户端320然后执行以下动作:
1.第二客户端320从独有URL取回服务器340提供的C′1
2.第二客户端320检查C′1以得到其内容:
Figure BDA0001226134550000121
3.第二客户端320使用
Figure BDA0001226134550000127
来验证签名:
Figure BDA0001226134550000122
以及
4.第二客户端320使用
Figure BDA0001226134550000128
对加密进行解密:M1。
在该时刻,第二客户端320不能区分通信通道是否被破坏,因为尽管服务器340已经在第二客户端320之前访问消息M1但是第二客户端 320仍能够接收消息M1。换言之,目前为止尚未检测到由服务器340进行的中间人攻击。第二客户端320通过进行以下动作来继续:
1.第二客户端320挑选消息M2;
2.第二客户端320使用
Figure BDA0001226134550000129
对M2进行加密:
Figure BDA0001226134550000123
3.第二客户端320使用
Figure BDA00012261345500001210
对经加密的M2进行签名:
Figure BDA0001226134550000124
4.第二客户端320基于经加密并签名的M2和先前步骤中从服务器340 接收的C′1来创建git提交C2:
Figure BDA0001226134550000125
以及
5.第二客户端320将C2推进至独有URL。
现在,第二客户端320具有两个连锁提交:C′1和C2,C2进而取决于C′1。当服务器340接收到C2时,则服务器340通过执行以下动作来准备针对第一客户端310的定制化提交:
1.服务器340检查C2并得到其内容:
Figure BDA0001226134550000126
2.服务器340使用
Figure BDA0001226134550000135
来验证签名:
Figure BDA0001226134550000131
3.服务器340使用
Figure BDA0001226134550000136
对加密进行解密:M2;
4.服务器340使用
Figure BDA0001226134550000137
对M2重新加密:
Figure BDA0001226134550000132
5.服务器340使用
Figure BDA0001226134550000138
对经重新加密的M2重新签名:
Figure BDA0001226134550000133
以及
6.服务器340基于经重新加密并重新签名的M2和先前从第一客户端 310接收到的C1来重新创建git提交C′2
Figure BDA0001226134550000134
当第一客户端310试图从独有URL取回时,服务器340可以经由其 ID检测到第一客户端310,并且向第一客户端310提供定制的C′2。第一客户端310将取回消息M2并对其进行验证以及解密。直至现在为止,尚未检测到由服务器340进行的中间人攻击。
在这个时刻之后,如图4所示,第一客户端310和第二客户端320 二者上的应用将周期性地并随机地发起一系列审计操作。每个客户端具有其自身的一组公钥-私钥配对。为了验证服务器340是否已经损坏数据交换通道,第一客户端310和第二客户端320二者具有相同审计员账户并且因此如图3J所示具有同一对密钥
Figure BDA0001226134550000139
审计员账户的目的在于掩饰审计查询的起源,以使得服务器340不能够区分第一客户端310还是第二客户端320发起安全审计操作。当两个客户端中的一个客户端发起操作时,该客户端发送对在独有URL处进行头提交(head commit)的相同查询请求,即对信息项(例如消息)的更新序列。
如上所指出,服务器340保存对第一客户端310和第二客户端320 定制的两个分开的git报告(C1,C′2)和(C′1,C2)以隐藏服务器340已经损坏独有URL处的数据交换通道的安全性的事实。为了这样做,服务器340必须向第一客户端310和第二客户端320进行“正确的”git报告,只要服务器340可以区别提交审计查询的客户端的标识就可以。但是当服务器340从审计员账户接收到查询时,服务器340无法区别第一客户端310 还是第二客户端320在进行审计操作。因此,对于每个审计操作,服务器 340仅具有50%的机会来返回正确的git报告。如果第一客户端310或第二客户端320任一连续地发起审计查询,则它可以快速地获得期望自信度:来自服务器340的正确答案不是偶然引起的。
采用第一客户端310作为示例,如果第一客户端310发起七次查询,则服务器340对所有七次查询给出正确答案的概率为
Figure BDA0001226134550000141
换言之,在假设服务器340能够正确地答复查询为低概率的情况下,由服务器340进行的中间人攻击可以被容易地捕获。
可以由图5A至图5C中所示的流程图来总结上文描述的计算机安全方法,图5A至图5C示出了根据一种说明性实施方式的第一客户端如何验证其通过服务器与第二客户端具有的数据交换通道。
第一客户端从第一客户端向服务器发送(510)安全审计查询,该安全审计查询包括由第一客户端和第二客户端共享的审计标识符。接下来,第一客户端接收(520)来自服务器的查询响应,该查询响应包括由服务器保存的对更新序列历史的拷贝。在将查询响应中的更新序列历史与由第一客户端保存的对应的更新序列历史的拷贝进行比较(530)之后,第一客户端确定(540)两个更新序列历史是否相同。当查询响应中的更新序列历史与由第一客户端保存的更新序列历史不同时(540-否),第一客户端将该数据交换通道标记(550)为不安全并且终止(560)通过该数据交换通道与第二客户端交换对信息项的另外的更新。在学习了这样的安全漏洞之后,第一客户端的用户可以经由带外通道来通知第二客户端的用户。
注意,如图4所示,在第一客户端从服务器接收到对信息项的一个或更多个新的更新之后,第一客户端可以将图5A中所示的步骤重复至少预定多次。当然,每当最新近的查询响应中的更新序列历史与由第一客户端保存的更新序列历史不同时,第一客户端可以停止重复这些步骤。
在图5B所示的特定实施方式中,当查询响应中的更新序列历史与由第一客户端保存的更新序列历史相同时(540-是),第一客户端继续(540- 10)通过该数据交换通道与第二客户端交换对信息项的另外的更新,并且在从服务器接收到对信息项的一个另外的更新之后更新(540-20)由第一客户端保存的更新序列历史。
在图5C所示的一些实施方式中,第一客户端在向服务器发送任意安全审计查询之前执行一组操作。例如,第一客户端可以使用由服务器声明为与第二客户端相关联的公钥来对信息项进行加密(510-10),并且使用与第一客户端相关联的私钥对经加密的信息项进行签名。接下来,第一客户端基于经加密并签名的信息项来生成(510-20)提交,并且将该提交传送(510-30)给服务器以使得该提交可供第二客户端取回,其中,该提交包括由第一客户端产生的独有提交标识符。
在一些实施方式中,第一客户端还从服务器接收(510-40)对信息项的提交。注意,该提交是由第二客户端基于使用由服务器声明为与第一客户端相关联的公钥对信息项进行的加密和使用与第二客户端相关联的私钥对信息项进行的签名来生成的。接下来,第一客户端从提交提取(510- 50)独有提交标识符并且将该独有提交标识符添加(510-60)至由第一客户端保存的更新序列历史。
最后,应当注意,本发明可以采用以下形式:纯硬件实施方式、纯软件实施方式或包含硬件元素和软件元素的实施方式。在优选实施方式中,本发明是以软件来实现,软件包括但不限于固件、驻留软件、微代码等。
此外,本发明可以采用能够从计算机可用或计算机可读介质访问的计算机程序产品的形式,该计算机可用或计算机可读介质提供用于由计算机或任何指令执行系统使用或结合其一起使用的程序代码。出于本说明书的目的考虑,计算机可用或计算机可读介质可以是任何有形装置,其可以包含、存储、传送、传播或运送用于由指令执行系统、设备或装置使用或结合其一起使用的程序。
介质可以是电子的、磁的、光的、电磁的、红外的或半导体系统(设备或装置)或传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移除计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前示例包括致密盘-只读存储器(CD-ROM)、致密盘-读/写(CD-R/W)和DVD。
适于存储和/或执行程序代码的计算机系统将包括至少一个处理器,上述至少一个处理器通过系统总线直接或间接地耦接至存储器元件。存储器元件可以包括在程序代码的实际执行期间采用的局部存储器、块存储装置和高速缓冲存储器,其提供对至少一些程序代码的临时存储以减小在执行期间必须从块存储装置检索代码的次数。
输入/输出或I/O装置(包括但不限于键盘、显示器、定点装置等) 可以或直接或通过中介I/O控制器耦接至系统。
网络适配器也可以耦接至系统以使得计算机系统能够通过中介私有或公共网络耦接至其他计算机系统或远程打印机或存储装置。调制解调器、线缆调制解调器和以太网卡仅是当前可用的网络适配器类型中的几种。
本申请的描述出于说明和描述的目的而呈现,并且并不意在为排他性的或者限制成所公开的形式的发明。对于本领域普通技术人员而言,许多修改和变型是明显的。实施方式被选择和描述以最佳地阐述本发明、实际应用的原理,以及使得本领域普通技术人员能够理解本发明适于预期特定用途的具有各种修改的各种实施方式。
实施方式的描述中使用的科技术语仅出于描述特定实施方式的目的并且并不意在限制权利要求的范围。如实施方式的描述和所附权利要求书中使用的那样,单数形式“a”、“an”及“the”意在也包括复数形式,除非上下文明确地另外指出。还要理解的是,本文中使用的术语“和/或”指代并且包含相关联的列出项的一个或更多个的任何和所有可能组合。还要理解的是,术语“包括(include)”、“包括(including)”、“包括(comprise)”和/或“包括(comprising)”当在该说明书中使用时指定所陈述的特征、整数、步骤、操作、元件和/或部件的存在,但并不排除存在或添加一个或更多个其他特征、整数、步骤、操作、元件、部件和/或其组合。
还要理解的是,尽管本文中可以使用术语第一、第二等描述各种元件,但这些元件不应当被这些术语所限制。这些术语仅用于将一个元件与另一元件区分。例如,在不偏离实施方式的范围的情况下,第一端口可以称为第二端口,以及类似地,第二端口可以称为第一端口。第一端口和第二端口均是端口,但它们不是同一端口。
受益于前述描述和关联附图中呈现的教示,本领域技术人员将想到本文中描述的实施方式的许多修改和替选实施方式。因此,将理解的是,权利要求的范围并不限于所公开的实施方式的具体示例,并且修改和其他实施方式意在被包括在所附权利要求的范围内。尽管本文中采用了特定术语,但仅以通用和描述性含义而不出于限制的目的来使用它们。
实施方式被选择和描述以最佳地阐述基本原理及其实际应用,由此使得本领域技术人员能够最佳地利用这些基本原理和具有适于预期特定用途的各种修改的各种实施方式。

Claims (18)

1.一种用于验证第一客户端、第二客户端和服务器之间的数据交换通道的方法,所述服务器分别通信地耦接至所述第一客户端和所述第二客户端,其中,所述第一客户端通过所述数据交换通道与所述第二客户端交换对信息项的更新序列,并且所述第一客户端、所述第二客户端和所述服务器中的每一个保存对所述信息项的更新序列历史的相应拷贝,所述方法包括:
从所述第一客户端向所述服务器发送安全审计查询,所述安全审计查询包括由所述第一客户端和所述第二客户端共享的审计标识符;
接收来自所述服务器的查询响应,所述查询响应包括由所述服务器保存的所述更新序列历史的拷贝;
将所述查询响应中的更新序列历史与由所述第一客户端保存的对应的更新序列历史的拷贝进行比较;以及
当所述查询响应中的更新序列历史与由所述第一客户端保存的更新序列历史不同时:
将所述数据交换通道标记为不安全;以及
终止通过所述数据交换通道与所述第二客户端交换对所述信息项的另外的更新,
其中,在交换对信息项的更新序列时,所述服务器基于所述第一客户端的第一标识符向所述第一客户端提供相应的更新序列,并且基于所述第二客户端的第二标识符向所述第二客户端提供相应的更新序列,其中所述第一标识符、所述第二标识符和所述审计标识符互不相同。
2.根据权利要求1所述的方法,还包括:
当所述查询响应中的更新序列历史与由所述第一客户端保存的更新序列历史相同时:
继续通过所述数据交换通道与所述第二客户端交换对所述信息项的另外的更新;以及
在从所述服务器接收到对所述信息项的一个另外的更新之后,更新由所述第一客户端保存的更新序列历史。
3.根据权利要求1所述的方法,其中,在所述第一客户端从所述服务器接收到对所述信息项的一个或更多个新的更新之后,将所述方法重复至少预定多次。
4.根据权利要求3所述的方法,其中,每当最新近的查询响应中的更新序列历史不同于由所述第一客户端保存的更新序列历史时,停止所述方法。
5.根据权利要求1所述的方法,还包括:
在向所述服务器发送所述安全审计查询之前:
使用由所述服务器声明为与所述第二客户端相关联的公钥对所述信息项进行加密;
使用与所述第一客户端相关联的私钥对经加密的信息项进行签名;
基于经加密并签名的信息项来生成提交,所述提交包括独有提交标识符;以及
将所述提交发送至所述服务器,其中,所述提交能够供所述第二客户端取回。
6.根据权利要求1所述的方法,还包括:
在向所述服务器发送所述安全审计查询之前:
从所述服务器接收对所述信息项的提交,其中,所述提交由所述第二客户端基于使用由所述服务器声明为与所述第一客户端相关联的公钥对所述信息项进行的加密以及使用与所述第二客户端相关联的私钥对所述信息项进行的签名来生成;
从所述提交提取独有提交标识符;以及
将所述独有提交标识符添加至由所述第一客户端保存的更新序列历史。
7.一种第一客户端,所述第一客户端通过一个服务器和第二客户端建立数据交换通道,所述服务器分别通信地耦接至所述第一客户端和所述第二客户端,其中,所述第一客户端通过所述数据交换通道来与所述第二客户端交换对信息项的更新序列,并且所述第一客户端、所述第二客户端和所述服务器中的每一个保存对所述信息项的更新序列历史的相应拷贝,所述第一客户端包括:
一个或更多个处理器;
存储器;以及
存储在所述存储器中的多个程序模块,所述多个程序模块当由所述一个或更多个处理器执行时执行多个操作,所述多个操作包括:
从所述第一客户端向所述服务器发送安全审计查询,所述安全审计查询包括由所述第一客户端和所述第二客户端共享的审计标识符;
从所述服务器接收查询响应,所述查询响应包括由所述服务器保存的对所述更新序列历史的拷贝;
将所述查询响应中的更新序列历史与由所述第一客户端保存的对应的更新序列历史的拷贝进行比较;以及
当所述查询响应中的更新序列历史与由所述第一客户端保存的更新序列历史不同时:
将所述数据交换通道标记为不安全;以及
终止通过所述数据交换通道与所述第二客户端交换对所述信息项的另外的更新,
其中,在交换对信息项的更新序列时,所述服务器基于所述第一客户端的第一标识符向所述第一客户端提供相应的更新序列,并且基于所述第二客户端的第二标识符向所述第二客户端提供相应的更新序列,其中所述第一标识符、所述第二标识符和所述审计标识符互不相同。
8.根据权利要求7所述的第一客户端,其中,所述多个操作还包括:
当所述查询响应中的更新序列历史与由所述第一客户端保存的更新序列历史相同时:
继续通过所述数据交换通道与所述第二客户端交换对所述信息项的另外的更新;以及
在从所述服务器接收到对所述信息项的一个另外的更新之后,更新由所述第一客户端保存的更新序列历史。
9.根据权利要求7所述的第一客户端,其中,在所述第一客户端从所述服务器接收到对所述信息项的一个或更多个新的更新之后,所述多个操作被重复至少预定多次。
10.根据权利要求9所述的第一客户端,其中,每当最新近的查询响应中的更新序列历史不同于由所述第一客户端保存的更新序列历史时,所述多个操作被停止。
11.根据权利要求7所述的第一客户端,其中,所述多个操作还包括:
在向所述服务器发送所述安全审计查询之前:
使用由所述服务器声明为与所述第二客户端相关联的公钥对所述信息项进行加密;
使用与所述第一客户端相关联的私钥对经加密的信息项进行签名;
基于经加密并签名的信息项来生成提交,所述提交包括独有提交标识符;以及
将所述提交发送至所述服务器,其中,所述提交能够供所述第二客户端取回。
12.根据权利要求7所述的第一客户端,其中,所述多个操作还包括:
在向所述服务器发送所述安全审计查询之前:
从所述服务器接收对所述信息项的提交,其中,所述提交由所述第二客户端基于使用由所述服务器声明为与所述第一客户端相关联的公钥对所述信息项进行的加密以及使用与所述第二客户端相关联的私钥对所述信息项进行的签名来生成;
从所述提交提取独有提交标识符;以及
将所述独有提交标识符添加至由所述第一客户端保存的更新序列历史。
13.一种存储有计算机程序的计算机可读存储介质,所述计算机可读存储介质与第一客户端结合使用,所述第一客户端经由分别通信地耦接至所述第一客户端与第二客户端的服务器来与所述第二客户端具有数据交换通道,其中,所述第一客户端通过所述数据交换通道来与所述第二客户端交换对信息项的更新序列,并且所述第一客户端、所述第二客户端和所述服务器中的每一个保存对所述信息项的更新序列历史的相应拷贝,所述第一客户端具有一个或更多个处理器,当由所述一个或更多个处理器运行所述计算机程序时执行多个操作,所述多个操作包括:
从所述第一客户端向所述服务器发送安全审计查询,所述安全审计查询包括由所述第一客户端和所述第二客户端共享的审计标识符;
从所述服务器接收查询响应,所述查询响应包括由所述服务器保存的对所述更新序列历史的拷贝;
将所述查询响应中的更新序列历史与由所述第一客户端保存的对应的更新序列历史的拷贝进行比较;以及
当所述查询响应中的更新序列历史与由所述第一客户端保存的更新序列历史不同时:
将所述数据交换通道标记为不安全;以及
终止通过所述数据交换通道与所述第二客户端交换对所述信息项的另外的更新,
其中,在交换对信息项的更新序列时,所述服务器基于所述第一客户端的第一标识符向所述第一客户端提供相应的更新序列,并且基于所述第二客户端的第二标识符向所述第二客户端提供相应的更新序列,其中所述第一标识符、所述第二标识符和所述审计标识符互不相同。
14.根据权利要求13所述的计算机可读存储介质,其中,所述多个操作还包括:
当所述查询响应中的更新序列历史与由所述第一客户端保存的更新序列历史相同时:
继续通过所述数据交换通道与所述第二客户端交换对所述信息项的另外的更新;以及
在从所述服务器接收到对所述信息项的一个另外的更新之后,更新由所述第一客户端保存的更新序列历史。
15.根据权利要求13所述的计算机可读存储介质,其中,在所述第一客户端从所述服务器接收到对所述信息项的一个或更多个新的更新之后,所述多个操作被重复至少预定多次。
16.根据权利要求15所述的计算机可读存储介质,其中,每当最新近的查询响应中的更新序列历史不同于由所述第一客户端保存的更新序列历史时,所述多个操作被停止。
17.根据权利要求13所述的计算机可读存储介质,其中,所述多个操作还包括:
在向所述服务器发送所述安全审计查询之前:
使用由所述服务器声明为与所述第二客户端相关联的公钥对所述信息项进行加密;
使用与所述第一客户端相关联的私钥对经加密的信息项进行签名;
基于经加密并签名的信息项来生成提交,所述提交包括独有提交标识符;以及
将所述提交发送至所述服务器,其中,所述提交能够供所述第二客户端取回。
18.根据权利要求13所述的计算机可读存储介质,其中,所述多个操作还包括:
在向所述服务器发送所述安全审计查询之前:
从所述服务器接收对所述信息项的提交,其中,所述提交由所述第二客户端基于使用由所述服务器声明为与所述第一客户端相关联的公钥对所述信息项进行的加密以及使用与所述第二客户端相关联的私钥对所述信息项进行的签名来生成;
从所述提交提取独有提交标识符;以及
将所述独有提交标识符添加至由所述第一客户端保存的更新序列历史。
CN201710081833.9A 2016-02-19 2017-02-15 建立安全的数据交换通道方法、客户端及计算机可读介质 Active CN107104938B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/048,726 2016-02-19
US15/048,726 US20170244753A1 (en) 2016-02-19 2016-02-19 Establishing a secure data exchange channel

Publications (2)

Publication Number Publication Date
CN107104938A CN107104938A (zh) 2017-08-29
CN107104938B true CN107104938B (zh) 2020-08-04

Family

ID=59631144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710081833.9A Active CN107104938B (zh) 2016-02-19 2017-02-15 建立安全的数据交换通道方法、客户端及计算机可读介质

Country Status (2)

Country Link
US (1) US20170244753A1 (zh)
CN (1) CN107104938B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111245877A (zh) * 2018-11-29 2020-06-05 北京京东尚科信息技术有限公司 用户风险指数的查询方法、装置、电子设备及介质
US10489144B1 (en) * 2019-07-22 2019-11-26 Capital One Services, Llc Automated bucket policy management arrangements
CN114070631B (zh) * 2021-11-18 2024-01-19 东南大学 一种基于Tor隐藏服务描述符的存储型隐蔽信道方案
US11647013B1 (en) * 2022-10-28 2023-05-09 Snowflake Inc. Encryption of data via public key cryptography with certificate verification of target

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957522A (zh) * 2014-04-16 2014-07-30 华为技术有限公司 一种智能通讯方法、终端及系统
CN104780215A (zh) * 2015-04-21 2015-07-15 广州多益网络科技有限公司 一种文件传输系统及其方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458451B2 (en) * 2009-01-20 2013-06-04 New York University Database outsourcing with access privacy
US9712508B2 (en) * 2013-03-13 2017-07-18 Intel Corporation One-touch device personalization
US9734190B1 (en) * 2015-12-07 2017-08-15 Gravic, Inc. Method of ensuring real-time transaction integrity

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957522A (zh) * 2014-04-16 2014-07-30 华为技术有限公司 一种智能通讯方法、终端及系统
CN104780215A (zh) * 2015-04-21 2015-07-15 广州多益网络科技有限公司 一种文件传输系统及其方法

Also Published As

Publication number Publication date
US20170244753A1 (en) 2017-08-24
CN107104938A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
CN109756485B (zh) 电子合同签署方法、装置、计算机设备及存储介质
US11089032B2 (en) Signed envelope encryption
US10447674B2 (en) Key exchange through partially trusted third party
CN106664202B (zh) 提供多个设备上的加密的方法、系统和计算机可读介质
US10797879B2 (en) Methods and systems to facilitate authentication of a user
CN106104562B (zh) 机密数据安全储存和恢复系统及方法
US10250573B2 (en) Leveraging transport-layer cryptographic material
Li et al. Applying biometrics to design three‐factor remote user authentication scheme with key agreement
US10320564B2 (en) System and method for generating and depositing keys for multi-point authentication
US11336641B2 (en) Security enhanced technique of authentication protocol based on trusted execution environment
US10693638B1 (en) Protected cryptographic environment
US10742426B2 (en) Public key infrastructure and method of distribution
CN101715638A (zh) 为获取解密密钥而请求密钥获取的安全电子消息系统
CN107104938B (zh) 建立安全的数据交换通道方法、客户端及计算机可读介质
US11652629B2 (en) Generating keys using controlled corruption in computer networks
CN106576043A (zh) 病毒式可分配可信消息传送
US20180227278A1 (en) Communication of Messages Over Networks
CN111010399A (zh) 一种数据传输方法、装置、电子设备及存储介质
CN114143117A (zh) 数据处理方法及设备
Hussain et al. An improved authentication scheme for digital rights management system
CN110784318B (zh) 群密钥更新方法、装置、电子设备、存储介质及通信系统
CN112565156B (zh) 信息注册方法、装置和系统
Ashraf et al. Lightweight and authentic symmetric session key cryptosystem for client–server mobile communication
US11870908B1 (en) End-to-end encryption based on a simple shared secret
Sun et al. Application Research in Computer Vision Signature Encryption System of Enterprise Contract Economic Management

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
GR01 Patent grant
GR01 Patent grant