用传输层安全在签名装置与主机间的数据认证和安全传输的制作方法

文档序号:13937509阅读:221来源:国知局
用传输层安全在签名装置与主机间的数据认证和安全传输的制作方法



背景技术:

电子手写在各种背景下变得越来越重要。例如,电子手写目前通常用于代替纸笔来获得信用卡持卡人对信用卡交易的确认。作为另一示例,在银行、零售店、和其他地点使用签名板和平板来获得对具有法律约束性的文档的签名。鉴于这种应用的敏感性,对于这种装置的供应商和用户而言,签名装置的认证和在签名装置与其他计算机之间传输的数据的安全已经变成关键问题。专有安全和加密方案是可能的,但是专有安全和加密方案需要投入巨大的努力和高昂的费用,并且在这种方案的设计者及其客户之间需要存在高度信任。

例如,美国专利第8,700,905号公开了一种捕获手写签名并且对签名数据进行加密的签名捕获设备。例如,美国专利第7,933,840号公开了一种利用主机所提供的交易数据对签名数据进行加密的签名装置。



技术实现要素:

该发明内容的提供是为了以简化的形式介绍对于在下面的具体实施方式中进一步描述的构思的选择。该发明内容不旨在识别所要求的主题的关键特征,也不旨在用作帮助确定所要求的主题的范围。

在一个方面中,经由接口(例如,通用串行总线(usb)接口)在签名装置与主机之间建立连接,并且经由该接口在签名装置与主机之间建立传输层安全(tls)连接。主机经由接口将命令发送至签名装置以生成新密钥对,经由接口从签名装置接收证书签名请求(csr),将csr发送至用户证书授权机构(ca),从用户ca接收公钥证书,并且经由接口将公钥证书发送至签名装置。

在另一方面中,经由usb接口在签名装置与主机之间建立连接,并且经由该usb接口在签名装置与主机之间建立tls连接。签名装置充当tls服务器,并且主机充当tls客户端。

在另一方面中,在签名装置与运行应用的主机之间建立tls连接(例如,经由usb接口)。主机从存储在主机中的图像文件集合(例如,表示用于输入pin的不同的字符布局)中选择图像文件,其中,在图像文件集合中的每个图像文件具有图像区域与字符字母表之间的不同的映射,主机对所选择的图像进行加密,通过tls连接将所选择的图像发送至签名装置,通过tls连接从签名装置接收加密的笔数据(例如,表示用户对pin中的字符的选择),对加密的笔数据进行解密,并且基于解密的笔数据和与所选择的图像文件相关联的图像区域与字符字母表之间的映射来识别至少一个字符。

在另一方面中,在签名装置与运行应用的主机之间建立了tls连接(例如,经由usb接口)之后,签名装置通过该tls连接接收从存储在主机中的图像集合中选择的加密的图像,对加密的图像进行解密,并且通过tls连接将加密的笔数据发送至主机。在图像集合中的每个图像具有图像区域与字符字母表之间的不同的映射,并且加密的笔数据表示用户对pin中的字符的选择。

在另一方面中,一种与外部计算机一起使用的签名平板包括:传感器部,其被配置为获得一系列笔数据,和控制器,其被配置为生成公钥和私钥、获得公钥的第三方证书、使用由第三方签名的公钥来与外部计算机建立安全连接、以及在获得该一系列笔数据后通过安全连接发送该一系列笔数据。

在一些方面中,可以经由usb批量传输机制接收或者传输数据,诸如,笔数据,控制数据,或者图像数据。

在另一方面中,签名平板与外部计算机通信。签名平板包括:输入传感器(例如,电磁谐振(emr)传感器)、输入传感器控制器(例如,emr控制器)、和主控制器。主控制器包括外围装置接口(例如,usb接口)和存储器。签名平板还可以包括显示器(例如,lcd显示器)。输入传感器控制器被配置为检测笔的一系列位置并且生成一系列笔数据。存储器存储公钥和私钥的密钥对、公钥的服务器证书、和固件。固件被配置为使主控制器:当检测到外围装置接口与外部计算机连接时,通过外围装置接口与外部计算机建立连接,通过该连接将包括公钥的服务器证书提供给外部计算机,并且在接收到指示服务器证书受外部计算机信任的响应的情况下,将该一系列笔数据发送至外部计算机。外部计算机可以被编程为:通过连接接收包括公钥的服务器证书,确定服务器证书是否可信任,在服务器证书可信任的情况下,将指示服务器证书可信任的响应发送至签名平板,并且接收该一系列笔数据。

固件可以进一步被配置为使主控制器:接收由外部计算机通过连接(例如,经由直接经由usb外围装置接口上的连接建立的安全tls或者ssl(安全套接层)会话)生成的加密的共享密钥,作为指示服务器证书受外部计算机信任的响应;并且通过利用该共享密钥对该一系列笔数据进行加密来发送该一系列笔数据。固件可以进一步被配置为使主控制器:建立用于交换usb装置特性的默认管道和用于usb批量传输的两个管道,用于通过外围装置接口与外部计算机进行双向通信。可以通过经由用于usb批量传输的两个管道建立的tls会话来发送该一系列笔数据。

