一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于浏览器应用的密码服务的制作方法

2022-05-13 12:00:49 来源:中国专利 TAG:
用于浏览器应用的密码服务的制作方法

本申请要求于2019年9月25日提交的澳大利亚临时专利申请No 2019903591的优先权,其内容通过引用整体并入本文。

技术领域

本公开的各方面一般而言涉及向web浏览器供给密码服务,更具体地涉及用于通过密码设备向浏览器提供密码服务的系统和方法。

背景技术

许多网页现在促进或要求使用密码功能来为用户提供认证、加密和其它安全特征。

例如,两步(或两因素)认证是一种通过利用用户知道的秘密(诸如,密码)和用户可以通过使用密码设备生成并且可以提供给网页的密码秘密来对用户进行认证的方法。随着对增强安全性的需求增加,这种形式的认证变得越来越普遍。

此外,许多启用web的应用现在提供使用户能够出于隐私目的对数据应用加密和解密,或与诸如区块链分类账之类的密码应用交互的功能。

遗憾的是,用户经常发现使用网页提供的密码服务很繁琐并且使用效率低下。此外,无意或恶意安全漏洞的风险增加意味着关注点在于确保此类密码服务能够高度抵抗恶意方的黑客攻击或篡改。

因而,需要一种私有、安全和方便的手段来为启用web的应用(诸如,浏览器)提供认证和密码服务。

对本说明书中包含的文件、行为、材料、设备、物品等的任何讨论不应被视为因为其在每个所附权利要求的优先权日之前存在而承认任何或所有这些事项构成现有技术基础的一部分或是与本公开相关的领域的常见一般知识。



技术实现要素:

提供了一种用于为执行网页的浏览器获取密码服务的方法。该方法包括:通过无线互联网协议通信网络在浏览器和密码设备之间建立持久性对等连接;响应于接收到对网页的用户输入,由浏览器通过持久性对等连接将由用户输入指示的数据传输到密码设备,以由密码设备使用存储在密码设备上的密码密钥对数据进行密码处理以产生密码结果;以及由浏览器通过持久性对等连接从密码设备接收密码结果,并将密码结果提供给网页。

该方法还可以包括以下步骤:由密码设备经由浏览器和密码设备之间的持久性对等连接从浏览器接收数据;由密码设备使用存储在密码设备上的密码密钥对数据执行密码功能,以产生密码结果;以及由密码设备通过持久性对等连接将密码结果传输到浏览器。

持久性对等连接可以在以下步骤的多次迭代中保持建立:由浏览器通过持久性对等连接将数据传输到密码设备;以及由浏览器通过持久性对等连接从密码设备接收密码结果。

密码设备可以将存储在密码设备上的机密数据从密码设备发送到浏览器。此外,密码设备可以用密码密钥对数据进行签名、加密、验证或解密以产生密码结果。

浏览器可以将密码结果嵌入到网页中。此外,浏览器可以将密码结果提供给托管网页的服务器,这可能导致浏览器从托管网页的服务器接收更新后的网页。

可以经由浏览器信令信息建立持久性对等连接。密码设备可以接收信令信息,并且作为响应,向浏览器传输建立对等连接所必需的响应信息。信令信息可以“带外”发信号通知,例如经由浏览器内显示的快速响应(QR)码。

信令信息可以包括认证质询,该认证质询可以由密码设备通过将认证密钥应用于质询信息进行签名以产生质询响应。

密码设备可以将信令响应传输回浏览器,其中包括密码设备标识信息和质询响应。响应还可以包括与存储在密码设备上的私钥互补的公钥。

描述浏览器建立和管理对等连接的软件可以被浏览器注入到网页中。该软件可以由通过调用嵌入在网页代码中的库来调用的JavaScript库来描述。

根据本公开的另一方面,提供了一种为在用户设备上执行网页的浏览器获取密码服务的方法,该方法包括在浏览器和密码设备之间建立持久性对等连接;响应于接收到对网页的用户输入,由浏览器通过持久性对等连接将用户输入指示的数据传输到密码设备;由密码设备使用存储在密码设备上的密码密钥对数据应用密码功能以产生密码结果;以及由密码设备通过持久性对等连接将密码结果传输到浏览器。

根据本公开的另一方面,提供了一种向执行网页的浏览器提供密码服务的方法,该方法包括经由浏览器和密码设备之间的持久性对等连接从浏览器接收数据;由密码设备使用存储在密码设备上的密码密钥对数据执行加密功能以产生密码结果;以及由密码设备通过持久对等连接将密码结果传输到浏览器。

