敏感数据的安全传输的制作方法

文档序号:17123983发布日期:2019-03-16 00:07阅读:244来源:国知局
敏感数据的安全传输的制作方法

本申请要求2016年5月27日提交的标题为《敏感数据的安全收集(securecollectionofsensitivedata)》的第62/342,490号美国临时专利申请和2016年5月27日提交的标题为《敏感数据的安全传输(securetransmissionofsensitivedata)》的第62/342,491号美国临时专利申请的权益,所述美国临时专利申请的公开内容由此以全文引用的方式并入本文中。

本公开涉及数据安全。具体地说,本公开涉及用于安全地收集、发送和/或存储敏感(例如,保密)或潜在地敏感的数据的系统和方法。



背景技术:

目前,许多不同编码技术被设计成防止对所传达和/或所存储数据的未授权访问。但是,这些技术与各种缺点相关联。举例来说,这些技术通常不会以端对端的方式(例如,在使用小键盘的个人手动键入信息时开始)保护或混淆敏感数据。此外,某些技术使用一般化方法,其中如果代码相对于一个传输被“破解”,那么还会对于未来传输和/或相对于其它方或装置之间的传输而损害代码。又另外,某些技术不会提供针对不同实体(例如,不同公司、人、装置等等)调整安全性等级的灵活性或以精确或集中的方式对安全威胁(例如,数据外泄)作出响应的灵活性。



技术实现要素:

在一个实施例中,在包含一个或多个处理器和存储注册表数据库的存储器的服务器中,实施一种沿着包含多个装置的通信路径提供数据串的安全通信的方法。所述方法包含向所述注册表数据库添加第一实体和与所述第一实体相关联的第一标识符,向所述注册表数据库添加第二实体和与所述第二实体相关联的第二标识符,并通过第一安全通信信道向所述多个装置中的第一装置提供所述第一标识符的第一当前值以启用对所述数据串的第一编码。所述第一装置与所述第一实体相关联,且对所述数据串的所述第一编码将所述数据串中的多个位序列编码成第一多个经编码位序列。所述方法还包含通过第二安全通信信道向所述多个装置中的第二装置提供所述第二标识符的第一当前值以启用对所述数据串的第二编码。所述第二装置与所述第二实体相关联且在所述通信路径中在所述第一装置下游,且对所述数据串的所述第二编码将所述第一多个经编码位序列编码成第二多个经编码位序列。所述方法还包含通过第三安全通信信道向所述多个装置中的第三装置提供所述第一标识符的所述第一当前值和所述第二标识符的所述第一当前值以启用对所述数据串的解码。所述第三装置在所述通信路径中在所述第二装置下游。

在另一实施例中,在包含一个或多个处理器和存储注册表数据库的存储器的服务器中实施一种提供数据串的安全通信的方法所述方法包含:向所述注册表数据库添加第一实体和与所述第一实体相关联的第一标识符,向所述注册表数据库添加第二实体和与所述第二实体相关联的第二标识符,通过第一安全通信信道向与所述第一实体和所述第二实体相关联的源装置提供以下两项:(i)所述第一标识符的第一当前值,以启用对所述数据串的第一编码,其中对所述数据串的所述第一编码将所述数据串中的多个位序列编码成第一多个经编码位序列,和(ii)所述第二标识符的第一当前值,以启用对所述数据串的第二编码,其中对数据串的所述第二编码将所述第一多个经编码位序列编码成第二多个经编码位序列。所述方法还包含通过第二安全通信信道向目的地装置提供所述第一标识符的所述第一当前值和所述第二标识符的所述第一当前值,以启用对所述数据串的解码。

在另一实施例中,一种实施于具有一个或多个处理器、通信接口和存储器的电子装置中的方法包含:通过所述一个或多个处理器获得经编码数据串,并借助所述通信接口和安全通信信道,通过所述一个或多个处理器从远程服务器接收n个标识符的当前值。所述n个标识符中的每一个(i)与多个实体中的相应一个相关联,所述多个实体中的每一个与所述经编码数据串的通信相关联,且(ii)对应于n个解码操作中的相应一个。所述n个解码操作中的每一个对具有相应块大小的位的块进行操作,且n是大于1的整数。所述方法还包含通过所述一个或多个处理器确定对所述经编码数据串应用所述n个解码操作的序列,并通过所述一个或多个处理器,通过根据所述所确定序列对所述经编码数据串执行所述n个解码操作来产生经解码数据串。执行所述n个解码操作包含针对所述n个解码操作中的每个解码操作,(i)将所述经编码数据串的至少一部分、或产生于所述n个解码操作中的前一个解码操作的部分解码数据串的至少一部分剖析成具有所述相应块大小的块,(ii)单独地对具有所述相应块大小的所述块中的每一个进行解码,并(iii)针对所述前n-1个解码操作,将所述经单独解码的块的串传递到所述n个解码操作中的下一个。所述方法还包含通过所述一个或多个处理器致使所述经解码数据串(i)存储于所述存储器中和/或(ii)传输到另一装置。

在另一实施例中,一种服务器包含存储注册表数据库的第一存储器、存储指令的第二存储器和一个或多个处理器。所述一个或多个处理器被配置成执行所述指令以向所述注册表数据库添加第一实体和与所述第一实体相关联的第一标识符,向所述注册表数据库添加第二实体和与所述第二实体相关联的第二标识符,并通过第一安全通信信道,向数据串的通信路径中的多个装置中的第一装置提供所述第一标识符的第一当前值以启用对所述数据串的第一编码。所述第一装置与所述第一实体相关联,且对所述数据串的所述第一编码将所述数据串中的多个位序列编码成第一多个经编码位序列。所述一个或多个处理器还被配置成通过第二安全通信信道向所述多个装置中的第二装置提供所述第二标识符的第一当前值以启用对所述数据串的第二编码。所述第二装置与所述第二实体相关联且在所述通信路径中在所述第一装置下游,且对所述数据串的所述第二编码将所述第一多个经编码位序列编码成第二多个经编码位序列。所述一个或多个处理器还被配置成通过第三安全通信信道向所述多个装置中的第三装置提供所述第一标识符的所述第一当前值和所述第二标识符的所述第一当前值以启用对所述数据串的解码。所述第三装置在所述通信路径中在所述第二装置下游。

附图说明

图1是根据一个实施例的其中可实施本公开的方面的实例系统的框图。

图2是根据一个实施例的实例源装置的框图。

图3描绘根据一个实施例和情境的可用以混淆键输入信息的实例映射。

图4描绘根据一个实施例和情境的可用以混淆键输入信息的映射层的实例集合。

图5描绘根据一个实施例的用于数据串的可其中对数据串进行编码的实例通信路径。

图6描绘根据一个实施例和情境的可呈现给用户来选择鉴权码的实例用户接口。

图7描绘根据一个实施例和情境的在进行零售信用卡或借记卡交易时在其中可实施本公开的方面的实例环境。

图8是根据实施例的用于安全地收集敏感信息的实例方法的流程图。

图9是根据实施例的用于沿着包含多个装置的通信路径提供数据串的安全通信的实例方法的流程图。

图10是根据实施例的对安全地传输的数据串进行解码的实例方法的流程图。

具体实施方式

本公开的各种方面提供用于在交易的过程期间混淆敏感或潜在敏感数据(例如,信用卡或其它金融信息、健康信息、密码、社会保险号码等等)的系统和方法如本文所使用,“交易”可以指涉及键入、收集和/或传达信息的任何交互或操作。因此,举例来说,一个交易可涉及零售商的员工在小键盘(例如,智能电话或平板电脑触摸屏、或硬件小键盘等)上键入客户的信用卡号,并将对应于信用卡的编码信息传输给支付提供商(或将编码信息存储于本地数据库中等)。作为另一实例,交易可涉及患者在键盘上键入医疗调查或问卷的答案,并将对应于患者答案的编码信息传输到远程服务器。作为又一实例,交易可涉及公司的管理员工将机密会计记录发送给公司内的另一员工或部门。当然,涉及敏感或潜在敏感信息的无数其它类型的交易也是可能的。

本公开的一些方面可能需要与协调机构预先注册各种实体。如本文所使用,“实体”可以是可直接或切向涉及交易的可係任何物理或虚拟事物,例如公司或机构(例如,零售商、医院、银行、信用卡公司、政府机构等等)、部门、人(例如,特定客户、特定员工或代理等等)、特定信用卡或借记卡、软件应用程序、路由器、网络交换机、防火墙等等。一旦特定实体注册,那么中央服务器可维护与注册表中的实体相关联的标识符或数个标识符。如下文将更详细地论述,每个标识符的值可对应于特定编码/解码方案。举例来说,一个编码方案可通过将数据串剖析成32位的块并使用预定映射以将每个32位块编码成新的32位块来对数据进行编码。不同编码方案可通过将数据串剖析成8位的块并使用预定映射以将每个8位块编码成新的16位块等等来对数据进行编码。每个编码方案可以执行位序列的完全预定映射,或可以更复杂(例如,通过使用当前时间来进一步随机化编码位序列等)。为了降低未授权方发现标识符的风险,中央服务器可以不时地(例如,周期性地和/或根据请求)改变存储于注册表中的标识符的值。

