CN103635912B - 用于对向认证令牌发送的数据编码和解码的方法和装置 - Google Patents
用于对向认证令牌发送的数据编码和解码的方法和装置 Download PDFInfo
- Publication number
- CN103635912B CN103635912B CN201280020134.9A CN201280020134A CN103635912B CN 103635912 B CN103635912 B CN 103635912B CN 201280020134 A CN201280020134 A CN 201280020134A CN 103635912 B CN103635912 B CN 103635912B
- Authority
- CN
- China
- Prior art keywords
- block
- data
- token
- certain embodiments
- additional redundancy
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—Challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2153—Using hardware token as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
公开了用于对向强认证令牌按声学和/或光学发送的数据进行编码和解码以生成动态安全值的方法和装置。令牌也可以包括用于选择声学或者光学输入接口以接收数据的选择机制。可以提供通信接口以与可拆卸安全设备、比如智能卡通信,并且令牌可以适于与可拆卸安全设备协作地生成动态安全值。
Description
技术领域
本发明涉及用于保护对计算机和应用的远程访问以及通过计算机网络进行的远程交易的强认证令牌。更具体而言,本发明涉及用于对向适于声学或者光学接收输入数据的强认证令牌发送的数据进行编码和解码的方法和装置。
背景技术
随着计算机系统和应用的远程访问日益普及,通过公用网络诸如因特网远程访问的事务的数目和多样性已经急剧增加。这一普及已经突出对于安全性的需要;具体而言:如何保证远程访问应用的人们是他们所声称的一方,如何保证远程进行的事务由合法个人发起以及如何保证事务数据在其在应用服务器处被接收之前尚未被更改。
以往,应用提供者已经依赖于静态口令以为远程应用提供安全性。近年来,已经变得明显的是静态口令并不充分并且需要更高级安全技术。
一种解决与通过公用网络对计算机系统和应用的远程访问关联的安全问题的方式由公用密钥基础架构(PKI)提供。使用公用密钥基础架构将公用和私用密钥对相互关联。密钥对与将该公用和私用密钥对绑定到具体用户的证书(由可靠证书机构发放)关联。借助不对称密码术,这一公用和私用密钥对可以用来认证用户、对事务进行签名并且建立加密的通信。
为了保证充分安全水平,要求每个用户的私用密钥保持秘密并且仅能由与该密钥关联的合法用户访问以创建签名或者对消息进行解密。普遍依赖于智能卡或者专用通用串行总线(USB)设备(有时称为USB密钥或者USB令牌)以存储公用和私用密钥对和证书并且执行涉及到私用密钥的密码计算。
有与PKI以及携带PKI密钥和证书的智能卡相关联的一些缺点。
1.构建公用密钥基础结构在与竞争的安全技术比较时一般复杂并且因此昂贵。
2.PKI固有地限于环境和应用,在这些环境和应用中有在客户端与服务器之间的数字连接,因为PKI密码和签名臃肿并且不容易变换成人类可读形式。换而言之,它不适合于电话银行或者其它递送信道,在这些电话银行或者其它递送信道中没有可能提供一方面的PKI证书和私用密钥的容器与另一方面的应用服务器之间的数字连接。
3.PKI智能卡和USB令牌没有内置电源或者用户接口。PKI智能卡和USB令牌因此依赖于对接系统的存在,该对接系统向卡提供电功率、能够与卡数字地交换数据并且能够与用户交互(例如捕获卡的个人标识号(PIN)并且呈现应当签名的数据)。USB令牌通常插入到PC的内置USB端口中,其中USB端口向USB令牌供应功率,并且连接到PC的人类接口设备提供用户交互能力(连接的USB令牌模型)。PKI智能卡通常借助配备有简单智能卡读取器的PC来操作,其中读取器仅向智能卡供应功率并且实现在PC上的应用与插入的智能卡之间的通信,且从而连接到PC的人类接口设备提供用户交互能力。这样的读取器——该读取器没有它自己的信任用户接口——常被称为透明卡读取器。这些典型使用模型减少用户的移动性,因为多数PC未预先配备有智能卡读取器,并且为USB令牌的读取器临时安装驱动器被证明太麻烦。它也呈现安全问题:所有用户交互(比如批准签名或者捕获卡的PIN)是在固有地不安全的PC上完成的。
另一方式包括向通用设备、比如用户的PC或者移动设备(例如智能电话或者PDA)添加赋予安全功能的软件应用。与这一方式关联的主要问题是通用设备具有固有地开放的架构,该架构使它们易受所有种类的恶意软件、比如病毒和木马影响,这些恶意软件可能向用户呈现伪消息或者捕获用户在键区上录入的无论任何内容或者在存储器中读取与安全应用关联的敏感数据或者在数据被签名之前更改它们。因此,通用设备不能被认为具有信任用户接口并且没有用于存储秘密、比如PIN值和密码密钥的安全装置。另外,用于移动设备的已知解决方案依赖于用于接收和/或发送事务数据的无线用户网络。这样的网络具有就绪的固有安全性和端点认证机制,其在因特网用于所有传输时不能认为存在。
一种用于认证和事务签名能力的备选技术由‘强认证令牌设备’赋予,该技术避免基于通用设备的解决方案的安全问题以及PKI智能卡和USB令牌的安全、安装和互连问题。强认证令牌的典型示例是Chicago,Illinois的Vasco Data Security Inc.商品化的DIGIPASS线的产品(见网站http://www.vasco.com)。强认证令牌是通常为口袋大小的自治的由电池供电的设备,该设备专用于提供认证和/或事务签名功能,该设备具有它自己的显示器和键区。在一些情况下,键区被减少成单个按钮或者甚至完全省略,在其它情况下,键区可以是整个键盘。典型强认证令牌的显示器和键区不可拆卸和不可用户维修、完全由令牌控制并且不受主机计算机上的恶意软件影响。因此,例如与PC对照,认为强认证令牌具有信任用户接口,在这些PC中总是有恶意软件、比如病毒或者木马向用户呈现伪消息或者捕获用户在键区上录入的无论任何内容或者在存储器中读取与安全应用关联的敏感数据或者在数据被签名之前更改它们这样的可能性。强认证令牌的主要目的是生成通常称为‘一次性口令’(OTP)或者动态口令的动态安全值。通常,通过按密码组合在令牌与认证服务器之间共享的秘密与动态值、比如向令牌提供的时间值、计数器值或者服务器挑战或者这些值的组合来生成这些OTP。一些强认证令牌也可以使用已经向令牌提供的数据(比如事务数据)作为动态值或者与以上提到的动态值中的任何值相结合以生成安全值。在这些情况下,所得安全值用于指示用户对数据的批准,并且安全值通常称为电子签名或者消息认证码(MAC)。一些强认证令牌包括能够与插入的智能卡通信的具有显示器和键区的设备,其中OTP或者MAC的生成是部分由设备本身和部分由插入的智能卡完成的。
一种用于向强认证令牌提供数据的典型方式是通过让用户在令牌的键区上手工录入数据。在必须以这一方式录入的数据量超过数十个字符时,用户经常感觉该过程太麻烦。另一缺点是支持手工数据录入的令牌通常具有键区,该键区通常使令牌比如果无这样的键区存在令牌会成为的样子明显更大。为了让用户轻松,已经设计解决方案,在这些解决方案中,数据的输入无需用户在令牌的键区上手工录入所述数据。一个示例是如下解决方案,在这些解决方案中,令牌包括用于接收通过带外信道、如例如无线电网络或者移动电话网络发送的数据的接收装置(见授权于1997年9月16日的第5,668,876号美国专利)。这样的带外解决方案的缺点是与支持所述带外信道的技术关联的额外复杂性和成本以及对所述带外信道的可用性和使用成本的依赖性。另一解决方案包括允许借助光学接口的数据输入的令牌,其中用户持有接近计算机屏幕的令牌,该计算机屏幕显示变化的光学图案。这样的光学令牌的示例是Chicago,Illinois的VASCO Data Security Inc.提供的Digipass 700和Digipass 300以及在公开于2002年6月5日的第1211841号欧洲专利说明书、公开于2007年5月23日的第1788509号欧洲专利说明书、授权于1992年8月4日的第5,136,644号美国专利中描述的令牌。
具有光学数据输入接口的令牌的主要问题是需要相对昂贵部件以构建可以在高数据速率接受数据的接口。这是要求在与典型计算机屏幕的相对低刷新速率组合的计算机屏幕质量和环境照明条件的很宽范围中可靠工作的结果。另一更成本有效备选是使用低速光学接口。低速光学接口的缺点是它使向令牌有效提交的事务数据限于少量值或者传输时间高到不方便。
需要的是一种允许在相对高数据速率可靠输入数据并且对于用户而言方便的用于强认证令牌的备选的、成本有效的数据输入机制。
发明内容
本发明基于发明人的认识:借助强认证令牌保护的许多应用由应用的用户借助PC(个人计算机)或者相似计算设备来访问,这些计算设备中的大部分计算设备具有在具有通常为10千赫兹级的带宽的人类可听频率范围中生成和发射声音的能力,并且通过明智地调制这些计算设备输出的声音,有可能在相对高数据速率向强认证令牌发送数据,该强认证令牌配备有用于接收和解调这些计算设备这样发射的声音的装置。本发明还基于发明人的认识:在这样的设置(即其中通过在人类可听频率范围中的声波交换数据,通过音频扬声器发送数据,由音频麦克风接收数据,传输介质是在扬声器与麦克风之间的空气,介质/房间具有特定回响,并且在房间中通常有某些量的背景噪声)中,传输错误的主要来源归因于声音信号(例如在其中发生传输的房间墙壁处)的反射,这些反射以显著延迟到达令牌的接收器、即产生声学信号的多径接收,并且反射的信号的功率将通常小于直接接收的信号的功率。传输错误的其它显著来源可以包括背景噪声。发明人的又一认识是背景噪声的功率将通常在相对宽带宽内随机扩展。本发明还基于发明人的认识:声学信号的非线性失真——该非线性失真产生信号中存在的频率的谐波——一般不对接收的信号上的噪声的功率显著有贡献。
本发明还基于发明人的认识:通过对将经由单向光学或者声学接口发送的数据的明智编码和解码,可以使传送更可靠和高效。
在一个典型实施例中,借助声学接口发送用于令牌的输入数据作为向令牌发射和输入的调制的声音。在一个实施例中,令牌的声学接口包括麦克风和解调电路。麦克风用于接收声学信号并且用于将声学信号转换成模拟电信号。麦克风连接到将模拟电信号转换成数字信号的解调电路。在一个实施例中,解调电路连接到适于提取和处理数字信号中编码的输入数据的数据处理装置。
在一个实施例中,发送侧包括用户与之交互(以例如访问基于因特网的应用)的计算设备。在一些实施例中,用户的计算设备可以包括个人计算机(PC)或者写字板计算机或者智能电话或者用户与之交互(以例如访问基于因特网的应用)的一些其它相似计算设备。在一些实施例中,用户的计算设备配备有能够在人类可听频率范围中发射声音的扬声器。在一个具体实施例中,用户的计算设备的扬声器发射在PC上运行的软件应用的声音输出。在一个实施例中,在用户的计算设备上运行的软件应用包括运行网页中嵌入的小程序或者插件的浏览器。在一个实施例中,小程序包括flash应用。在一些实施例中,网页与将由强认证令牌保护的应用关联。
在一些实施例中,接收令牌包括用于接收声学信号并且将它变换成电信号的麦克风。令牌也可以包括连接到麦克风以解调麦克风的电信号的解调电路。
在一些实施例中,在发送侧将输入数据编码为数字数据串。在一些实施例中,使用频移键控(FSK)调制方案来发射数字数据串作为声学信号,其中用来对声学信号进行编码的频率(在本文的其余部分中称为‘编码频率’)中的每个频率是公共基频的整数倍。虽然在一些实施例中调制使得发射的声学信号始终仅包含编码频率之一,但是由于噪声、反射和失真,令牌接收的声学信号可能同时包含编码频率中的若干编码频率。在一些实施例中,解调电路检测信号中存在的每个编码频率的功率并且比较每个编码频率的相对功率。假设具有相对最强功率的编码频率是在发送侧发射的编码频率。
在一些实施例中,编码频率各自为公共基频的整数倍,并且解调电路包括被调谐到编码频率的公共基频的锁相环(PLL)。在一些实施例中,PLL是窄带PLL。由于它被调谐到编码频率的公共基频,所以它也将在编码频率中的每个编码频率本身上同步。
在一些实施例中,解调电路包括用于在实际解调之前有选择地放大麦克风的电信号的预放大部件。在一些实施例中,预放大部件包括带通滤波器,该带通滤波器抑制低于最低编码频率的频率并且抑制高于更高编码频率的频率。
在一些实施例中,解调电路针对每个被支持的编码频率包括功率检测子电路。每个功率检测子电路输出电信号,该电信号的电平指示与功率检测子电路关联的编码频率的在接收的声学信号中的功率。功率检测子电路可以连接到比率检测器子电路,该比率检测器子电路比较功率检测子电路的输出电平并且输出信号,该信号指示哪个功率检测子电路具有最极端输出电平并且因此哪个编码频率在接收的声学信号中具有最高功率。在一些实施例中,使用仅两个编码频率,并且比率检测器子电路的输出信号是位序列,“0”指示一个编码频率具有最高功率,而“1”指示另一编码频率具有最高功率。在一些具体实施例中,比率检测器子电路可以包括以两个功率检测子电路的输出作为输入的比较器。
在一些实施例中,功率检测子电路包括解调器部件和低通滤波器,其中解调器部件的输出是向低通滤波器的输入,并且其中每个解调器部件取接收的输入信号(可选地通过有选择的放大来调控)和锁相环生成的参考信号作为输入。
在一些实施例中,令牌除了用于接收输入数据的声学输入接口之外还可以具有附加数据输入机制。所述附加数据输入机制可以包括允许用户向令牌中手动录入数据的手动用户输入接口。这一手动用户输入接口可以包括键区或者键盘。它也可以包括用于手动录入数据的备选机制、比如操纵杆、微动转盘、跟踪球、转轮或者相似设备。附加输入接口也可以包括通信机制和协议,比如电专用网、比如USB或者Firewire或者光学连接或者使用无线电传输、比如蓝牙或者红外线传输如IRDA(红外线数据协会)的无线专用网。
在一些实施例中,令牌没有键区从而造成紧凑设计。在其它实施例中,令牌具有允许用户手动录入输入数据、比如PIN的紧凑手动用户输入接口。紧凑用户输入接口可以包括具有不多于三个或者四个键的键区或者用于与不多于两个按钮组合在一组选项(比如数位列表)内滚动的轮或者甚至仅用于在一组选项内滚动的轮,其中轮也可以作为用于确认当前选择的选项的推动按钮来工作。在一些实施例中,紧凑手动用户输入接口可以包括导航机制和确认机制,其中导航机制允许用户在一组选项内导航和/或选择选项列表的项目,并且确认机制允许用户向令牌给予确认以例如确认当前选择的项目、比如选项或者数据元或者确认令牌向用户呈现的信息或者确认令牌的建议。在一些实施例中,紧凑手动用户输入接口也可以包括取消机制,该取消机制允许用户向令牌指示用户不批准或者取消向用户呈现的某个事物。在一些实施例中,导航机制包括转轮或者微动转盘。在一些实施例中,导航机制可以包括一个、两个或者多于两个导航按钮。在一些实施例中,确认机制可以包括OK按钮。在一些实施例中,取消机制可以包括取消按钮。在一些实施例中,令牌的数据输入机制可以仅包括声学输入接口和紧凑手动用户输入接口。
在本发明的一组实施例中,令牌包括键区。在一个实施例中,这一键区允许录入至少十进制数位。在另一实施例中,所述键区也允许录入十六进制数位或者字母数字符。在一些实施例中,所述键区包括用于指示用户批准或者拒绝令牌呈现的信息或者选项的控制按钮,或者用于在菜单选项内或者在令牌呈现的信息内导航的导航按钮。在其它实施例中,所述键区包括整个键盘。在一些实施例中,除了声学输入接口之外,键区和光学接口二者也可以存在,其中键区可以在光学和/或声学输入装置失败的情况下用作后备输入装置。
在一些实施例中,手动用户输入接口适于允许用户指示批准例如待签名的数据或者指示偏好、比如光学或者声学接口是否应当用来接收输入数据。在一些实施例中,手动用户输入接口适于允许用户向令牌提供值。这些值可以包括待签名的事务数据或者PIN值。
在一些实施例中,令牌包括用户输出接口,令牌可以借助该用户输出接口向用户输出或者呈现信息。在一些实施例中,向用户输出的信息可以包括安全值、比如一次性或者动态口令和/或对例如与事务有关的数据的签名。在一些实施例中,向用户呈现的信息可以包括将由令牌签名的数据用于由用户预先批准。在一些实施例中,向用户呈现的信息可以包括关于待签名的数据的信息、比如某个数据元素的含义或者比如对应用所有者的引用或者命名的关于事务上下文的信息。
在本发明的一些实施例中,令牌的输出装置包括例如用于指示某个安全状态或者条件的显示器、如例如液晶显示器(LCD)和/或一个或者多个发光二极管(LED)。在一个实施例中,令牌可以在显示器上显示文字。在一个实施例中,可以显示所述文字为字符序列。在另一实施例中,令牌可以在显示器上显示图标或者象形文字。在一些其它实施例中,令牌的输出装置包括音频输出装置、如例如扬声器、麦克风或者用于附着这样的扬声器或者头戴式收话器的装置、如例如1/8”音频插座或者RCA音频插座以借助生成的声音向用户送达信息。在一个实施例中,生成的声音是音调序列。在另一实施例中,生成的声音包括合成的话音。在另一实施例中,生成的声音是存储的声音段的再现。
在一些实施例中,令牌可以已被适配为具有信任用户输入接口。在一些实施例中,这包括令牌的输入接口,该输入接口适于使得令牌可以总是在物理地与令牌交互的用户手动输入的数据与向令牌提供的、但是不是由物理地与令牌交互的某个用户手动输入的数据之间区分。在一些实施例中,手动用户输入接口可以是不可拆卸并且不可用户维修、完全由令牌控制并且不受主机计算机上的恶意软件影响。在一些实施例中,令牌可以适于抵制对令牌固件的未授权改变。在一些实施例中,令牌的固件可以存储于不可更改存储器、比如ROM中。在一些实施例中,令牌支持固件更新,但是固件仅能借助密码保护的安全固件更新协议来更新。在一些实施例中,令牌可以具有防篡改和/或篡改检测机制,这些机制可以包括用于检测令牌壳的打开的机制。
在一些实施例中,令牌可以已经适于具有信任用户输出接口。在一些实施例中,这包括令牌的用户输出接口,该用户输出接口适于使得令牌完全控制令牌向用户呈现的任何输出。在一些实施例中,用户输出接口可以不可拆卸并且不可用户维修、完全由令牌控制并且不受主机计算机上的恶意软件影响。在一些实施例中,令牌可以适于抵制对令牌固件的未授权改变。在一些实施例中,令牌的固件可以存储于不可更改存储器、比如ROM中。在一些实施例中,令牌支持固件更新,但是固件仅能借助密码保护的安全固件更新协议来更新。在一些实施例中,令牌可以具有防篡改和/或篡改检测机制,这些机制可以包括用于检测令牌壳的打开的机制。
在本发明的一个具体实施例中,令牌包括用于执行密码运算的数据处理装置、比如微处理器和用于存储一个或者多个秘密值、比如一个或者多个PIN值或者密码秘密值的数据存储装置、比如RAM、ROM或者EEPROM存储器。在一些实施例中,令牌适于防止未授权读取这些秘密值。例如令牌可以具有防篡改和/或篡改检测机制,这些机制可以包括用于检测打开令牌的壳的机制。
在本发明的一个实施例中,输入数据可以包括挑战(例如可以出于认证/验证目的而处理的事务数据的随机数或者哈希)。在本发明的另一实施例中,输入数据包括与事务有关的数据,该数据包括事务值或者事务上下文信息。在一些实施例中,事务上下文信息可以包括事务数据标签和/或关于与事务有关的数据的含义的信息。在一些实施例中,输入数据包括与应用流有关的信息。在一些实施例中,与应用流有关的信息可以包括关于事务类型的信息。在一些实施例中,与应用流有关的信息可以关于以下方面来指导令牌:令牌应当对接收的与事务有关的数据进行处置的方式和/或令牌应当如何处置用户交互流、例如应当向用户呈现哪个数据用于审查和/或批准,以及是否应当向用户询问或者给予用于校正数据或者手动提供额外数据的机会和/或应当向用户呈现哪个消息。
在一些实施例中,输入数据可以包括已经由用户按密码生成的服务器证书。在一些实施例中,服务器已经使用与令牌共享的对称密码和秘密密钥或者令牌与之通信的第二安全设备来生成服务器证书。在一些实施例中,令牌适于验证服务器证书。在一些实施例中,令牌适于与第二安全设备协作地验证服务器证书。在一些实施例中,使用对称密码算法来完成服务器证书的验证,该对称密码算法使用与服务器共享的秘密密钥。在一些实施例中,服务器证书包括服务器一次性口令。在一些实施例中,服务器证书包括数据签名。在一些实施例中,服务器证书包括消息认证码(MAC)。在一些实施例中,服务器证书包括加密的输入数据。在一些实施例中,服务器证书的目的是认证服务器或者服务器应用。在一些实施例中,服务器证书的目的是认证令牌从服务器接收的输入数据。在一些实施例中,服务器证书的目的是保护令牌从服务器接收的输入数据的完整性。在一些实施例中,服务器证书的目的是保护令牌从服务器接收的输入数据的保密性。在一些实施例中,令牌生成动态安全证书可以以服务器证书的成功验证为条件。
在一个具体实施例中,将输入数据编码为包括位序列的二进制数据串。使用两个编码频率来发射二进制数据串作为声学信号,一个编码频率是另一编码频率的双倍。
动态安全值的生成。
在一些实施例中,令牌适于生成动态安全值。在一些实施例中,生成的动态安全值可以包括一次性或者动态口令和/或对挑战的响应和/或对事务数据的电子签名。在一些实施例中,令牌适于向用户呈现生成的动态安全值。在一些实施例中,通过按密码组合至少一个秘密值(比如密码密钥)与至少一个动态值(比如时间值和/或计数器值和/或挑战和/或与事务有关的数据)来生成动态安全值。在一些实施例中,按密码组合包括执行密码算法。在一些实施例中,密码算法可以包括对称加密或者解密算法、比如DES、3DES或者AES。在一些实施例中,密码算法可以包括哈希或者键控哈希算法、比如SHA-1。
在一些实施例中,令牌包括适于执行在令牌生成动态安全值时使用的密码算法的数据处理部件。在一些实施例中,令牌包括用于存储在令牌生成动态安全值时使用的一个或者多个密码秘密的存储器部件。在一些实施例中,存储的密码秘密是与认证服务器共享的对称密钥。在一些实施例中,存储的密码秘密在非易失性存储器中存储于令牌中并且用于动态安全值的多次生成。在一些实施例中,存储的密码秘密用于动态安全值的仅一次生成并且可以在一些实施例中存储于易失性存储器中和/或在已经生成动态安全值之后从存储器被主动擦除。
在一些实施例中,令牌适于与第二安全设备通信,并且动态安全值由令牌与该第二安全设备结合或者协作地生成。在一些实施例中,令牌适于向第二安全设备发送命令、从第二安全设备接收响应并且从该响应得出动态安全值。在一些实施例中,第二安全设备存储秘密密钥,并且令牌通知第二安全设备在密码计算中使用该秘密密钥并且向令牌返回该密码计算的结果。在一些实施例中,第二安全设备按密码组合它存储的秘密密钥与它已经从令牌接收的一个或者多个数据元、如例如挑战或者事务数据。在一些实施例中,第二安全设备按密码组合它存储的秘密密钥与它内部存储和维护的一个或者多个数据元、如例如计数器。在一些实施例中,令牌使用第二安全设备的响应以得出秘密密钥,它按密码组合该秘密密钥与动态变量以生成动态安全值。在一些实施例中,可以从通过令牌的声学输入接口向令牌中的数据输入(如例如挑战或者一个或者多个与事务有关的数据元)得出动态变量。在一些实施例中,第二安全设备包括智能卡。在一些实施例中,智能卡包括符合Europay、MasterCard、Visa(EMV)标准的金融智能卡,并且令牌适于与符合EMV的智能卡通信。
PIN处置。
在一些实施例中,令牌适于接收用户提供的PIN值。在一些实施例中,令牌适于向第二安全设备(比如智能卡)传递用户提供的PIN值用于验证。在一些实施例中,令牌适于一旦已经验证这样的PIN值就从它的存储器去除该PIN值的任何格式的任何副本。在一些实施例中,令牌已经适于在已经验证这样的PIN值之后主动擦除或者改写其中已经暂时存储PIN值的存储器位置。
声学和光学输入接口在相同令牌中共存。
在一些实施例中,在用户的计算设备(该计算设备可以例如包括PC、写字板计算机或者智能电话)上的应用发射声学信号,该声学信号对注定由用户的令牌接收的输入数据进行编码。在一些实施例中,用户的计算设备具有显示器,该显示器显示注定由用户的令牌接收的光学编码的输入数据。可以例如在闪烁图案中对光学编码的数据进行编码。在一些实施例中,用户的计算设备发射对注定由用户的令牌接收的输入数据进行编码的声学信号,并且它具有显示闪烁图案的显示器,该闪烁图案也对注定由用户的令牌接收的输入数据进行编码。在一些实施例中,用户的计算设备声学发射的数据和它光学编码的数据对基本上相同信息进行编码。在一些实施例中,用户的计算设备声学发射的数据不同于它光学编码的数据。在一些实施例中,用户的计算设备声学发射的数据与它光学编码的数据互补。
在一些实施例中,令牌具有声学和光学输入接口二者并且可以可选地也具有手动用户输入接口。
在一些实施例中,令牌适于从用户接收令牌是否应当经由它的光学输入接口或者经由它的声学输入接口接收输入数据的指示。在一些实施例中,在用户已经指示光学输入接口应当用来输入数据时,令牌启用光学输入接口并且可以停用声学输入接口。在一些实施例中,在用户已经指示声学输入接口应当用来输入数据时,令牌启用声学输入接口并且可以停用光学输入接口。
在一些实施例中,声学和光学输入接口可以均被同时启用。在一些实施例中,声学和光学输入接口均被默认启用。在一些实施例中,在声学和光学输入接口均被同时启用时,令牌适于通过声学和光学输入接口二者并行接收数据。在一些实施例中,令牌适于组装或者组合它通过光学输入接口接收的数据与它通过声学输入接口接收的数据。例如,如果将由令牌接收的消息包括多个数据块,则令牌可以通过光学输入接口接收消息的一些数据块并且通过声学输入接口接收消息的其它数据块,并且令牌可以组合这些数据块以组装整个消息。这可以例如是在用户的计算设备经由声学和光学输入接口发送相同消息、但是由于光学和声学信道中的传输错误可能尚未经由声学输入接口正确接收一些数据块而可能尚未经由光学输入接口正确接收其它数据块时的情况。在一些实施例中,令牌适于通过声学和光学输入接口二者并行接收数据并且假设通过声学和光学输入接口二者发送相同消息。在一些实施例中,令牌适于通过声学和光学输入接口二者并行接收数据并且一旦它已经经由光学或者声学输入接口中的任一输入接口成功接收消息就认为消息接收成功。
在一些实施例中,令牌适于选择光学或者声学输入接口之一以在不接收用户的指示的情况下接收数据。
在一些实施例中,令牌包括用于选择光学或者声学输入接口之一的输入接口选择机制。在一些实施例中,可以使用数据处理部件、比如麦克风或者逻辑电路来实施输入接口选择机制。
在一些实施例中,输入接口选择机制基于通过声学和光学输入接口接收的信号的某个特性借助启发式规则判决优选哪个输入接口以接收数据。在一些实施例中,令牌并行分析声学和光学输入接口二者的信号并且基于这一分析的结果判决是否对光学或者声学输入接口的信号执行进一步处理以尝试解调数据并且接收消息。在一些实施例中,这一分析包括分析光学和/或声学信号的能量和/或频率内容。在一些实施例中,分析包括比较接收的信号在具体频率范围中的能量与参考值。
在一些实施例中,令牌适于用以下方式选择光学或者声学输入接口之一以接收数据。初始地,令牌尝试特定时段(例如一秒或甚至少于一秒)通过光学或者声学输入接口中的第一输入接口接收至少一些数据。如果这成功,则令牌选择这一输入接口并且继续通过选择的输入接口接收数据。如果它失败,则令牌用另一输入接口重复选择过程。这一选择过程可以继续直至令牌通过输入接口之一接收数据成功。
在一些实施例中,令牌适于在它通过选择的输入接口接收数据时检测传输问题。在一些实施例中,令牌可以适于在选择的输入接口的传输问题的情况下返回到接口选择阶段。在一些实施例中,用于返回到接口选择阶段的判决可以依赖于预定义标准。在一些实施例中,这些预定义标准可以考虑检测到的传输错误的特性。在一些实施例中,令牌可以例如在已经超过每时间单位的传输错误数目的预定义阈值时判决返回到接口选择阶段。
根据本发明的一个方面,一种强认证令牌通过以下操作生成动态安全值:在认证令牌处从远程计算机系统接收声学信号;通过解调声学信号来获得输入数据;并且在认证令牌处通过从声学信号恢复输入数据并且处理恢复的输入数据来生成动态安全值。认证令牌可以包括用于与可拆卸安全设备通信的通信接口,并且生成步骤可以包括与可拆卸安全设备协作地用认证令牌生成动态安全值。该方法还可以包括接收包括附加输入数据的光学信号,并且生成步骤可以包括组合恢复的输入数据和附加输入数据。
本发明的又一方面包括一种用于保护用户通过计算设备访问的远程的基于服务器的应用的方法,该计算设备例如通过因特网与应用服务器通信。该方法可以包括以下步骤。
-使包括声学输入接口的认证令牌可用于用户。认证令牌可以是在前述段落中的任何段落中描述的认证令牌之一。在一些实施例中,使第二安全设备、比如智能卡可用于用户以与认证令牌结合用来生成动态安全值。
-组装将向所述认证令牌中输入的输入数据。这些输入数据可以例如包括挑战或者与事务有关的数据或者与事务上下文有关的数据。在一些实施例中,输入数据可以包括服务器证书。为了获得服务器证书,服务器可以可选地首先生成服务器证书。服务器可以使用秘密密钥和密码算法来生成服务器证书。密码算法可以是对称密码算法。在一些实施例中,可以与用户的认证令牌共享用于生成服务器证书的秘密密钥。
-向用户的计算设备发送输入数据。用户的计算设备可以运行计算机应用、比如web浏览器。可以在基于服务器的应用向计算设备的浏览器供应的一个或者多个网页中嵌入输入数据。
-在用户的计算设备处发射对输入数据进行编码的调制的声学信号以由认证令牌接收和解调用于认证令牌恢复输入数据。认证令牌可以如在前述段落中描述的那样接收和调制声学信号并且从解调的声学信号恢复输入数据。在一些实施例中,也可以在用户的计算设备处发射光学信号。在一些实施例中,光学信号可以对包括部分或者全部的输入数据的数据进行编码。
-从用户接收认证令牌已经生成的动态安全值。认证令牌可以如在前述段落中描述的那样生成动态安全值。在一些实施例中,认证令牌包括用于与可拆卸第二安全设备通信的通信接口,并且认证令牌与可拆卸第二安全设备协作地生成动态安全值。在一些实施例中,认证令牌处理输入数据以生成动态安全值。在一些实施例中,通过按密码组合动态变量与秘密密钥来生成动态安全值。在一些实施例中,按密码组合包括使用对称密码算法。在一些实施例中,动态变量包括挑战。在一些实施例中,动态变量包括与事务有关的数据。在一些实施例中,动态变量包括与时间有关的值。在一些实施例中,动态变量包括计数器。在一些实施例中,动态变量包括在从基于服务器的应用接收的输入数据中包括的数据元。在一些实施例中,使用与基于服务器的应用共享的密钥来生成动态安全值。在一些实施例中,输入数据包括服务器证书,并且认证令牌在生成动态安全值之前验证服务器证书。在一些实施例中,认证令牌使用对称密码算法和与应用服务器共享的密码密钥以验证服务器证书。在一些实施例中,认证令牌在服务器证书的验证成功的条件下生成动态安全值。在一些实施例中,认证令牌包括安全用户输出接口并且使用该安全用户输出接口以向用户输出动态安全值。在一些实施例中,用户接收动态安全值并且在与基于服务器的应用有关的网页上录入动态安全值。
-验证接收的动态安全值。应用服务器可以使用密码算法来验证接收的动态安全值。在一些实施例中,应用服务器按密码组合参考动态变量与参考秘密密钥以验证接收的动态安全值。在一些实施例中,应用服务器生成参考安全值并且比较参考安全值与接收的动态安全值。在一些实施例中,应用服务器通过按密码组合参考动态变量与参考秘密密钥来计算参考安全值。在一些实施例中,按密码组合包括执行对称密码算法。在一些实施例中,秘密密钥包括应用服务器与认证令牌或者与可拆卸第二安全设备共享的秘密密钥,用户的认证令牌已经与该第二安全设备配合以生成动态安全值。
-根据动态安全值的验证的结果采取适当动作。在一些实施例中,这可以包括在验证成功的情况下向用户准予对基于服务器的应用的访问并且在验证未成功的情况下向用户拒绝访问。在一些实施例中,这可以包括如果验证成功则执行用户提交的事务请求并且如果验证未成功的情况下则不执行该事务请求。
在一些实施例中,应用服务器可以包括运行一个或者多个软件应用的一个或者多个服务器计算机。在一些实施例中,应用服务器可以包括一个或者多个web服务器。在一些实施例中,应用服务器可以包括用于存储数据的一个或者多个数据库。在一些实施例中,应用服务器可以使用和/或存储与用户有关的数据。在一些实施例中,应用服务器可以使用和/或存储与认证令牌有关的数据。在一些实施例中,与用户或者认证令牌有关的数据包括一个或者多个秘密密钥。在一些实施例中,可以与用户的认证令牌或者可拆卸第二安全设备共享这些秘密密钥中的一个或者多个秘密密钥,用户的认证令牌已与该第二安全设备协作地生成动态安全值。
发射周期和编码方案。
在多数实施例中,具有声学和/或光学输入接口的认证令牌不适于向发射声学和/或光学信号的计算设备传达某种反馈、即声学或者光学通信是单行或者单向通信。作为结果,这些认证令牌不能通知它们已经开始接收光学或者声学信号或者它们何时已经成功接收数据或者是否恰好相反为接收失败。在一些实施例中,计算设备因此发送数据若干次以向认证令牌给予用于接收信号的充足机会。在一些实施例中,计算设备继续发送数据直至满足某个条件、例如直至用户例如通过在计算设备上录入安全值来显式地或者隐式地指示认证令牌已经接收数据,该安全值是认证令牌处理计算设备发送的数据的结果。在一些实施例中,计算设备重复多个发射循环,其中在每个发射循环中,计算设备发射对将向认证令牌发送的数据进行编码的声学和/或光学信号。在一些实施例中,计算设备发射光学和声学信号二者,并且同步光学和声学信号的发射周期。在一些实施例中,计算设备发射光学和声学信号二者,并且光学和声学信号的发射周期独立而不同步。在一些实施例中,以相同方式对光学或者声学信号的每个发射周期中的数据进行编码。在一些实施例中,计算设备可以为不同发射周期应用不同编码方案。
在多数实施例中,认证令牌和计算设备不适于同步认证令牌的接收与计算设备的发射。作为结果,在许多情况下,认证令牌在发射周期中的某个随机点开始对光学和/或声学信号进行接收和解码。为了允许认证令牌检测发射周期的边界,在一些实施例中,可以对数据进行编码使得认证令牌可以检测发射周期的开始和/或结束。在一些实施例中,可以使用某个开始序列或者开始符号对数据进行编码。在一些实施例中,可以使用某个结束或者停止序列或者结束或者停止符号对数据进行编码。在一些实施例中,在一个发射周期中发送的数据被分离序列或者分离符号从在先前或者后继发射周期中发送的数据分离。在一些实施例中,数据编码可以包括数据的长度或者大小指示。在一些实施例中,认证令牌丢弃它在检测到发射周期的开始之前接收的任何数据。在一些实施例中,认证令牌缓冲它在一个发射周期的结束之前接收的任何数据并且组合它与它在后继发射周期的开始之前接收的数据以重建在整个发射周期中发送的数据。
例如,在一些实施例中,在消息中对数据进行编码,该消息以固定开始序列为开始、以固定结束序列为结束,并且可以(例如在消息的开始或者在消息的结束)包含消息的长度的指示。计算设备可以在每个发送周期中发射相同消息。认证令牌可以适于一旦它已经开始接收信号对接收的信号进行解码并且可以缓冲解码的数据。一般而言,认证令牌可以在发射周期中的随机点某处开始接收并且因此可以从消息中的某一随机点开始接收消息的最后部分。在认证令牌已经在一个周期中达到消息的结束时,它可以在后继发射周期中继续接收消息的第一部分。一旦认证令牌已经接收待接收的数据的长度或大小的指示,它可以从该长度指示以及从在第一发射周期的最后部分中已经接收的数据的大小和在后继发射周期的第一部分中随后接收的数据的大小推断它仍然必须在它接收消息的所有数据之前接收多少数据。一旦认证令牌已经推断它已经在第一发射周期的最后部分中或者在后继发射周期的第一部分中接收消息的所有数据,它可以停止接收并且组合在第一发射周期的最后部分中接收的数据与在后继发射周期的第一部分中接收的数据以重建整个消息。
在一些情况下,认证令牌接收的光学和/或声学信号可能或多或少受破坏,并且解码的数据可能包括错误数据。在一些实施例中,可以对数据进行编码使得认证令牌可以检测至少一些传输错误。例如包含编码的数据的消息可以包括在编码的数据之上的检错码。在一些实施例中,包含编码的数据的消息可以包括周期冗余码(CRC)。在一些实施例中,包含编码的数据的消息可以包括校验和。在一些实施例中,包含编码的数据的消息可以包括Luhn校验数位。在一些实施例中,包含编码的数据的消息可以包括纵向冗余校验(LRC)码。在一些实施例中,在令牌检测到接收的消息或者接收的消息的部分包含错误时,它丢弃接收的消息的部分或者全部并且可以继续接收光学和/或声学信号例如直至令牌已经接收看来无错误的消息或者直至令牌已经接收看来无错误的并且令牌可以用来构造整个消息的充分消息部分。
在一些实施例中,待发送的数据被划分成多个原始数据块,并且在发射周期中发送的消息包括所有原始数据块的组合。在一些实施例中,原始数据块在消息中的顺序在每个发射周期中相同。在一些实施例中,原始数据块在消息中的顺序可以从一个发射周期到下一发射周期变化。在一些实施例中,每个原始数据块在每个发射周期的消息中出现确切一次。在一些实施例中,一些原始数据块可以在一些发射周期的消息中出现多于一次。在一些实施例中,原始数据块的数目固定。在一些实施例中,原始数据块的大小可以根据将发送和在消息中编码的数据的总大小而变化。在一些实施例中,原始数据块的最大尺寸固定。在一些实施例中,除了原始数据块之一以外的所有原始数据块具有相同大小。在一些实施例中,所有原始数据块具有相同大小,并且至少一个原始数据块(例如包括数据的最后部分的块)可以包括填充。在一些实施例中,原始数据块数目可以根据将发送并且在消息中编码的数据的总大小而变化。在一些实施例中,可以从在发射周期中发送不同数据块的顺序隐式地标识不同数据块。在一些实施例中,可以从一些标识元素、比如与数据块关联的标识标签或者块编号显式地标识不同数据块。为了允许认证令牌检测数据块的边界,在一些实施例中,可以对数据块中的至少一些数据块进行编码使得认证令牌可以检测这些数据块的开始和/或结束。在一些实施例中,可以使用一些开始序列或者开始符号对数据块进行编码。在一些实施例中,可以使用一些结束或者停止序列或者结束或者停止符号对数据块进行编码。在一些实施例中,数据块被分离序列或者分离符号从先前或者后继数据块分离。在一些实施例中,至少一些数据块可以包括数据块的长度或者大小指示。
在一些实施例中,在发射周期中发送的消息包括多个块,并且可以对消息进行编码使得令牌可以为每个块单独检测至少一些传输错误。例如,每个块可以包括已经在该块中包括的数据之上计算的检错码(比如CRC或者校验和或者Luhn校验数位或者LRC)。在一些实施例中,可以用标识符、比如唯一编号标注消息中的块。在一些实施例中,令牌丢弃明显受传输错误影响的接收的块并且缓冲已经明显无传输错误接收的接收块。在一些实施例中,令牌继续接收消息或者数据块直至它已经从一起组成消息的所有块接收到明显无传输错误的版本。在一些实施例中,令牌继续接收数据块直至它已经接收看来无错误的并且令牌可以用来构造整个消息的充分数据块。
在一些实施例中,将借助光学或者声学输入接口向认证令牌发送的原始数据(可选地用填充来扩展)被编码和划分成数目为(N+1)的块,从而认证可以从N+1个块中的N个块的任何组合重建原始数据。换而言之,只要N+1个块中的不多于一个块遗漏,认证令牌可以重建原始数据。在一些实施例中,将原始数据划分成N个原始数据块(这些原始数据块在本文的其余部分中也可以称为普通净荷块),并且向消息添加额外冗余块,其中从N个原始数据(或者普通净荷)块计算额外冗余块、使得用额外冗余块和原始数据(或者普通净荷)块中的N-1个原始数据(或者普通净荷)块的任何组合,认证令牌可以重建N个原始数据(或者普通净荷)块。在一些实施例中,通过对N个原始数据块应用异或运算和/或模加法来计算额外冗余块。在一些实施例中,将原始数据划分成N个原始数据块,其中将每个原始数据块编码为来自某个符号集(该符号集可以是位,但是该符号集也可以是另一符号集、比如三进制或者四进制符号集)的符号序列,并且其中将每个原始数据块进一步划分成相等数目的符号组,并且其中计算包括相同数目的符号组的额外冗余块,其中如下方式从N个原始数据块的N个对应符号组计算额外冗余块的每个符号组,使得认证令牌可以与额外冗余块的对应符号组结合地从N-1个其它原始数据块的N-1个对应符号组重建N个原始数据块中的任何原始数据块的符号组中的任何符号组。在一些实施例中,计算额外冗余块的符号组包括模加法。在一些实施例中,计算额外冗余块的符号组包括异或(XOR)运算。在一些实施例中,符号组都具有相同大小。在一些实施例中,符号组可以具有不同大小。在一些实施例中,对额外冗余块的所有符号组以相同方式完成额外冗余块的符号组的计算。在一些实施例中,可以为额外冗余块的不同符号组以不同方式完成额外冗余块的符号组的计算。在一些实施例中,符号组都具有相同大小。在一些实施例中,符号组可以具有不同大小。例如,在一些实施例中,将原始数据划分成相等大小的N个原始数据块(其中一个或者多个块可以包括填充位),并且计算相同大小的额外冗余块,其中计算额外冗余块的每个位为在N个原始数据块的对应位置的N个位的异或(XOR)。在一些实施例中,将原始数据划分成相等数目的半字节的N个原始数据块(其中一个或者多个块可以包括填充位),并且计算相同数目半字节的额外冗余块,其中计算额外冗余块的每个半字节作为在N个原始数据块的对应位置的N个半字节以16为模的加法。在一些实施例中,将原始数据划分成相等数目的字节的N个原始数据块(其中一个或者多个块可以包括填充位),并且计算相同数目字节的额外冗余块,其中计算额外冗余块的每个字节作为在N个原始数据块的对应位置的N个字节以256为模的加法。在一些实施例中,额外冗余块可以包括作为对原始数据块的对应位的异或运算而计算的位和/或可以包括作为原始数据块中的对应半字节以16为模的加法而计算的半字节,和/或可以包括作为原始数据块中的对应字节以256为模的加法而计算的字节。
在一些实施例中,在发射周期中发射的消息可以包括多于一个额外冗余块。在一些实施例中,将原始数据(或者普通净荷)块划分成组,并且对原始数据(或者普通净荷)块的每个组计算和向消息添加额外冗余块。
在一些实施例中,可以从个别原始数据块(这些原始数据块可以包含不同净荷,这些净荷包括原始数据的不同部分)和个别额外冗余块(这些额外冗余块可以互不相同,因为已可以从不同原始数据块组的内容计算它们)在发射周期中出现的顺序隐式地标识它们。在一些实施例中,可以从一些标识元素、比如与数据块关联的标识标签或者块编号显式地标识不同原始数据块和额外冗余块。在一些实施例中,额外冗余块可以具有特殊标识符、比如在发射顺序中的具体位置(例如额外冗余块可以是将在发射周期中发射的第一或者最后块),或者额外冗余块可以具有特殊标识标签或者标识号(例如编号0)。在一些实施例中,在计算额外冗余块的内容时未考虑原始数据块的块标识元素。
为了允许认证令牌检测不同原始数据块(或者普通净荷块)和额外冗余块的边界,在一些实施例中,可以对块中的至少一些块进行编码使得认证令牌可以检测这些块的开始和/或结束。在一些实施例中,可以使用某个开始序列或者开始符号对不同原始数据块和/或额外冗余块进行编码。在一些实施例中,可以使用某个结束或者停止序列或者结束或者停止序列符号对不同原始数据块和/或额外冗余块进行编码。在一些实施例中,不同原始数据块和/或额外冗余块被分离序列或者分离符号从先前或者后继块分离。在一些实施例中,原始数据块和额外冗余块中的至少一些块可以包括块和/或整个消息的长度或者大小指示。
在一些实施例中,可以对原始数据块(或者普通净荷块)和/或额外冗余数据块进行编码使得接收认证令牌可以检测至少一些块中的至少一些传输错误。在一些实施例中,原始数据块(或者普通净荷块)和/或额外冗余数据块中的至少一些数据块可以包括已经对在该块中包括的数据之上计算的检错码(比如CRC或者校验和或者Luhn校验数位或者LRC)。在一些实施例中,在计算额外冗余块的内容时未考虑原始数据块的检错码。
在一些实施例中,认证令牌包括声学和/或光学输入接口并且适于对计算设备发射的声学和/或光学信号进行接收和解码,其中可以如在前述段落中描述的实施例中的任何实施例中那样对信号进行编码和发射。例如,在一些实施例中,认证令牌适于对计算设备发射的声学或者光学信号进行接收和解码,其中计算设备重复多个发射周期,其中在每个发射周期中,计算设备发射对将向认证令牌发送的原始数据进行编码的声学和/或光学信号。在许多实施例中,这些声学和/或光学输入接口为单向并且仅允许单行通信、即允许认证令牌仅接收数据、但是不发射数据。
在一些实施例中,认证令牌适于在它在发射周期的开始之后的某个随机点开始接收信号时执行(例如借助适当适配的信号接收电路和/或数据处理部件)包括以下步骤的信号接收和解码方法:开始对当前发射周期的接收的信号进行解码而不等待下一发射周期的开始、缓冲(例如通过在存储器部件中存储)当前发射周期的解码的数据中的至少一些解码的数据、组合当前发射周期的缓冲数据与从在下一发射周期中接收的信号解码的数据、检测从第一和后续发射周期取回的组合的数据是否包括待接收的所有原始数据,并且在已经这样检测到它已经接收所有原始数据之后停止接收和/或对信号进行解码并且开始处理接收的数据。
在一些实施例中,认证令牌适于执行(例如借助适当适配的信号接收电路和/或数据处理部件)包括以下步骤的信号接收和解码方法:对光学和/或声学信号进行解码,该光学和/或声学信号对将由令牌接收并且在多个发射周期中由计算设备发射的原始数据进行编码,缓冲(例如通过在存储器部件中存储)在多于一个发射周期中接收的数据的部分,检测缓冲的数据的组合是否包括待接收的所有原始数据,并且在已经这样检测到已经接收待接收的所有原始数据之后停止以对信号进行接收和解码,并且通过以适当方式组合缓冲的数据来取回原始数据并且开始处理原始数据。
在一些实施例中,认证令牌适于对计算设备发射的声学或者光学信号进行接收和解码,其中计算设备重复多个发射周期,其中在每个发射周期中,计算设备发射对消息进行编码的光学和/或声学信号,该消息包括将向认证令牌发送的原始数据,其中将消息划分成多个数据块。在一些实施例中,认证令牌可以适于检测这些数据块的边界。在一些实施例中,认证令牌可以缓冲在不同发射周期中接收的数据块。在一些实施例中,认证令牌适于检测缓冲的数据块的组合是否允许取回所有原始数据。在一些实施例中,认证令牌适于执行(例如借助适当适配的信号接收电路和/或数据处理部件)包括以下步骤的信号接收和解码方法:对光学和/或声学信号进行解码,该光学和/或声学信号对消息进行编码,该消息包括将由令牌接收并且在多个发射周期中由计算设备发射的原始数据,其中消息包括多个数据块,在解码的信号中检测数据块,缓冲(例如通过在存储器部件中存储)在多于一个发射周期中接收的消息数据块,检测缓冲的数据块的组合是否允许取回待接收的所有原始数据,并且在已经这样检测到可以从缓冲的数据块取回待接收的所有原始数据之后停止以对信号接收和进行解码,并且通过以适当方式组合缓冲的数据块来取回原始数据并且开始处理原始数据。
在一些实施例中,认证令牌适于对计算设备发射的声学或者光学信号进行接收和解码,其中计算设备重复多个发射周期,其中在每个发射周期中,计算设备发射对消息进行编码的声学和/或光学信号,该消息包括将向认证令牌发送的原始数据,其中将消息划分成多个数据块,并且其中数据块中的至少一些数据块包括检错码。在一些实施例中,认证令牌可以适于检测这些数据块的边界。在一些实施例中,认证令牌可以适于验证接收的数据块的检错码。在一些实施例中,认证令牌可以缓冲在不同发射周期中接收的数据块。在一些实施例中,认证令牌仅在与数据块关联的检错码的验证未指示数据块包含传输错误的条件下缓冲该数据块。在一些实施例中,认证令牌适于检测缓冲的数据块的组合是否允许取回所有原始数据。在一些实施例中,认证令牌适于执行(例如借助适当适配的信号接收电路和/或数据处理部件)包括以下步骤的信号接收和解码方法:对光学和/或声学信号进行解码,该光学和/或声学信号对消息进行编码,该消息包括将由令牌接收并且在多个发射周期中由计算设备发射的原始数据,其中消息包括多个数据块,检测解码的信号中的数据块,验证与任何接收的消息数据块关联的检错码,在与在多于一个发射周期中接收的消息数据块关联的检错码的验证未指示这些数据块中的传输错误的条件下缓冲(例如通过在存储器部件中存储)这些数据块,检测缓冲的数据块的组合是否允许取回待接收的所有原始数据,并且在已经这样检测到可以从缓冲的数据块取回待接收的所有原始数据之后停止以对信号进行接收和解码并且通过组合缓冲的数据块的内容来取回原始数据并且开始处理原始数据。
在一些实施例中,认证设备适于对计算设备发射的声学或者光学信号进行接收和解码,其中计算设备重复多个发射周期,其中在每个发射周期中,计算设备发射对消息进行编码的光学和/或声学信号,该消息包括将向认证令牌发送的原始数据,其中将消息划分成包括至少两个原始数据(或者普通净荷)块和一个或者多个额外冗余块的多个数据块,其中如在前述段落中描述的那样从原始数据块组计算每个冗余块。在一些实施例中,认证令牌可以适于检测这些数据块的边界。在一些实施例中,认证令牌可以缓冲在不同发射周期中接收的数据块。在一些实施例中,认证令牌适于检测缓冲的数据块的组合是否允许取回所有原始数据。在一些实施例中,认证令牌适于检测是否可以从已经接收的一个或者多个额外冗余块和一个或者多个原始数据块的组合计算任何遗漏原始数据块。在一些实施例中,认证令牌适于执行(例如借助适当适配的信号接收电路和/或数据处理部件)包括以下步骤的信号接收和解码方法:对光学和/或声学信号进行解码,该光学和/或声学信号对消息进行编码,该消息包括将由令牌接收并且在多个发射周期中由计算设备发射的原始数据,其中消息包括多个数据块,检测解码的信号中的数据块,缓冲(例如通过在存储器部件中存储)在多于一个发射周期中接收的消息数据块,检测缓冲的数据块是否为原始数据块或者额外冗余数据块,检测缓冲的数据块的组合是否允许取回待接收的所有原始数据,并且在已经这样检测到可以从缓冲的数据块取回待接收的所有原始数据之后停止以对信号进行接收和解码,并且通过以适当方式组合缓冲的数据块来取回原始数据并且开始处理原始数据;其中检测缓冲的数据块的组合是否允许取回待接收的所有原始数据的步骤包括检测缓冲的数据块是否包括所有不同原始数据块或者是否可以从缓冲的原始数据块中的一个或者多个原始数据块和缓冲的额外冗余块中的一个或者多个额外冗余块计算任何遗漏原始数据块;并且其中通过以适当方式组合缓冲的数据块来取回原始数据包括在缓冲的数据块中不存在至少一个原始数据块、但是已经检测到可以从缓冲的数据块计算它的情况下从缓冲的原始数据块中的一个或者多个原始数据块和缓冲的额外冗余块中的一个或者多个额外冗余块计算该至少一个遗漏原始数据块。
在一些实施例中,认证令牌适于对计算设备发射的声学或者光学信号进行接收和解码,其中计算设备重复多个发射周期,其中在每个发射周期中,计算设备发射对消息进行编码的声学和/或光学信号,该消息包括将向认证令牌发送的原始数据,其中将消息划分成包括至少两个原始数据(或者普通净荷)块和一个或者多个额外冗余块的多个数据块,其中如在前述段落中描述的那样从原始数据块组计算每个冗余块,并且其中数据块中的至少一些数据块包括检错码。在一些实施例中,认证令牌可以适于检测这些数据块的边界。在一些实施例中,认证令牌可以适于验证接收的数据块的检错码。在一些实施例中,认证令牌可以缓冲在不同发射周期中接收的数据块。在一些实施例中,认证令牌可以适于在与接收的数据块关联的检错码的认证未指示这些数据块包含传输错误的条件下缓冲这些接收的数据块。在一些实施例中,认证令牌适于检测缓冲的数据块的组合是否允许取回所有原始数据。在一些实施例中,认证令牌适于检测是否可以从已经接收的一个或者多个额外冗余块和一个或者多个原始数据块的组合计算任何遗漏原始数据块。在一些实施例中,认证令牌适于执行(例如借助适当适配的信号接收电路和/或数据处理部件)包括以下步骤的信号接收和解码方法:解码光学和/或声学信号,该光学和/或声学信号对消息进行编码,该消息包括将由令牌接收并且在多个发射周期中由计算设备发射的原始数据,其中消息包括多个数据块,检测解码的信号中的数据块,验证与任何接收的消息数据块关联的检错码,在与在多于一个发射周期中接收的消息数据块关联的检错码的验证未指示这些数据块中的传输错误的条件下缓冲(例如通过在存储器部件中存储)这些数据块,检测缓冲的数据块是否为原始数据块或者额外冗余数据块,检测缓冲的数据块的组合是否允许取回待接收的所有原始数据,并且在已经这样检测到可以从缓冲的数据块取回待接收的所有原始数据之后停止以对信号进行接收和解码,并且通过以适当方式组合缓冲的数据块来取回原始数据并且开始处理原始数据;其中检测缓冲的数据块的组合是否允许取回待接收的所有原始数据的步骤包括检测缓冲的数据块是否包括所有不同原始数据块或者是否可以从缓冲的原始数据块中的一个或者多个原始数据块和缓冲的额外冗余块中的一个或者多个额外冗余块计算任何遗漏原始数据块;并且其中通过以适当方式组合缓冲的数据块来取回原始数据包括在原始数据块中的至少一个原始数据块未在缓冲的数据块之中存在、但是已经检测到可以从缓冲的数据块计算它的情况下从缓冲的原始数据块中的一个或者多个原始数据块和缓冲的额外冗余块中的一个或者多个额外冗余块计算该至少一个遗漏原始数据块。
在一些实施例中,认证令牌可以适于从令牌接收和缓冲的额外冗余块(在发送侧上通过使用接收侧上遗漏的原始数据块来计算该额外冗余块)以及从用来计算额外冗余块并且已经由认证令牌接收和缓冲的其它原始数据块计算遗漏原始数据块。在一些实施例中,令牌可以适于通过应用与用来计算额外冗余块的方法互补的方法来计算遗漏原始数据块。
在一些实施例中,令牌可以适于通过应用与用来计算额外冗余块的方法相同、但是在计算中用额外冗余块替换遗漏原始数据块的方法来计算遗漏原始数据块。例如,在一些实施例中,可以已经计算额外冗余块的内容作为多个原始数据块的内容的按位异或,并且令牌可以已经适于如果和在已经通过对接收的额外冗余数据块和接收的其它原始数据块的内容执行按位异或来接收其它原始数据块和额外冗余块时则计算这些原始数据块之一的内容。
在一些实施例中,令牌可以适于通过应用与用来计算额外冗余块的方法相同、但是在计算中用额外冗余块替换遗漏原始数据块并且用接收的原始数据块的变换的版本替换其它原始数据块的方法来计算遗漏原始数据块。例如,在一些实施例中,可以已经通过对多个原始数据块的内容的对应子组的数值进行相加(例如通过执行原始数据块的对应半字节以16为模的加法来计算额外冗余块的半字节)来计算额外冗余块的内容的子组,并且令牌可以已经适于通过每遗漏原始数据块子组地执行接收的额外冗余数据块的内容的对应子组的数值和接收的其它原始数据块的内容的对应子组的数值的逆(其中值的逆在本文中意味着值与负一相乘)的加法来计算那些原始数据块之一的内容(如果和在已经接收其它原始数据块和额外冗余块时)。
有利效果
本发明的重要优点是配备有包括相对少数低成本部件的声学接口的强认证令牌可以在比配备有相似成本的光学接口的强认证令牌明显更高的速率接收输入数据。
本发明的另一优点是具有声学接口、但是无键区(或者有键区,该键区仅有减少的键集)的强认证令牌仍然可以用对于用户而言方便的方式接收数据输入,而与配备有键区——该键区具有至少数字键的全集——的令牌比较具有明显减少的尺寸。
本发明的另一明显优点是根据本发明的实施例中的一些实施例的配备有声学接口——该声学接口包括解调电路——的强认证令牌即使在存在背景噪声和多径接收反射时仍然允许声学信号的鲁棒和可靠解调。
本发明的又一优点是对将根据本发明的实施例中的一些实施例要发送的数据的明智编码和解码使得通过单向光学或声学接口进行的数据转移更可靠和高效。
附图说明
本发明的前述和其它特征及优点将从如附图中所示本发明的实施例的以下更具体描述中变得清楚。
图1图示本发明的典型实现方式。
图2示意地图示本发明的另一典型实现方式。
图3示意地图示根据本发明的一个方面的解调电路。
图4是描绘用于以根据本发明的一个方面的认证令牌使用的强认证方法的流程图。
图5是描绘根据本发明的一个方面的用于保护用户对远程应用的访问的方法的流程图。
图6图示根据本发明的一个方面的对将通过声学和/或光学接口向认证令牌发送的数据进行编码的消息的格式。
图7是描绘根据本发明的一个方面的用于对根据本发明的一个方面的消息进行编码的方法的流程图,该消息包括将通过声学和/或光学接口向认证令牌发送的数据。
图8是描绘根据本发明的一个方面的用于对根据本发明的一个方面的消息进行解码的方法的流程图,该消息包括认证令牌经由令牌的声学和/或光学接口接收的数据。
具体实施方式
以下讨论本发明的一些实现方式。尽管讨论了具体实现方式,但是应当理解仅出于示例的目的而这样做。本领域技术人员将认识到可以使用其它部件和配置而不脱离本发明的精神实质和范围。
图1图示了本发明的包括令牌(100)的典型实现方式,该令牌用于生成安全值、比如一次性口令以认证用户或者事务签名以指示用户对事务的批准,该令牌包括:
·声学接口(110),用于接收声学信号,这些声学信号传输用于令牌的输入数据;
·信任输出接口(130)、如例如显示器或者音频输出接口,用于向用户传达信息、比如所述安全值或者待批准的事务数据;
·(可选地)一个或者多个附加数据输入接口、比如例如包括键区的手动用户数据输入接口(120)和/或例如包括一个或者多个光敏元件、比如光敏元件阵列的光学数据输入接口(140),用于接收输入数据(该输入数据可以包括挑战和/或事务数据)和/或用于捕获用户对事务数据的批准;
·数据处理部件(150)、比如微处理器、控制器、FPGA(现场可编程门阵列)或者ASIC(专用集成电路),能够密码运算,用于使用与服务器共享的秘密来生成安全值(比如动态口令和/或电子签名)和/或验证服务器证书;
·数据存储部件(160)、比如ROM、EERPOM或者电池支持的RAM,用于存储配置数据和/或存储秘密,这些秘密可以包括对令牌的访问代码(例如PIN)和/或与服务器共享的秘密,并且用于生成安全值和/或验证服务器证书;
·时钟(170),用于提供可以在验证服务器证书时或者在生成安全值时使用的时间值。
在一些实施例中,键区(120)可以包括比图1上所示键更少的键。在一些实施例中,键区(120)可以包括比图1中所示键更多的键。
在一个实施例中,声学接口(110)包括麦克风和解调电路。
在一些实施例中,数据处理部件(150)实施输入接口选择机制以选择光学(140)或者声学(110)输入接口以接收输入数据。
在一些实施例中,令牌(100)是手持设备。在一些实施例中,手持设备紧凑并且具有少于1厘米的厚度和比标准信用卡的长度的150%更少的长度以及比标准信用卡的宽度的150%更少的宽度。在一些实施例中,手持设备重量少于70克。在一些实施例中,手持设备包括一个或者多个电池。在一些实施例中,手持设备包括一个或者多个可更换电池。在一些实施例中,手持设备的唯一电源包括一个或者多个电池。
图2示意地图示本发明的另一典型实现方式,该实现方式包括第一安全设备(101),该第一安全设备用于生成安全值、比如一次性口令以认证用户或者事务签名以指示用户对事务的批准,并且能够与可拆卸第二安全设备(102)、如例如智能卡通信,例如可以向该第二安全设备委托一些密码运算,该第一安全设备包括:
·声学接口(111),用于接收声学信号,这些声学信号传输输入数据;
·信任输出接口(131)、如例如显示器或者音频输出接口,用于向用户传达信息、比如所述安全值或者待批准的事务数据;
·(可选地)附加数据输入接口、比如例如包括键区的手动用户数据输入接口(121)和/或例如包括一个或者多个光敏元件、比如光敏元件阵列的光学数据输入接口(141),用于接收输入数据(该输入数据可以包括挑战和/或事务数据)和/或用于捕获用户对事务数据的批准;
·数据处理部件(151)、比如微处理器、控制器、FPGA(现场可编程门阵列)或者ASIC(专用集成电路),该数据处理部件能够密码运算,用于生成安全值(比如动态口令和/或电子签名)和/或验证服务器证书,其中可以使用与服务器共享的秘密,并且其中可以与可拆卸安全设备协作地完成该生成和/或验证;
·数据存储部件(161)、比如ROM、EERPOM或者电池支持的RAM,例如用于存储配置数据和/或秘密,这些秘密可以包括与服务器共享的秘密,并且用于生成安全值和/或验证服务器证书;
·接口(181)、例如包括智能卡连接器(182),用于与可拆卸安全设备(102)交互。
在一些实施例中,键区(121)可以包括比图2上所示键更少的键。在一些实施例中,键区(121)可以包括比图2上所示键更多的键。
在一个实施例中,声学接口(111)包括麦克风和解调电路。
在一些实施例中,数据处理部件(151)实施输入接口选择机制以选择光学(141)或者声学(111)输入接口来接收输入数据。
在一些实施例中,接口(181)包括用于与可拆卸安全设备交换数据的数据通信接口。在一些实施例中,可拆卸安全设备(102)是智能卡,并且数据通信接口包括用于与智能卡交换智能卡命令和响应的智能卡读取器。在一些实施例中,可拆卸安全设备(102)适于生成密码,并且第一安全设备(101)的数据通信接口(181)适于向第二安全设备(102)发送用于生成密码的命令并且从第二安全设备(102)获得响应于该命令而生成的密码。在一些实施例中,第二安全设备(102)使用对称密码算法和秘密密钥来生成密码。在一些实施例中,第一安全设备(101)在生成安全值时使用从第二安全设备(102)获得的密码。在一些实施例中,第一安全设备(101)生成安全值包括从第二安全设备(102)获得的数据选择位。在一些实施例中,从第二安全设备(102)获得的数据选择位包括从第二安全设备(102)生成的并且第一安全设备(101)获得的密码选择位。在一些实施例中,数据处理部件(151)适于在生成安全值时执行密码运算,其中密码运算涉及到从第二安全设备(102)生成的并且第一安全设备(101)获得的数据推导的密码密钥。在一些实施例中,这些密码运算包括在向第一安全设备(101)中输入的事务数据之上生成MAC(消息认证码)。
在一些实施例中,第一安全设备(101)适于:与智能卡(102)通信以向智能卡(102)发送智能卡命令,该智能卡命令通知智能卡(102)用智能卡(102)上存储的秘密密钥以及智能卡(102)上存储和维护的计数器使用对称密码算法来生成密码,从智能卡(102)接收智能卡(102)生成的该密码,从该接收的密码推导对称密钥,使用该推导的对称密钥以在与事务有关的数据集之上生成MAC,将MAC变换成动态安全值,并且借助输出接口(131)向用户呈现该动态安全值。在一些实施例中,第一安全设备(101)通过声学输入接口(111)接收与事务有关的数据集的至少一个数据。
在一些实施例中,第一安全设备(101)是手持设备。在一些实施例中,手持设备紧凑并且具有少于1厘米的厚度和比标准信用卡的长度的150%更少的长度以及比标准信用卡的宽度的150%更少的宽度。在一些实施例中,手持设备重量少于70克。在一些实施例中,手持设备包括一个或者多个电池。在一些实施例中,手持设备包括一个或者多个可更换电池。在一些实施例中,手持设备的唯一电源包括一个或者多个电池。
图3示意地图示根据本发明的一个方面的解调电路300。
在一个实施例中,解调电路(300)的输入节点(310)连接到接收声学信号的麦克风。可选地,解调电路(300)包括有选择地放大在输入节点(310)的输入信号的预放大部件(320)。在一方面向锁相环(330)而在另一方面向解调器部件(340和341)中的每个解调器部件馈送可选地有选择地放大的输入信号。锁相环(330)被调谐到基频并且生成多个参考信号。每个参考信号在具体频率处,该具体频率是锁相环(330)被同步到的基频的确切整数倍。参考信号的频率对应于被假设已经用来调制声学输入信号的编码频率。锁相环(330)向解调器部件(340和341)中的每个解调器部件提供这些参考信号之一。每个解调器部件(340和341)组合输入信号与它从锁相环(330)接收的参考信号,并且输出具有低频分量的信号,该信号指示在解调器部件(340和341)从锁相环(330)接收的参考信号的频率处在输入信号中的功率。每个解调器部件(340,341)的输出信号由低通滤波器(350,351)进行滤波,并且每个低通滤波器(350,351)的输出被馈送到比率检测器(360),该比率检测器比较低通滤波器(350,351)的信号并且在输出端子(370)输出数字信号,该数字信号指示输入信号在哪个编码频率具有最多功率。假设一般而言直接接收的信号具有比反射(和延迟)的信号更高的功率,将高效抑制输入信号由于反射所致的失真。尽管在图3中已经图示仅两组解调器部件和对应低通滤波器,但是应当清楚解调器部件和对应低通滤波器的数目并且因此编码频率数目可以在一些实施例中更大。
在一些实施例中,数据处理部件连接到解调电路(300)的输出端子(370)以进一步处理数字输出信号并且恢复和处理输入数据。在一些实施例中,数据处理部件可以包括微处理器或者微控制器或者现场可编程门阵列(FPGA)或者专用集成电路(ASIC)。
在一些实施例中,预放大部件(320)包括带通滤波器,该带通滤波器抑制比最低编码频率更低的频率并且抑制比最高编码频率更高的频率。假设输入信号中的在这一范围以外的频率处的任何功率仅可归因于背景噪声,这有助于抵消背景噪声。在一些实施例中,预放大部件(320)包括自动增益控制功能。
在一些实施例中,低通滤波器(350,351)的截止频率或多或少在输入信号的假设波特率处。在一些具体实施例中,低通滤波器(350,351)的截止频率少于输入信号的假设波特率的两倍。
在一些实施例中,锁相环(330)具有很小捕获范围。它在或多或少固定基频上工作,并且仅可能有很小偏差以保证相位锁定到该基频。应当注意锁相环(330)也能够在基频的整数倍上锁定。
在一些实施例中,锁相环包括数字锁相环。在一些实施例中,锁相环包括数控振荡器。
在一些实施例中,解调器部件包括同步AM(调幅)解调器。在一些实施例中,解调器部件包括乘积检测器。在一些实施例中,每个解调器部件将输入信号有效乘以它从锁相环(330)接收的在频率fx的参考信号。即它们的输出信号具有低频分量f_low=fx-fx=DC和高频分量f_high=fx+fx=2*fx。后一个高频由连接到该解调器部件的低通滤波器去除或者至少衰减。作为结果,接收的输入信号中的大部分背景噪声由这一低通滤波器最小化。在一些实施例中,解调器部件可以包括条件反相器。在一些实施例中,解调器部件可以包括双平衡混合器。
在一些实施例中,最低编码频率等于基频。
在其它实施例中,有两个编码频率。
在又一其它实施例中,编码频率是最低编码频率的整数倍。
图4描绘用于与强认证令牌(100/101)用来生成强安全值的步骤的流程图400。虽然以下参照图1-3的装置描述流程图400的步骤,但是本领域技术人员将从这里的描述中理解可以使用其它装置来执行该方法而不脱离本发明的范围。
在块402,从远程计算机系统接收包括输入数据的声学信号。可以在认证令牌100/101从计算机系统、比如PC、写字板计算机或者智能电话或者用户与之交互的某个其它计算/处理设备接收声学信号。认证令牌(100/101)可以是在先前段落中的任何段落中描述的具有声学输入接口(111)的认证令牌之一。输入数据可以包括用于认证/验证的数据、比如挑战、事务数据或者服务器证书。
在块404,通过解调声学信号来获得输入数据。可以使用解调电路300来解调声学信号。
在块404,生成动态安全值。可以如先前段落中的任何段落中描述的那样在认证令牌(100/101)生成动态安全值。可以在认证令牌(100/101)通过从解调的声学信号恢复输入数据并且用数据处理部件150/151处理恢复的输入数据来生成动态安全值。认证令牌(100/101)可以包括用于与可拆卸安全设备(102)、比如智能卡通信的通信接口(182),并且生成步骤可以包括与可拆卸安全设备(102)协作地用认证令牌(100/101)生成动态安全值。认证方法还可以包括接收包括附加输入数据的光学信号,并且生成步骤可以包括组合恢复的输入数据和附加输入数据。
图5图示根据本发明的一个方面的用于保护用户对远程应用的访问的方法(500)的各步骤。在一些实施例中,可以按照与这里描述的顺序不同的顺序执行一些步骤。在一些实施例中,可以省略一些步骤。在一些实施例中,可以执行额外步骤。
在步骤501,使具有声学输入接口的认证令牌(比如在前述段落中的任何段落中描述的认证令牌(100-101)之一)可用于用户。在(可选)步骤502中,也使可拆卸第二安全设备(102)、比如智能卡(该智能卡可以是符合EMV标准的金融卡)可用于用户以例如与认证令牌(100/101)结合使用(在该情况下,认证令牌(100/101)可以包括用于与第二安全设备(102)通信的通信接口)。
在步骤505中,用户例如通过可以例如包括(计算机)网络、比如因特网或者(移动)电话网络的通信网络从计算设备(比如PC、写字板计算机或者智能电话)访问(由应用服务器主控的)远程应用,并且例如使用在计算设备上运行的web浏览器。
在步骤510中,应用或者应用服务器组装输入数据。输入数据可以例如包括挑战或者与事务有关的数据或者与事务上下文有关的数据或者服务器证书。在(可选)子步骤511中,应用或者应用服务器生成服务器证书。
在步骤520中,应用或者应用服务器向用户用来例如通过因特网访问远程应用的用户计算设备发送(例如在一个或者多个网页中嵌入的)输入数据。
在步骤525中,使用户的计算设备发射对输入数据进行编码的调制的声学信号。在(可选)步骤526中,使用户的计算设备发射对数据进行编码的光学信号。在一些实施例中,在光学信号中编码的数据包括在声学信号中编码的数据的部分或者全部。
在步骤530中,认证令牌(100/101)接收声学和/或光学信号并且恢复在声学和/或光学信号中编码的数据。
在步骤535中,认证令牌(100/101)生成动态安全值。认证令牌(100/101)可以如在前述段落中的任何段落中描述的那样生成动态安全值。在一些实施例中,认证令牌(100/101)可以将从声学和/或光学信号恢复的数据用于生成动态安全值。在步骤536中,认证令牌(100/101)验证在从声学和/或光学信号恢复的数据中包括的服务器证书。在一些实施例中,动态安全值的生成以成功验证服务器证书为条件。在步骤537中,认证令牌(100/101)向用户输出生成的动态安全值。
在步骤540中,用户例如通过向应用的网页的表单字段中键入组成动态安全值的数位来向应用或者应用服务器发送生成的动态安全值。
在步骤550中,应用或者应用服务器接收动态安全值。在步骤551中,应用或者应用服务器验证接收的动态安全值。这一验证可以如在前述段落中的一些段落中描述的那样发生。
在步骤560中,应用或者应用服务器如在前述段落中的一些段落中描述的那样采取适当动作,该动作依赖于接收的动态安全值的验证结果。
图6图示根据本发明的一个方面的对将通过声学和/或光学接口向认证令牌(比如图1或者2中所示令牌100/101)发送的数据进行编码的消息的格式。消息(600)可以包括数据块(610,630,650)中的一个或者多个数据块。尽管图6图示三个数据块(610,630,650),但是在一些实施例中,消息(600)可以包括仅单个数据块(610)或者仅两个数据块(610和630或者650)。尽管图6为了清楚而图示具有仅三个数据块的消息(600),但是在一些实施例中,消息(600)可以实际包括如在所示数据块(610,630,650)之间的点象征的多于三个数据块。消息(600)中的数据块中的一些数据块可以是普通净荷块(610,630),这些普通净荷块包括将向认证令牌(100/101)发送的原始净荷数据的至少部分。尽管图6图示两个普通净荷块(610和630),但是在一些实施例中,消息(600)可以包括仅一个普通净荷块,而在其它实施例中,消息(600)可以包括多于两个净荷块。净荷块中的一些净荷块可以包括填充(未图示)。数据块中的一些数据块可以是各自如在前述和以下段落中的一些段落中描述的那样从多个普通净荷块的内容计算的额外冗余块(650)。即为了计算额外冗余块,可以对普通净荷块进行分组,或者换而言之,一些普通净荷块的内容可以已经用来计算一个额外冗余块,而一些其它普通净荷块的内容可以已经用来计算另一额外冗余块。尽管图6图示一个额外冗余块(650),但是在一些实施例中,消息(600)未包含任何额外冗余块,并且在其它实施例中,消息(600)可以包括多于一个冗余块。额外冗余块中的一些额外冗余块可以包括填充(未图示)。在一些实施例中,普通净荷块和/或额外冗余块中的至少一些块可以包括标识元素(611,631,651)、如例如标签或者编号。在一些实施例中,普通净荷块和/或额外冗余块中的至少一些块可以包括开始序列或者符号(612,632,652)。在一些实施例中,普通净荷块和/或额外冗余块中的至少一些块可以包括结束序列或者符号(613,633,653)。在一些实施例中,普通净荷块和/或额外冗余块中的至少一些块可以包括长度指示符(614,634,654)。在一些实施例中,额外冗余块(650)可以包括已经从普通净荷块(610和630)中的对应子块(分别为616、636和617、637)计算的一个或者多个子块(656和657)。在一些实施例中,对应子块具有相同大小。在一些实施例中,对应子块可以具有不同大小(在该情况下,计算额外冗余块的对应子块可以包括向一个或者多个子块添加填充)。在一些实施例中,相同数据块的子块具有相同大小。在一些实施例中,相同数据块的子块可以具有不同大小。尽管在图6中,每个数据块具有两个子块,但是在一些实施例中,数据块可以具有一个子块,并且在其它实施例中,数据块可以具有多于两个子块。
图7是描绘根据本发明的一个方面的用于对根据本发明的一个方面的消息编码的方法的流程图,该消息包括将通过声学和/或光学接口向认证令牌发送的数据。方法700包括以下步骤:
a.组装(710)净荷数据;
b.(可选地)向净荷数据添加(711)填充;
c.创建(720)一个或者多个净荷块,每个净荷块包含(可选地填充的)净荷中的至少一些净荷,其中在一些实施例中,一个或者多个净荷块一起包括至少所有净荷数据;
d.(可选地)向净荷块中的至少一些净荷块添加(721)填充;
e.(可选地)计算(730)一个或者多个额外冗余块;
f.(可选地)向净荷和/或额外冗余块中的至少一些添加(740)标识元素(比如标签或者编号);
g.(可选地)向净荷和/或额外冗余块中的至少一些添加(750)开始序列或者符号;
h.(可选地)向净荷和/或额外冗余块中的至少一些添加(751)结束序列或者符号;
i.(可选地)在净荷和/或额外冗余块中的至少一些之间添加(752)分离序列或者符号;
j.(可选地)向净荷和/或额外冗余块中的至少一些添加(753)长度指示;
k.(可选地)向净荷和/或额外冗余块中的至少一些添加(760)检错码;
l.以适当顺序将数据块(即净荷并且如果适用则为额外冗余块)组合(770)成消息,其中在一些实施例中也可以向消息添加额外元素(比如协议版本号)。在一些实施例中,数据块包括显式标识元素,并且数据块在消息中的顺序为任意并且可以甚至从一个发射周期到另一发射周期变化。在一些实施例中,数据块中的至少一些数据块可以缺乏显式标识元素,并且以具体定义好的顺序在消息中对块进行排序,从而块的标识由它们在消息中出现的顺序隐式地指示。例如,在一些实施例中,根据净荷块的净荷数据在原始数据串中出现的顺序在消息中对净荷块进行排序,并且净荷块跟随有正好一个额外冗余块。
在一些实施例中,计算额外冗余块包括组合来自净荷块组的数据。在一些实施例中,有从所有净荷块的内容计算的确切一个额外冗余块。在一些实施例中,有两个额外冗余块,并且每个净荷块的内容用于计算一个或者另一额外冗余块。例如在一些实施例中,有两个额外冗余块,并且奇数编号的净荷块的内容用于计算第一额外冗余块,而偶数编号的净荷块的内容用于计算第二额外冗余块。在一些实施例中,有多于两个额外冗余块,并且在计算额外冗余块之一时使用每个净荷块的内容一次。在一些实施例中,用于计算额外冗余块的净荷块组可以重叠、即可以在计算多于一个额外冗余块时使用一些净荷块的内容。
在一些实施例中,计算额外冗余块包括通过为每个额外冗余子块组合来自净荷块组的净荷块的对应子块来计算多个额外冗余子块、然后将计算的额外冗余子块组合(例如通过级联)成额外冗余块。例如在一些实施例中,子块具有单个位的大小,并且通过对用来计算额外冗余块的净荷块的对应位执行异或操作来计算额外冗余块的每位。在一些实施例中,一些额外冗余子块可以是字节大小,并且计算这些字节大小的额外冗余子块可以包括执行用来对包括额外冗余子块的额外冗余块进行计算的净荷块的内容的对应字节的以256为模的加法。在一些实施例中,额外冗余块的子块都具有相同大小。在一些实施例中,额外冗余块的子块可以具有不同大小。在一些实施例中,都以相同方式计算额外冗余块的子块。在一些实施例中,额外冗余块的子块中的一些子块可以用与其它子块不同的方式来计算。在一些实施例中,额外冗余子块和用来计算它们的净荷块的对应子块具有相同大小。在一些实施例中,用来计算额外冗余块的净荷块的子块可以具有不同大小。在一些实施例中,从净荷块的对应子块计算额外冗余子块可以包括向这些对应子块中的至少一些子块添加填充。
在一些实施例中,所有数据块具有相同大小,并且有通过组合所有净荷块的(可选填充的)净荷而计算的一个额外冗余块。在一些实施例中,计算额外冗余块包括对所有净荷块的净荷执行按位异或运算。在一些实施例中,开始、结束和分离序列相同。在一些实施例中,检错码包括CRC-12。在一些实施例中,对数据块进行编码,并且原始数据块的编号指示它们的净荷在原始数据串中的顺序。在一些实施例中,数据块也包括指示块总数的元素。在一些实施例中,消息可以包括一个额外冗余块,并且保留具体值(例如‘0’)用于对这一额外冗余数据块进行编号。
在一些实施例中,以如描述的顺序执行图7的方法的步骤。在一些实施例中,可以按与描述的顺序不同的顺序执行图7的方法的步骤中的一些步骤。
在一些实施例中,图7的方法的步骤中的至少一些步骤可以由服务器执行。在一些实施例中,图7的方法的步骤中的至少一些步骤可以由用户的计算设备执行。在一些实施例中,可以让用户的计算设备用根据如图7所示方法构造的消息调制声学或者光学信号,并且发射调制的声学或者光学信号以由包括声学和/或光学输入接口的认证令牌接收。
图8是描绘根据本发明的一个方面的用于对根据本发明的一个方面的消息进行解码的方法的流程图,该消息包括认证令牌经由令牌的声学和/或光学接口接收的数据。在一些实施例中,可以已经根据如结合图7描述的方法对消息进行了编码。在一些实施例中,消息可以具有如结合图6描述的格式。
方法800包括以下步骤:
a.检测(810)在(解调的)声学或者光学信号中包括的一个或者多个数据块的开始。这可以包括检测开始或者分离序列或者符号。
b.检测(815)一个或者多个数据块的结束。这可以包括检测结束或者分离序列或者符号或者通过检测长度指示符并且比较检测到的长度指示符与接收的数据的长度。
c.(可选地)为一个或者多个接收的数据块验证(820)数据块是否可能包含传输错误。这可以包括为接收的数据块中的一个或者多个数据块验证检错码。
d.(可选地)检测(830)接收的数据块的标识并且验证是否已经接收和缓冲相同数据块。
e.(可选地)缓冲(840)接收的数据块。这可以包括在认证令牌的存储器部件中存储接收的数据块(部分或者它的全部)或者它的内容。在一些实施例中,这可以以对于数据块的传输错误验证不指示存在传输错误为条件。在一些实施例中,这可以以验证(830)是否已经缓冲相同数据块的结果为条件。
f.(可选地)检测(850)应当接收多少净荷块。
g.(可选地)检测(860)接收的数据块是否为普通净荷块或者额外冗余块。
h.(可选地)验证(870)是否已经接收和/或缓冲充分数据块以取回待接收的完整原始数据。在一些实施例中,这可以包括验证(871)是否已经接收和/或缓冲包括待接收的原始数据的部分的所有净荷块。在一些实施例中,这可以包括在已经检测到尚未接收和/或缓冲包括待接收的原有数据的部分的所有净荷块的情况下验证(872)是否可以从已经接收和/或缓冲的净荷块和额外冗余块构造在遗漏净荷块的净荷中包括的原始数据。在一些实施例中,验证是否已经接收和/或缓冲包括待接收的原有数据的部分的所有净荷块包括比较接收和/或缓冲的净荷块数目与待接收的(不同)净荷块的预计数目。在一些实施例中,这一数目是认证令牌已知的固定参数。在一些实施例中,在认证令牌接收的数据中隐式地或者显式地指示这一数目。
i.从接收和/或缓冲的数据块取回(880)完整原始数据。在一些实施例中,这可以包括从已经接收和/或缓冲的相关净荷块和额外冗余块计算(881)任何遗漏净荷块的净荷内容。在一些实施例中,如已经在其它段落中描述的那样完成这一计算。
j.处理(890)取回的完整原始数据。在一些实施例中,对取回的原始数据的处理可以已在已完整接收所有原始数据之前部分地开始。
在一些实施例中,认证令牌接收的数据块可以已经在多于一个发射周期中由用户的计算设备发送。
在一些示例实施例中,在作为光学和/或声学信号在多个发射周期中反复发送的消息中包含待接收的原始数据。消息可以包括多个净荷块,每个净荷块包括原始数据的不同部分,并且其中消息的所有净荷块的净荷的组合包括完整原始数据。可以填充净荷块中的一个或者多个净荷块的净荷以保证所有净荷块的净荷具有相同大小。消息也可以包括可以已经从所有净荷块的内容计算其内容的额外冗余块;例如可以已经计算额外冗余块的内容的位作为净荷块的净荷的对应位的按位异或运算。消息的所有块还可以包括块编号。消息也可以包括块总数的指示。可以保留具体值(例如零)用于额外冗余块的块编号。消息可以包括开始和/或结束和/或分离序列或者符号以指示消息的边界和/或消息中的数据块。消息中的数据块可以包括检错码。接收和解调光学和/或声学信号的认证令牌可以适于对消息进行解码并且通过执行以下步骤来取回在消息中包括的数据:检测数据块的边界;验证接收的数据块的检错码;在接收的数据块看来无错误的情况下验证接收的数据块的标识并且验证是否已经缓冲接收的数据块;在接收的数据块表现为无错误而未被缓冲的条件下缓冲它;验证是否已经缓冲消息的所有净荷块;如果尚未缓冲消息的所有净荷块,则验证是否已经缓冲除了净荷块和额外冗余块之一之外的全部,并且如果是这种情况则通过对缓冲的净荷块和额外冗余块的内容执行按位异或运算来计算遗漏净荷块的内容;从缓冲的净荷块的内容和/或(如果适用)从遗漏净荷块的计算的内容取回原始数据。
在一些实施例中,以如描述的顺序执行图8的方法的步骤。在一些实施例中,可以按与描述的顺序不同的另一顺序执行图8的方法的步骤中的一些步骤。
在一些实施例中,如结合图1或者图2描述的强认证令牌(100/101)还适于对包含消息(600)的信号进行接收和解码,这些消息具有如结合图6描述的格式。
在一些实施例中,如结合图1或者图2描述的强认证令牌(100/101)还适于执行如结合图8描述的用于对信号和消息进行解码的方法(800)在一些实施例中,认证令牌(100/101)适于执行图8中描述的方法(800)的所有步骤。在一些实施例中,认证令牌(100/101)适于执行图8的方法(800)的步骤中的一些步骤。在一些实施例中,认证令牌(100/101)的数据处理部件(150/151)适于执行图8的方法(800)的步骤中的一些步骤。
本发明的一个方面包括一种方法,该方法包括结合图5描述的方法的步骤中的至少一些步骤和结合图7描述的方法的步骤中的至少一些步骤。
本发明的一个方面包括如结合图1或者图2描述的强认证令牌(100/101),该强认证令牌还适于执行结合图4描述的方法的步骤中的至少一些步骤和结合图8描述的方法的步骤中的至少一些步骤。
已经描述多个实现方式。然而将理解可以进行各种修改。例如可以组合、删除、修改或者补充一个或者多个实现方式的要素以形成更多实现方式。因而,其它实现方式在所附权利要求的范围内。此外,尽管可能已经关于若干实现方式中的仅一个实现方式公开了本发明的特定特征,但是这样的特征可以如对于任何给定或者特定应用而希望和有利的那样与其它实现方式的一个或者多个其它特征组合。尽管以上已经描述了本发明的各种实施例,但是应当理解仅已经通过示例而非限制来呈现它们。具体而言,当然不可能为了描述要求保护的主题内容而描述每个可设想的部件或者方法组合,但是本领域普通技术人员可以认识到本发明的许多更多组合和排列是可能的。因此,本发明的广度和范围不应受以上描述的示例实施例中的任何示例实施例限制,而是应当仅根据所附权利要求及其等效含义来限定。
Claims (47)
1.一种用于生成动态安全值的手持强认证令牌,包括:
用户输出接口,用于向用户传达生成的动态安全值;
数据存储部件,用于存储数据;
用于声学接收输入数据的声学输入接口和用于光学接收输入数据的光学输入接口中的至少之一,所述声学输入接口如果存在则包括麦克风和连接到所述麦克风的解调电路,所述解调电路适于解调所述麦克风接收的声学信号,并且所述光学输入接口如果存在则包括用于接收光学信号的至少一个或者更多个光学检测器;以及
数据处理部件,连接到所述声学输入接口和所述光学输入接口中的所述至少之一,所述数据处理部件适于恢复在声学输入接口和光学输入接口中的所述至少之一接收的所述声学信号或者光学信号中传输的输入数据、处理所述恢复的输入数据并且生成所述动态安全值;
其中所述数据处理部件还适于通过以下操作对包括至少两个数据块并且至少包括所述输入数据、并且在所述声学输入接口和所述光学输入接口中的所述至少之一接收的所述声学或者光学信号中传输的消息进行解码:
检测所述消息内的接收的数据块的边界;
检测接收的数据块中的至少一些类型的传输错误;
检测是否已经在所述数据存储部件中缓冲所述接收的数据块;
如果尚未缓冲所述接收的数据块并且对于该接收的数据块尚未检测到传输错误,则在所述数据存储部件中缓冲所述接收的数据块;
检测所述接收的数据块是否包括普通净荷块,所述普通净荷块包括额外冗余块或者所述输入数据的至少部分;
确定是否可以从所述缓冲的普通净荷块恢复完整输入数据;
确定是否可以从所述缓冲的普通净荷块和所述缓冲的额外冗余块计算任何遗漏输入数据;
从所述缓冲的普通净荷块中的至少一些普通净荷块的内容和所述缓冲的额外冗余块中的至少一些额外冗余块的内容计算所述遗漏输入数据的至少部分;
从所述缓冲的普通净荷块或者从所述缓冲的普通净荷块和所述计算的遗漏输入数据恢复所述完整输入数据。
2.根据权利要求1所述的令牌,其中所述检测接收的数据块的边界包括检测开始序列或者开始符号,或者检测结束序列或者结束符号,或者检测分离序列或者分离符号。
3.根据权利要求1所述的令牌,其中所述检测接收的数据块的边界包括检测数据长度指示并且比较所述检测到的数据长度指示与已经接收的数据的数量。
4.根据权利要求1所述的令牌,其中所述数据处理部件还适于:确定应当接收的普通净荷块的数目;并且其中确定是否可以从所述缓冲的普通净荷块恢复所述完整输入数据包括比较所述缓冲的普通净荷块的数目与应当接收的普通净荷块的数目。
5.根据权利要求1所述的令牌,其中从所述缓冲的普通净荷块中的至少一些普通净荷块的内容和所述缓冲的额外冗余块中的至少一些额外冗余块的内容计算所述遗漏输入数据的至少部分包括:通过组合所述缓冲的普通净荷块中的所述至少一些普通净荷块的对应子块和所述缓冲的额外冗余块中的所述至少一些额外冗余块的对应子块来计算遗漏普通净荷块的内容的子块。
6.根据权利要求1所述的令牌,其中从所述缓冲的普通净荷块中的至少一些普通净荷块的内容和所述缓冲的额外冗余块中的至少一些额外冗余块的内容计算所述遗漏输入数据的至少部分包括:对所述缓冲的普通净荷块中的所述至少一些普通净荷块的内容的对应位和所述缓冲的额外冗余块中的所述至少一些额外冗余块的内容的对应位执行按位异或运算。
7.根据权利要求5所述的令牌,其中计算遗漏普通净荷块的内容的子块包括执行所述缓冲的普通净荷块中的所述至少一些普通净荷块的对应子块的逆数值和所述缓冲的额外冗余块中的所述至少一些额外冗余块的对应子块的数值的模加法。
8.根据权利要求1所述的令牌,其中所述数据存储部件适于存储与服务器共享的秘密,并且其中所述数据处理部件还适于使用所述秘密中的至少一个秘密来生成所述安全值。
9.根据权利要求8所述的令牌,其中所述数据处理部件还适于通过按密码方式组合所述秘密中的至少一个秘密与动态变量来生成所述安全值。
10.根据权利要求9所述的令牌,其中所述按密码方式组合包括执行对称密码算法。
11.根据权利要求9所述的令牌,其中所述动态变量包括时间值。
12.根据权利要求9所述的令牌,其中所述动态变量包括计数器值。
13.根据权利要求9所述的令牌,其中所述动态变量包括挑战值。
14.根据权利要求9所述的令牌,其中所述动态变量包括与事务数据有关的值。
15.根据权利要求1所述的令牌,其中所述令牌是第一安全设备,并且其中所述令牌还包括适于与可拆卸第二安全设备通信的通信接口,并且其中所述令牌适于与所述第二安全设备协作地生成所述动态安全值。
16.根据权利要求15所述的令牌,其中所述可拆卸第二安全设备包括智能卡。
17.根据权利要求15所述的令牌,其中所述令牌适于通过向所述第二安全设备发送命令并且从所述第二安全设备对所述命令的响应推导所述动态安全值中的至少一个动态安全值来生成所述至少一个动态安全值。
18.根据权利要求17所述的令牌,其中所述令牌适于在所述命令中包括挑战,并且其中所述第二安全设备根据所述挑战计算所述第二安全设备的所述响应。
19.根据权利要求17所述的令牌,其中所述第二安全设备的所述响应包括所述第二安全设备通过使用对称密码算法、按密码方式组合所述第二安全设备存储的秘密与所述第二安全设备存储和维护的计数器值而计算的密码。
20.根据权利要求19所述的令牌,其中所述令牌还适于从所述第二安全设备的所述响应推导密码密钥,并且通过按密码方式组合所述密码密钥和至少一个与事务数据有关的值来生成所述至少一个动态安全值。
21.根据权利要求1所述的令牌,包括所述光学和所述声学输入接口二者。
22.根据权利要求21所述的令牌,还包括用于选择所述声学输入接口或者所述光学输入接口以接收输入数据的接口选择机制。
23.根据权利要求22所述的令牌,其中所述令牌还适于从所述用户接收对所述令牌应使用所述声学输入接口或者所述光学输入接口中的哪个输入接口的指示。
24.根据权利要求22所述的令牌,其中所述接口选择机制适于基于通过所述声学输入接口和所述光学输入接口接收的所述信号的特定特性借助启发式规则来确定选择哪个输入接口以接收数据。
25.根据权利要求22所述的令牌,其中所述令牌适于应用选择过程,所述选择过程包括在第一时间段尝试通过所述光学输入接口或者所述声学输入接口中的第一输入接口接收至少一些数据,并且如果所述尝试在所述第一时间段期间接收至少一些数据成功,则选择尝试的所述输入接口并且继续通过所述选择的输入接口接收数据,而如果所述尝试在所述第一时间段期间接收至少一些数据未成功,则在第二时间段用所述光学输入接口或者所述声学输入接口中的另一输入接口重复所述选择过程。
26.根据权利要求22所述的令牌,其中所述令牌还适于检测在通过当前选择的输入接口接收的所述数据中的传输错误,并且在满足涉及所述检测到的传输错误的一个或者更多个预定义标准的情况下返回到选择所述声学输入接口或者所述光学输入接口。
27.根据权利要求22所述的令牌,适于通过所述光学输入接口和所述声学输入接口并行接收数据。
28.根据权利要求22所述的令牌,还适于组合通过所述光学输入接口接收的数据与通过所述声学输入接口接收的数据。
29.根据权利要求1所述的令牌,还包括与标准信用卡大小的智能卡通信的智能卡接口和光学用户接口,由此所述数据处理部件还适于借助于在通过所述声学输入接口或者光学输入接口向所述令牌中输入的事务数据之上生成消息认证码来生成事务数据签名,由此所述数据处理部件用从所述智能卡生成的密码推导的秘密密钥、使用对称密码算法来生成所述消息认证码。
30.根据权利要求29所述的令牌,还包括适于用于所述用户输入个人标识号(PIN)值的手动用户数据输入接口,并且其中所述令牌还适于在所述智能卡生成所述密码之前向所述智能卡提交所述PIN值用于验证,并且在所述令牌已经向所述智能卡提交所述PIN值用于验证之后从存储器擦除所述PIN值的任何副本。
31.根据权利要求30所述的令牌,还包括用于选择所述声学或者所述光学输入接口以接收输入数据的接口选择机制。
32.根据权利要求1所述的令牌,其中所述输入数据包括服务器证书,并且其中处理所述令牌还适于验证所述服务器证书。
33.根据权利要求32所述的令牌,其中所述动态安全值的所述生成以所述服务器证书的所述验证成功为条件。
34.根据权利要求32所述的令牌,还包括用于存储与服务器共享的秘密的数据存储部件,并且其中所述数据处理部件还适于使用所述秘密中的至少一个秘密和对称密码算法来验证所述服务器证书。
35.一种用于通过认证令牌使用的强认证方法,所述认证令牌包括声学输入接口或者光学输入接口中的至少之一,所述方法包括:
在所述认证令牌从远程计算机系统接收包括消息的声学信号或者光学信号中的至少之一,所述消息包括输入数据;
对所述消息进行解码以恢复所述输入数据;并且
在所述认证令牌借助于通过用对称密码算法和与安全值验证服务器共享的秘密组合所述恢复的输入数据中的至少一些输入数据处理所述恢复的输入数据来生成动态安全值;并且由此对所述消息进行解码以恢复所述输入数据包括以下步骤:
检测所述消息中包括的接收的数据块的边界;
检测接收的数据块中的至少一些类型的传输错误;
检测是否已经缓冲所述接收的数据块;
如果尚未缓冲所述接收的数据块并且对于该接收的数据块尚未检测到传输错误,则缓冲所述接收的数据块;
检测所述接收的数据块是否包括普通净荷块,所述普通净荷块包括额外冗余块或者所述输入数据的至少部分;
确定是否可以从所述缓冲的普通净荷块恢复完整输入数据;
确定是否可以从所述缓冲的普通净荷块和所述缓冲的额外冗余块计算任何遗漏输入数据;
从所述缓冲的普通净荷块中的至少一些普通净荷块的内容和所述缓冲的额外冗余块中的至少一些额外冗余块的内容计算所述遗漏输入数据的至少部分;
从所述缓冲的普通净荷块或者从所述缓冲的普通净荷块和所述计算的遗漏输入数据恢复所述完整输入数据。
36.根据权利要求35所述的方法,其中所述认证令牌包括用于与可拆卸安全设备通信的通信接口,并且所述动态安全值的生成步骤包括:
与所述可拆卸安全设备协作地用所述认证令牌生成所述动态安全值。
37.一种用于保护用户使用根据权利要求1所述的认证令牌对远程应用的访问的方法,所述方法包括:
组装输入数据;
向用户的计算设备发送所述输入数据;
格式化包括所述输入数据的消息;
在所述用户的计算设备处在多个发射周期中、并且为了通过所述用户的认证令牌接收而发射调制的声学信号或者调制的光学信号中的至少之一,从而调制的声学信号或者调制的光学信号中的所述至少之一被调制用于传输包括所述输入数据的所述消息;
从所述用户接收所述用户的认证令牌生成的动态安全值,其中所述认证令牌在接收和解调被调制的声学信号或调制的光学信号中至少之一并且恢复所述输入数据之后生成并且向所述用户输出所述动态安全值;
验证所述接收的动态安全值;
根据验证所述接收的动态安全值的结果采取动作;并且
其中格式化所述消息包括:
创建至少两个净荷块,每个净荷块包含所述输入数据中的至少一些数据,由此所述两个或者更多净荷块一起包括至少所有所述输入数据,并且向所述消息添加所述至少两个净荷块;
计算一个或者更多个额外冗余块并且向所述消息添加所述一个或者更多个额外冗余块;
其中计算额外冗余块包括通过为每个额外冗余子块组合来自所述消息中包括的净荷块组的净荷块的对应子块来计算多个额外冗余子块、然后将所述计算的额外冗余子块组合成所述额外冗余块;以及
向所述净荷和额外冗余块中的至少一些块添加检错码。
38.根据权利要求37所述的方法,其中格式化所述消息还包括向所述消息或者所述净荷和额外冗余块添加编码元素,以允许所述接收认证令牌检测所述消息中包括的块是否为净荷或者额外冗余块。
39.根据权利要求37所述的方法,其中至少一个额外冗余块的所述子块具有单个位的大小,并且通过对用来计算所述额外冗余块的所述净荷块的所述对应位执行异或运算来计算所述额外冗余块的每个位。
40.根据权利要求37所述的方法,其中计算至少一个额外冗余块的至少一些子块包括对用来计算包括所述额外冗余子块的所述额外冗余块的所述净荷块的所述对应子块的数值进行相加。
41.根据权利要求37所述的方法,其中格式化所述消息还包括向所述净荷和额外冗余块中的至少一些块添加块标识元素。
42.根据权利要求37所述的方法,还包括添加编码元素以用于允许所述接收认证令牌检测所述净荷块和所述额外冗余块的所述边界,其中所述编码元素包括开始序列或者符号,或者结束序列或者符号,或者分离序列或者符号。
43.根据权利要求37所述的方法,还包括添加编码元素以用于允许所述接收认证令牌检测所述净荷块和所述额外冗余块的所述边界,其中所述编码元素包括数据长度指示元素。
44.根据权利要求37所述的方法,其中所述净荷块中的至少一些净荷块包括填充。
45.根据权利要求37所述的方法,其中所有所述净荷块和所述额外冗余块具有相同长度。
46.根据权利要求37所述的方法,还包括获得服务器证书并且在所述输入数据中包括所述服务器证书的步骤,并且其中所述服务器证书由所述认证令牌验证,并且其中所述动态安全值的所述生成依赖于所述服务器证书的所述验证。
47.根据权利要求37所述的方法,还包括使第二安全设备对于所述用户可用,其中所述认证令牌包括用于与所述第二安全设备通信的通信接口,并且其中所述认证令牌与所述第二安全设备协作地生成所述动态安全设备。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161446779P | 2011-02-25 | 2011-02-25 | |
US61/446,779 | 2011-02-25 | ||
US13/403,206 | 2012-02-23 | ||
US13/403,206 US8930702B2 (en) | 2011-02-25 | 2012-02-23 | Strong authentication token with acoustic data input |
PCT/US2012/026588 WO2012116312A1 (en) | 2011-02-25 | 2012-02-24 | Method and apparatus for encoding and decoding data transmitted to an authentication token |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103635912A CN103635912A (zh) | 2014-03-12 |
CN103635912B true CN103635912B (zh) | 2017-02-15 |
Family
ID=46719823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280020134.9A Expired - Fee Related CN103635912B (zh) | 2011-02-25 | 2012-02-24 | 用于对向认证令牌发送的数据编码和解码的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9098691B2 (zh) |
EP (1) | EP2678799B1 (zh) |
CN (1) | CN103635912B (zh) |
WO (1) | WO2012116312A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9282307B2 (en) * | 2010-04-13 | 2016-03-08 | Synergy Sports Technology, Llc | System and methods for searching and displaying ontology-based data structures |
US9836737B2 (en) * | 2010-11-19 | 2017-12-05 | Mastercard International Incorporated | Method and system for distribution of advertisements to mobile devices prompted by aural sound stimulus |
WO2012160601A1 (ja) * | 2011-05-24 | 2012-11-29 | 三菱電機株式会社 | 文字入力装置およびそれを備えたカーナビゲーション装置 |
US9768958B2 (en) * | 2012-05-07 | 2017-09-19 | Kuang-Chi Innovative Technology Ltd. | Visible-light communication-based encryption, decryption and encryption/decryption method and system |
JP2014048414A (ja) * | 2012-08-30 | 2014-03-17 | Sony Corp | 情報処理装置、情報処理システム、情報処理方法及びプログラム |
US9071428B2 (en) * | 2013-03-15 | 2015-06-30 | University Of Connecticut | Methods and systems for hardware piracy prevention |
US10212207B2 (en) * | 2013-08-21 | 2019-02-19 | At&T Intellectual Property I, L.P. | Method and apparatus for accessing devices and services |
US9306930B2 (en) | 2014-05-19 | 2016-04-05 | Bank Of America Corporation | Service channel authentication processing hub |
US9836594B2 (en) | 2014-05-19 | 2017-12-05 | Bank Of America Corporation | Service channel authentication token |
US9965632B2 (en) * | 2014-12-22 | 2018-05-08 | Capital One Services, Llc | System and methods for secure firmware validation |
CN104657855B (zh) * | 2015-03-10 | 2019-05-17 | 王清斌 | 一种带有nfc接口的移动支付身份验证装置 |
CA3199536A1 (en) | 2015-04-14 | 2016-10-20 | Capital One Services, Llc | Systems and methods for secure firmware validation |
FR3037423B1 (fr) * | 2015-06-12 | 2018-05-25 | Parkeon | Procede de gestion des droits d'acces d'un usager dans un endroit |
CA3002977C (en) | 2015-11-04 | 2019-01-08 | Screening Room Media, Inc. | Digital content delivery system |
US10404703B1 (en) * | 2016-12-02 | 2019-09-03 | Worldpay, Llc | Systems and methods for third-party interoperability in secure network transactions using tokenized data |
US10402808B1 (en) | 2016-12-02 | 2019-09-03 | Worldpay, Llc | Systems and methods for linking high-value tokens using a low-value token |
US10452819B2 (en) | 2017-03-20 | 2019-10-22 | Screening Room Media, Inc. | Digital credential system |
US11126663B2 (en) * | 2017-05-25 | 2021-09-21 | Intel Corporation | Method and apparatus for energy efficient decompression using ordered tokens |
US11468246B2 (en) | 2019-07-22 | 2022-10-11 | Capital One Services, Llc | Multi-turn dialogue response generation with template generation |
WO2021225570A1 (en) * | 2020-05-04 | 2021-11-11 | Hewlett-Packard Development Company, L.P. | Regulating authentication tokens |
CN113568786B (zh) * | 2021-09-23 | 2021-12-31 | 四川大学 | 一种数据恢复方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7083090B2 (en) * | 2002-08-09 | 2006-08-01 | Patrick Zuili | Remote portable and universal smartcard authentication and authorization device |
CN101438531A (zh) * | 2006-06-14 | 2009-05-20 | 佛郎戴安尼威尔公司 | 认证方法和系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0170716B1 (en) * | 1984-08-08 | 1990-10-24 | Kabushiki Kaisha Toshiba | Information medium |
US5136644A (en) | 1988-04-21 | 1992-08-04 | Telecash | Portable electronic device for use in conjunction with a screen |
US5668876A (en) | 1994-06-24 | 1997-09-16 | Telefonaktiebolaget Lm Ericsson | User authentication method and apparatus |
US6607136B1 (en) | 1998-09-16 | 2003-08-19 | Beepcard Inc. | Physical presence digital authentication system |
ES2167245B1 (es) | 2000-06-23 | 2003-04-01 | Esignus S L | Firmador externo para pc. |
US7533735B2 (en) | 2002-02-15 | 2009-05-19 | Qualcomm Corporation | Digital authentication over acoustic channel |
EP1788509A1 (en) | 2005-11-22 | 2007-05-23 | Berner Fachhochschule, Hochschule für Technik und Architektur | Method to transmit a coded information and device therefore |
JP4859493B2 (ja) * | 2006-03-15 | 2012-01-25 | オムロンオートモーティブエレクトロニクス株式会社 | 認証処理システムおよび認証処理方法、並びに認証装置および認証方法 |
-
2012
- 2012-02-24 US US13/404,826 patent/US9098691B2/en not_active Expired - Fee Related
- 2012-02-24 CN CN201280020134.9A patent/CN103635912B/zh not_active Expired - Fee Related
- 2012-02-24 WO PCT/US2012/026588 patent/WO2012116312A1/en active Application Filing
- 2012-02-24 EP EP12712428.7A patent/EP2678799B1/en not_active Not-in-force
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7083090B2 (en) * | 2002-08-09 | 2006-08-01 | Patrick Zuili | Remote portable and universal smartcard authentication and authorization device |
CN101438531A (zh) * | 2006-06-14 | 2009-05-20 | 佛郎戴安尼威尔公司 | 认证方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2678799A1 (en) | 2014-01-01 |
US9098691B2 (en) | 2015-08-04 |
WO2012116312A1 (en) | 2012-08-30 |
CN103635912A (zh) | 2014-03-12 |
EP2678799B1 (en) | 2018-04-11 |
US20120221860A1 (en) | 2012-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103635912B (zh) | 用于对向认证令牌发送的数据编码和解码的方法和装置 | |
CN204965434U (zh) | 用于生成动态安全值的强认证令牌 | |
CN105162596B (zh) | 用于生成在与服务器交互中使用的安全值并传送给用户的设备 | |
CN106533687B (zh) | 一种身份认证方法和设备 | |
CN105052072A (zh) | 远程认证和业务签名 | |
JP5407104B2 (ja) | 物理的posトランザクションのための方法及び装置 | |
US9858401B2 (en) | Securing transactions against cyberattacks | |
US20210073795A1 (en) | Device for storing digital keys for signing transactions on a blockchain | |
JP2024056970A (ja) | デジタルウォレット装置 | |
US20140136418A1 (en) | System and method for application security | |
CN101897165A (zh) | 数据处理系统中验证用户的方法 | |
US11317279B2 (en) | Client, computing platform, and methods for conducting secure transactions | |
CN102255730A (zh) | 数字证书安全锁装置、数字证书认证系统及方法 | |
CN101335755B (zh) | 一种利用声音信息提高信息安全设备验证安全性的方法 | |
CN101009562A (zh) | 提高智能密钥设备安全性的方法和系统 | |
US11128453B2 (en) | Visual image authentication | |
CN102073803A (zh) | 一种增强usbkey安全的装置、方法及系统 | |
CN114072796A (zh) | 具有远程验证的硬件认证令牌 | |
AU2014237590B2 (en) | Privacy preserving knowledge/factor possession tests for persistent authentication | |
WO2015032255A1 (zh) | 智能密钥设备、移动终端以及动态口令的输出方法和系统 | |
CN104320261B (zh) | 金融智能卡上实现身份认证的方法、金融智能卡和终端 | |
Ortiz-Yepes | Enhancing Authentication in eBanking with NFC-enabled mobile phones | |
CN103888267A (zh) | 基于音频接口的网上银行数据加密、认证方法和装置 | |
US20230359764A1 (en) | Visual Image Authentication | |
US20230109125A1 (en) | Automated Transactions Across Multiple Blockchains with Cryptocurrency Swaps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170215 |