根据本公开的另一方面,提供了一种在用户设备上执行网页的浏览器,该浏览器被配置为:在浏览器和密码设备之间建立持久性对等连接;响应于接收到对网页的用户输入,通过持久性对等连接将由用户输入指示的数据传输到密码设备,以使用存储在密码设备上的密码密钥对数据进行密码处理,以产生密码结果;以及通过持久性对等连接从密码设备接收密码结果。

根据本公开的另一方面,提供了一种密码设备,其被配置为:在执行网页的浏览器和在密码设备上执行的密码应用之间建立持久性对等连接;经由持久性对等连接从浏览器接收数据;使用存储在密码设备上的密码密钥对接收到的数据执行加密功能,以产生密码结果;经由持久性对等连接将密码结果传输到浏览器。

附图说明

现在将参考以下附图描述示例,其中:

图1图示了网络图;

图2是图1的密码设备的框图;

图3是图示如由浏览器执行的在浏览器和密码设备之间建立对等连接的方法的流程图;

图4是图示如由密码设备执行的在浏览器和密码设备之间建立对等连接的方法的流程图;

图5是图示如由浏览器执行的用于获得密码服务的方法的流程图;

图6是图示如由密码设备执行的用于提供密码服务的方法的流程图;

图7是图示在浏览器和密码设备之间传输的请求和响应消息的消息流程图;以及

图8a-f图示了显示网页的浏览器。

具体实施方式

网络概览

图1图示了根据本公开的一方面的网络图100。用户102在操作设备,以个人计算机104为例,在个人计算机104上执行的web浏览器105内显示网页。应该理解的是,在其它示例中,浏览器可以在移动电话或其它合适的启用web的设备上执行。

用户102也在操作密码设备106,以移动电话为例。移动电话包括被配置为使用存储在密码设备106上的一个或多个密码密钥114执行密码功能的软件和硬件。

应该理解的是,将密码设备描述为移动电话并非旨在进行限制。根据本公开的密码设备可以是专门用于通过对等连接提供密码处理服务和提供密码结果的设备、诸如个人计算机的全功能设备、没有屏幕和界面的无头设备,或能够执行归属于本文的密码设备的功能的任何设备。

不是在每次需要密码服务时都与浏览器建立连接,而是在个人计算机104上执行的web浏览器105经由持久性对等连接108与移动电话持久性地通信。web浏览器105还经由互联网连接110与web服务器112通信,使得web浏览器能够经由互联网连接110从web服务器112下载和显示网页。

在需要对用户进行认证的情况下,与用户102相关联的一个或多个公钥118可以存储在可由web服务器112访问的存储器存储装置116中。存储器存储装置116可以位于web服务器112内或远离web服务器112,如图1中所绘出的。

还图示了另一方120。另一方可以是另一个用户或应用。另一方120在操作密码设备122,在图1中所示的示例中,密码设备122是移动电话。另一方可以是用户102的通信伙伴,该通信伙伴经由公钥基础设施等与其交换公钥。如果另一方是用户102的通信伙伴,那么与用户102相关联的一个或多个公钥124可以存储在另一方的设备122上。另一方120的角色将在后续部分中描述。

密码设备

图2是图1的密码设备106的框图。密码设备106包括处理器,该处理器被配置为通过执行至少部分地存储在存储器存储装置212上的密码应用来控制设备的操作。存储器存储装置212还存储与用户102的一个或多个用户身份相关联的标识信息。标识信息可以包括用户名、电子邮件地址、用户标识号等。

此外,存储器存储装置212存储一个或多个密码密钥114,以由密码应用在向浏览器105供给密码服务和对用户身份进行认证时在需要的情况下使用。

存储器存储装置212可以包括多个单独的或互连的存储器存储组件。此外,存储器212可以包括密码设备内部的组件,和/或可以包括与密码设备通信的单独的组件,或者可以包括它们的组合。

设备106还包括网络接口208。根据图2中所示的实施例,网络接口208是无线互联网接口,其被配置为无线地从互联网接收和向互联网传输信息。

设备106还包括一个或多个输入/输出接口214。I/O接口可以包括:相机,被配置为捕获图像并将所述图像提供给处理器;以触摸屏、数字键盘或键盘形式的用户输入;以及以显示屏幕或状态灯形式的输出。可以提供使用户能够向设备提供信息和接收信息的其它输入/输出接口。

密码设备的处理器执行密码应用,该应用控制密码处理服务的供给并管理对等连接的建立和操作。

密码设备106可以包括密码硬件加速器210,其被配置用硬件执行密码处理,诸如加密、解密和签名。可能期望包含密码硬件加速器以提高密码设备的性能或安全性。

密码处理服务可以由在处理器上执行的密码应用提供,或者由硬件加速器提供,或者由它们的组合提供。密码设备可以被配置为提供非对称密码,诸如RSA或其它,并且还可以被配置为提供对称密码。