本公开的一些方面允许在使用电子装置的物理或虚拟小键盘接口手动键入数据的时刻混淆敏感数据。一般来说,这可通过将每个键输入映射到虚拟空间中的坐标来得以实现。可接着存储、进一步处理、传输等等虚拟空间坐标而非键输入的其它更容易确定的表示(例如,ascii符号)。可以指示每个键输入到虚拟空间坐标的映射。在任何给定时间,可通过以某种方式与交易相关联的注册实体(例如,公司、代理/员工、小键盘装置等)的标识符的当前值指示到虚拟空间坐标的每个键输入的映射。在一些实施例和情境中,对应于多个映射层的多个标识符(例如,2个、5个、10个、100个等)可用以进一步混淆用户的键输入信息。标识符可包含多个实体的标识符(例如,一个用于公司,一个用于键入信息的代理等)和/或多个单个实体的标识符。举例来说,电子装置可以根据需要通过安全通信信道(例如,使用现有技术的加密和认证技术)从中央服务器请求适当的标识符。如上所述,中央服务器可以在任何期望的基础上改变/更新每个标识符。举例来说,如果使用多个标识符,那么以足够的频率改变那些标识符中的一个或多个,使得对应的映射从一个键输入改变到下一个键输入。

更一般来说,可依序应用数个编码器级以对在交易期间所传达的数据串进行编码。在关于键输入信息的混淆的以上描述中,举例来说,每个“层”(即,到一组不同虚拟坐标的每个映射)可对应于特定编码级。但是,在一些实施例和情境中,通信路径中的其它装置应用至少一些编码级。举例来说,第一组四个编码级可以由最初用以键入信息的电子装置依序应用,第五编码级可以由通信路径中的路由器(例如,使用路由器的标识符),且第六编码级可以由通信路径中的路由器下游的网络服务器应用(例如,使用由服务器实施的防火墙的标识符)等等。

序列中的每个编码级可对应于特定输出块大小。举例来说,输出块大小为16的编码级可以将输入数据串剖析成每个16位的输入块,并接着对这些输入块进行编码以产生16位输出块。一般来说,不同的编码级可以具有不同的输出块大小,且输入块大小不必(但可)匹配输出块大小。但是,优选地,输出块大小至少与输入块大小一样大,以便避免潜在的冲突(即,两个不同的位序列被映射到同一输出位序列的情境)。

为了对数据串进行解码(例如,在接收通信的实体的电子装置处),应用每个编码级的逆运算。此外,为了恰当地对数据串进行解码,以相对于相应编码级的相反次序应用编码级。举例来说,最后编码级的逆运算用作第一解码级,且第一编码级的逆运算用作最后解码级。如果编码过程包含将键输入映射到虚拟空间坐标作为初始级,那么编码数据串的接收器可以在最终解码级中反转所述编码处理以到达最初键入/打入的数据。

为了确定适当的解码操作,接收编码数据串的电子装置可以通过安全通信信道(例如,使用现有技术的加密和认证技术)从中央服务器请求或以其它方式获得适当的标识符值。中央服务器还可向接收装置发送与将要发生不同解码操作的序列有关的信息。在其它实施例中,接收装置先验地知道序列,并仅从中央服务器获得当前标识符值。

本公开的这些和其它方面将从以下描述显而易见。

i.实例系统

将首先结合图1和2描述可实施本发明的各种方面的示范性组件。首先参考图1,实例系统100对应于以下情境:敏感或潜在敏感信息通过网络106从源装置102传输到目的地装置104。一般来说,源装置102可以是实现数据键入并可传输数据任何合适类型的电子装置(例如,专用小键盘装置、智能电话、平板电脑、笔记本电脑、台式计算机等等),目的地装置104可以是可接收数据并实现数据存储、处理和/或转发/传输的任何合适类型的电子装置(例如,服务器),且网络106可以是任何合适的通信网络或通信网络的组合,例如一个或多个局域网(localareanetwork,lan)、一个或多个广域网(wideareanetwork,wan)等等。环境100还包含维护各种实体的注册表112的中央服务器110。注册表112可包含例如存储于中央服务器110的一个或多个持久性存储器中的数据库。

图2是根据一个实施例的图1的源装置102的更详细但又简化的框图。源装置102可以是专用装置(例如,专用平板电脑或硬件小键盘装置)或通用装置(例如,笔记本电脑、台式计算机、智能电话、平板电脑等)。如图2中所见,源装置102包含处理器120、存储器122、用户接口124和通信接口126。虽然图2示出了这些组件中的标记为102的单个框内的每一个,但是当然,所述组件可以分布于多个外壳和/或装置当中。

处理器120可以是单个处理器或包含多个处理器(例如,cpu和gpu),并可以执行指令(例如,存储于存储器122中)以执行下文所描述的源装置102的各种操作。举例来说,处理器120可执行编码模块128以执行下文所描述的各种编码操作。存储器122可包含一个或多个持久性存储器,例如只读存储器(read-onlymemory,rom),和一个或多个非持久性存储器,例如随机存取存储器(randomaccessmemory,ram)。

用户接口124呈现物理或虚拟小键盘130。举例来说,用户接口124可包含具有多个物理键的硬件小键盘,以及感测键输入所需的任何底层硬件和/或固件(例如,触点、开关等)。替代地,用户接口124可包含触摸屏显示器连同任何支持硬件和/或固件(例如,触摸传感器集成电路),且小键盘130可以是显示于触摸屏上的虚拟小键盘。键可以对应于数字、字母、特殊字符(例如,句号、逗号、符号等)和/或其它符号。小键盘130可包含类似于qwerty键盘的键。

在一些实施例中,用户接口124还包含显示屏和/或一个或多个其它(例如,音频)输出组件。输出组件可以或可以不与小键盘130集成。举例来说,如果用户接口124包含触摸屏,那么触摸屏可以呈现小键盘130和要输出给用户的任何信息(例如,用于使用小键盘130来键入信息的指令、已经成功发送消息的确认、等等)。一般来说,处理器120可以检测通过小键盘130进行的用户输入并对其进行操作,并可以产生通过用户接口124输出给用户的信息(如果有的话)。

通信接口126包含用以支持一个或多个通信协议的硬件和/或固件(例如,以太网端口,无线局域网卡和/或一个或多个其它通信端口)。在一些实施例中,通信接口126包含特定地配置成支持高度安全的通信协议(例如,交握、认证、加密/解密等)以及不太安全的协议的一个或多个接口。举例来说,通信接口126可包含用于在专用的安全信道上与中央服务器110通信的第一端口,以及用于在通用的不太安全的信道上与目的地装置104通信的第二端口。替代地,单个端口可以用于两种类型的通信,但是对于前者使用比后者更安全的加密和/或认证协议。

根据各种实施例,将在以下章节中更详细地论述系统100和源装置102的操作。虽然以下论述有时涉及系统100和源装置102的组件,但应理解,本文描述的本发明的各个方面可替代地实施于其它类型的系统、装置和/或组件中。

ii.注册

在一些实施例中,数个不同实体可预先注册数据安全服务。如本文所使用,“实体”可以是可直接或切向涉及交易的可係任何物理或虚拟事物(例如,公司、机构、部门或其它组织、人、特定信用卡或借记卡、软件应用程序、路由器、网络交换机或其它网络装置、防火墙等等)。数据安全服务可以由特定公司提供,且用于注册特定实体的过程可包含验证或认证所述实体是所声称的实体并为所述实体分配标识符。标识符可接着存储于例如图1中的中央服务器110的注册表112中。

在一些实施例和情境中,标识符完全由数据安全服务(例如,由中央服务器110)分配。替代地,对于一些并不以非常高的频率改变的标识符(例如,每年一次、在怀疑身份被盗等情况下),标识符可以由经历注册过程的人手动选择。举例来说,人可以为自己和/或为其持有的信用卡或借记卡等选择标识符(或一组标识符)等。在一些实施例中,人可替代地选择图像序列,且中央服务器110可以将图像序列与标识符相关联。图像序列可以比完整标识符更易于记住,因此可以用于授权目的(如下文进一步论述)。

可以通过自动(和/或根据请求)不时地改变存储于注册表中的标识符的值来提高安全性。以此方式,可以根据受保护数据的灵敏度或风险等级来定制调整安全等级。举例来说,与金融机构或“高安全性”网络交换机相关联的标识符可每两分钟(或每当编码装置请求标识符时等)改变,而与特定人或通用路由器相关联的标识符可以每月或每年改变(或仅在请求时等)。还可以基于其它触发器(例如,安全漏洞)而更新标识符,由此允许基于安全威胁的性质而狭窄地调整对安全威胁的响应。举例来说,如果以客户的名义发生与在线零售商的欺诈交易,那么中央服务器可以更新与所述零售商的特定客户相关联的标识符,且如果零售商怀疑其机密记录更广地外泄,那么中央服务器可更新与零售商自身相关联的标识符。在手动改变标识符的实施例和情境中,可使用安全管理接口(例如,由耦合到中央服务器110的计算机终端提供,或通过安全通信信道等使其它人可用)来改变所述标识符。