签名平板可以发布csr。例如,固件可以进一步被配置为使主控制器:响应于命令而生成第一密钥对,发送对公钥的csr以便获得由ca签名的服务器证书,并且将包括公钥的服务器证书存储在存储器中。固件可以进一步被配置为使主控制器:响应于另一命令生成新公钥和新私钥的新密钥对,发送对新公钥的csr以便获得由第二ca签名的公钥,并且更新存储器以存储新密钥对和由第二ca签名的新公钥的服务器证书。

针对相互认证,固件可以进一步被配置为使主控制器:从外部计算机检索包括外部计算机的公钥的客户端证书,确定该客户端证书是否可信任,并且在客户端证书可信任并且接收到指示服务器证书受外部计算机信任的响应的情况下,将该一系列笔数据发送至外部计算机。

针对pin输入,固件可以进一步被配置为使签名平板:对通过连接从外部计算机发送的加密的图像数据进行解密以获得图像数据,并且按照当在显示器上显示时该路径与图像数据重叠的方式来显示笔的位置的路径。图像数据可以表示用于输入手写签名的第一图像或者示出了用于输入pin的字符布局的第二图像。固件可以进一步被配置为使签名平板:按照路径与第一图像重叠的方式来显示笔的位置的路径,以及按照高亮的方式来显示该位置所选择的字符。

附图说明

本发明的上述方面和许多随附的优点将在参考以下结合附图所做的详细说明时而变得更容易了解和更好理解,其中:

图1是可以实施所描述的实施例的说明性系统的框图;

图2是可以在所描述的实施例中使用的证书授权机构的说明性层级结构的框图;

图3a和图3b是根据第一说明性实施例的过程的流程图;

图4a和图4b是根据第二说明性实施例的过程的流程图;

图4c是根据第三说明性实施例的过程的流程图;

图5和图6是根据第四说明性实施例的过程的流程图;

图7是可以实施第五说明性实施例的系统的框图;

图8是可以根据第五说明性实施例执行的过程的流程图;

图9是根据第六实施例的说明性系统的框图;以及

图10是图示了适合于根据所描述的实施例使用的说明性计算装置的各个方面的框图。

具体实施方式

下面结合附图陈述的详细说明旨在作为对所公开的主题的各种实施例的描述,并且不旨在表示唯一的实施例,在附图中,相似的附图标记表示相似的元件。在本公开中描述的各个实施例仅仅作为示例或者图示,并且不应该理解成优选于或者优于其他实施例。本文提供的说明性示例不旨在详尽地描述所要求的主题或者将所要求的主题局限于所公开的精确形式。

在以下说明中,陈述了若干特定细节以便提供对本公开的示例性实施例的全面理解。然而,对于本领域的技术人员而言显而易见的是,在没有这些特定细节中的一些或者所有时,也可以实践本公开。在某些情况下,并未详细地描述公知的过程步骤,以免不必要地模糊本公开的各个方面。进一步地,要了解,本公开的实施例可以采用本文描述的特征的任何组合。

i.介绍

如上所述,例如,美国专利第8,700,905号公开了一种捕获手写签名并且对签名数据进行加密的签名捕获设备。并且例如,美国专利第7,933,840号公开了一种利用由主机所提供的交易数据对签名数据进行加密的签名装置。然而,尚未针对认证机制——即在签名平板与主机之间的一种(单向或者双向)机制——提供实际的解决方案。使用预共享密钥或者暂时性共享交易数据作为加密密钥不足以防范中间人攻击,或者不足以应对在签名平板发货之后,在重新安装平板(例如,在银行或者用户所在地)之前,签名平板已经被第三方掉包的情况。

进一步地,尽管可以经由usb将数据从签名装置传输至使用不同的usb传输机制的主pc,但是为了保护传输,之前必须使用一种提供用于在签名装置与使用各种usb传输机制(例如,控制传输、中断传输)的主pc之间对各种类型的数据(例如,配置或者控制数据、笔数据、图像数据、或者其他数据)进行加密并且传输该各种类型的数据的不同加密方案的复杂方法。需要一种通过usb来安全地传输数据的更简单的方案。

在通常的计算中,tls(传输层安全)是用于保护双向通信信道的行业标准协议。tls以前称为ssl(安全套接字层),通常在网络浏览器和网络服务器中使用tls来保护作为安全http连接的tcp/ip链路。tls可以使用openssl软件基金会提供的诸如openssl的开源库和工具包或者wolfsslinc提供的wolfssl(以前称为cyassl)来实现。在rfc5246中定义了tls标准的当前版本——tls1.2,其是可从互联网工程任务组(ietf)获得的文档。

tls使用公钥加密,这需要保证对消息进行加密的一方正在使用正确的一方的加密算法。否则,该消息很容易受到中间人攻击的影响,其中,未被授权的一方冒充当事方进行交易,从而使得未被授权的一方查看到未加密的消息。pki(公钥基础设施)以可信的证书授权机构(ca)的形式提供解决方案。ca为消息提供公钥证书。公钥证书包括ca的数字签名以及一方的公钥和该方的文本字符串标识符。公钥证书向加密的一方保证公钥属于预期接收方。

然而,尽管在通用计算应用中存在如tls的协议,但是在电子签名装置的专业领域中尚未找到用于保护通信信道的简单解决方案。