密码密钥

存储在存储器存储装置212内的密码密钥可以包括一个或多个用于向浏览器提供密码服务的密钥。存储在设备上的密钥类型将取决于设备提供的密码服务的类型。密码设备可以执行非对称或对称密码,或两者的组合。

非对称密码学使用公钥和私钥来加密和解密数据。公钥可以与其它方共享;但是,私钥仍然安全,并且其它方不知道。相比之下,对称密码仅使用单个密钥来对数据应用和移除密码功能。

在设备106提供非对称密码处理的情况下,密码设备可以生成公钥/私钥对。替代地,可以在密码设备的制造或设置期间预先配置密码密钥。公钥可以存储在存储器存储装置212中并且根据需要传送给通信方。相比之下,私钥将不会传送到设备外部,而是将存储在存储器存储装置212中。密码设备还可以存储从通信伙伴接收到的公钥。

如上所述,存储器存储装置212可以包括多个不同的存储器组件。为了增强安全性,可以将私钥存储在能够抵抗外部方恶意访问的存储器组件中。

由于密码设备为浏览器执行密码处理,因此有利的是,私钥仍然存储在设备上,并且不需要将私钥传送到设备106外部。因而,无需将用户的私钥委托给另一方,诸如web服务器。由于私钥不被另一方存储,因此不必担心私钥将被另一方无意泄露,或通过另一方的安全漏洞被发现。

存储在存储器存储装置212中的密码密钥还可以包括一个或多个用于对用户身份进行认证的密钥。在认证期间使用非对称密码的情况下,用于认证用户身份的密钥可以是与对应的公钥相关联的私钥。虽然增强的安全性将由与用于向浏览器提供密码服务的一个或多个密码密钥不同的认证密钥产生,但可以设想,对于一些实施方式,密码设备可以使用相同的密码密钥向浏览器供给密码服务和对用户身份进行认证。

通信方

如图1中所示,可能存在用户的通信伙伴120。通信伙伴是用户102已向其提供与用户的私钥(114之一)对应的公钥124的另一个用户。通信伙伴还可能已经向用户102提供与通信伙伴的私钥相关联的公钥。通过使用用户的公钥124,通信伙伴120可以向用户102提供以密码方式处理的信息,诸如数字签名和加密信息。此外,虽然用户使用通信伙伴的公钥,但通信伙伴可以验证由通信伙伴的公钥签名的数据的真实性,或者解密由通信伙伴的公钥加密的数据。

多个用户身份

在一些情况下,可能期望将密码设备配置为维护设备的用户(或用户集合)的多个身份。这可能有利的情况包括用户操作个人和企业身份,或者用户除了他们的用户角色之外还具有管理员角色。替代地或附加地,用户可以为了安全或隐私目的而选择维护多个身份和私钥。

为了适应多个身份,密码设备可以被配置为在存储器存储库212内存储多个密码密钥,使得每个用户身份可以与唯一的密码密钥相关联以增强安全性。当与浏览器建立持久性对等连接时,设备的用户可以选择多个用户身份之一。此外,应该理解的是,密码设备可以在一个或多个浏览器之间建立多个单独的持久性对等连接,由此每个单独的连接可以与不同的用户身份相关联。

配置过程

现在将描述用于配置密码设备和浏览器以执行根据本公开的方法的示例性机制。但是,应该认识到的是,存在多种机制和变体,密码设备和浏览器可以被配置为经由它们执行根据本公开的方法。

用户102将密码应用107从应用服务器下载到密码设备106并安装密码应用。应用服务器可以是与web服务器112相同的实体。用户102触发密码应用的执行并通过提供诸如用户名的标识信息和诸如密码、短语或用户已知的其它秘密信息的认证信息来为用户的身份创建用户账户。该标识信息和认证信息由密码应用提供给服务器112用于存储。但是,应当注意的是,在服务器112上的识别和认证信息的持久性存储不是必需的,并且密钥可能是存储在密码设备106中的唯一数据。

如果期望双因素认证,那么密码应用还可以生成与用户身份相关联的私钥/公钥对,用于认证目的,将私钥存储在存储器存储装置212中,并将公钥提供给服务器112,或服务器112可访问的存储位置116。因而,有权访问公钥的服务器将有可能通过将公钥应用于用户已用其私钥签名的数字签名来验证用户的身份。

用户102使用浏览器从web服务器112下载网站的网页105。用户可以使用用于为密码应用创建账户的相同用户标识信息登录到网站105中。因而,用户可以同时登录到网站和密码设备上的密码应用中;但是,这不是必需的。

用户现在可以采取步骤在浏览器和密码设备之间建立持久性对等连接,使得密码设备可以向浏览器提供密码服务。