在一些实施例和情境中,标识符改变的频率和/或与每个改变相关联的方差和/或随机化的量可以由与对应实体(例如,特定公司)相关联的当前安全等级指示。举例来说,如果“黄色”安全等级与实体相关联,那么每月更新实体的标识符,如果安全等级变为“橙色”(例如,响应于增加的黑客攻击的一般报告),那么每天更新实体的标识符,如果安全等级变为“红色”(例如,响应于涉及所述实体的特定安全漏洞的确认报告),那么每五分钟一次更新实体的标识符。

iii.安全数据键入

如上所述,在本发明的一个方面中,未收集、存储或传输在小键盘上键入的信息,且未收集、存储或传输对应于此类信息的标准表示数据(例如,ascii码)。参考图1和2,举例来说,用户可以通过在小键盘130上进行一系列键输入来键入数字和/或字母,且源装置102可以直接对键输入进行编码,使得在不知道恰当的时间相依解码操作和其恰当序列的情况下无法跟踪任何存储和/或传输的信息或将其映射回到原始键输入。

图3描绘根据一个实施例和情境的可用以混淆键输入信息的源装置102的实例映射140。在映射140中,通过键142进行的用户键入被映射到虚拟空间坐标144。键142可以是例如图2中的小键盘130的键。映射140对应于特定标识符的特定值。标识符可以是与源装置102相关联的标识符(在注册表112中)、在小键盘130上键入信息的代理或其它用户、与源装置102相关联的公司或任何其它合适的实体,且标识符值可能已通过中央服务器110提供给源装置102。在接收到标识符值(例如,通过通信接口126和安全通信信道)之后,源装置102的处理器120可即刻利用编码模块128以确定映射140。

如图3中所见,在实例映射140中,“0”的用户键入(例如,按压、触摸等等)被映射到坐标[2,0],“1”的用户键入被映射到坐标[2,3],“回车”键的用户键入被映射到坐标[2,1]等等。在检测到特定键输入之后,编码模块128可即刻产生表示产生于映射140的对应坐标的位串。举例来说,如果用户键入“421”,再按“回车”键,且如果四个位用以表示每个坐标对,那么编码模块128可产生位串0001001110001001以表示虚拟空间坐标序列[0,1]、[0,3]、[2,0]、[2,1]。但是,如上所述,中央服务器110可在一些情境下以非常高的频率改变标识符。举例来说,源装置102可紧接在每个键输入之后从中央服务器110请求标识符,且映射140可改变成上述实例序列中的每个键输入的新映射。因此,举例来说,“4”的键入可以在映射140下被映射到[0,1],在应用于后续键按压的映射下映射到[1,2](或另一坐标)等等。

虽然图3示出了虚拟空间的大小大致1:1匹配小键盘的大小(就离散值的数目来说)的实例,但在其它实施例中,虚拟空间可以大得多。举例来说,每个键142可以映射到256×256的虚拟网格的不同坐标,其中映射针对每个标识符值而改变。举例来说,“0”的键输入可针对第一标识符/映射而映射到虚拟空间坐标[163,24],针对下一标识符/映射而映射到虚拟空间坐标[212,148]等等。一般来说,更大虚拟空间需要所得坐标的较长位表示,但可以从未经授权观察者的角度提供增强的随机化。

此外,源装置102可实施额外映射层以进一步混淆并保护键入的信息。图4描绘根据一个实施例和情境的映射层的一个此集合200。在此实例实施例中,组200包含三个映射层202-1、202-2和202-3,其中第一映射层202-1应用图3的映射140以及后续映射层202-2和202-3应用不同映射。如上所述,映射层202-1可以替代地将键输入映射到更大的虚拟空间(例如,8×8、16×16、256×256等)。类似地,映射层202-2可以替代地将层202-1的坐标映射到更大的虚拟空间,和/或202-3可以将层202-2的坐标映射到更大的虚拟空间。

虽然图4示出了三个层202-1到202-3,但是其它实施例可以使用任何其它合适数量的层(例如,两个、五个、10个、100个等)。一般来说,当需要更高的安全等级时可使用更多层。举例来说,涉及金融机构的交易可以使用类似于层202的50个层,而通常涉及不太敏感的信息的交易可以仅涉及三个层等等。在一些实施例中,源装置102先验地知道将应用多少层映射/编码。替代地,中央服务器110可以向源装置102通知层的数目(例如,明确地通过在用以发送标识符的相同安全通信信道上发送的指示,或隐含地通过仅发送所需数量的标识符等等)。在此后一实施例中,层的数目可以不时地改变(例如,甚至在后续键输入之间)。

iv.通信路径中的数据串编码

先前章节描述单个源装置内的一个或多个映射/编码层或映射/编码级。但是,更一般来说,不同编码级可由通信路径中的不同装置实施。举例来说,数据串可由源装置102中的一个或多个编码级(例如,对应于图4的层202-1到202-3的级)编码,且随后由网络106中的一个或多个网络装置(例如,路由器、网络交换机、服务器等等)中的每一个中的一个或多个编码级编码。此外,虽然先前章节描述了对应于小键盘(例如,小键盘130)上的用户键入的信息的编码,但是数据串可以替代地对应于或实际上基于任何其它类型的信息。举例来说,待编码并传输的数据串可包含由在源装置上执行的软件应用程序自动产生或从源装置的本地存储器检索的数据等。

图5描绘根据一个实施例和情境的可使用本文中所描述的技术来对数据串进行编码的数据串的实例通信路径250。通信路径250包含源装置252、第一网络装置254、第二网络装置256和目的地装置260。举例来说,源装置252可以类似于图1的源装置102,网络装置254和256可以是图1的网络106内的装置,且目的地装置250可以类似于图1的目的装置104。举例来说,源装置252可以是具有虚拟小键盘的平板电脑装置,网络装置254可以是路由器,网络装置256可以是网络交换机,且目的地装置260可以是企业服务器。

如图5中所见,源装置252包含五个编码级262-1到262-5,网络装置254包含两个编码级264-1和264-2,且第二网络装置256包含一个编码级266。当执行存储于相应装置的存储器中的编码模块指令时,每个编码级可以由相应装置的一个或多个处理器实施。在其它实施例中,通信路径250可比图5中所示包含更多或更少装置,和/或各种装置中的一些或全部可包含更多或更少编码级。举例来说,源装置252可包含数十或数百个编码级262,和/或通信路径250可包含不包含任何编码级的多个额外网络装置等等。

在被编码的数据串基于小键盘键入的实施例和情境中,第一编码级262-1可以在先前章节所描述的方式将键输入映射到位序列(即,表示例如图4的层202-1等第一层中的虚拟空间坐标的位序列)。用以表示每个虚拟空间坐标的位数可以被视为编码级262-1的输出块大小。从前述和以下描述中,所属领域技术人员将理解,图4的层202-1到202-3可以被视为图5的编码级262-1到262-3的操作的一个特定实施例。在数据串不基于小键盘键入(例如,从存储器检索的数据等等)的实施例或情境中,编码级262-1可以与后续编码级(例如,262-2、262-3等)类似的方式操作。

编码级262-2到262-5、264-1、264-2和266中的每一个对先前编码级的输出进行操作,并可以与输入块大小(通信路径250中的第l编码级是xl)和指定输出块大小(通信路径250中的第l编码级是yl)的特定编码算法或映射相关联。具体地说,每个编码级可将其输入剖析成xl位的块,并应用适当的编码算法以产生yl位的对应块。一般来说,特定编码级的输出块大小可与所述级的输入块大小相同或比其更大(但是优选地不会更小,以防止冲突)。

由编码级262-1到262-5、264-1、264-2和266中的每一个使用的特定编码算法可以由相应标识符的当前值指示,其中标识符与特定注册实体相关联,如上文所论述。举例来说,编码级262-1的标识符可以与源装置252相关联,编码级262-2的标识符可以与特定公司(例如,拥有、维护和/或使用源装置252或另外涉及需要传输数据串的交易的公司),编码级262-3的标识符可以与公司的特定部门相关联,编码级262-4的标识符可以与使用源装置252的特定代理/员工特定部分相关联,且编码级262-5的标识符可以与在源装置252上执行的特定软件应用程序相关联。继续此实例,编码级264-1的标识符可与网络装置(例如,路由器)254相关联,编码级264-2的标识符可与由网络装置254实施的防火墙相关联,且编码级266的标识符可与网络装置(例如,网络交换机)256相关联。