在本文描述的实施例中,提供了上文描述的技术问题中的一个或者多个的解决方案。例如,在一些实施例中,tls协议用于认证,并且保护在签名装置与该签名装置所通信的计算机之间的链路。针对这些目的使用tls具有多种优点。例如,可以在签名装置与该签名装置所通信的计算机之间的两个方向上保护数据。作为另一示例,tls是得到很好的支持和理解的行业标准,并且tls可以使用诸如openssl或者wolfssl的开源库和工具包来实现。

签名装置通常使用usb(通用串行总线)端口来与其他计算机通信。在所描述的实施例中,tls用于通过usb来进行认证,并且保护在签名装置与其他计算机之间的usb连接。所描述的实施例还允许通过usb信道在签名装置与其他计算机之间进行相互认证。

所描述的实施例可以用于提供对签名装置和该签名装置所通信的计算机的相互认证,并且可以用作防御安全漏洞,诸如未被授权的计算机尝试与签名装置建立连接和恶意劫持usb连接。

本公开提供了可以使用的不同级别的安全。在第一或者默认级别下,签名装置可以利用由签名装置的制造商所持有的私钥签名的公钥证书以及可以与主机软件一起分布的公共验证密钥来提供安全。在默认级别下,制造商是签名装置上的原始证书的ca。在第二级别下,提供用户证书和私钥对,作为对默认级别的增强。在第二级别下,可以用在签名装置中生成的第二级别密钥对来替代制造商所提供的默认级别密钥对。在任何级别的安全下,可以生成密钥对的私钥部分并且将其存储在签名装置中,这有助于确保密钥对恰当地生成并且保持安全。

在tls链路中,被指定为客户端的装置通常对被指定为服务器的装置进行认证。在本文描述的一些实施例中,签名装置充当tls服务器,并且主机充当tls客户端。如果需要对签名装置进行认证,则主机只有在来自签名装置的证书已经由ca签名时才可以接受该证书。类似地,如果需要签名装置对主机进行认证,则签名装置只有在来自主机的证书已经由ca签名时才可以接受该证书。相互认证可以包括这两种形式的认证。

还可以提供客户端侧证书。在一个说明性场景中,发送至签名装置的命令(例如,用于生成密钥对的命令)指定对tls连接中的客户端侧证书的要求。当客户端(例如,主pc)将认证后的密钥传递回签名装置时,签名装置可以将根证书存储在认证密钥链中,其可以用作验证密钥以检查可能连接至签名装置的tls客户端的真实性。可以使用证书撤销列表(crl)来指定不再被授权的证书。这可以防止未被授权的计算机连接至签名装置。

如本文所使用的,术语“签名装置(signaturedevice)”指的是捕获签名的手写输入的装置。可以将签名装置实施为专用签名收集装置,诸如签名板装置,或者实施为通用装置,诸如适当配置的智能电话或者平板计算机。不必将签名装置严格限制为输入装置,并且签名装置还可以包括其他功能(例如,显示功能、数据传输功能等)。下面提供了关于说明性签名装置的其他细节。

图1是可以实施所描述的实施例的说明性系统的框图。在图1中示出的示例中,签名装置100经由双向的、tls保护式usb信道与主机200通信。主机200包括签名应用205、签名控制实例210和相关库(例如,签名sdk库)、和允许主机通过tls信道与签名装置100通信的tls通信处理程序220。在该示例中,通过经由主机200和签名装置100的usb端口的usb连接来提供tls信道。尽管图1为了方便说明示出了单个主机和签名装置,但在本文描述的该示例和其他示例的场境中,应该理解的是,可能存在一个或者多个附加签名装置和主机,主机可以与一个以上的签名装置通信,并且签名装置可以与一个以上的主机通信。

签名控制实例210可以包括控制签名装置100的控制模块(未示出)和接收来自签名装置的签名数据的数据模块(未示出),并且还可以将图像数据发送至签名装置进行显示。例如,由控制实例210处理的数据的内容可以取决于签名应用205或者签名装置100的配置或者能力。从签名装置100接收的签名数据通常包括笔事件数据(例如,坐标数据和压力数据)并且还可以包括其他数据,诸如签名的图像、生物特征数据等。

在图1中示出的示例中,签名装置包括lcd屏幕101,该lcd屏幕101例如可以显示具有可以利用笔装置102进行签名的签名区域的电子文档。签名装置100包括用于签名装置的一般操作的系统控制模块110和允许签名装置通过tls信道与主机200通信的tls通信处理程序120。系统控制模块110控制签名装置100并且从一个或者多个传感器模块(未示出)接收传感器数据,其可以被包括在签名装置100中,或者在某些情况下,其可以被包括在诸如笔102的其他装置中。可以将传感器数据转换成笔事件数据,诸如坐标数据和压力数据。

通常,签名装置可以使用电磁共振(emr)技术,在该电磁共振(emr)技术中,数字转换器包含检测笔的移动的传感器板,并且通过传感器板表面生成的磁场在笔的谐振电路中导出能量。笔的谐振电路然后利用该能量将磁信号返回至传感器板表面。即使电子笔不接触传感器板表面,只要笔保持在足够接近传感器板的位置,传感器板也会按照固定的时间间隔检测笔的坐标位置,从而仍然可以从笔接收信号。(取决于所使用的具体技术,有效信号范围可以变化,但是通常大约为几毫米。)