持久性对等连接

持久性对等连接在两个互联网连接的应用,例如,浏览器105和在密码设备上执行的密码应用107之间提供通信信道。

可以经由各种通信协议实现跨持久性对等连接的通信。可以根据本公开的方面应用的一种对等通信协议是Web实时通信(WebRTC)应用编程接口(API)。WebRTC经由简单的API为web浏览器和其它互联网连接的应用提供实时通信,这种简单的API包括提供用于建立对等连接的机制的RTCPeerConnection API,以及提供一种机制以通过对等连接传输任意数据的RTCDataChannel API。

因而,对等连接通过互联网协议通过在对等方之间提供直接通信信道允许对等设备传送位流、文件、音频或视频通信和其它数据形式。这消除了对将通信从传输对等方中继到接收对等方的专用服务器的需要。

信令

为了在一个互联网连接的应用和另一个互联网连接的应用之间建立对等连接,参与者执行信令过程,由此在对等应用之间交换标识和定位信息。信令允许应用交换元数据以协调通信。

在信令过程中传送的示例性信息包括网络数据,这些数据揭示了应用在互联网上的位置(IP地址和端口),使得每个应用可以找到彼此。可以在信令过程中传送的其它信息包括确定何时初始化、关闭和修改对等连接的会话控制信息;以及指示应用的功能范围,以及可以跨连接传送的数据类型的配置数据。此外,信令可以包括验证和授权机制以验证用户的身份。

信令方法

实现对等连接的一种方法是经由服务器提供信令信息;但是,在一些情况下,由于服务器带宽、速度或隐私顾虑的限制,可能不期望使用服务器来促进信令过程。因而,可能期望提供一种不需要使用服务器的信令机制来建立对等连接。

信令信息可以从第一对等方“带外”发送到第二对等方,这意味着信令信息是经由不是将建立对等连接的信道的通信手段传输的。“带外”传输信令信息的一种方法是将信令信息作为QR码提供,该QR码可以显示在发起对等设备的显示器上。然后,响应的对等方可以通过使用相机输入捕获QR码来接收信令信息。

发起对等方可以通过其它“带外”机制向响应对等方传输信令信息,包括但不限于,SMS、电子邮件、近场通信、蓝牙、硬连线连接、手动输入或经由USB。

实施例-建立持久性对等连接

将参考图3和图4描述在浏览器和密码设备之间建立持久性对等连接的方法,该方法使用QR码来传输信令信息,图3图示了如由浏览器105执行的方法300,并且图4图示了如由在移动电话106形式的密码设备上执行的密码应用107执行的补充方法400。图3和图4中所示的示例性方法使用WebRTC协议来建立持久性对等连接。

在步骤302中,用户通过输入用户名和密码登录到网页中来向在浏览器内执行的网页认证他们自己。替代地,可以利用一些其它的用户认证手段。在一些情况下,可能不需要步骤302,因为密码设备可以在建立持久性对等连接期间提供用户标识。

在步骤302处,用户或浏览器也可以适当地配置与期望的密码服务类型相关的参数。

在步骤304中,响应于接收到来自用户的输入触发,诸如鼠标点击网页按钮或URL,浏览器显示QR码,该QR码对信令信息进行编码以发起浏览器105和密码设备106之间的持久性对等连接的建立。信令信息包括浏览器面向公众的IP地址,以及用于持久性对等连接的端口和传输协议。信令信息还可以包括附加信息,诸如标识网页的信息。

经由QR码发信号通知

移动电话使用电话的相机扫描404QR码。然后将QR码的图像提供给在电话上执行的密码应用。在步骤406处,密码应用对QR码进行解码以提取信令信息。

认证质询

在一些应用中,可能期望在建立持久性对等连接期间认证密码设备与用于登录到浏览器中的用户身份适当关联。在其它应用中,可能不需要或不期望这种认证过程;例如,如果网页允许作为访客连接,或者用户的身份已通过其它方式进行认证的情况下。

在图3和图4中所示的实施例中,浏览器要求认证与用户登录身份相关的密码设备。因而,在步骤304中,QR码中提供的信令信息还包括认证质询数据,该认证质询数据将用于认证密码设备与用于登录到浏览器中的用户身份相关联。认证质询数据可以是伪随机生成的位串。

在步骤408中,密码应用从QR码确定认证质询数据,并且在步骤410中,密码设备使用存储在密码设备上的认证密钥计算质询数据的签名,以产生签名的认证质询数据。认证密钥可以是识别用户身份的公钥/私钥对的私钥,用户通过其分别在步骤302和402中登录到密码设备和浏览器中。