装置252、254和256中的每一个可以通过在编码之前通过安全通信信道向中央服务器(例如,图1的中央服务器110)发送请求来获得其相应编码级标识符的当前值。替代地,可以周期性地请求标识符值,或中央服务器可以通过安全通信信道将适当标识符的当前值(例如,周期性地)推送到装置252、254和256中的一些或全部。举例来说,中央服务器和每个装置之间的安全通信信道可以使用所属领域中已知的强认证/验证和加密技术。在一些实施例中,装置252、254、256中的一个或多个按一个或多个间隔向所传输的数据串添加时间戳信息,以向目的地装置260通知各种标识符值是“当前”的时间。此信息可以允许目的地装置260恰当地对接收到的数据串进行解码如下文将进一步论述。此外,在一些实施例中,当前时间或其它信息可以由装置252、254和256中的一个或多个使用以进一步对数据串进行编码或随机化数据串。

装置252、254和256中的每一个可存储规则集,所述规则集使得装置能够在由装置实施的每个编码级基于当前标识符值而确定要使用的适当编码算法。在一些实施例中,输入块的大小xl和输出块大小yl可基于当前标识符值的特定编码级而改变。在其它实施例中,输入块和/或输出块大小是恒定的,且标识符值仅指示用于每个编码级的当前算法(例如,映射)。但是,优选地,输入块和/或输出块大小可以随标识符值而改变,以便从未授权观察者的角度增加随机化。此外,通信路径250内编码级的输出块大小y1中的至少一些优选地不同以便提高未授权解码的难度。作为具体实例,在一次传输(或其一部分)中,y1=8(即,编码级262-1具有8位的输出块大小),y2=16,y3=4,y4=4,y5=32,依此类推。

对于每个编码级,对应标识符可在特定数据串的整个传输中恒定或可在传输期间改变。举例来说,可以基于与金融服务公司或需要非常高安全等级的另一公司相关联的标识符的值而对编码级262-3进行配置,且标识符值(因此和编码操作)可以甚至跨传输单个数据串的过程而改变。

v.数据串解码

在实施例中,使用任何上述技术(例如,图1的目的地装置104或图5的目的地装置260)来接收编码的数据串的装置通过实施对应于每个编码级的不同解码级来对数据串进行解码。具体地说,为了正确地对数据串进行解码,接收装置以与应用相应编码级的次序相反的方式实施解码级。参考图5,举例来说,目的地装置260(例如,装置260内的一个或多个处理器,其执行存储于装置260的存储器中的解码模块的指令)可首先实施与编码级266相反的解码级,其次实施作与编码级264-2相反的解码级,再次实施与编码级264-1相反的解码级,最后再次实施与编码级262-5相反的解码级等等,直到最后实施与编码级262-1相反的解码级为止(例如,以确定用户做出的键输入,或原始数据串)。

为了确定在每个解码级应用的适当算法,在实施例中,目的地装置260可以通过安全通信信道从中央服务器获得用于对应编码级的标识符值(例如,从中央服务器110,使用类似于由装置252、254和/或256在出于编码目的获得标识符值时使用的认证和/或加密技术的认证和/或加密技术)。举例来说,目的地装置260可在接收到数据串后即可请求标识符值,或者目的地装置260周期性地或以其它方式请求标识符值(或将标识符值推送到目的地装置260)。

在一些实施例中,在假设值自数据串被编码以来可能尚未改变的情况下,由目的地装置260获得的标识符值可以仅仅是最近的值。在其它实施例中,特别是其中标识符值可以高频率改变(例如,在每个用户键输入之间)的那些实施例中,装置252、254和256中的一个或多个可包含数据串传输内或连同数据串传输的一个或多个时间戳。目的地装置260可接着将时间戳信息转发到中央服务器,以使得中央服务器可以向目的地装置260发送对应于与标识符值被发送到编码级的时间的标识符值。为此目的,中央服务器可存储每个标识符值的历史(例如,过去值的列表,连同那些值当前的时间)。

目的地装置260可以存储规则集,所述规则集使得装置260能够基于接收到的标识符值而确定要使用的适当解码算法。举例来说,为了撤销由第1编码级执行的编码,目的地装置260的对应解码级可以将数据串(或来自先前解码级的部分解码的数据串)剖析成大小为y1(即,第1编码级的输出块大小)的块,并将每个块解码成大小是x1(即,使用适当映射的第1编码级的输入块大小)的输出块。

在一个实施例中,为了使目标装置260恰当且完全地解码接收到的数据串,装置260必须知道或学习执行对应于编码级的解码级的序列(即,应用对应编码级的次序的相反)。在一个实施例中,中央服务器向目的地装置260发送指示正确序列的信息。在其它实施例中,目的地装置260先验地知道正确序列是什么,并仅需要从中央服务器获得适当标识符值。在一个此实施例中,通信路径(例如,通信路径250)可以被视为“受信任系统”,并正确的解码级序列可以充当一种认证。也就是说,如果目标装置260以恰当次序实施解码级并使用来自中央服务器的适当标识符值,那么数据串的解码失败可以指示数据串未沿着“已批准”通信路径传输。

在一些情境下,目的地装置260可能不完全对数据串进行解码,并因此可以不执行对应于编码级中的一些或全部的编码级。举例来说,与目的地装置260相关联的接收方可能希望存储客户信用卡号的至少部分编码的版本,而非以易于确定的格式(例如,ascii表示)存储卡号,以避免触发支付卡行业数据安全标准(paymentcardindustrydatasecuritystandard,pcidss)遵守义务。

vi.授权

可以通过要求对给定事务的授权来提供额外安全层。举例来说,使用信用卡或借记卡的购买可仅在卡用户授权购买之后才能由支付处理器批准。为了便于解释,以下论述主要涉及信用卡或借记卡持有者预先注册以提供授权的实施例或情境。但是,在其它实施例和/或情境中,所述过程可以用于其它个人和/或用于其它类型的交易中。举例来说,公司的代理可以预先注册以便为代表消费者进行的交易提供授权/确认,或者用于纯粹的内部交易(例如,以授权特定请求以检索或修改企业数据库中的信息)等。

为了提供用户授权,人们可以对中央服务器(例如,图1的中央服务器110)预先注册他或她自己和/或他或她的卡。举例来说,注册过程可以类似于上文在章节ii中描述的注册过程,标识符被分配给已注册的每个人和/或卡。

在一个实施例中,所述人可以选择他或她的个人(或卡)标识符。因为标识符可以是长串的数字和/或难以记忆的其它字符,所以可以给人从有限的一组图像中选择特定的图像序列的选项。仅举几个实例,注册者可以选择四种扑克牌颜色/花色(例如,黑方块、红桃、红心、红方块)的任何特定序列、或三种扑克牌颜色/花色/级别(例如,红梅花三、黑桃k、黑方块j)的任何特定序列等。

在图6中提供另一实例,其展示具有数个本质上随机/不相关图像302的实例用户接口300。虽然图6展示智能电话显示屏幕上呈现的用户接口300,但是在其它实施例或情境中,可使用其它装置。此外,虽然图6示出了可以进行选择的总共12个图像,但是其它数量的图像也是可能的(例如,10个、20个、100个等)。图像302中的每一个可对应于特定字符串,使得选定的图像序列对应于由数个字符串以特定次序组成的标识符。在图6中,举例来说,如果地球图像对应于“3a7e16”,汽车图像对应于“4b4a22”且房屋图像对应于“9u3c59”,那么序列“地球、汽车、房屋”可以对应于标识符“3a7e164b4a229u3c59。”

在一些实施例中,选定的图像序列对应于多个标识符。举例来说,所述序列可以对应于注册者他/她自己的第一标识符和注册者的信用卡或借记卡的第二标识符的级联。作为另一实例,单个图像序列可以对应于标识符值的预定序列,中央服务器对标识符的每次更新致使标识符值进展到序列中的下一个值。举例来说,标识符值的序列可存储于中央服务器的表中或可以基于数学函数等。以此方式,可维持不时地改变标识符的至少一些安全益处,而不需要个人在每次更新标识符时记住新的图像序列。

可通过访问由中央服务器提供的用户接口来选择图像序列。在一个实施例中,注册者可呼叫提供数据安全服务之公司的代理,且所述代理可访问安全管理接口以进行选择。举例来说,代理可向注册者通知图像选项,并接着在注册者告知代理商那些选择时键入选择。在另一实施例中,注册者可通过安全通信信道远程地访问中央服务器以进行其选择。在此实施例中,中央服务器可以向注册者发送可以被选择的图像集合(例如,用于通过在注册者的智能电话、平板电脑、笔记本电脑或台式计算机上执行的网络浏览器或专用软件应用程序等的用户介面来显示),且注册人的选择可以被传输回到中央服务器。举例来说,注册者可以通过类似于图6的用户接口300的用户接口进行选择。在其它实施例中,注册者完全不选择图像序列,而是通知对应于他或她的随机分配的标识符的图像序列。

在一些实施例中,注册者还可以选择进行授权请求的方式。举例来说,可以向注册者提供用于电话授权、电子邮件授权、sms文本消息授权和/或其它类型的授权的选项。