可替代地,可以使用其他手写输入技术。例如,电子笔可以使用其他无线技术或者可以用导线将电子笔连接至数字转换器。作为另一示例,电子笔在离开数字转换器的表面时可以或者可以不是可检测的。作为另一示例,电子笔可以是通电的或者不通电的。通电的笔可以经由连接至外部电源的导线或者经由内置电池接收电力。作为另一示例,能够在没有电子笔的情况下输入手写数据(例如,经由压敏数字书写板上的触针、触摸屏、或者不需要电子笔的一些其他输入装置)。

然而,可以收集手写数据,由签名装置所提供的手写数据可以包括笔事件信息、装置信息、和/或关于进行手写的场境的场境信息。笔事件信息可以包括笔尖在数字转换器表面上或者上方的x/y位置和自手写开始起的时间。除了x/y坐标值之外,可选地,笔事件信息可以包括受签名装置的能力限制的附加信息,诸如,压力(笔力)、角度(方位角、高度、和/或旋转)、和落笔状态。在签名过程期间,通常按照固定的间隔收集笔事件信息。可以收集笔事件信息的采样速率可以取决于系统设计和配置而变化。

再次参照图1中示出的示例,签名装置100具有自举证书和密钥160,该自举证书和密钥160是硬编码的并且被包含在固件图像内,并且仅在初始装置设置中使用,以设置装置的装置证书和私钥164以及唯一序列号162(图1中标记为uid2)。如上所述和下面进一步详细解释的,在签名装置100投入使用之前安装装置证书(例如,在工厂处)。

如上所述和下面进一步详细解释的,取决于期望的安全级别和整个系统的设计,签名装置100还可以存储用户证书和私钥166——在签名装置上创建并且由终端用户的ca签名的密钥对。针对客户端侧证书,签名装置100还可以存储客户端侧crl(证书撤销列表)168以指定不再被授权的证书。这可以防止未被授权的计算机连接至签名装置100。尽管签名装置100可以包括一个以上的证书,但是每次只可以使用一个证书。若存在,将使用用户证书166。否则,将使用装置证书164。如上所述,仅在初始装置设置中使用自举证书160来设置装置证书164和id162。

图2是ca的说明性层级结构的框图。图2中示出的说明性ca可以用于提供图1中示出的装置证书164和用户证书166、以及固件证书(图1中未示出),该固件证书在必须对固件进行数字签名以使签名装置接受固件更新的场景下可以是有用的。在图2中示出的示例中,签名装置根授权机构280有助于提供用于一个或者多个单独的工厂的一个或者多个工厂ca282、284,以及固件ca286。提供用于单独的工厂的单独ca有助于隔离造成安全问题的第三方工厂的潜在风险。然后还可以将已经由该工厂初始化的签名装置隔离。

图2还示出了用户ca290。如上所述和下面进一步详细解释的,可以提供用户证书和私钥对作为对默认级别的安全的增强,在默认级别的安全中,可以用用户证书和私钥对来替代制造商所提供的默认级别密钥对。在生成用户证书的上下文中,应该理解,术语签名装置的“用户”或者“终端用户”可以指装置的任何所有者(例如,银行或者其他企业或者组织)或者为用户证书选择ca的任何被授权的人士或者实体,并且不必指只使用该装置来进行签名的人士,诸如,银行里的客户。

a.第一说明性实施例

在这部分中,描述了第一说明性实施例,在该第一说明性实施例中,在签名装置投入使用之前,在签名装置中安装装置证书(由例如签名装置的制造商所持有的私钥签名的公钥证书)。

图3a是用于在诸如签名平板300(在图3a中缩写为“stu”)的签名装置中安装装置证书的说明性过程的流程图。在图3a中示出的示例中,平板300在工厂与主机302通信。主机302请求平板300生成新装置密钥对和证书签名请求(csr)。平板300生成新密钥对和csr,并且将csr发送至主机302。主机302生成由ca的私钥签名的证书,并且将该证书返回至平板300。平板300存储装置证书和装置密钥对。

图3b是用于在诸如图1中示出的签名平板100的签名装置中安装装置证书的另一说明性过程的流程图。在图3b中示出的示例中,平板在工厂a与主机通信。使用包含在平板的固件图像内的自举证书和密钥以从充当tls客户端的工厂主机获取装置的加密的唯一序列号(uid2)。工厂主机还发送加密的“新密钥”命令以生成新密钥对。平板使用其自举私钥(f_pr)对装置序列号进行解密并且将装置序列号存储在平板中(步骤311)。平板还对新密钥命令进行解密并且生成由装置公钥(d_pu)和装置私钥(d_pr)构成的新密钥对(步骤313)。

在步骤314,平板发布对装置公钥的证书签名请求(csr)并且将该csr发送至工厂主机,该工厂主机将其转发至工厂ca。(分别地,如图3所示,工厂ca之前已经生成了自己的公钥(w_pu)和私钥(w_pr),公钥由根授权机构签名)。csr包括装置公钥和装置序列号。在步骤315中,工厂ca利用ca私钥(w_pr)对装置公钥进行加密并且为装置公钥提供ca的数字签名。在步骤316,工厂ca利用ca私钥(w_pr)对装置序列号进行加密并且为装置序列号提供ca的数字签名。工厂ca然后将具有已签名的装置公钥(d_pu)和装置序列号(uid2)的证书连同具有ca的已签名的公钥(w_pu)的证书一起返回至平板。