在步骤412中,密码应用准备信令响应消息,该消息包括密码设备标识信息,诸如密码设备的IP地址和端口。密码设备标识信息还可以包括由设备支持的密码服务列表。信令响应消息还包括签名的认证质询数据。

然后,密码应用经由互联网将信令响应消息传输412到在QR码中指定的IP地址和端口的浏览器。

在步骤306中,浏览器从密码设备接收信令响应消息。因而,现在浏览器和密码设备都知道另一个对等方的连接细节(IP地址和端口),因此可以建立持久性对等连接。但是,在图3和图4中所示的示例性实施例中,浏览器需要在建立持久性对等连接之前对用户的身份进行认证。

在步骤308中,浏览器从接收自密码设备的信令响应消息中提取签名的认证质询数据,并将签名的认证质询数据提供给web服务器112。检索与用户登录到网页中所用的用户身份相关联的公钥118,web服务器112通过考虑具有数字签名的质询数据和用户的公钥来验证认证质询数据已使用用户的私钥进行签名。

如果存在指示用于对认证质询数据进行签名的私钥与与用户登录身份相关联的公钥不互补的差异,那么浏览器可以选择中止314持久性对等连接的建立

否则,浏览器认为用户的身份已经被认证,并且浏览器105继续通过持久性对等连接108与密码设备106协商会话参数312、414。

根据WebRTC API,会话描述协议(SPD)可以用于描述持久性对等连接的参数,包括要在浏览器和密码设备之间交换的媒体类型、传输协议、带宽信息和其它元数据,如根据需要进行协商的。

一旦会话参数已被确定,持久性对等连接就可以被建立316、416,并且可以开始向浏览器供给密码服务。

浏览器方法

图5图示了用于为执行网页的浏览器获得密码服务的方法500。在步骤504中,浏览器采取建立与密码设备的持久性对等连接的步骤。可以响应于浏览器接收到诸如网页按钮或URL的点击之类的用户输入来建立持久性对等连接。

已经关于图3和图4描述了用于建立持久性对等连接的示例性方法;但是,可以利用建立持久性对等连接的替代方法。一旦建立了对等连接,浏览器就等待用户输入506来指示请求密码处理。

用户输入506可以采取多种形式。作为非限制性示例,用户输入506可以是在网页按钮或超链接上单击鼠标、选择文本并右击以选择菜单选项、使用浏览器导航图标或菜单的形式。

在步骤508中,浏览器以数据包的形式形成请求消息,该数据包包括要由密码设备以密码方式处理的数据和根据需要用于指定密码处理的参数的其它信息。可以设想,在一些情况下,不需要指定密码处理的参数,特别是在密码设备被配置为仅提供一种处理功能,或者要由设备执行的处理功能已经在建立持久性对等连接期间被指定的情况下。

在步骤510中,浏览器等待并通过对等连接接收来自密码设备的响应消息。响应消息包含密码设备对数据进行密码处理的结果。响应于接收到该密码结果,浏览器将密码结果提供给网页512。取决于网页的配置,浏览器经由各种手段向网页提供密码结果,包括但不限于更新网页以显示密码结果、将密码结果嵌入或输入到网页的代码中、将结果输入到网页的web表单输入中、以AJAX HTTP请求或HTML参数值的形式提供结果。附加地或替代地,浏览器可以将密码结果提供给托管网页的服务器112,这可以导致服务器112提供要在浏览器105中显示的修订的或新的网页。替代地,密码结果可以保留在网页本地,并且不被传输到web服务器或其它应用。

在步骤512之后,浏览器的方法返回到步骤506,其中浏览器等待接收来自用户的进一步输入。值得注意且有利的是,对等连接是持久性的,这意味着它对于步骤506到512的多次迭代保持建立和打开。因此,可以以最小的时延和更少的用户输入来处理进一步的请求。

设备方法

图6图示了根据本公开的一方面的由密码设备106执行的方法600。

在步骤602中,密码设备106与web浏览器105建立持久性对等连接108。已经关于图3和图4描述了用于建立持久性对等连接的示例性方法;但是,可以利用用于建立连接108的替代方法。

在步骤604中,密码设备106等待通过持久性对等连接108接收来自浏览器105的请求消息。请求消息可以是包含请求执行的密码功能的指示的数据包的形式。数据包还可以包含要向其应用密码功能的数据,或这种数据的指示,以及如由特定实施例所需的附加信息。请求消息的格式和内容可以在对等连接建立期间配置,或者可以预先配置到浏览器和密码设备中。

在步骤606中,密码设备106分析由浏览器通过对等连接传输的请求消息,以确定要应用的密码功能,以及应该应用该功能的数据。取决于密码设备的配置,该设备还可以寻求用户的确认以继续按照请求执行密码功能。该设备可以通过在设备的显示器上显示密码功能请求的细节来寻求确认,然后等待接收来自用户的输入,从而确认密码处理应该继续。