一旦已为特定注册者(或他或她的卡)建立了图像序列,且已为注册者建立了适当的授权方法,那么图像序列可用以授权未来交易。举例来说,参考图5的通信路径250,目的地装置260可接收编码数据串(例如,如上文在章节iii或iv中所描述),对数据串进行解码(例如,如上文在章节v中所描述),并从解码数据确定特定人或所述人的信用卡或借记卡与正在执行的交易相关联。目的地装置260或与装置260相关联的代理可接着通过适当的机制(例如,电话呼叫、sms文本消息等等)请求个人的图像序列。替代地,目的地装置260可以使用安全通信信道来通知中央服务器需要授权,且中央服务器可以通过适当的机制请求图像序列并向目的地装置260通知是否接收到正确的响应。

在一些实施例和情境中(例如,通过电话请求授权的情况下),用户可以通过向代理描述图像序列(例如,说“地球、汽车、房屋”)来授权交易,且代理可以键入信息,或仅在代理知道适当序列时直接批准交易。在其它实施例和情境中(例如,通过在用户的电子装置上执行的网络浏览器或专用软件应用程序请求授权的情况下),用户可以通过打入正确图像序列的描述符或从多个图像当中选择正确的序列(例如,通过类似于图6的用户接口300的用户接口)来授权事务。一旦已提供正确的图像序列,那么可批准交易。在一些实施例中,一旦提供了错误的图像序列(或提供阈值次数的尝试),那么中央服务器将错误一个或多个条目视为可疑的安全漏洞。举例来说,中央服务器可更新与据称进行交易的人相关联的标识符和/或更新与所述人的信用卡或借记卡相关联的标识符。

在一些实施例中,对应于图像序列的标识符也用于上文在章节iii或iv中论述的编码处理中。举例来说,图5中的编码级262-1到262-5中的一个可基于对应于图像序列的标识符的值而选择编码算法。在一些此类实施例中,这可能要求中央服务器了解正在执行交易的人或正在使用哪个卡以执行交易,以使得可检索适当的标识符并将其发送到源装置252。下文结合特定用例/情境在章节vii中描述此实施例的一个实例。

vii.实例使用范例

图7描绘根据一个实施例和情境的在进行零售信用卡或借记卡交易时在其中可实施本公开的方面的实例环境400。当然,这仅表示一个实例使用范例,且与其它类型的交易相关和其它环境/系统中的使用范例也是可能的。

在图7的实例情境下,消费者持有用以在零售商店购买商品的信用卡或借记卡402。平板电脑装置404位于零售商店处,所述平板电脑装置呈现包含用于在进行交易/购买时键入购买信息(例如,消费者卡号)的虚拟小键盘的用户接口。替代地,装置404可以是具有硬件小键盘的专用或通用装置。交易的支付信息,包含信用卡或借记卡号、支付金额等,可以被发送到支付提供商406(例如,支付提供商406的一个或多个服务器),所述支付提供商将支付信息转发到支付网络410(例如,支付网络410的一个或多个服务器),以将适当的金额添加到信用卡余额或从与借记卡等相关联的账户余额中扣除适当的金额。举例来说,支付网络410可以是银行。

为了混淆交易的至少一些支付信息,可以使用上文所描述的技术中的一个或多个。为此目的,实例环境400包含中央服务器412(例如,类似于图1的中央服务器110),其可以通过相应的安全通信信道与平板电脑装置404和支付提供商406通信。此外,平板电脑装置404可能已经以上文在章节ii中描述的方式预先注册到中央服务器412。与零售交易相关联的其它实体也可以或者替代地预先注册,例如零售商店本身、商店的员工/代理商、一个或多个网络装置(例如,路由器)和/或平板电脑装置404与支付提供商406之间的通信路径中的应用程序或节点(例如,防火墙)等等。

在此处描述的实例情境下,卡402也预先注册到中央服务器412。举例来说,卡402的持有者可以通过选择特定图像序列来部分地注册卡402,如上文在章节vi中所论述。

在操作中,卡402的持有者可以将他或她的卡呈现给商店的员工(“出示卡片”交易)以使得员工可以在平板电脑404的虚拟小键盘上键入卡号,或者通过电话将其卡号提供员工(“不出示卡片”交易)。替代地,持卡人可使用平板电脑404来键入卡号。

在一个实施例中,在交易内的任何点处,仅以数字形式存在卡号的安全编码版本。举例来说,上文结合图3和4描述的技术可用以将键输入映射到虚拟空间坐标,每个映射取决于通过安全通信信道从中央服务器412接收到的相应标识符值的值。此外,平板电脑装置404与支付提供商406之间的通信路径内的一个或多个其它装置(图7中未示出)可各自添加一个或多个编码级,如上面结合图5所描述。

在一些实施例中,针对一个编码级使用与卡402相关联的标识符的当前值。举例来说,人402的持有者可向商店员工提供其名字,且员工可使用平板电脑装置404或另一装置以将卡持有者的名字传输到中央服务器412。中央服务器412可以响应在持卡人注册时商定的安全问题。员工可接着从持卡人获得安全问题答案,并将答案提供给中央服务器412。中央服务器412可使用持卡人的响应来识别卡402,并此后将对应于卡402的标识符的当前值发送到平板电脑装置404。平板电脑装置404可接着使用标识符值以确定编码级中的一个处的适当编码,如上文所论述。在其它实施例中,其它技术可用以向中央服务器412通知卡402的身份。

在平板电脑装置404和通信路径中的任何其它编码装置对对应于支付信息的数据串进行编码之后,在支付提供商406处接收经编码数据串。如上文在章节v中所论述,支付提供商406可通过安全通信信道从中央服务器412获得适当的标识符值,并通过以正确的次序反转每个编码级来使用这些值与对数据串进行解码。为了授权交易,支付提供商406或中央服务器412可以使用持卡人的优选授权方法以请求对应于卡402的标识符的图像序列(例如,根据上文在章节vi中论述的技术中的任一个)。如果持卡人提供恰当序列,那么支付提供商406可以批准交易并通过另一安全通信信道将支付信息转发给支付网络410。因为支付信息从不存储于平板电脑装置402(或零售商的任何其它装置处),所以零售商可能不需要遵守pcidss义务。

viii.实例方法

图8是根据实施例的用于安全地收集敏感信息的实例方法500的流程图。举例来说,方法500可以由电子装置的一个或多个处理器(例如,图2的处理器120、或图5的源装置252的一个或多个处理器或图7的平板电脑装置404)在执行存储于电子装置的存储器(例如,图2的存储器122)中的指令时实施。

在方法500中,检测第一键输入(框502)。键输入是通过电子装置的用户接口进行的键输入,其中用户接口包含多个键。可以在手动键入敏感信息的过程中进行键输入,敏感信息例如是信用卡或借记卡号、其它财务信息、个人健康信息、社会保障号码等等。在一些实施例中,用户接口(例如,图2的用户接口124)包含硬件小键盘,多个键中的每个键是硬件小键盘上的不同键,且框502包含检测多个键中的哪个被触摸或按压。举例来说,电子装置可以是专用硬件小键盘装置。在其它实施例中,用户接口包含呈现在电子装置的触摸屏显示器上的虚拟小键盘,多个键中的每个键是虚拟小键盘上的不同键,且框502包含检测触摸屏显示器的哪一个区域被触摸。举例来说,电子装置可以是智能电话、平板电脑、笔记本电脑或台式计算机。

在方法500中,还从远程服务器接收信息(框504)。通过电子装置的通信接口(例如,图2的通信接口126)且通过到远程服务器的安全通信信道(例如,响应于由电子装置进行的请求)从远程服务器接收信息。举例来说,远程服务器可以是类似于图1的中央服务器110或图7的中央服务器412的服务器。可以在框502之前、同时和/或之后发生框504。

在框504处接收到的信息至少包含第一层标识符的当前值。举例来说,第一层标识符可以是与由远程服务器维护的注册表中的实体相关联的标识符。举例来说,实体可以是实施方法500的电子装置、与电子装置相关联的组织(例如,公司、部门、制造商等),与通过电子装置进行的交易相关联的人等等。在一些实施例中,在框504处接收的信息还包含一个或多个额外层标识符的当前值。可以在来自远程服务器的单个传输中或通过多个传输接收信息。

可使用第一层标识符的当前值来确定对应于第一键输入的位串(框506)。举例来说,电子装置可以使用当前值uo确定在对在框502处检测到的键输入进行编码时要使用的适当编码/映射。举例来说,在一个编码/映射下,可以将“5”的键输入映射到位串0111(例如,虚拟空间坐标[1,3]),可以将“g”的键输入映射到位串100001(例如,虚拟空间坐标[4,1])等等。

可使用在框506处确定的位串来至少产生数据串的第一部分(框508)。整个数据串可对应于在小键盘上键入的完整卡号、密码、消息或任何其它类型的信息。如果电子装置仅利用单个映射层(例如,如图3中所描绘),那么框506可包含直接从在框506处确定的位串产生数据串或数据串部分。相反,如果电子装置利用多个映射层(例如,如图4中所描绘),且如果在框504处接收到的信息包含至少一个附加层标识符的当前值,那么框506可包含额外操作。举例来说,可以根据接收信息中包含的第二层标识符的当前值而对在框506处确定的位串的至少一部分进行编码。如果存在更多编码层,那么使用对应于后续层的标识符的当前值的编码算法,可在所述后续层处对由每个层输出的位串进行编码。数据串或数据串部分可接着等于最终编码层的输出。