在步骤317,平板利用ca的已签名的公钥(w_pu)对已签名的装置公钥(d_pu)进行解密。如果解密的装置公钥与已经存在于平板上的版本匹配,则平板将成功通知返回至工厂主机,该工厂主机发送存储装置密钥对的命令,该装置密钥对具有指示装置公钥、装置序列号、和工厂公钥的适当签名的装置证书。在步骤319平板存储装置证书,并且在步骤321平板存储装置密钥对,而在步骤322,装置的两个证书由ca记录。

在这种情况下,当平板与充当tls客户端的用户的主机(例如,银行的主机)通信时,平板可以用作tls服务器。

b.第二说明性实施例

在这部分中,描述了第二说明性实施例,在该第二说明性实施例中,签名装置建立经由usb连接与用户的主机(例如,银行的主机)的tls通信。

图4a是诸如签名平板300(在图4a中缩写为“stu”)的签名装置与用户的主机304(例如,银行的主机)建立通信的说明性过程的流程图。在图4a中示出的示例中,平板300连接至用户的主机304,并且主机请求平板300生成新装置密钥对和证书签名请求(csr)。平板300生成新密钥对和csr,并且将证书发送至主机304。主机304验证证书,生成随机数,从该随机数生成会话密钥,利用平板的公钥对随机数进行加密,并且将加密的随机数发送至平板300。平板300对随机数进行解密并且从随机数生成会话密钥。

图4b是签名装置(例如,图1中示出的签名平板100)与用户的主机(例如,银行的主机)建立通信的另一说明性过程的流程图。在图4b中示出的示例中,平板存储由装置公钥(d_pu)和装置私钥(d_pr)构成的装置密钥对,该装置密钥对具有指示装置公钥(d_pu)、装置序列号(uid2)、和工厂ca公钥(w_pu)的合适签名的装置证书。

平板连接至用户的主机,并且主机请求tls通信。响应于该请求,可以协商用于tls通信的参数。在步骤411,平板提供装置证书。主机然后运行多次检查以确认其正在与被授权的平板通信。在步骤413,主机确定证书是否有效。如果证书有效,则在步骤414,主机对装置证书中的信息进行解密并且确定装置公钥(d_pu)和装置序列号(uid2)是否已经由工厂ca的私钥(w_pr)签名。如果装置公钥(d_pu)和装置序列号(uid2)已经由工厂ca的私钥(w_pr)签名,则在步骤415,主机确认装置证书尚未被工厂ca撤销。如上所述,可以使用证书撤销列表(crl)来指定不再被授权的证书。在图4b中示出的示例中,主机从工厂ca请求更新的crl并且检查装置证书是否仍然被授权。

一旦主机确认装置证书尚未被工厂ca撤销,则主机在步骤417生成共享密钥(key-usb),并且在步骤419使用装置公钥(d_pu)对该共享密钥(key-usb)进行加密。主机然后将加密的共享密钥(key-usb)发送至平板,该平板在步骤421使用装置私钥(d_pr)来对加密的共享密钥(key-usb)进行解密。共享密钥然后可以用于安全tls通信。

c.第三说明性实施例

在这部分中,描述了第三说明性实施例,在该第三说明性实施例中,签名装置经由usb连接使用tls通信将笔事件数据传输至用户的主机(例如,银行的主机)。

图4c是充当tls服务器的签名装置(例如,图1中示出的签名平板100)使用参照图4b描述共享密钥将笔事件数据传输至充当tls客户端的用户的主机(例如,银行的主机)的说明性过程的流程图。在图4c中示出的示例中,usb批量传输机制用于传输笔事件数据。平板和主机分别存储用于安全tls通信的共享密钥(key-usb)。在步骤431,平板利用共享密钥(key-usb)对笔数据进行加密。在步骤432,平板经由usb批量out端点发送加密的笔数据。主机也可以经由usb批量传输机制返回确认。在步骤433,主机经由usb批量in端点接收加密的笔数据并且使用共享密钥(key-usb)对加密的笔数据进行解密。可以重复这些步骤,直到笔数据传输完成为止。

d.第四说明性实施例

如上所述,可以提供用户证书和密钥对,作为对默认级别的安全(例如,如上所述,装置证书)的增强,在默认级别的安全中,可以利用用户证书和密钥对来替代制造商所提供的默认级别密钥对。可以使用默认级别保护将签名装置连接至主机,然后生成新密钥对并且请求对应证书,来实现这种替代。如上所述,应该理解,术语“用户”或者“终端用户”可以指签名装置的任何所有者(例如,银行或者其他企业或者组织)或者为用户证书选择ca的任何授权人士或者实体,并且不需要指只使用装置来进行签名的人士,诸如银行里的客户。

在这部分中,描述了第四说明性实施例,在该第四说明性实施例中,在签名装置中安装用户证书来替代装置证书。在说明性场景中,用户的主机将命令发送至签名装置以生成用户密钥对。签名装置生成用户密钥对并且将新公钥的csr返回至主机。主机然后可以将该csr发送至由终端用户所选择的第二ca(用户ca)。主机从用户ca获得新公钥的证书并且将该证书转发至签名装置。签名装置存储具有用户密钥对的新证书。尽管在诸如工厂重置的一些情况下可能会恢复装置密钥对以还原原始装置配置,但是使装置密钥对不可用。