然后,设备106从存储器存储装置212中选择适当的密码密钥114。在多个密码密钥存储在存储器存储装置212中的实施例中,适当密钥的选择可以取决于建立持久性对等连接的用户身份、浏览器请求的密码处理的类型、要以密码方式处理的数据类型,或其它因素。

设备106然后使用选择的密码密钥对确定的数据执行密码处理606,以产生密码结果。在步骤608中,密码结果随后被设备打包成响应消息,该响应消息经由持久性对等连接被传输回浏览器。

然后该设备的方法返回到步骤604,由此设备等待通过持久性对等连接接收来自浏览器的进一步请求消息。值得注意且有利的是,在步骤602中建立的对等连接是持久性的,这意味着它贯穿步骤604、606和608的多次迭代保持建立。

传输层加密

为了确保浏览器和密码设备之间的传输是安全的,可以将传输层加密协议应用于通过持久性对等连接传输的消息。示例性传输层加密协议是数据报传输层安全性(DTLS),其被设计用于保护数据隐私并防止窃听和篡改。但是,应该认识到的是,可以使用与互联网协议兼容的许多其它传输层加密协议。

传输层加密可以应用于由浏览器传输到密码设备的请求消息。此外,传输层加密可以应用于由密码设备传输到浏览器的响应消息。因而,响应消息中嵌入的密码结果可以由于传输层加密的应用而被进一步加密。

持久性对等连接

图7是图示根据本公开的一方面的通过已建立的对等连接108在浏览器105和密码设备106之间传输的请求和响应消息的消息流程图700。在建立持久性对等连接108时,可能存在在浏览器和密码设备之间传输的协商通信会话的参数的一系列消息705。

消息706和708是请求和响应对,其中浏览器已经请求来自设备的密码处理,并且已经接收到来自密码设备的密码响应。类似地,消息710和712是另一个请求和响应对,其中浏览器已经请求来自设备的进一步密码处理,并且已经接收到来自密码设备的进一步密码响应。

有利的是,多个请求和响应对可以在建立时通过持久性对等连接进行传输,如请求和响应消息714和716所示。有利的是,浏览器不需要在每次需要密码处理时建立连接。

最终,浏览器可以确定不再需要密码设备的服务,例如,如果用户登出网页,或者采取行动切断持久性对等连接。然后,浏览器可以采取关闭持久性对等连接的步骤,从而释放与该连接相关联的资源。如果对等连接是WebRTC连接,那么可以通过调用RTCPeerConnection.close()方法关闭连接,该方法终止与WebRTC连接相关联的代理。可以传输关闭消息718,其触发密码设备关闭连接,并停止侦听经由连接的进一步请求消息。

应该理解的是,由于浏览器或密码设备的故障或网络故障,对等连接可能会意外关闭。为了改善连接关闭的影响,并使得能够快速重新建立连接,浏览器可以存储密码设备的连接细节(例如,IP地址和端口),使得可以通过重新协商会话参数重新激活连接。

实施例—浏览器连接

现在将参考图8a-f图示图5和图6中描述的方法的实施例。

图8a-f图示了显示网页803a-f的浏览器802。网页803a-f图示了用户可以将消息发布到消息板的网站的一个或多个网页。存在各种形式的消息板,包括社交媒体平台内的消息板。消息板使得用户能够发布内容,这些内容归用户所有,并且可由其它方查看或访问。

浏览器任务栏804位于浏览器的顶部并且为浏览器的用户提供导航控制。位于网页803a中间的是文本框形式的web表单元素806a。用户可以以通常的方式将数据输入到该文本框中。

在网页803a的右侧,是接口808a,它指示浏览器是否经由持久性对等连接连接到密码设备。如解锁的挂锁图标809所指示的,图8中所示的浏览器当前没有经由持久性对等连接连接到密码设备。在挂锁图标809下方提供了连接按钮810。用户可以点击连接按钮810来触发浏览器发起与密码设备建立持久性对等连接。

图8b图示了浏览器802显示网页803a的修改版本803b,作为用户点击网页803a上的连接按钮810的结果。在图8b中所示的示例中,浏览器802在网页803b的中间显示扫描连接框812。该框包含对信令信息进行编码的QR码814,该信息足以发起浏览器802和密码设备之间的持久性对等连接的建立。

已经关于图3和图4描述了浏览器和密码设备为建立持久性对等连接而采取的进一步步骤。

实施例–签名

图8c图示了在浏览器802和密码设备之间建立持久性对等连接时在浏览器802中执行的网页803c。锁定的挂锁图标809c向用户提供当前建立对等连接的视觉表示。