在一些实施例中,电子装置通过安全通信信道从远程服务器接收指示待应用的编码层的数目的数据(例如,连同在框504处接收到的其它信息)。数据可明确地或隐含地指示层数(例如,通过以正确的次序仅发送所需数量的标识符值来隐含地指示)。在其它实施例中,电子装置先验地知道正确的层数。

可致使在框508处至少部分地产生的数据串存储于电子装置的本地存储器(例如,图2的存储器122)中和/或通过网络传输到另一装置(框510)。举例来说,如果传输,那么目的地装置可类似于目的地装置104或目的地装置260,且网络可类似于网络106。举例来说,可通过直接存储和/或传输数据串或通过发送致使另一装置或单元执行存储和/或传输的控制信号或消息来执行框510。

可针对一个或多个后续键输入重复框502到508。在标识符值不频繁改变的一些实施例中,可以针对这些后续省略框504。但是,在其它实施例中,在每个(或至少一些)后续迭代中重复框504,以便在一些或所有键输入之间获得更新的标识符值。举例来说,远程服务器可以为每个键输入(或者为多个层标识符中的每一个,如果需要)提供第一层标识符的新值。在任一状况下,在框510处使得要存储和/或传输的数据串可包含多个串段/部分,每个串段/部分对应于检测到的键输入中的不同的一个。

图9是根据实施例的用于沿着包含多个装置的通信路径提供数据串的安全通信的实例方法520的流程图。举例来说,数据串本身可以是一个或多个手动键输入的编码版本,或者可以是某一其它类型的未编码或部分编码的数据(例如,社会安全号码的ascii表示,个人健康报告等等)。举例来说,方法520可以由电子装置的一个或多个处理器(例如,图1的处理器110或图7的中央服务器412)在执行存储于服务器的存储器中的指令时实施。

在方法520中,将第一实体(例如,人、公司、部门、数据键入装置等等)和与第一实体相关联的第一标识符添加到存储于服务器的持久性存储器中的注册表数据库(框522)。还将第二实体(例如,公司、部门、网络装置等等)和与第二实体相关联的第二标识符添加到注册表数据库(框524)。举例来说,可以在例如上文在章节ii中描述的注册过程之后添加实体。

通过第一安全通信信道将第一标识符的当前值提供给通信路径的装置中的第一装置,以便启用对数据串的第一编码(框526)。举例来说,可以响应于从第一装置接收到的请求而提供所述值。第一装置可以某种方式与第一实体相关联。举例来说,第一实体可以是第一装置本身,或者可以是拥有、控制和/或使用第一装置等的人或组织(例如,公司、部门等)。对数据的第一编码串将数据串中的多个位序列编码成第一多个编码位序列,所述编码位序列各自具有第一块大小(例如,位数)。

通过第二安全通信信道将第二标识符的当前值提供给通信路径的装置中的第二装置,以便启用对数据串的第二编码(框528)。举例来说,可以响应于从第二装置接收到的请求而提供所述值。第二装置在通信路径中在第一装置下游,且可以某种方式与第二实体相关联。举例来说,第二实体可以是第二装置本身(例如,例如路由器或网络交换机等网络装置),或可以是由第二装置实施的防火墙等等。对数据串的第二编码将所述第一多个经编码位序列编码成第二多个编码位序列。所述第二多个经编码位序列中的每一个具有第二块大小,第二块大小可以不同于所述第一多个经编码位序列的第一块大小。

通过第三安全通信信道将第一标识符的当前值和第二标识符的当前值提供给通信路径的装置中的第三装置,以便启用对数据串的解码(框530)。第三装置在通信路径中在第二装置的下游。举例来说,第三装置可以是数据串的临时或最终目的地。

在一些情境下,方法520还包含与后续数据串的编码和解码相关联的块。举例来说,方法520可包含块,其中在后续数据串被编码并传输的稍后时间为第一和第二标识符提供新值。根据自初始数据字符串传输以来经过的时间和服务器更新每个标识符值的频率,所述新值中的一个或两个可能与为早期数据字提供的值不同(在框256和258处)。

在一些实施例和/或情境中,修改方法520使得服务器将第一标识符和第二标识符两者的当前值提供给第一装置(例如,源装置),以使第一装置能够执行编码级由这两个标识符值指示的编码级,而非跨越两个装置分布编码。在其它实施例和/或情境中,第一和第二(可能还有其它)装置都实施编码级,且这些装置中的至少一个实施多个编码级。

图10是根据实施例的对安全地传输的数据串进行解码的实例方法540的流程图。举例来说,方法540可以由电子装置的一个或多个处理器(例如,图1的目的地装置104的一个或多个处理器或图5的目的地装置260)在执行存储于电子装置的存储器中的指令时实施。

在方法540中,获得经编码数据串(框542)。在一种情境下,通过从源装置接收编码数据串来获得编码数据串(例如,在使用方法500来对数据串进行编码之后)。在另一情境下,通过从电子装置的本地存储器检索经编码数据串来获得编码数据串。编码数据串可以表示敏感或潜在敏感信息(例如,信用卡或借记卡号或其它财务信息、个人健康信息、社会保障号码等)。

通过电子装置的通信接口和安全通信信道从远程服务器接收n个标识符(n≥1)的当前值(框544)。可以在框542之前、同时和/或之后发生框544。n个标识符中的每一个与多个实体中的相应一个相关联,且这些实体中的每一个与编码数据串的通信相关联。举例来说,一个实体可以是用于手动键入与对应于数据串的信息的小键盘装置,一个可以是与数据串相关的交易中涉及的个人或组织,一个可以是数据串的通信路径中的网络装置或防火墙。此外,每个实体的对应于n个解码操作的相应的一个,其中所述n个解码操作中的每一个对具有相应的块大小(例如,位数)的位的块进行操作。n个解码操作中的一些或全部可以使用不同的块大小。

确定对经编码数据串应用n个解码操作的序列(框546)。在一个实施例中,远程服务器提供指示正确序列的数据。在另一实施例中,实施方法540的电子装置先验地知道正确的序列,并通过访问存储于本地存储器中的规则或指令来确定正确的序列。

通过根据在框546处所确定的序列对经编码数据串执行n个解码操作来产生经解码数据串(框548)。对于n个解码操作中的每一个,框548可包含将编码数据串(或者由n个解码操作中的前一个产生的部分解码数据串)的至少一部分剖析成具有相应块大小的块(即,对应于所述特定解码操作的大小),单独地对具有相应块大小的每个块进行解码,并针对前n-1个解码操作而将单独解码的块的串传递给n个解码操作中的下一个。

致使经解码数据串存储于电子装置的本地存储器中和/或传输到另一装置(框550)。举例来说,可通过直接存储和/或传输经解码数据串或通过向另一装置或单元发送执行存储和/或传输的控制信号或消息来执行框550。

ix.本发明的方面

虽然前述文字阐述本发明的实施例的多个不同方面的详细描述,但是应理解,专利的范围由本专利末尾的所附权利要求书的言辞限定。此详细描述将被解释为仅是示范性的,而并非描述每个可能的实施例,这是因为描述每个可能的实施例即使不是不可能也是不切实际的。可使用当前技术或在本专利申请日之后开发的技术来实施众多替代实施例,所述实施例将仍属于权利要求书的范围内。借助于实例而非限制,本公开在本文中至少涵盖以下方面:

方面1:一种实施于具有带多个键的用户接口、通信接口、存储器和一个或多个处理器的电子装置中的方法,所述方法包括:(i)通过所述一个或多个处理器检测通过所述用户接口进行的第一键输入;(ii)借助所述通信接口和安全通信信道,通过所述一个或多个处理器从远程服务器接收第一信息,所述第一信息至少包含第一层标识符的第一当前值;(iii)通过所述一个或多个处理器且使用所述第一层标识符的所述第一当前值来确定对应于所述第一键输入的第一位串;;(iv)通过所述一个或多个处理器且使用所述第一位串来至少产生数据串的第一部分;以及(v)通过所述一个或多个处理器致使所述数据串(i)存储于所述存储器中和/或(ii)通过网络传输到另一装置。

方面2.根据方面1所述的方法,其中所述用户接口包含硬件小键盘,所述多个键中的每个键是所述硬件小键盘上的不同键,且检测所述第一键输入包含检测所述多个键中的哪一个被触摸或按压。

方面3.根据方面1所述的方法,其中所述用户接口包含所述电子装置的触摸屏显示器上呈现的虚拟小键盘,所述多个键中的每个键是所述虚拟小键盘上的不同键,且检测所述第一键输入包含检测所述触摸屏显示器的哪一个区域被触摸。

方面4.根据方面1到3中任一项所述的方法,其进一步包括从所述远程服务器请求所述第一信息,其中接收所述第一信息是响应于请求所述第一信息。