图5是签名装置(例如签名平板300,图5中缩写为“stu”)与用户的主机304(例如,银行的主机)通信并且创建自定义用户密钥对的说明性过程的流程图。在图5中示出的示例中,平板300连接至用户的主机304,并且主机请求平板300以生成新装置密钥对和证书签名请求(csr)。平板300生成新密钥对和csr,并且将csr发送至主机304,该主机304将csr转发至ca306。ca306生成由ca的私钥签名的证书,并且将该证书返回至主机304,该主机304将证书转发至平板300。平板300存储证书和自定义用户密钥对。

也可以在与图3b中示出的用于获得装置证书的更详细的过程相似的过程中获得用户证书。在这种场景中,一旦生成用户密钥对,平板就发布对用户公钥的证书签名请求(csr)并且将该csr发送至用户的主机,该主机将该csr转发至用户的ca。ca利用ca的私钥对用户公钥进行加密并且为用户公钥提供ca的数字签名。ca然后将具有已签名的用户公钥的证书连同具有ca的已签名的公钥的证书一起返回至平板。平板利用ca的已签名的公钥来对已签名的用户公钥进行解密。如果解密的用户公钥与已经存在于平板上的版本相匹配,则平板将成功通知返回至用户的主机,该主机发送命令以存储具有合适签名的用户证书的用户密钥对。平板然后存储用户证书和用户密钥对以供将来使用,并且使装置密钥对和证书不可用。

在该说明性实施例中,在与图4b中示出的过程相似的过程中可以获得用于tls通信的共享密钥。例如,平板可以将用户证书提供给主机,并且主机可以确定用户证书是否有效,检查通过ca的合适的数字签名,并且确认用户证书尚未被ca撤销。一旦确认用户证书尚未被ca撤销,主机就可以生成共享密钥并且使用用户公钥对该共享密钥进行加密。主机然后可以将加密的共享密钥发送至平板,该平板可以使用用户私钥对加密的共享密钥进行解密。共享密钥然后可以用于安全tls通信。一旦在签名装置与主机之间建立tls通信,签名装置然后可以使用与图4c中示出的过程相似的过程经由usb连接将数据安全地传输至主机。

图6是可以根据第四说明性实施例执行的说明性过程600的流程图。在图6中示出的示例中,在步骤610,经由诸如usb接口的接口在签名装置与主机之间建立连接。在步骤620,经由接口在签名装置与主机之间建立tls连接。在获得用户证书和密钥对之前,在允许针对暂时性通信建立tls连接的签名装置上的装置证书和密钥对对此发挥了促进作用主机。在步骤630,主机经由接口将命令发送至签名装置以生成新密钥对。在步骤640,在新密钥对由签名装置生成之后,主机经由接口从签名装置接收csr。该csr包括新公钥。在步骤650,主机将csr发送至由用户所选择的第三方ca。在步骤660,主机从ca接收新公钥证书。在步骤670,主机经由接口将新公钥证书发送至签名装置。此时,可以使用用户证书和密钥对在签名装置与主机(或者其他主机)之间建立新tls连接。这些新tls连接可以用于通过具有附加的信任级别的连接来发送由用户的ca所提供的加密的笔数据或者其他数据。

e.第五说明性实施例

在这部分中,描述了第五说明性实施例,在该第五说明性实施例中,签名装置使用tls通信将数据经由usb连接传输至用户的主机(例如,银行的主机)。

图7是可以实施第五说明性实施例的说明性系统的框图。如图7所示,签名装置100经由双向的、tls保护式usb信道与主机200通信。签名装置100和主机200包括与图1中示出的部件相似的部件,但是为了方便说明,图7中未示出这些部件中的大多数部件。在图7中示出的示例中,主机200包括签名应用205,该签名应用205具有pin板的多个图像710、720、图像选择功能730、和将pin板中的特定字符与各个图像710、720的特定区域映射在一起的图像映射740。

图像710表示pin板的第一配置,并且图像720表示pin板的加扰配置。多个pin板配置的可能性意味着如果笔位置数据在传输期间被拦截,则在不知道使用了哪个图像时,无法容易地将笔位置数据映射至pin板上的特定字符。尽管为了方便说明仅示出了两个图像,但应该理解,可以容易地容纳更多的图像,并且应该理解,附加的加扰pin板布局对于提供附加安全可以是优选的。

图像选择功能730选择图像720以供显示在签名装置100上。主机200然后对所选择的图像720进行加密并且将所选择的图像720发送至签名装置100进行显示。签名装置对图像720进行解密并且显示图像720。用户(例如,银行客户)然后可以通过接触图像的与期望的字符对应的区域、生成笔数据来输入pin。然后可以对该笔数据进行加密并且将该笔数据发送回签名装置,用于解密以及基于图像映射740映射至pin的特定字符。然后可以使用主机上的其他软件(可能与诸如银行信息服务器的其他计算机结合)来确定由用户输入的pin是否有效。

图8是可以根据第五说明性实施例执行的说明性过程800的流程图。在图8中示出的示例中,在步骤810,在签名装置与运行应用的主机之间建立tls连接。例如,如果签名装置和主机经由usb接口连接在一起,则可以经由usb接口建立tls连接。在步骤820,主机从存储在主机中的图像文件集合中选择图像文件。每个图像文件具有在图像区域与字符字母表之间的不同的映射。在至少一个实施例中,在图像文件集合中的每个图像文件表示用于输入pin(例如,用于访问银行账户)的不同的字符布局。在步骤830,主机对所选择的图像进行加密。在步骤840,主机通过tls连接将加密的图像发送至签名装置。在步骤850,主机通过tls连接从签名装置接收加密的笔数据。在步骤860,主机对加密的笔数据进行解密。在步骤870,主机基于解密的笔数据和在图像区域与字符字母表之间的与所选择的图像文件相关联的映射来识别至少一个字符。