可以看出,用户已经将文本“世界,你好”807输入到web表单元素806c中。为了将消息直接发布到消息板,使得其它用户可以看到该消息,用户可以点击发布按钮819c。但是,用户可能想要保证要发布到消息板的消息807源自该用户,并且该消息在发布到消息板之前没有被更改。因而,用户可以选择通过计算消息内容上的签名来对消息进行签名。为了实现这一点,用户点击签名按钮818,如按钮818的阴影图案所指示的。作为响应,浏览器将用户的消息807打包成通过签名进行密码处理的请求,并通过对等连接将请求传输到密码设备。密码设备例如根据图6的步骤604至608通过使用存储在存储器存储装置212中的公钥/私钥对应用用户消息的单向散列将数字签名应用到用户消息807,并在响应消息中将数字签名传输到浏览器。

浏览器接收数字签名,并根据图8d中所示的示例,将签名提供给网页。网页在web表单元素806d中的用户消息807下方显示数字签名817。替代地,根据本公开的浏览器可以不在浏览器内显示数字签名,而是可以将数字签名信息嵌入与网页相关联的数据内。浏览器可以通过使用不同的颜色、阴影、网页上的位置、指示性图标等视觉地描绘用户消息807已被签名。

注意的是,浏览器可以在发布消息时发起消息签名过程,这是理所当然的,或者取决于网页或用户的配置。此外,根据本公开的浏览器可以在对消息进行签名时发起用户消息807的发布,这是理所当然的,或者取决于网页或用户的配置。

图8e图示了浏览器802,其中用户消息821及其相关联的签名822被发布到消息板。

实施例—加密

除了如签名按钮818所提供的对消息进行签名的选项外,用户具有对消息807进行加密以由通信伙伴120解密的选项。关于消息826图示了如由作者C执行的这种消息加密。

为了加密消息807,用户点击加密按钮820。作为响应,浏览器将用户的消息807打包成通过加密进行密码处理的请求,并通过持久性对等连接将请求传输到密码设备。密码设备例如根据图6的步骤604到608使用存储在密码设备上的通信伙伴的公钥对用户消息807进行加密,并且将加密的消息作为密码结果以响应消息传输到浏览器。

浏览器接收加密消息并将密码结果提供给网页。如消息826所例示的,网页可以显示与用户身份相关联的加密消息。

实施例-验证

图8c-e还图示了根据本公开的另一方面的消息验证功能。如图8c-e中的状态框808c-e所指示的,对等连接在浏览器和密码设备之间保持建立。验证按钮827与由示例作者,作者B发布的消息824共置。消息824还与数字签名825共置,数字签名825提供了消息824已由作者B签名的初步表面(prime facia)指示。

浏览器802的用户可以使用密码设备来验证与消息824相关联的数字签名825已由作者B产生。在如图8a-e中所示的示例性场景中,密码设备和浏览器802的用户是作者B的通信伙伴,并已经由公钥基础设施与作者B交换了公钥。因而,密码设备106存储与作者B相关联的两个密钥:当向作者B传输信息时要使用的公钥;以及当接收来自作者B的信息时要使用的私钥。与存储的私钥互补的公钥已提供给作者B,并被作者B用于计算消息824的签名825。

因而,当用户点击与消息824和数字签名825共置的验证按钮827时,浏览器形成包含消息824、数字签名825、识别作者B的信息(诸如用户名)和请求与验证功能相关的指示的请求消息。浏览器经由已建立的对等连接将该请求消息传输到密码设备。

在接收到请求消息后,密码设备确定与作者B相关联的私钥,并使用该私钥来确定在请求消息中传输的数字签名825是否已通过消息824和作者B的私钥产生。密码设备然后形成要通过对等连接传输到浏览器的响应消息,根据密码设备的确定,该响应消息包括验证数字签名825的有效性或驳斥数字签名825的有效性的密码结果。

浏览器将密码结果提供给网页。取决于网页中编码的功能,网页可以通过颜色的变化、阴影、共置图标或其它方式来指示被验证的签名。类似地,网页可以通过改变消息824和数字签名825的外观或通过移除它们来指示被反驳的签名。

实施例-解密

图8c-e还图示了根据本公开的另一方面的消息解密功能。如图8c-e中的状态框808c-e所指示的,持久性对等连接在浏览器和密码设备之间保持建立。解密按钮828与由示例性作者,作者C发布的消息826共置。

消息826在作者C发布之前已使用非对称加密,使用与用户相关联的公共密码密钥进行了加密。为了让浏览器802的用户查看消息826的未加密内容,有必要使用用户的私有密码密钥解密消息826。