方面5.根据方面4所述的方法,其中请求所述第一信息是(i)响应于检测到所述第一键输入或(ii)在检测所述第一键输入之前。

方面6.根据方面1到5中任一项所述的方法,其中所述第一层标识符与由所述远程服务器维护的注册表中的实体相关联。

方面7.根据方面6所述的方法,其中所述实体是以下各项中的一个:(i)所述电子装置;(ii)与所述电子装置相关联的组织;或(iii)与通过所述电子装置进行的交易相关联的人。

方面8.根据方面1到7中任一项所述的方法,其中所述第一信息进一步包含第二层标识符的第一当前值,且其中使用所述第一位串来至少产生数据串的第一部分包含:(i)使用所述第二层标识符的所述第一当前值来对所述第一位串的至少一部分进行编码以产生第二位串;以及(ii)使用所述第二位串来至少产生所述数据串的所述第一部分。

方面9.根据方面8所述的方法,其进一步包括通过所述通信接口和安全通信信道接收指示待由所述电子装置应用的编码层数目的数据。

方面10.根据方面1到9中任一项所述的方法,其进一步包括:(i)通过所述一个或多个处理器检测通过所述用户接口进行的第二键输入;(ii)借助所述通信接口和所述安全通信信道,通过所述一个或多个处理器从远程服务器接收第二信息,所述第二信息至少包含第一层标识符的第二当前值;(iii)通过所述一个或多个处理器且使用所述第一层标识符的所述第二当前值,确定对应于所述第二键输入的第二位串;以及(iv)通过所述一个或多个处理器且使用所述第二位串,至少产生所述数据串的第二部分。

方面11.根据方面10所述的方法,其中在所述第一键输入与所述第二键输入之间不通过所述用户接口进行键输入。

方面12.根据方面10所述的方法,其中(i)所述第一层标识符的所述第一当前值在第一时间与由所述远程服务器维护的注册表中的实体相关联;且(ii)所述第一层标识符的所述第二当前值在比所述第一时间晚的第二时间与所述注册表中的所述实体相关联。

方面13.根据方面12所述的方法,其中所述实体是以下各项中的一个:(i)所述电子装置;(ii)与所述电子装置相关联的组织;或(iii)与通过所述电子装置进行的交易相关联的人。

方面14.根据方面10所述的方法,其中:(i)所述第一信息进一步包含第二层标识符的第一当前值;(ii)所述第二信息进一步包含所述第二层标识符的第二当前值;(iii)使用所述第一位串来至少产生所述数据串的所述第一部分包含(a)使用所述第二层标识符的所述第一当前值来对所述第一位串的至少一部分进行编码以产生第三位串,并(b)使用所述第三位串来至少产生所述数据串的所述第一部分;以及(iv)使用所述第二位串来至少产生所述数据串的所述第二部分包含(a)使用所述第二层标识符的所述第二当前值来对所述第二位串的至少一部分进行编码以产生第四位串,并(b)使用所述第四位串来至少产生所述数据串的所述第二部分。

方面15.根据方面14所述的方法,其进一步包括:(i)从所述远程服务器请求所述第一信息;以及(ii)从所述远程服务器请求所述第二信息,中接收所述第一信息是响应于请求所述第一信息,且其中接收所述第二信息是响应于请求所述第二信息。

方面16.一种电子装置,其包括:(i)包含多个键的用户接口;(ii)通信接口;(iii)存储器;以及(iv)一个或多个处理器,其被配置成(a)检测通过所述用户接口进行的第一键输入,(b)通过所述通信接口和安全通信信道从远程服务器接收第一信息,所述第一信息至少包含第一层标识符的第一当前值,(c)使用所述第一层标识符的所述第一当前值来确定对应于所述第一键输入的第一位串,(d)使用所述第一位串来至少产生数据串的第一部分,并(e)致使所述数据串(i)存储于所述存储器中和/或(ii)通过网络传输到另一装置。

方面17.根据方面16所述的电子装置,其中:(i)所述用户接口包含物理小键盘;(ii)所述多个键中的每个键是所述硬件小键盘上的不同键;且(iii)所述一个或多个处理器被配置成至少通过检测所述多个键中的哪一个被触摸或按压来检测所述第一键输入。

方面18.根据方面16所述的电子装置,其中:(i)所述用户接口包含所述电子装置的触摸屏显示器上呈现的虚拟小键盘;(ii)所述多个键中的每个键是所述虚拟小键盘上的不同键;且(iii)所述一个或多个处理器被配置成至少通过检测所述触摸屏显示器的哪一个区域被触摸来检测所述第一键输入。

方面19.根据方面16到18中任一项所述的电子装置,其中所述第一信息进一步包含第二层标识符的第一当前值,且其中所述一个或多个处理器被配置成至少通过以下操作使用所述第一位串来至少产生数据串的所述第一部分:(i)使用所述第二层标识符的所述第一当前值来对所述第一位串的至少一部分进行编码以产生第二位串;以及(ii)使用所述第二位串来至少产生所述数据串的所述第一部分。

方面20.根据方面16到18中任一项所述的电子装置,其中所述一个或多个处理器进一步被配置成:(i)检测通过所述用户接口进行的第二键输入;(ii)通过所述通信接口和所述安全通信信道从所述远程服务器接收第二信息,所述第二信息至少包含所述第一层标识符的第二当前值;(iii)使用所述第一层标识符的所述第二当前值来确定对应于所述第二键输入的第二位串;以及(iv)使用所述第二位串来至少产生所述数据串的第二部分。

方面21.一种沿着包含多个装置的通信路径提供数据串的安全通信的方法,所述方法实施于包含一个或多个处理器和存储注册表数据库的存储器的服务器中,所述方法包括:(i)向所述注册表数据库添加第一实体和与所述第一实体相关联的第一标识符;(ii)向所述注册表数据库添加第二实体和与所述第二实体相关联的第二标识符;(iii)通过第一安全通信信道向所述多个装置中的第一装置提供所述第一标识符的第一当前值以启用对所述数据串的第一编码,其中所述第一装置与所述第一实体相关联,且其中对所述数据串的所述第一编码将所述数据串中的多个位序列编码成第一多个经编码位序列;(iv)通过第二安全通信信道向所述多个装置中的第二装置提供所述第二标识符的第一当前值以启用对所述数据串的第二编码,其中所述第二装置与所述第二实体相关联且在所述通信路径中在所述第一装置下游,且其中对所述数据串的所述第二编码将所述第一多个经编码位序列编码成第二多个经编码位序列;以及(v)通过第三安全通信信道向所述多个装置中的第三装置提供所述第一标识符的所述第一当前值和所述第二标识符的所述第一当前值以启用对所述数据串的解码,其中所述第三装置在所述通信路径中在所述第二装置下游。

方面22.根据方面21所述的方法,其中所述第一多个经编码位序列中的每一个具有第一块大小,且所述第二多个经编码位序列中的每一个具有不同于所述第一块大小的第二块大小。

方面23.根据方面21或22所述的方法,其中所述第一实体是以下各项中的一个:(i)所述第一装置;(ii)人;或(iii)组织。

方面24.根据方面21到23所述的方法,其中所述第二装置是网络装置,且所述第二实体是以下各项中的一个:(i)所述网络装置;或(ii)由所述第二装置实施的防火墙。

方面25.根据方面21到24中任一项所述的方法,其进一步包括:(i)通过所述第一安全通信信道向所述第一装置提供所述第一标识符的第二当前值以启用对后续数据串的第一编码,其中对所述后续数据串的所述第一编码将所述后续数据串中的多个位序列编码成第三多个经编码位序列;(ii)通过所述第二安全通信信道向所述第二装置提供所述第二标识符的第二当前值以启用对所述后续数据串的第二编码,其中对所述后续数据串的所述第二编码将所述第三多个经编码位序列编码成第四多个经编码位序列;以及(iii)通过所述第三安全通信信道向所述第三装置提供所述第一标识符的所述第二当前值和所述第二标识符的所述第二当前值以启用对所述后续数据串的解码,其中(i)所述第一标识符的所述第二当前值不同于所述第一标识符的所述第一当前值,和/或(ii)所述第二标识符的所述第二当前值不同于所述第二标识符的所述第一当前值。

方面26.根据方面21到25中任一项所述的方法,其中(i)向所述第一装置提供所述第一标识符的所述第一当前值是响应于从所述第一装置接收请求;和/或(ii)向所述第二装置提供所述第二标识符的所述第一当前值是响应于从所述第二装置接收请求。

方面27.一种提供数据串的安全通信的方法,所述方法实施于包含一个或多个处理器和存储注册表数据库的存储器的服务器中,所述方法包括:(i)向所述注册表数据库添加第一实体和与所述第一实体相关联的第一标识符;(ii)向所述注册表数据库添加第二实体和与所述第二实体相关联的第二标识符;(iii)通过第一安全通信信道向与所述第一实体和所述第二实体相关联的源装置提供以下两项:(a)所述第一标识符的第一当前值,以启用对所述数据串的第一编码,其中对所述数据串的所述第一编码将所述数据串中的多个位序列编码成第一多个经编码位序列,和(b)所述第二标识符的第一当前值,以启用对所述数据串的第二编码,其中对数据串的所述第二编码将所述第一多个经编码位序列编码成第二多个经编码位序列;以及(iv)通过第二安全通信信道向目的地装置提供所述第一标识符的所述第一当前值和所述第二标识符的所述第一当前值,以启用对所述数据串的解码。