f.第六说明性实施例

在这部分中,描述了第六说明性实施例,在该第六说明性实施例中,签名平板与外部计算机(例如,银行的主机)结合使用。签名平板可以充当具有服务器证书的tls服务器。

图9是根据第六实施例的说明性系统900的框图。在图9中示出的示例中,签名平板910与外部计算机920通信。签名平板包括输入传感器912(例如,emr传感器)、输入传感器控制器914(例如,emr控制器)、和主控制器916。主控制器包括外围装置接口917(例如,usb接口)和存储器918。签名平板还可以包括显示器919(例如,lcd显示器)。

在该说明性实施例中,输入传感器控制器被配置为检测笔的一系列位置并且生成一系列笔数据。存储器918存储公钥和私钥的密钥对、公钥的服务器证书、和固件。固件被配置为:当检测到外围装置接口与外部计算机920连接时,使主控制器916通过外围装置接口917与外部计算机920建立连接;通过连接将包括公钥的服务器证书提供给外部计算机920;以及在接收到指示服务器证书受外部计算机信任的响应的情况下,将一系列笔数据发送至外部计算机920。外部计算机920可以被编程为:通过连接接收包括公钥的服务器证书,确定服务器证书是否可信任,在服务器证书可信任的情况下,将指示服务器证书可信任的响应发送至签名平板910,以及接收该一系列笔数据。

固件可以进一步被配置为使主控制器916:通过连接(例如,经由直接经由usb外围装置接口上的连接建立的安全tls或者ssl会话)接收由外部计算机920生成的加密的共享密钥,作为指示服务器证书受外部计算机信任的响应;并且通过利用该共享密钥对该一系列笔数据进行加密来发送该一系列笔数据。固件可以进一步被配置为使主控制器916:建立用于交换usb装置特性的默认管道和用于usb批量传输的两个管道,用于通过外围装置接口917与外部计算机920的双向通信。可以通过经由用于usb批量传输的两个管道建立的tls会话来发送一系列笔数据。

签名平板910可以发布证书签名请求(csr)。例如,固件可以进一步被配置为使主控制器916:响应于命令而生成第一密钥对,发送对公钥的csr以便获得由证书授权机构(ca)签名的服务器证书,并且将包括公钥的服务器证书存储在存储器918中。固件可以进一步被配置为使主控制器916:响应于另一命令而生成新公钥和新私钥的新密钥对,发送对新公钥的csr以便获得由第二ca签名的公钥,并且更新存储器918以存储新密钥对和由第二ca签名的新公钥的服务器证书。

针对相互认证,固件可以进一步被配置为使主控制器916:从外部计算机920检索包括外部计算机920的公钥的客户端证书,确定该客户端证书是否可信任,以及在客户端证书可信任并且接收到指示服务器证书受外部计算机920信任的响应的情况下,将一系列笔数据发送至外部计算机920。

针对pin输入,固件可以进一步被配置为使签名平板910:对通过连接从外部计算机920发送的加密的图像数据进行解密以获得图像数据,并且按照当将笔的位置的路径显示在显示器919上时路径与图像数据重叠的方式来显示笔的位置的路径。图像数据可以表示用于输入手写签名的第一图像或者示出了用于输入pin的字符布局的第二图像。固件可以进一步被配置为使签名平板:按照路径与第一图像重叠的方式显示笔的位置的路径,以及按照高亮方式显示位置所选择的字符。

iii.计算环境

除非在特定示例的上下文中另外规定,否则本文描述的实施例或者其他实施例可以由任何合适的计算装置实施,合适的计算装置包括但不限于,膝上型计算机、台式计算机、智能电话、平板计算机、专用签名平板、或者这些装置的组合。

图10是图示了适合于根据本公开的实施例使用的说明性计算装置1000的各个方面的框图。下面的说明适用于服务器、个人计算机、移动电话、智能电话、平板计算机、嵌入式计算装置、和可以根据本公开的实施例使用的其他当前可用的或者有待开发的装置。

在其大多数基础配置中,计算装置1000包括由通信总线1006连接的至少一个处理器1002和系统存储器1004。取决于确切的装置配置和类型,系统存储器1004可以是易失性存储器或者非易失性存储器,诸如只读存储器(“rom”)、随机存取存储器(“ram”)、eeprom、闪速存储器、或者其他存储器技术。本领域的技术人员和其他人将认识到,系统存储器1004通常存储可由处理器1002立即访问和/或当前正在由处理器1002操作的数据和/或程序模块。在这方面,处理器1002可以通过支持命令的执行来用作计算装置1000的计算中心。

如图10中进一步说明的,计算装置1000可以包括网络接口1010,该网络接口1010包括用于通过网络来与其他装置通信的一个或者多个部件。本公开的实施例可以访问利用网络接口1010执行使用公共网络协议的通信的基础服务。网络接口1010还可以包括无线网络接口,其被配置为经由一个或者多个无线通信协议通信,诸如wifi、2g、3g、4g、lte、wimax、蓝牙等。