在如图8c-e中所示的示例性场景中,密码设备和浏览器802的用户是作者C的通信伙伴,并且已经经由公钥基础设施与作者C交换了公钥。因而,密码设备当前存储与作者C相关联的公钥和用于与作者C通信的私钥。与用于与作者C通信的私钥互补的公钥已被提供给作者C,并被作者C用来产生加密消息826。

因而,当用户点击与加密消息826并置的解密按钮828时,浏览器形成请求消息,该请求消息包含加密消息826、识别作者C的信息(诸如用户名)以及请求与解密功能相关的指示。浏览器经由已建立的对等连接将该请求消息传输到密码设备。

一旦接收到请求消息,密码设备就从存储器源812检索与作者C相关联并且适合解密加密消息826的公共密码密钥。然后,密码设备通过应用公共密码密钥对加密消息826进行解密,并经由持久性对等连接108在响应消息中将解密消息作为密码结果返回给浏览器。

浏览器将密码结果提供给网页。取决于网页中编码的功能,网页可以显示来自作者C的解密消息,代替加密消息826。密码结果可能保留在网页本地,并且不传输到web服务器或其它应用。

签名、验证和解密文件和其它数据

关于图8a-e,已经描述了对基于文本的数据(即,发布到消息板的消息)进行签名、验证与基于文本的数据相关联的签名、加密和解密基于文本的消息的方法;但是,上述技术也可以应用于对发布到消息板的文本消息以外的数据进行签名、验证、加密和解密。

特别地,本文描述的方法和设备可以应用于诸如对证书、成绩单、医疗处方、照片以及可以使用密码密钥对其应用加密和/或签名的任何数据的文件进行签名的应用。

实施例—上传文件

根据本公开的另一方面的密码设备可以被配置为将机密信息从密码设备安全地传输到浏览器。例如,图8f图示了显示网页803f的另一个版本的浏览器802,其使得能够上传加密或签名文件。锁定的挂锁图标809f指示已经在浏览器和与作者A相关联的密码设备之间建立了对等连接。“上传签名文件”按钮830为浏览器的用户提供了为文件提供文件签名的功能,由此文件签名可以由用户的通信伙伴120验证。该功能包括将密码密钥应用于文件,并经由持久性对等连接将文件及其相关联的签名从密码设备上传到浏览器。

要启用此功能,可以采取以下步骤。作为作者A的用户802选择要上传的文件并点击“上传签名文件”按钮830。浏览器经由对等连接108向密码设备106传输包括文件引用和创建文件签名的请求的请求消息。密码设备108从存储器源212定位和检索文件,并将通信伙伴120的公钥应用于文件内容以计算文件签名。密码设备经由对等连接在响应消息中将文件及其相关联的签名作为密码结果传输到浏览器。

浏览器然后将密码结果提供给网页。取决于网页的配置,浏览器然后可以将文件及其相关联的签名上传到web服务器,并且可以在网页上提供上传文件的指示。例如,文本834指示之前上传了名为“成绩单(作者A).pdf”的文件。如勾号图标838所指示的,密码设备已为该文件834创建了文件签名。

用上传的文件供给文件签名使得上传用户的通信伙伴能够验证该文件源自上传用户,并且自上传以来没有被更改。通信伙伴120将通信伙伴的私钥应用于该文件以确定相关联的签名是否验证文件。

此外,可以以与上述文件签名的生成大致相同的方式提供文件加密功能。作为作者A的用户102选择要上传的文件并点击“上传加密文件”按钮832。浏览器经由对等连接108向密码设备106传输包括文件引用和对文件加密的请求的请求消息。密码设备108从存储器源212定位和检索文件,并将通信伙伴的公共密码密钥应用于文件内容以加密文件。密码设备经由持久性对等连接在响应消息中将加密文件作为密码结果传输到浏览器。

浏览器将密码结果提供给网页。取决于网页的配置,浏览器然后可以将加密文件上传到web服务器,并且可以在网页上提供上传的加密文件的指示。例如,文本836指示之前上传了名为“简历(作者A).pdf”的加密文件。该文件已由密码设备加密,如挂锁图标840所指示的。

通信伙伴120可以将通信伙伴的私钥应用于文件以解密文件。

本领域技术人员将认识到,可以对上述实施例进行多种变化和/或修改,而不背离本公开的广泛一般范围。因此,本实施例在所有方面都被认为是图示性的而不是限制性的。

在整个本说明书中,词语“包括(comprise)”或诸如“包括(comprises)”或“包括(comprising)”的变体将被理解为暗示包含所陈述的元素、整数或步骤,或元素、整数或步骤的组,但是不排除任何其它元素、整数或步骤,或元素、整数或步骤的组。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献