方面28.根据方面27所述的方法,其中所述第一多个经编码位序列中的每一个具有第一块大小,且所述第二多个经编码位序列中的每一个具有不同于所述第一块大小的第二块大小。

方面29.根据方面27或28所述的方法,其中所述第一实体和所述第二实体是以下各项中的不同项:(i)所述源装置;(ii)人;或(iii)组织。

方面30.根据方面27到29中任一项所述的方法,其进一步包括:(i)通过所述第一安全通信信道向所述源装置提供以下两项:(a)所述第一标识符的第二当前值以启用对后续数据串的第一编码,其中对所述后续数据串的所述第一编码将所述后续数据串中的多个位序列编码成第三多个经编码位序列,和(b)所述第二标识符的第二当前值以启用对所述后续数据串的第二编码,其中对所述后续数据串的所述第二编码将所述第三多个经编码位序列编码成第四多个经编码位序列;以及(ii)通过所述第三安全通信信道向所述第三装置提供所述第一标识符的所述第二当前值和所述第二标识符的所述第二当前值以启用对所述后续数据串的解码,其中所述第一标识符的所述第二当前值不同于所述第一标识符的所述第一当前值,和/或所述第二标识符的所述第二当前值不同于所述第二标识符的所述第一当前值。

方面31.根据方面27到30中任一项所述的方法,其中向所述第一装置提供(i)所述第一标识符的所述第一当前值和(ii)所述第二标识符的所述第一当前值中的一个或两个是响应于从所述第一装置接收请求。

方面32.一种实施于具有一个或多个处理器、通信接口和存储器的电子装置中的方法,所述方法包括:(i)通过所述一个或多个处理器获得经编码数据串;(ii)借助所述通信接口和安全通信信道,通过所述一个或多个处理器从远程服务器接收n个标识符的当前值,其中所述n个标识符中的每一个(a)与多个实体中的相应一个相关联,所述多个实体中的每一个与所述经编码数据串的通信相关联,且(b)对应于n个解码操作中的相应一个,所述n个解码操作中的每一个对具有相应块大小的位的块进行操作,且n是大于1的整数;(iii)通过所述一个或多个处理器确定对所述经编码数据串应用所述n个解码操作的序列;(iv)通过所述一个或多个处理器,通过根据所述所确定序列对所述经编码数据串执行所述n个解码操作来产生经解码数据串,其中执行所述n个解码操作包含针对所述n个解码操作中的每个解码操作,(a)将所述经编码数据串的至少一部分、或产生于所述n个解码操作中的前一个解码操作的部分解码数据串的至少一部分剖析成具有所述相应块大小的块,(b)单独地对具有所述相应块大小的所述块中的每一个进行解码,并(c)针对所述前n-1个解码操作,将所述经单独解码的块的串传递到所述n个解码操作中的下一个;以及(v)通过所述一个或多个处理器致使所述经解码数据串(i)存储于所述存储器中和/或(ii)传输到另一装置。

方面33.根据方面32所述的方法,其中获得所述经编码数据串包含通过网络从另一电子装置接收所述经编码数据串。

方面34.根据方面32所述的方法,其中获得所述经编码数据串包含从所述电子装置的所述存储器检索所述经编码数据串。

方面35.根据方面32到34中任一项所述的方法,其中确定对所述经编码数据串应用所述n个解码操作的所述序列包含通过所述通信接口和所述安全通信信道接收所述序列的指示。

方面36.根据方面32到35中任一项所述的方法,其中所述多个实体包含以下各项中的两个或更多个:(i)用来手动地键入对应于所述经编码数据串的信息的另一电子装置;(ii)人;(iii)组织;(iv)网络装置;或(v)防火墙。

方面37.一种服务器,其包括:(i)存储注册表数据库的第一存储器;(ii)存储指令的第二存储器;以及(iii)一个或多个处理器,其被配置成执行所述指令以(a)向所述注册表数据库添加第一实体和与所述第一实体相关联的第一标识符,(b)向所述注册表数据库添加第二实体和与所述第二实体相关联的第二标识符,(c)通过第一安全通信信道,向数据串的通信路径中的多个装置中的第一装置提供所述第一标识符的第一当前值以启用对所述数据串的第一编码,其中所述第一装置与所述第一实体相关联,且其中对所述数据串的所述第一编码将所述数据串中的多个位序列编码成第一多个经编码位序列,(d)通过第二安全通信信道向所述多个装置中的第二装置提供所述第二标识符的第一当前值以启用对所述数据串的第二编码,其中所述第二装置与所述第二实体相关联且在所述通信路径中在所述第一装置下游,且其中对所述数据串的所述第二编码将所述第一多个经编码位序列编码成第二多个经编码位序列,并(e)通过第三安全通信信道向所述多个装置中的第三装置提供所述第一标识符的所述第一当前值和所述第二标识符的所述第一当前值以启用对所述数据串的解码,其中所述第三装置在所述通信路径中在所述第二装置下游。

方面38.根据方面37所述的服务器,其中所述第一多个经编码位序列中的每一个具有第一块大小,且所述第二多个经编码位序列中的每一个具有不同于所述第一块大小的第二块大小。

方面39.根据方面37或38所述的服务器,其中所述第一实体是以下各项中的一个:(i)所述第一装置;(ii)人;或(iii)组织。

方面40.根据方面37到40中任一项所述的服务器,其中所述第二装置是网络装置,且所述第二实体是以下各项中的一个:(i)所述网络装置;或(ii)由所述第二装置实施的防火墙。

x.其它考量

本文中所描述的实例方法的各种操作可至少部分地由被暂时性地配置(例如,通过软件)或永久性地配置成执行相关操作的一个或多个处理器执行。无论暂时性地配置还是永久性地配置,此类处理器可以构成操作用于执行一个或多个操作或功能的处理器实施的模块。在一些实例实施例中,本文提及的模块可包括处理器实施的模块。

类似地,本文所描述的方法或例程可以至少部分是处理器实施的。举例来说,方法的至少一些操作可以通过一个或多个处理器或处理器实施的硬件模块执行。操作的特定性能可以分布在一个或多个处理器当中,不仅驻存在单一机器内,而且还跨越多个机器部署。在一实施例中,所述处理器可以位于单个位置中(例如,位于家庭环境、办公室环境或服务器群内),而在其它实施例中,所述处理器可以跨越多个位置分布。

操作的特定性能可以分布在一个或多个处理器当中,不仅驻存在单一机器内,而且还跨越多个机器部署。在一些实例实施例中,一个或多个处理器或处理器实施的模块可定位于单个地理位置中(例如,家庭环境、办公室环境或服务器集群内)。在其它实例实施例中,一个或多个处理器或处理器实施的模块可以跨越多个地理位置分布。

除非另有特定说明,否则在本文中使用例如“处理”、“运算”、“计算”、“确定”、“呈现”、“显示”等词的论述可以指操控或变换一个或多个存储器(例如,易失性存储器、非易失性存储器或其组合)、寄存器或接收、存储、传输或显示信息的其它机器组件内的表示为物理(例如,电子、磁性或光学)量的数据的机器(例如,计算机)的动作或过程。

如本文所使用,对“一个实施例”或“一实施例”的任何参考意味着结合实施例所描述的特定元件、特性、结构或特征包含于至少一个实施例中。短语“在一个实施例中”在说明书中的各处的出现不一定都指相同实施例。

如本文中所使用,术语“包括”、“具有”或其任何其它变化意图涵盖非排它性的包含。例如,包含元件列表的过程、方法、物品或设备不一定仅限于那些元件,但可以包括没有明确列出或此过程、方法、物品或设备所固有的其它元件。另外,除非明确相反地陈述,否则“或”是指包含性的或而不是排它性的或。例如,条件a或b通过以下中的任一种来得到满足:a是正确的(或存在的)且b是错误的(或不存在的)、a是错误的(或不存在的)且b是正确的(或存在的)以及a和b都是正确的(或存在的)。

另外,“一(a/an)”的使用用于描述本文中的实施方案的元件和组件。这样做仅是为方便起见且给出描述的一般性意义。本说明书和所附权利要求书应理解为包含一个或至少一个且单数还包含复数,除非明显指单数。此详细描述将被解释为实例,而并非描述每个可能的实施例,这是因为描述每个可能的实施例即使不是不可能也是不切实际的。可以使用当前技术或在本申请提交日期后开发出的技术实施多种替代实施例。

除非传统装置加功能语言明确地叙述,如“用于......构件”或“用于......的步骤”言辞明确在一项或多项权利要求中叙述,否则并不意图根据35u.s.c.§112(f)解释本专利申请的末尾的专利权利要求书。

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