在图10中,计算装置1000还包括存储介质1008。然而,可以使用不包括用于将数据保存到本地存储介质的装置的计算装置来访问服务。因此,在图10中描绘的存储介质1008是可选的。在任何情况下,存储介质1008可以是易失性存储介质或者非易失性存储介质、可移动存储介质或者不可移动存储介质,存储介质1008可以使用能够存储信息的任何技术来实现,诸如但不限于硬盘驱动器、固态驱动器、cd-rom、dvd、或者其他光盘存储装置、磁带、和/或磁盘存储装置等。

如本文所使用的,术语“计算机可读介质”包括利用能够存储诸如计算机可读指令、数据结构、程序模块、或者其他数据的信息的任何方法或者技术实现的易失性介质和非易失性介质以及可移动介质和不可移动介质。在这方面,在图10中描绘的系统存储器1004和存储介质1008是计算机可读介质的示例。

为了方便说明并且因为其对于理解所要求的主题并不重要,图10未示出大多数计算装置中的一些典型部件。在这方面,计算装置1000可以包括输入装置,诸如键盘、小键盘、鼠标、轨迹球、麦克风、视频摄像机、触摸板、触摸屏、触控笔等。这种输入装置可以通过包括rf、红外线、串行、并行、蓝牙、usb、或者使用无线或者物理连接的其他合适的连接协议的有线连接或者无线连接耦合至计算装置1000。

在任意描述的示例中,数据可以由输入装置(例如,签名装置)捕获,并且传输或者存储数据以供将来对其进行处理。处理可以包括编码数据,随后可以将该编码数据解码以便由输出装置呈现。输入装置可以与计算装置1000分开并且通信地耦合至计算装置1000,或者可以是计算装置1000的一体部件。计算装置1000还可以包括输出装置,诸如显示器或者触摸屏。输出装置可以与计算装置1000分开并且通信地耦合至计算装置1000,或者可以是计算装置1000的一体部件。可以将输入功能和输出功能集成到同一输入/输出装置(例如,触摸屏)中。目前已知或者有待将来开发的任何合适的输入装置、输出装置、或者组合式输入/输出装置可以与所描述的系统一起使用。

通常,本文描述的计算装置的功能可以在具体体现在硬件或者软件指令中的计算逻辑中实现,其可以由编程语言编写,诸如c、c++、cobol、javatm、php、perl、python、ruby、html、css、javascript、vbscript、aspx、诸如c#的microsoft.nettm语言等。计算逻辑可以被编译成可执行程序或者用解释的编程语言来编写。通常,可以将本文描述的功能实施为可以复制以提供更大的处理能力、与其他模块合并、或者划分成子模块的逻辑模块。可以将计算逻辑存储在任何类型的计算机可读介质(例如,诸如存储器或者存储装置介质的非暂时性介质)或者计算机存储装置中并且存储在一个或者多个通用处理器或者专用处理器上并且由该一个或者多个通用处理器或者专用处理器执行,从而创建被配置为提供本文描述的功能的专用计算装置。

iv.扩展和替代

对本文描述的实施例的许多替代和修改是可能的。例如,本文描述的实施例可以适用于包含在tls规范的当前或者随后的迭代中的机制、算法、和加密技术。作为一个可能的修改,pfs(完全前向保密)提供附加步骤以建立加密密钥。本文描述的实施例可以被容易适用于利用完全包含在tls框架内的该附加安全。

更普遍地,对本文描述的系统和装置的许多替代是可能的。例如,可以将单独的模块或者子系统分成附加模块或者子系统或者组合成更少的模块或者子系统。作为另一示例,模块或者子系统可以被省略或者用其他模块或者子系统来补充。作为另一示例,指示为由特定装置、模块、或者子系统执行的功能可以替代地由一个或者多个其他装置、模块、或者子系统执行。尽管在本公开中的一些示例包括对包括特定布置中的特定硬件部件的装置的描述,但是可以修改本文描述的技术和工具以适应不同的硬件部件、组合、或者布置。进一步地,尽管本公开中的一些示例包括对特定使用场景的描述,但是可以修改本文描述的技术和工具以适应不同的使用场景。描述为实施在软件中的功能可以替代地实施在硬件中,反之亦然。

对本文描述的技术的许多替代是可能的。例如,可以将各种技术中的处理阶段分成附加阶段或者组合成更少的阶段。作为另一示例,各种技术中的处理阶段可以被省略或者用其他技术或者处理阶段来补充。作为另一示例,描述为按照特定顺序发生的处理阶段可以替代地按照不同的顺序发生。作为另一示例,描述为在一系列步骤中执行的处理阶段可以替代地按照并行方式进行处理,多个模块或者软件处理并发地处理所图示的处理阶段中的一个或者多个。作为另一示例,指示为由特定装置或者模块执行的处理阶段可以替代地由一个或者多个其他装置或者模块执行。

已经在前述说明中描述了本公开的原则、代表性实施例、和操作模式。然而,本公开的旨在进行保护的各个方面不应该理解成限于所公开的特定实施例。进一步地,本文描述的实施例应该被视作说明性的,而不是限制性的。要了解,在不脱离本公开的精神的情况下,可以由其他人采用等效物进行变化和改变。虽然已经图示并且描述了本发明的说明性实施例,但是要了解,在不脱离本发明的精神和范围的情况下,可以对本文做出各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1