CN108027854B - 多用户强认证令牌 - Google Patents

多用户强认证令牌 Download PDF

Info

Publication number
CN108027854B
CN108027854B CN201680054959.0A CN201680054959A CN108027854B CN 108027854 B CN108027854 B CN 108027854B CN 201680054959 A CN201680054959 A CN 201680054959A CN 108027854 B CN108027854 B CN 108027854B
Authority
CN
China
Prior art keywords
user
authentication
transaction data
area
authentication application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680054959.0A
Other languages
English (en)
Other versions
CN108027854A (zh
Inventor
尼古拉·福尔
弗雷德里克·门内斯
卢多维克·若利
纪尧姆·特谢龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Onespan North America Inc
Original Assignee
Vasco Data Security Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vasco Data Security Inc filed Critical Vasco Data Security Inc
Publication of CN108027854A publication Critical patent/CN108027854A/zh
Application granted granted Critical
Publication of CN108027854B publication Critical patent/CN108027854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/42User authentication using separate channels for security data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

公开了利用认证设备保护远程可访问应用的装置、方法和系统。更具体地,公开了用于阻止针对认证应用的覆盖攻击的方法和系统,其中认证应用用于显示交易数据并且用于在这些交易数据上生成签名。

Description

多用户强认证令牌
相关申请的交叉引用
本申请涉及并且要求2015年9月21日提交的标题为“A MULTI-USER STRONGAUTHENTICATION TOKEN(多用户强认证令牌)”的美国临时申请No.62/221,343的优先权,其内容通过参考并入在此。
技术领域
本发明涉及对于计算机和应用的远程访问和计算机网络上的远程交易进行保护。更具体地,本发明涉及用于对抗新型攻击的方法和装置,这种新型攻击针对诸如智能手机的移动设备上的认证应用。
背景技术
随着计算机系统和应用的远程访问越来越流行,在诸如互联网的公共网络上远程访问的交易的数量和种类急剧增加。这种流行凸显出安全的需要;尤其是:如何确保远程访问应用的人是他们所声称的人,如何确保远程执行的交易由合法个人来启动,以及如何确保交易数据在应用服务器处被接收之前未被改变。
一种对于远程应用的访问进行保护的方式是使用诸如用户智能手机的用户个人设备上的认证应用。在一些情况下,这样的认证应用可以适于动态地生成凭证。在一些情况下,这些动态凭证可以在用户的个人设备上被呈现给用户,例如以字母数字的字符串形式,让用户来转发给用户正在访问并且需要保护的远程应用。可替换地,认证应用可以直接向远程应用发送所生成的动态凭证(例如,使用由用户的个人设备建立的互联网连接)。在接收到动态凭证后,远程应用可以验证它从用户或者用户的个人设备接收到的动态凭证,并且在接收到的动态凭证的验证成功的情况下可以允许访问用户。
在一些情况下,用户想要向远程应用提交交易。在这种情况下,远程应用可以要求用户利用他或她的个人设备上的认证应用来生成动态凭证,并且将该动态凭证提供给远程应用。远程应用然后可以验证它从用户接收到的动态凭证,并且在接收到的动态凭证的验证成功的情况下可以接受该交易。
如果动态密码被加密地链接到表征该交易的交易数据,那么动态凭证也可以称之为签名或交易数据签名。
在一些情况下,认证应用可以适于获得交易数据并且将其呈现给用户,使得用户能够验证这些交易数据。在一些情况下,认证应用可以向用户呈现交易数据,并且可以请求用户认可所呈现的交易数据,并且只有在用户确实认可所呈现的交易数据的情况下才可以生成并且显示这些交易数据的动态凭证或签名。在一些情况下,认证应用可以不需要明确的认可而生成动态凭证,例如可以将它生成的动态凭证所针对的交易数据与所生成的动态凭证一起呈现给用户,使得用户可以验证交易数据是否正确,并且可以根据这个验证来确定是否转发所生成的动态凭证。
在一些情况下,用户可以使用访问设备来访问远程应用并进行交互。例如,用户可以使用诸如个人计算机(PC)或膝上型计算机的计算设备,该计算设备在网络上连接到可以正在托管远程应用的远程服务器计算机。用户可以使用访问设备向远程应用提交交易。在此情况下,攻击者可以尝试通过例如中间人(man-in-the-middle)或者浏览者(man-in-the-browser)攻击的方式(例如,通过使用用户的PC或膝上型计算机上安装的恶意软件)来进行干扰,并且可以尝试利用虚假交易的其他数据来替换用户想要的合法交易的数据。例如,如果用户正在访问网银应用并且提交转账请求,攻击者可以尝试通过与该攻击者相关联的虚假账户来替换想要的目的地账号。
为了免于这样的攻击,远程应用可以将其接收到的交易数据发送到该用户的一个认证设备,这个认证设备不同于用户正在用于访问该远程应用的访问设备。认证设备可以向用户呈现它从远程应用接收到的交易数据,使得用户能够验证远程应用接收到的数据。认证设备还可以生成并且向用户呈现与所呈现的交易数据相关联或者链接的动态凭证。用户然后可以将该动态凭证转发给远程应用,作为交易数据的用户认可的证据。
如果攻击者已经通过虚假数据替换了合法用户使用访问设备想要提交给远程应用的真实交易数据,那么远程应用将接收到这些虚假数据并且将这些虚假数据发送到用户的认证设备。认证设备将会向用户呈现这些虚假数据用于验证。当对于呈现的数据进行认证时,用户将会注意到所呈现的数据与用户实际想要向远程应用提交的真实交易数据之间的差异,并且能够拒绝虚假数据(此时认证设备将不会生成对应的动态凭证)或者(如果认证设备在任何情况下生成凭证并且将所生成的凭证与接收到的交易数据一起发送给用户)决定不转发所生成的凭证。任一方式下,远程应用都不会接收到与虚假数据匹配的凭证并且该虚假交易将不会被接受。攻击者可以预料这种情况,并且可以利用用户提交过的合法数据回替(back-substitute)远程应用向用户的认证设备发送并且期望在认证设备上进行验证的(虚假的)确认数据。然而,如果动态凭证加密地连接到交易数据(例如,如果认证设备在从远程应用接收并且向用户呈现的确认数据上生成密码签名),这将也被检测到。更具体地,为了验证接收到的凭证,远程应用将会在验证过程中使用它原本从攻击者接收到的虚假数据(该数据是攻击者提交给远程应用而不是用户想要提交的数据)。然而,在动态凭证加密地链接到攻击者提供给用户的认证设备的回替数据而不是远程应用想要发送到认证设备的确认数据的情况下,动态凭证的验证将会失败。
在一些情况下,用户的认证设备可以包括与该用户相关联的个人设备。在一些情况下,用户的认证设备可以是完全专用于提供上述认证与数据签名功能的硬件设备。在其他情况下,用户的认证设备可以包括个人多功能设备,其中许多其他应用可以也支持认证应用。配备认证应用的用户的智能手机或平板计算机可以是这样的个人多功能设备的示例。
包括这里本发明的背景的讨论以解释本发明的上下文。这不应被视为承认任何上述材料在本申请的优先权日已公开、已知或者公知常识的一部分。
发明内容
技术问题
虽然上述安全解决方案在阻止各种中间人攻击中大有帮助,但是这种解决方案的安全性取决于以下假设:攻击者无法操纵认证设备从而破坏一方面由认证设备向用户真实呈现从远程应用接收到的确认数据与另一方面由认证设备生成对应的动态凭证之间的联系。在专用的硬件认证设备的情况下这是合理的假设,但是在诸如通用的智能手机或平板计算机的多用途计算设备的情况下就很值得怀疑,这样的多用途计算设备可以具有允许用户安装额外的软件来丰富设备功能的开放操作系统。
在后面的情况下,可以想到的是,攻击者可以成功地将某种恶意软件安装在用户的认证设备上,使得用户实际见到的用于在认证设备上进行验证的数据不同于认证应用在认证设备上从远程应用接收到并且该认证应用设备使用以生成动态凭证的确认数据。在该情况下,可能发生的是,攻击者可以成功地让用户相信如远程应用所知的交易数据的确对应于用户原本想要提交的交易,而认证应用实际上正在处理远程应用已经真正接收到并且已经作为确认数据发送到认证设备的虚假交易数据。
例如,在一些智能手机或平板平台上,可能安装下面的攻击,其可以称之为“覆盖攻击”。当用户的认证设备上的认证应用向用户呈现认证数据用于验证时,例如在认证应用的窗口中,那么一个恶意软件可以立即将固件窗口放置在用于呈现将由用户进行验证/确认的交易数据的认证窗口区域的顶部,使得由认证应用呈现的真实确认数据被隐藏或者未对用户可见,使得用户反而看到恶意软件窗口中呈现的数据,即用户想要看到的原始交易数据。如果该攻击谨慎执行,用户可能无法注意到这种攻击。这种攻击可以称之为覆盖攻击,被放置在认证窗口顶部的恶意窗口可以称之为覆盖窗口。
所需要的是用于阻止这样的覆盖攻击的解决方案。
技术方案
本发明目的在于确保以无法实现覆盖攻击的方式来管理认证设备的显示器和/或输入界面,或者确保通过视觉标志用户被明确地警示覆盖攻击的存在,因而完全无法或者至少更难安装上述覆盖攻击或者用户至少注意到出现问题。
在第一组实施例中,认证设备上的认证应用可以适于主动地使得覆盖攻击无法进行。在一些实施例中,认证应用可以用于检测认证应用窗口是否被另一窗口遮挡,并且如果它检测到认证应用窗口被另一窗口遮挡则可以用于采取适当的措施。在一些实施例中,认证应用可以适于迫使包括由认证应用生成的信息以显示给用户的窗口始终置顶,使得该信息永远不会被覆盖窗口遮挡。认证应用可以通过调用认证应用运行所在的计算设备的操作系统中的一个或多个适合的操作系统来这样做。例如,在一些实施例中,认证设备可以包括诸如电子消费设备的电子装置(例如,智能手机或平板计算机)。认证设备可以运行操作系统(例如,Android或iOS),认证应用可以包括软件,该软件可以安装在认证设备上并且可以存储在认证设备的存储器并且由认证设备的微处理器执行。在一些实施例中,认证设备上的认证应用可以从操作系统调用一个或多个功能,其允许认证应用确定认证应用窗口是否被另一窗口遮挡。在一些实施例中,认证设备上的认证应用可以从操作系统调用一个或多个功能,如果认证应用窗口被另一窗口遮挡,该功能将禁止认证应用接收用户输入。
如这里所使用的术语“从操作系统调用功能”可以包括设置影响应用与操作系统之间的交互的属性值。
在第二组实施例中,认证应用可以被适配使得覆盖的存在将自动使得用户无法获得动态凭证。在一些实施例中,这可以在不需要认证应用实际检测覆盖窗口的存在的情况下实现。例如,在一些实施例中,认证应用除了向用户呈现交易信息和生成对应的动态凭证的功能以外,还可以具有用户获得动态凭证不可或缺的其他功能(例如,向用户呈现动态凭证的功能或者从用户获得认证所呈现的交易数据的指示的功能)。在一些实施例中,通过认证数据将交易数据向用户的呈现可以与获得动态凭证不可或缺的其他功能交织,通过这种方式使得隐藏由认证应用所呈现的认证数据的覆盖窗口的存在将必然干扰该其他功能,从而自动阻止该其他功能可操作和完成其目的。
在第三组实施例中,认证应用可以被适配使得覆盖窗口的存在将自动引起视觉上的异常事件,该异常事件反过来具有向用户提供覆盖窗口的存在的明确指示的效果。例如,这样的异常事件可以包括覆盖窗口的边界处认证窗口的背景中的不连续(诸如特定的视觉图案)。这种明显并且意想不到的不连续的存在将必然警示用户覆盖窗口的存在。
在下面的段落中提供各个实施例的更多细节。
检测交易数据呈现区域是否可能被遮挡。
在一些实施例中,认证应用可以适于检测认证应用的交易数据呈现区域(即认证应用窗口或者认证应用显示区域或者认证应用用来显示交易数据的显示器区域)是否或者是否看起来被例如某个其他应用的窗口部分或者完全遮挡。如果交易数据呈现区域(认证应用窗口或者认证应用显示区域或者认证应用用来显示交易数据的显示器区域)被某个其他窗口遮挡,那么这是认证应用被覆盖攻击确定为目标的标志。在一些实施例中,如果认证应用检测到认证应用窗口或者认证应用显示区域或者认证应用用来显示交易数据的显示器区域被某个其他应用的某个其他窗口部分或者完全遮挡,则认证应用可以适于采取可以阻止覆盖攻击的措施。在一些实施例中,如果认证应用检测到认证应用窗口或者认证应用显示区域或者认证应用用来显示交易数据的显示器区域被某个其他应用的某个其他窗口部分或者完全遮挡,则认证应用可以用于进入安全模式而不是其正常工作模式。
例如,在一些实施例中,认证应用可以用于针对其已经接收或者获得的交易数据来生成动态凭证(诸如,签名)。在正常工作模式中,认证应用可以同时显示所生成的动态凭证和交易数据。然而,如果认证应用检测到它的交易数据呈现区域(即,它自己的窗口或显示区域或者更具体地它用于显示交易数据的区域)是或者看起来部分或者完全被遮挡的,则认证应用可以进入安全模式,在安全模式中,认证应用可以不开始或者可以停止显示它已经生成的动态凭证。
在一些实施例中,认证应用可以用于仅在认证应用已经向用户显示交易数据以供审阅并且已经接收到所显示的交易数据的用户的认可指示之后才生成和/或显示动态凭证。在一些实施例中,认证应用可以在正常工作模式下向用户提供指示这样的认可的机制。例如,在一些实施例中,认证应用可以在认证应用的正常工作模式下向用户提供通过触碰认证应用的OK按钮来指示认证交易数据的可能性。在一些实施例中,如果认证应用检测到它自己的窗口或者显示区域或者更具体地它用来显示交易数据的区域是或者看起来部分或者完全被遮挡,则认证应用可以进入安全模式,在该安全模式中认证应用可以禁用用户能够认可交易数据所通过的机制或者其中认证应用可以忽略或者拒绝用户的认可。
在一些实施例中,认证应用可以调用操作系统的一个或多个功能(或者设置操作系统将使用的属性值),使得如果认证应用窗口被某个其他应用完全或部分遮挡,则操作系统不会将特定的用户输入传递到认证应用。例如,在一些实施例中,认证应用可以向用户显示交易数据以供审阅,并且也可以提供OK按钮供用户触摸以指示用户对于认证应用所显示的交易数据的认可。如果用户已经触碰OK按钮,则认证应用可以生成并且显示与交易数据对应的动态凭证。在一些实施例中,认证应用可以调用操作系统的一个或多个功能(或者设置操作系统将使用的属性值),使得如果认证应用窗口被某个其他应用完全或部分遮挡,则OK按钮的任何触碰将被废弃或者将不会被传递到认证应用。例如,Android 2.3或者更高的操作系统上运行的认证应用可以设置Android视图类的属性“filterTouchesWhenObscured”。这样一来,认证应用将会在认证窗口无论何时被另一窗口遮挡都废弃触摸。
在一些实施例中,认证应用可以适于检测它的交易呈现区域是否(或者可能或者看起来)完全或部分被例如另一窗口遮挡。在一些实施例中,认证应用可以验证它的交易呈现区域是否(或者可能或者看起来)完全或部分被遮挡,并且可以例如通过调用认证应用所运行在的装置的操作系统上的一个或多个合适功能来做出这样的验证。在一些情况下,如果认证应用确实断定它的交易呈现区域是否(或者可能或者看起来)完全或部分被遮挡,则认证应用可以用于不接受所呈现的交易数据的用户的认可,或者使得用户无法接受所呈现的交易数据(例如,通过禁用OK按钮),或者不将它针对交易数据已经生成并且正常将会呈现给用户的动态凭证与交易数据一起呈现。在OK按钮被正常用于允许用户来指示交易的认可的情况下,认可机制的所述禁用可以包括将OK按钮渲染为不响应并且以“灰色不可选”渲染的方式来进行显示,因而除了主动将尝试的攻击渲染为无效之外还提供异常(可能的尝试覆盖攻击)存在的明确可视指示。
在一些实施例中,在认证应用检测到交易数据呈现区域看起来不再被完全或部分遮挡之后,认证应用可以从安全模式返回到其正常操作模式,即它可以再次工作就像没有发生过遮挡一样。在一些实施例中,认证应用可以适于只在认证应用没有检测到遮挡持续延迟之后转换到其正常操作模式。该延迟例如可以是5或10秒。延迟通常具有1到30秒之间的持续时间。在一些实施例中,认证应用可以被适配使得如果持续期期间或者之后认证应用检测到遮挡再次发生则认证应用可以再次进入安全模式。在认证应用已经检测到遮挡不再存在之后认证应用从安全模式转换到正常模式之前应用这样的延迟的效果在于,它是应对覆盖攻击的防范措施,该覆盖攻击将会避免非常短时间地(只是对于认证应用再次转换到正常操作模式足够长)覆盖认证应用的交易数据呈现区域。
检测交易数据呈现区域是否被遮挡。
在一些实施例中,认证应用可以默认处于安全模式,并且可以用于检测认证应用窗口或认证应用显示区域或者认证应用用于显示交易数据的显示器区域未被遮挡,并且可以用于在已经检测到认证应用窗口或认证应用显示区域或者认证应用用于显示交易数据的显示器区域未被遮挡的情况下从安全模式切换到正常操作模式。
在一些实施例中,认证应用可以运行在诸如智能手机或平板计算机的认证设备上。在一些实施例中,认证设备可以具有诸如Android或iOS的操作系统。在一些实施例中,认证应用运行所在的认证设备的操作系统可以支持允许认证应用检查或者检测认证应用窗口或认证应用显示区域或者认证应用用于显示交易数据的显示器区域是否被遮挡的操作系统功能,并且认证应用可以用于使用该操作系统功能来检测认证应用窗口或认证应用显示区域或者认证应用用于显示交易数据的显示器区域是否被遮挡,并且认证应用可以适于使用如上述的信息。
强制交易数据呈现区域的置顶位置。
在一些实施例中,认证应用运行所在的认证设备的操作系统可以支持允许认证应用将认证应用用于显示交易数据的认证应用窗口强制置顶的操作系统功能,并且认证应用可以用于在建议数据正在被显示时将认证应用用于显示交易数据的认证应用窗口强制置顶,使得在认证应用显示交易数据时认证应用窗口无法被另一窗口覆盖。
将交易数据呈现与凭证呈现交织。
在一些实施例中,认证应用可以将交易数据与认证应用针对这些交易数据已经生成的动态凭证一起呈现给用户。在一些实施例中,认证应用可以通过覆盖攻击非常难以或者不可能将交易数据的呈现与对应的生成动态凭证分离的方式将认证数据和动态凭证一起呈现给用户,使得反过来覆盖攻击非常难以或者不可能隐藏或者遮挡认证应用可能已经接收到且使用在动态凭证生成并且尝试呈现给用户的(虚假)交易数据,为了使得用户相信正确的交易数据已经被认证应用用来生成动态凭证,覆盖攻击呈现其他的交易数据,即用户想要的并且覆盖攻击想要呈现给用户来欺骗用户的数据。例如,在一些实施例中,认证应用可以呈现交易数据和所生成的动态凭证使得它们占据显示器的相同区域。在一些实施例中,认证应用例如可以以如下方式来呈现交易数据和所生成的动态凭证:对于用户来说它们以覆盖的方式出现或者在相互在顶部堆叠。在一些实施例中,认证应用例如可以以动态凭证出现在交易数据之间的某个位置的方式来呈现交易数据和所生成的动态凭证。在一些实施例中,所呈现的动态凭证的位置相对于所呈现的交易认证数据的位置可以在会话之间或者在认证应用实例之间变化,优选地以不可预知的方式。在一些实施例中,认证应用可以一起呈现认证数据和动态凭证,例如以覆盖或者交织的方式,但是优选通过用户能够易于从动态凭证辨别出交易数据的方式。例如,认证应用可以通过与表示动态凭证的数字或字符不同的方式来呈现表示交易数据的数字或字符。例如,认证应用可以针对表示交易数据的数字或字符使用与表示动态凭证的数字或字符的不同字体、字号和/或字体颜色。在一个实施例中,可以通过认证应用来选择用于交易数据和/或用于动态凭证的字体或多个字体的特征。在另一实施例中,这些字体的特征可以由用户例如经由用户输入来选择。字体特征可以存储在存储器中,例如在只能通过认证应用访问的安全位置。
交易数据与凭证之间的具有不同演化的动态要素。
在一个实施例中,交易数据和/或所生成的凭证的呈现方面可以及时变化。在一些实施例中,该方面的根据时间的变化可以使得将正在显示的交易数据与所生成的凭证之间的差异突出。在一些实施例中,认证应用可以通过渐变或连续的方式来改变这方面。在一些实施例中,认证应用可以通过突变或不连续的方式来改变这方面。在一些实施例中,认证应用可以通过意想不到的方式来改变这方面。例如,在一些实施例中,认证应用可以用于显示交易数据和所生成的动态凭证的字体的特征可以及时改变。例如,字体大小或者字体颜色可以随时间变化。在一些实施例中,认证应用可以独立于用于显示交易数据的字体(或者多个字体)的特征来改变用于显示所生成的动态凭证的字体(或者多个字体)的特征。在一些实施例中,认证可以针对另一认证和/或针对该认证应用的显示窗口随时改变交易数据和所生成的动态凭证的相对位置。在一些实施例中,字体特征可以基于用户选择。
需要活跃的用户交互使得或者保持所生成的凭证可见。
在一些实施例中,认证应用可以针对特定交易数据生成动态凭证,并且可以向用户显示它生成的动态凭证所针对的交易数据。认证应用可以被适配使得如果用户以特定的方式与认证应用交互则它将向用户显示动态凭证。例如,在一些实施例中,认证应用可以运行在包括触摸屏的计算平台(例如智能手机或平板计算机)上,认证应用可以生成动态凭证并且显示对应的交易数据,用户必须触摸显示交易数据的区域并且做出滑动移动从而将交易数据划开以使得所生成的动态凭证可见。例如,在一些实施例中,认证应用可以将交易数据显示在例如用户必须打开或移开的门或窗帘的表示上,通过触摸交易数据并将其滑到一边,由此生成的动态凭证可能出现在正在打开或滑开的门或窗帘后面。例如,在一些实施例中,显示交易数据的区域或窗格可以具有两个部分或两个半部分,并且用户必须用手指触摸每个部分或一半,并且移动/滑动他或她的两个手指以移动两个部分或一半的交易数据显示区域分开,以便似乎隐藏在交易数据窗格后面的生成动态凭证变得可见。在一些实施例中,认证应用和运行认证应用的计算平台可以被适配使得如果认证应用不被另一应用的另一窗口隐藏或遮挡,则认证应用只能接收这种用户触摸交互。这可以确保如果交易数据窗格被另一个窗口覆盖,则用户不能与认证应用交互,使得认证应用不会将生成的动态凭证泄露给用户。
使覆盖的存在对于用户可见。
在一些实施例中,认证应用可以被适配使得恶意软件应用难以提供与显示交易数据的认证窗口的区域相匹配的覆盖的方式来显示交易数据。如果覆盖窗口与显示交易数据的认证窗口的区域不匹配,则这将导致用户期望的认证应用窗口的整体视觉方面出现异常,以便用户将被警告存在覆盖窗口,并且得出结论继续进行例如向远程应用转发由认证应用生成并显示的动态凭证是不安全的。
交易数据呈现区域的可变性。
例如,在一些实施例中,认证应用可以被适配使得显示交易数据的认证窗口的区域可以具有视觉上可感知的特征,诸如可以从一个交易改变到另一个交易的其位置、尺寸和/或形状,优选以不可预知的方式。在一些实施例中,显示交易数据的认证窗口的区域可以具有视觉上可感知的特性,诸如其位置、尺寸和/或形状,该视觉上可感知的特性可以是可变的,优选以不可预知的方式从一个认证装置或认证应用实例改变到另一个认证装置或认证应用实例。视觉可感知特性(例如显示交易数据的认证窗口的位置、尺寸和/或形状)的这种可变性增加了恶意软件覆盖窗口与显示交易数据的认证窗口区域不匹配的可能性,并且或者隐藏太多或者不足,以使得用户有机会检测到指示出现问题的明确视觉迹象。
在一些实施例中,认证应用的交易数据呈现区域的位置、尺寸和/或形状可以在针对给定交易的数据在给定的认证装置或认证应用实例上的呈现期间以不可预知的方式动态地改变。这使得覆盖攻击难以实现,因为生成覆盖窗口的恶意软件为了避免被用户检测到,必须以某种方式连续并且实时地追踪认证应用的交易数据呈现区域的不断变化的位置、尺寸和/或形状并相应地调整相应的覆盖位置、尺寸和/或形状,因为否则用户将有机会检测指示覆盖窗口的存在的明确的视觉迹象。
交易数据呈现区域的个性化。
在一些实施例中,交易数据呈现区域的外观和感觉可以基于参数优选以不可预知的方式从一个认证装置到另一个不同,其中的参数由认证应用本地管理并且优选地任何其他应用都不可访问。如果恶意软件覆盖窗口呈现出与用户期望的不同外观(基于用户的认证设备上的认证应用实例的特定外观和感觉的用户体验),则这可以提醒用户出现问题。例如,在一些实施例中,呈现交易数据的字体类型、字体大小和/或字体颜色可以从一个认证设备到另一个变化。在其他实施例中,交易数据可以针对高度个性化的背景(诸如例如个性化的容易识别的复杂绘图或照片)显示,在一些实施例中用户可以例如经由用户输入自己选择它们,并且用户输入选择可能被存储在存储器中。如果这种背景对于不同的认证设备是不同的(最好是以不可预知的方式),那么恶意软件应用不可能呈现具有与用户期望从真实认证应用相同的背景的覆盖窗口。
交易数据呈现区域和周围环境之间的连续性。
在一些实施例中,交易数据呈现区域仅是完整认证应用窗口的一部分,并且覆盖窗口可能无法覆盖整个认证窗口,以免用户不再能够获得该认证应用的看似正常的用户体验认证。在一些实施例中,认证应用具有必须对用户保持可见和/或可访问的区域,以使用户能够看见或获得动态凭证。例如,在一些实施例中,认证应用窗口可以同时呈现交易数据和相应的动态凭证。在这种情况下,覆盖窗口不能覆盖动态凭证的呈现,因为否则用户将不能复制并将凭证转发给远程应用,这反过来将打击恶意软件的目的。在另一个示例中,认证窗口可以具有用于用户按下以认可或确认由认证应用呈现的交易数据的按钮,由此如果用户确实通过按下按钮认可交易数据,认证应用可以适于仅生成和/或显示与所显示的交易相对应的动态凭证数据。同样在这种情况下,覆盖窗口不能覆盖认可按钮,否则用户将不能够表示他或她的认可,并且不会生成动态凭证。
在一些实施例中,认证应用可以利用这样的需要,即不会覆盖认证窗口的至少一部分,这是通过在认证窗口的交易数据呈现区域(其将被覆盖窗口隐藏)和认证窗口将不一定被覆盖窗口覆盖的区域之间创建连续性,由此覆盖窗口的存在将必然或可能破坏该视觉连续性或导致视觉不连续性,该视觉不连续性将容易被用户检测到并且将向用户指示出现问题。为了覆盖攻击具有不被用户检测到的合理概率,它应该始终防止出现这种视觉不连续性。以下描述了许多解决方案用于认证应用,以使覆盖攻击更难以防止出现这种不连续性。
例如,在一些实施例中,认证应用可以将视觉上可感知的特征(例如视觉可感知的图案)应用到认证窗口,由此仅部分覆盖认证窗口的覆盖窗口的存在将不可避免地或可能地以如下方式干扰该视觉可感知的特征:覆盖窗口的存在会引起用户可感知的视觉中断或不连续性,并且会被用户识别为异常。这种视觉可感知的特征可以是静态的或可以是动态的,即在一些实施例中这种视觉可感知的特征可以根据时间而变化或演变。在一些实施例中,这种视觉可感知的特征可以从一个认证应用实例到另一个变化。在一些实施例中,这种视觉可感知的特征可以从一个交易认证会话到另一个变化。例如,在一些实施例中,认证应用可以在背景之上显示交易数据。在一些实施例中,背景可以例如具有在用户眼中具有特定规律性或顺序的可视图案,同时具有某些特定特征以将其与其他可能背景区分开。背景可能会超出预留显示交易数据的区域,并可能延伸到其他区域。更具体地,背景可以延伸到例如包括用于用户确认所显示的交易数据的按钮的区域,或者背景可以延伸到显示器的认证应用可用于显示动态凭证的区域,认证应用可能已经针对所显示的交易数据(例如,认证应用已经在所显示的交易数据上生成的签名)生成该动态凭证。图案中不连续的存在使得用户有机会检测指示覆盖窗口存在的明确的视觉迹象。图案本身可以优选地使得用户尽可能容易地注意到例如由覆盖显示交易数据区域的窗口引起的图案中的任何不连续性。
在一些实施例中,背景可以简单地以特定的色调着色。在一些实施例中,背景的着色可以具有规则的梯度(例如,以规则的方式从背景的一端的一种颜色逐渐移动到背景的另一端的另一种颜色)。
在一些实施例中,图案可以包括平面的规则或半规则平铺。在一些实施例中,图案可以例如包括螺旋形。
在其他实施例中,背景可以显示能够被用户识别或可能对用户有意义的图片,而不是显示常规或半常规模式。例如,在一些实施例中,背景可以包括风景或脸部的图片。
在一些实施例中,认证应用使用的背景可能是可变的并且可能是不可预知的。在一些实施例中,认证应用使用的背景可以从一个认证装置到另一个认证装置变化或从一个认证应用实例到另一个认证应用实例变化。在一些实施例中,特定认证应用或认证装置使用的背景可以从一个认证会话到另一认证会话变化。例如,在一些实施例中,认证应用可以在每个认证会话中使用不同的平铺图案和/或不同的颜色。在一些实施例中,每个不同的认证应用实例或认证装置可以被配置为具有其自己的个人图片以用作背景。在一些实施例中,该图片可以由用户选择。例如,用户可以使用输入接口来选择特定背景或多个背景,并且用户选择可以被存储在存储器中。
在一些实施例中,特定认证应用用于特定认证会话的背景可以随时间变化,即背景可以具有瞬时变化性。例如,在一些实施例中,认证应用正在使用的背景的一些视觉可感知的特征可以在认证应用向用户显示交易数据的时期期间演变。在一些实施例中,认证应用可以突然改变背景。在一些实施例中,认证应用可以逐渐改变背景。
在一些实施例中,认证应用可以改变用于背景的颜色。
在一些实施例中,认证应用可以改变用于背景的图案。例如,在一些实施例中,背景可以包括周期性的平铺图案,由此瓦片(tiles)的形状可以随时间变化。例如,瓦片的大小可能改变,或者瓦片的角度可能改变。
在一些实施例中,认证应用可以在显示交易数据的同时移动背景。例如,它可能会移动和/或旋转背景。
在一些实施例中,认证应用可以使背景畸变以致它随时间改变。认证应用应用于背景的畸变可能具有可由用户辨别的视觉上可感知的图案,并且此图案可以以用户可感知的方式随时演变。例如,在一些实施例中,认证应用可以使畸变波或波动(例如压缩和/或膨胀波或波动)穿过背景。在一些实施例中,这种畸变波可以是从背景的一端移动到另一端的线性波。在一些实施例中,畸变波可以径向居中于可能位于或可能不位于验证窗口内的原点。优选地,失真发生在将被覆盖窗口遮挡的背景部分和认证窗口的不会被覆盖窗口遮挡的部分背景中,使得覆盖窗口的边界将切断失真图案,这又意味着如果该覆盖窗口不但不能够模拟与认证应用相同的背景,而且不能够模拟与认证应用相同的畸变,则用户可以明确地检测指示覆盖窗口存在的视觉迹象。
在一些实施例中,认证应用可以将背景划分为(可以是水平的、垂直的或倾斜的)车道(lanes),并且每个车道可以分开演变。例如,每个车道的背景部分可能会以不同的速度或甚至不同的方向移动。而且,每个车道的移动可以独立于其他车道中的移动而改变。在一些实施例中,认证应用可以选择车道的方位,使得始终存在至少一条车道将位于认证窗口的交易数据呈现区域(其将被覆盖窗口隐藏)和不必被覆盖窗口覆盖的验证窗口的区域两者的背景中。这确保了覆盖窗口的存在将必然导致至少该车道中的不连续性,使得用户可以被警告覆盖窗口的存在。
在一些实施例中,时间变化本身的特征可以是可变的。时间变化的这些特征本身可以例如从一个认证装置或认证应用实例到另一个变化,和/或从一个认证会话到另一个认证会话变化,和/或在特定认证装置或认证应用实例上的特定认证会话期间变化。例如,在一些实施例中,背景可以移动并且背景的移动参数可以是可变的。移动参数可以包括移动是否包括平移或旋转、平移或旋转的方向、旋转的中心、平移和/或旋转的速度。在一些实施例中,背景可能在时间上畸变并且畸变的参数可以是可变的。例如,失真的速度、大小或振幅或方向可以是可变的,或者波或波纹的速度、大小或振幅、波长或方向可以是可变的。
认证应用正在使用的背景的所有这些可变性,更具体地说是这种可变性的不可预知性,使得覆盖攻击明显更难以找出背景在任何给定时间可能具有的图案,从而使覆盖窗口很难或者甚至不可能实时调整自己的背景以使覆盖窗口的背景与未被覆盖窗口遮挡的认证窗口的背景部分无缝匹配。
组合解决方案。
在一些实施例中,可以组合上述解决方案中的两个或更多个。
接收交易数据。
在一些实施例中,运行认证应用的认证设备可以包括适于接收交易数据的数据输入接口。在一些实施例中,认证应用可以用于使用该数据输入接口来获得交易数据并且使用如本申请中其它地方所述的由此获得的交易数据,例如从将所获得的交易数据显示给用户和/或生成与所获得的交易数据对应的动态凭证。
例如,在一些实施例中,用户正用于访问远程应用的访问设备可以显示包括编码的交易数据的2D图像,并且认证设备可以包括相机,并且认证应用可以用于使用该相机来拍摄显示在访问设备的显示器上的2D图像的图片并且解码2D图像并且检索编码的交易数据以供使用,如本申请中其它地方所述。
在一些实施例中,用户正用于访问远程应用的访问设备可以显示包括经编码的交易数据的一系列2D图像,并且认证设备可以包括相机,并且认证应用可以用于使用该相机拍摄显示在访问设备的显示器上的系列2D图像的一系列图片或电影,并解码所捕获的系列2D图像,并检索经编码的交易数据以供在本申请中的其它地方描述使用。
在一些实施例中,用户正用于访问远程应用的访问设备可以显示将交易数据进行编码的短片或电影,并且认证设备可以包括相机,并且认证应用可以用于使用该相机来录制显示在访问设备的显示器上的电影或短片,并且检索编码的交易数据以供如本申请中其它地方所述的使用。
例如,在一些实施例中,设备可以具有无线数据通信接口(诸如在例如智能电话或平板电脑上的3G或4G无线数据接口),并且认证应用可以适于使用该无线数据通信接口来接收包含交易数据的消息,并且解码该消息并检索编码的交易数据以供如本申请中其它地方所述的使用。
生成动态凭证。
在一些实施例中,认证应用可以适于通过将动态变量与密码秘密进行密码组合来生成动态凭证。在一些实施例中,认证应用可以用于通过将动态变量与密码秘密进行密码组合来生成动态凭证,其中密码秘密包括与认证应用的实例相关联的一个或多个凭证生成密钥。在一些实施例中,凭证生成密钥可以是与实例相关联的数据的一部分。在一些实施例中,认证应用通过使用与实例相关联的数据来确定凭证生成密钥的值。动态变量可以包括由令牌内部生成的值,例如实时时钟的值(例如,认证应用运行所在的计算平台的时钟),或者事件相关变量的值,该事件相关变量的值可以是与认证应用实例相关联的数据的一部分且根据例如计数器的当前值自动更新,该当前值在每当使用该计数器的值来生成动态凭证时可以由认证应用实例递增(或递减),或先前由认证应用实例生成并作为与实例相关联的数据的一部分进行存储的动态凭证的值。动态变量还可以包括由认证应用实例接收的外部生成的值,诸如由应用服务器生成的质询或者需要被签名并且如上所述已经提供给令牌的交易数据。动态变量也可以包括内部和外部生成的值的任何组合。例如,为了防止针对交易数据签名的重放攻击,令牌可以使用动态变量,该动态变量包括交易数据和由例如运行认证应用的计算平台的时钟所提供的时间值的组合。在认证应用仅使用内部生成的动态变量值的情况下,动态变量可以被称为内部动态变量,并且生成的动态凭证可以被称为“一次性密码”。在令牌使用包括外部生成的质询的动态变量的情况下,生成的动态变量可以被称为“响应”。在令牌使用包括交易数据的动态变量的情况下,所生成的动态凭证可以被称为“交易数据签名”或者简称为“签名”。
恢复服务器最初生成的动态凭据。
在一些实施例中,认证应用将向用户显示或将发送给验证或应用服务器的实际动态凭证最初并不是由认证应用生成的。而是,动态凭证最初可能由某个服务器(例如验证服务器)创建,并且可能会发送给认证设备。例如,动态凭证可以被创建为电子签名,该电子签名可以是动态凭证所关联的交易数据的密码函数,或者其可以根据随机或伪随机数来生成,并且可以是关联并存储在例如具有动态凭证将用于的交易的数据库中。例如,在一些实施例中,服务器可以生成与可能必须被审阅和认可的交易数据的动态凭证,并且可以向认证设备发送包括交易数据和对应的动态凭证的消息。认证设备上的认证应用可以接收消息并从该消息中检索交易数据和对应的动态凭证。因此,在一些实施例中,认证应用在生成动态凭证的认证设备上的动作可以包括或由以下步骤组成:接收包含最初由服务器创建的动态凭证的消息,并且随后从包括交易数据和对应的动态凭证的消息中提取动态凭证。
例如,在一些实施例中,服务器可以生成与可能必须被审阅和认可的交易数据的动态凭证,并且可以向认证设备发送包括交易数据和对应的动态凭证的消息。认证设备上的认证应用可以接收消息并从该消息中检索交易数据和对应的动态凭证。因此,在一些实施例中,认证应用在生成动态凭证的认证设备上的动作可以包括或由以下步骤组成:接收包含最初由服务器创建的动态凭证的消息,并且随后从接收到的消息中提取该动态凭证。
为了保密而加密的动态凭证。
为了保护这样的消息中的动态凭证免受可能拦截该消息并尝试从该消息中提取动态凭证的中间人,可以使用密码技术来保护消息中所包括的动态凭证的机密性。例如,在一些实施例中,消息中的动态凭证可能已被加密,并且认证应用可以适于解密动态凭证作为从接收到的消息中检索动态凭证的动作的一部分。在一些实施例中,包括动态凭证的消息可能已经被加密,并且认证应用可以用于解密该消息作为从接收到的消息中检索动态凭证的动作的一部分。
加密链接到交易数据的动态凭证,例如通过签名。为了保护这样的消息中的动态凭证免受可能拦截消息并尝试利用与动态凭证不对应的其他交易数据来替换消息中与动态凭证对应的交易数据的中间人,可以使用密码技术来保护消息中包括的交易数据与动态凭证之间的对应关系或链路的完整性。在一些实施例中,消息可以包括交易数据和对应的动态凭证的组合上的签名,并且认证应用可以用于从消息提取该签名并且验证所提取的签名作为从接收到的消息中检索动态凭证和交易数据的动作的一部分。
在一些实施例中,认证应用可以用于向用户呈现所生成的动态凭证。在一些实施例中,认证应用可以用于将所呈现的动态凭证转发给服务器(220)以进行验证。在一些实施例中,认证设备可以以可视方式(例如通过使用显示器)向用户呈现动态凭证。在一些实施例中,所呈现的动态凭证可以以字符串的格式进行编码。在一些实施例中,字符可以只包括十进制字符。在其他实施例中,字符可以包括数字字母字符。在一些实施例中,字符串可以包括来自非字母书写系统(例如中文或日文字符)的字符。
在一些实施例中,认证设备或认证应用可以用于在交易数据上生成签名。在一些实施例中,认证设备或认证应用可以向用户显示其上生成或者将生成签名的交易数据,使得用户可以验证认证设备或认证应用已经生成或者将生成签名所针对的交易数据的正确性。在一些实施例中,认证设备或认证应用可向用户显示交易数据,并且作为认证设备或认证应用生成和/或显示针对所显示和认可的交易数据的签名的条件,用户必须确认或认可所显示的交易数据(例如,通过触摸或点击认证应用的OK按钮)。
在一些实施例中,执行认证应用的认证设备可以用于将所生成的动态凭证自动发送到远程服务器,该远程服务器可以例如包括托管远程应用的应用服务器或用于验证动态凭证的证书生成服务器。在一些实施例中,执行认证应用的认证装置可以具有与远程服务器的直接或间接数据连接。例如,在一些实施例中,执行认证应用的认证设备可以具有互联网连接并且可以使用该互联网连接来将所生成的动态凭证发送到远程服务器。在一些实施例中,执行认证应用的认证设备可以包括例如执行认证应用的智能电话或平板计算机,并且智能电话或平板计算机可以具有无线互联网连接。
在一些实施例中,执行认证应用的认证设备可以适于将所生成的动态凭证显示给用户,并且用户可将所显示的动态凭证复制到用户可以用来与远程应用进行交互的访问设备,并且访问设备可以将用户提供的动态凭证转发给远程服务器。
在一些实施例中,远程服务器可以例如是托管远程应用的应用服务器。或者,远程服务器可以是不同的服务器,例如凭证验证服务器。在后一种情况下,在验证所接收的动态凭证之后,远程服务器可以向远程应用通知所接收的动态凭证的验证结果。
用于验证用户或用户提交的交易的方法。
在本发明的一个方面中,提供了一种用于认证用户或用户向远程应用提交的交易用于保护用户与远程应用之间的交互的方法。
在一些实施例中,根据本发明的方法可以包括由本说明书其他地方所述的在认证设备上运行的认证应用所执行的至少一些步骤。
在一些实施例中,该方法可以包括保护用户与远程可访问的基于计算机的应用的交互的方法,该方法包括在个人计算设备上执行以下步骤:获得交易数据;将所获得的交易数据显示在个人计算设备的显示器上以供用户审阅;获得与交易数据相关联的动态凭证;以及使动态凭证可用于验证。
在一些实施例中,获得交易数据的步骤可以包括在个人计算设备处接收包含交易数据的消息。
在一些实施例中,获得动态凭证的步骤可以包括应用由密码密钥参数化的密码算法,该密码密钥可以是或可以从与用户相关联的秘密中导出的。在一些实施例中,该秘密可以存储在个人计算设备中。在一些实施例中,动态凭证可以通过将密码算法应用于交易数据来获得。在一些实施例中,动态凭证的值可以是密码算法的结果。在一些实施例中,密码算法还可以使用其他数据,例如时间值或事件相关变量的值。
在一些实施例中,动态凭证可以通过将密码算法应用于在个人计算设备处接收并且包含交易数据的消息的至少一部分来获得。在一些实施例中,将密码算法应用于该消息的至少一部分可以包括解密消息的一部分。
在一些实施例中,该方法可以包括前述实施例的任何方法,并且还可以包括在执行显示所获得的交易数据的步骤时在个人计算设备处提供用于用户指示用户的认可或拒绝的认可指示机制,通过使用该机制从用户获得用户认可或拒绝的指示。在一些实施例中,从用户获得用户的认可或拒绝的指示的步骤可以包括通过个人计算设备的用户输入接口从用户接收输入信号。在一些实施例中,个人计算设备的用户输入接口可以包括触摸屏,并且从用户接收输入信号可以包括检测触摸屏的特定区域上的触摸或点击。在一些实施例中,提供认可指示机制可以包括在个人计算设备的显示器上显示用于用户点击或触摸的至少一个按钮。在一些实施例中,提供认可指示机制可以包括在个人计算设备的显示器上显示用于点击或触摸的确定和取消按钮,由此获得用户的认可包括接收确定按钮的点击或触摸,并且获得用户的拒绝包括接收取消按钮的点击或触摸。在一些实施例中,所获得的用户的认可或拒绝可被解释为对显示的交易数据的认可或拒绝。在一些实施例中,至少获得动态凭证的步骤或使得动态凭证可用于验证的步骤可以依通过该机制获得用户在个人计算设备处的认可以获得用户认可的指示而定的。
在一些实施例中,使动态凭证可用于验证的步骤可以包括在个人计算设备上在个人计算设备的显示器上显示动态凭证。在一些实施例中,使动态凭证可用于验证的步骤可以进一步包括用户将个人计算设备的显示器上显示的动态凭证提供给可远程访问的基于计算机的应用。在一些实施例中,使动态凭证可用于验证的步骤还可以包括在访问计算设备(诸如个人计算机或平板计算机)处接收在个人计算设备的显示器上显示的动态凭证,该动态凭证由用户在访问计算设备进行手动复制,并且访问计算设备通过计算机网络将所接收的动态凭证发送到服务器,该服务器诸如凭证验证服务器或托管远程可访问的基于计算机的应用的远程应用服务器。
在一些实施例中,使动态凭证可用于验证的步骤可以包括在个人计算设备处通过使用个人计算设备中包括的数据通信接口在数据通信网络上将动态凭证发送到服务器,该服务器诸如凭证验证服务器或托管远程可访问的基于计算机的应用的远程应用服务器。
在一些实施例中,上述计算机网络和/或数据通信网络可以包括互联网和/或诸如移动电话数据网络的无线数据通信网络。
在一些实施例中,该方法可以包括前述实施例的任何方法,并且还可以包括在凭证验证服务器处接收和验证动态凭证的步骤。在一些实施例中,验证动态凭证的步骤可以包括本描述中其他地方描述的任何验证方法。
在一些实施例中,在个人计算设备的显示器上显示所获得的交易数据以供用户审阅的步骤可以包括运行在个人计算设备上的认证应用将所获得的交易数据显示在个人计算设备的显示器的交易数据呈现区域中。在一些实施例中,交易数据呈现区域可以包括在个人计算设备的显示器上的认证应用的交易数据显示窗口的全部或一部分。
在一些实施例中,该方法可以包括前述实施例的任何方法,并且还可以包括在个人计算设备处确保在个人计算设备上运行的另一应用的窗口不能部分地或全部地隐藏或遮挡认证应用的交易数据呈现区域。在一些实施例中,该方法还可以包括以下步骤:在个人计算设备处确保在个人计算设备上运行的另一应用的其他窗口不能部分地或完全地隐藏或遮挡认证应用的交易数据呈现窗口。在一些实施例中,在个人计算设备处确保在个人计算设备上运行的另一应用的其他窗口不能部分地或全部地隐藏或遮挡交易数据呈现窗口的步骤可以包括认证应用调用一个或多个操作系统功能以确保交易数据呈现窗口保持在最顶部或强制交易数据呈现窗口保持在最顶部。在一些实施例中,认证应用调用一个或多个操作系统功能以确保或强制交易数据显示窗口保持在最顶部的步骤可以包括认证应用调用一个或多个操作系统功能以确保或强制当交易数据显示串口正在显示交易数据时或者直到认证应用已经接收到用户认可或拒绝所显示的交易数据的指示时,显示窗口保持在最顶部。
在一些实施例中,该方法可以包括前述实施例的任何方法,并且可以包括确保如果认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被不是验证应用窗口的窗口部分或完全隐藏或遮挡的步骤,则至少不执行使动态凭证可用于验证的步骤。在一些实施例中,至少只要认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被不是认证应用窗口的窗口部分或者完全隐藏或遮挡,就不执行至少使动态凭证可用于验证的步骤。
在一些实施例中,该方法可以包括前述实施例的任何方法,并且还可以包括以下步骤:确保如果认证应用或个人计算设备的操作系统检测到认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被另一个窗口部分或全部隐藏或遮挡,则认可指示机制被禁用。在一些实施例中,确保如果检测到认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被另一窗口部分或全部隐藏或遮挡则认可指示机制被禁用的步骤可以包括,认证应用调用一个或多个操作系统功能,该操作系统功能使操作系统阻止或不传递指示用户认可的用户输入事件给认可指示机制。
在一些实施例中,该方法可以包括前述实施例的任何方法,并且还可以包括覆盖检测步骤:检测或者验证认证应用的交易数据呈现区域或认证应用的交易数据显示窗口是否被另一个窗口部分或全部隐藏或遮挡。在一些实施例中,检测或者验证认证应用的交易数据呈现区域或认证应用的交易数据显示窗口是否被另一个窗口部分或全部隐藏或遮挡可以包括,认证应用调用一个或多个操作系统功能来检测认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被另一个窗口部分或全部隐藏或遮挡。
在一些实施例中,该方法可以包括前述实施例的任何方法,并且还可以包括如下步骤:如果认证应用检测到认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被另一个窗口部分或全部隐藏或遮挡则禁用认可指示机制。
在一些实施例中,该方法可以包括前述实施例的任何方法,并且还可以包括如下步骤:如果检测到认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被另一个窗口部分或全部隐藏或遮挡,则忽略用户认可的指示。在一些实施例中,使动态凭证可用于验证的步骤可以以覆盖检测步骤(即,检测或验证认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被另一窗口部分或完全隐藏或遮挡的步骤)不指示认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被另一窗口部分或全部隐藏或遮挡为条件。
在一些实施例中,该方法可以包括前述实施例的任何方法,并且还可以包括如下步骤:如果覆盖检测步骤指示认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被另一个窗口部分或全部隐藏或遮挡,则向用户提供用于警示用户存在异常的可视指示。
在一些实施例中,该方法可以包括前述实施例的任何方法,并且还可以包括如下步骤:如果覆盖检测步骤指示认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被另一窗口部分或全部隐藏或遮挡,则认证应用进入安全模式,并且认证应用保持在安全模式中至少直到认证应用的交易数据呈现区域或认证应用的交易数据显示窗口不再被另一个窗口部分或完全隐藏或遮挡至少有特定的最短时间段。在一些实施例中,该最小时间段可以是认证应用的可配置参数。在一些实施例中,该最小时间段是零秒。在一些实施例中,该最小时间段是至少2秒。在一些实施例中,该时间段不超过30秒。在一些实施例中,该最小时间段为至少30秒且不超过2分钟。
在一些实施例中,只要认证应用处于安全模式,认可指示机制就可以被禁用,或者通过认可指示机制已经获得的用户认可的指示可以被忽略,或者生成动态凭证可以不被执行(或者可以被搁置),或者使得动态凭证可用于验证的步骤可能不被执行(或者可以被搁置)。在一些实施例中,只要认证应用处于安全模式,认证应用可以提供视觉指示以提醒用户认证应用处于安全模式。
在一些实施例中,其中提供认可指示机制的,认可指示机制可以包括用户必须激活的个人计算设备的显示器上的视觉认可激活要素以指示用户的认可,由此视觉认可激活要素可以具有响应于用户动作的激活区域,并且由此被视觉认可激活要素的激活区域所覆盖的显示区域可以与覆盖所有显示的交易数据的显示器上的任何矩形至少部分地重叠。在一些实施例中,被不是认证应用窗口的窗口所覆盖的视觉认可激活要素的至少任何部分激活区域不响应于用户激活视觉认可激活要素的动作。在一些实施例中,用户激活视觉认可激活要素可以包括用户点击或触摸或滑动视觉认可激活要素的激活区域。在一些实施例中,视觉认可激活要素可以包括可点击或可触摸的按钮。在一些实施例中,显示的交易数据的至少一部分可以显示在视觉认可激活要素的激活区域上。在一些实施例中,显示的交易数据的至少部分被显示在视觉认可激活要素的激活区域的左边、右边、上面或下面的至少两个位置处。
在一些实施例中,使动态凭证可用于验证的步骤可以包括在个人计算设备的显示器上显示动态凭证,由此视觉认可激活要素的激活区域被显示的交易数据覆盖,并且由此用于显示动态凭证的区域被显示的交易数据覆盖,并且由此动态凭证直至用户激活视觉认可激活要素为止是不可见的。在一些实施例中,激活视觉认可激活要素可以包括用户触摸并滑动视觉认可激活要素的至少一部分,从而滑走显示的交易数据的至少一部分并显露动态凭证的表示。在一些实施例中,激活视觉认可激活要素可以包括用户在不同的方向上触摸和滑动视觉认可激活要素的至少两个部分,从而滑走显示的交易数据的至少一部分并显露动态凭证的表示。在一些实施例中,用户释放视觉认可激活要素导致所显示的交易数据快速返回到原始位置,并且所显示的动态凭证不再可见。
在一些实施例中,该方法可以包括前述实施例的任何方法,其中使动态凭证可用于验证的步骤可以包括将动态凭证显示在个人计算设备的显示器上并显示交易数据,由此动态凭证与交易数据同时显示在显示器的相同区域中,使得包围所有显示的交易数据的任何矩形也自动包围动态凭证的至少一部分。例如,在一些实施例中,交易数据和动态凭证可以以重叠的方式显示或堆叠显示在彼此之上,或者动态凭证可以被显示的交易数据包围地显示。在一些实施例中,在个人计算设备的显示器上显示的动态凭证的表示和在个人计算设备的显示器上显示的交易数据的表示可以具有不同的视觉特征以使得用户能够从交易数据辨别出动态凭证。例如,在一些实施例中,用于显示动态凭证的一些或全部字符具有与用于显示交易数据的一些或全部字符不同的视觉特性。例如,在一些实施例中,用于显示动态凭证的一些或全部字符具有与用于显示交易数据的一些或全部字符不同的字体类型或字体大小或字体颜色。
在一些实施例中,该方法可以用于保护用于与远程可访问的基于计算机的应用之间的交互会话,并且可以包括在个人计算设备执行以下步骤:获得与所述交易会话有关的交易数据;通过个人计算设备上运行的认证应用,在个人计算设备的显示器的第一区域上显示所获得的交易数据供用户审阅;获得与交易数据相关联的动态凭证;通过认证应用,使得动态凭证可用于利用个人计算机的显示器的第二区域进行验证;以及通过给予第一区域的第一视觉可感知要素和第二区域的第二视觉可感知要素相同的公共值来创建第一区域与第二区域之间的连续性,使得覆盖窗口的存在引起覆盖窗口与第二区域之间的视觉可感知不连续性,该视觉可感知不连续性警示用户该覆盖窗口的存在,所述覆盖窗口不是认证应用的窗口,部分地或者全部地隐藏或者遮挡第一区域,并且不具有与所述第一和第二视觉可感知要素的所述公共值具有相同值的第三视觉可感知要素。
在一些实施例中,通过认证应用使得动态凭证可用于使用个人计算设备的显示器的第二区域进行验证的步骤可以包括在所述第二区域上显示动态凭证。
在一些实施例中,使得动态凭证可用于使用个人计算设备的显示器的第二区域进行验证的步骤可以包括:在个人计算设备处提供用于用户指示用户的认可或拒绝的认可指示机制以及通过使用该机制从用户获得用户的认可或拒绝的指示,由此认可指示机制可以包括用户必须激活以指示用户的认可的个人计算设备的显示器上的视觉认可激活要素,由此视觉认可激活要素具有响应于用户动作的激活区域,并且由此视觉认可激活要素的激活区域是第二区域的一部分。
在一些实施例中,使得动态凭证可用于使用个人计算设备的显示器的第二区域进行验证的步骤还可以包括:如果已经获得所述用户的认可,则在个人计算设备的显示器上显示动态凭证。
在一些实施例中,使得动态凭证可用于使用个人计算设备的显示器的第二区域进行验证的步骤还可以包括:如果已经获得所述用户的认可,则通过数据通信网络将动态凭证发送到服务器计算机。
在一些实施例中,第一和第二视觉可感知要素的公共值可以具有不可预知的要素或不可预知的方面。在一些实施例中,视觉可感知要素的公共值可以随时间变化。在一些实施例中,视觉可感知要素的公共值可以从一个交互会话到另一个交互会话而变化。在一些实施例中,视觉可感知要素的公共值可以从一个个人计算设备到另一个个人计算设备变化。在一些实施例中,视觉可感知要素的公共值可以从一个用户到另一个用户变化。在一些实施例中,第一和第二视觉可感知要素的公共值可以与用于相同类型的视觉可感知要素的默认值或标准值不同。
在一些实施例中,从以下意义而言,公共值可以具有不可预知的要素或方面:安装覆盖攻击的实体很难或不可能预先知道或猜测特定个人计算设备上的特定认证应用实例将用于特定认证会话或用户交互会话或认证应用的使用或交易的公共值的正确值。在一些实施例中,从以下意义而言,公共值可以具有不可预知的要素或方面:知道用于特定认证应用实例或用于特定个人计算设备或用于特定过去认证会话的公共值或用户交互会话或认证应用的使用或交易,不足以使安装覆盖攻击的实体预先知道或猜测可能不同的特定认证应用实例在可能不同的特定个人计算设备上将用于随后的特定认证会话或用户交互会话或认证应用的使用或交易的公共值的正确值。在一些实施例中,公共值可具有在可以随机或伪随机方式确定的意义上不可预知的要素或方面。在一些实施例中,公共值可以使用算法来确定,该算法使用例如从一个验证应用实例到另一个认证应用实例而不同或从一个个人计算设备到另一个个人计算设备不同的秘密。
在一些实施例中,第一区域可以与第二区域相邻。
在一些实施例中,第一和第二视觉可感知要素可以包括显示在这些第一和第二区域中的文本的一些或全部字符,并且公共值可以包括这些字符的视觉特征。公共值可以例如包括这些字符的字体大小、字体类型或字体颜色。
在一些实施例中,第一视觉可感知要素可以包括第一区域的第一背景,并且第二视觉可感知要素可以包括第二区域的第二背景,并且公共值可以包括第一背景和第二背景的视觉特性。例如,公共值可以包括第一背景和第二背景的颜色或图案(例如平铺图案)。
在一些实施例中,第一背景和第二背景可以是不均匀的,并且第一视觉可感知要素可以包括第一背景的第一畸变,第二视觉可感知要素可以包括第二背景的第二畸变,并且公共值可以包括第一和第二畸变的共同特征。
在一些实施例中,第一背景可以包括第一图片,并且第二背景可以包括第二图片,由此公共值可以包括第一和第二图片都是单个源图片的一部分的事实。例如,第一和第二图片可以是相同源图片的两半,由此用户可以识别这个事实。源图片可以是从大的图片集合中随机选择的图片。源图片例如可以是风景的图片。
在一些实施例中,公共值可以随时间改变。在一些实施例中,公共值可能以不可预知的方式随时间改变。
在一些实施例中,第一和第二区域的第一和第二视觉可感知要素可以随时间变化,并且公共值可以包括第一和第二视觉可感知要素的时间变化方面的共同值。例如,第一视觉可感知要素可以包括第一区域的第一背景的第一移动,并且第二视觉可感知要素可以包括第二区域的第二背景的第二移动,并且公共值可以包括第一和第二运动的共同特性。例如,在一些实施例中,公共值可以包括这些第一和第二移动的共同速度,或者公共值可以包括第一和第二移动的共同方向。
在一些实施例中,该方法可以包括前述实施例的任何方法,其中获得动态凭证的步骤可以包括使用可以利用密码密钥进行参数化的密码算法,该密码密钥可以包括或者可以从存储在个人计算中的秘密设备进行导出。例如,在一些实施例中,获得动态凭证的步骤可以包括通过将交易数据与包括或者从存储在个人计算设备中的秘密导出的密码密钥进行加密组合来生成动态凭证。例如,在一些实施例中,获得动态凭证的步骤可以包括:对于包含交易数据的消息的至少一部分进行解密,并且从消息的解密部分中检索动态凭证,由此可以通过执行可以利用密码解密密钥进行参数化的密码解密算法来完成解密,该密码解密算法可以包括或可以从存储在个人计算设备中的秘密导出。
在一些实施例中,使得动态凭证可用于验证的步骤可以包括将动态凭证发送到证书验证服务器。例如,在一些实施例中,使得动态凭证可用于验证的步骤可以包括,认证应用使得个人计算设备将包括动态凭证的消息发送到可以将动态凭证转发给凭证验证服务器的服务器计算机,诸如凭证验证服务器或远程应用服务器。例如,在一些实施例中,使得动态凭证可用于验证的步骤可以包括该认证应用使得个人计算设备在个人计算设备的显示器上显示动态凭证以供用户阅读,使得用户可以将所显示的动态凭证转发到凭证验证服务器,例如通过手动地将所显示的动态凭证复制到用户正在与之交互的访问设备,由此访问设备随后可以例如通过诸如互联网的计算机网络来发送用户复制到凭证验证服务器或远程应用服务器的动态凭证,凭证验证服务器或远程应用服务器进而将动态凭证转发给凭证验证服务器。在一些实施例中,可以通过在个人计算设备上运行的认证应用软件来执行所有步骤或至少一些步骤,使得个人计算设备执行这些步骤。
用于认证用户或由用户提交的交易的装置。
在本发明的一个方面中,提供了一种认证装置,用于认证用户或用户向远程应用提交的用于保护用户与远程应用之间的交互的交易,如本申请中其他地方所述。在一些实施例中,认证装置可以包括本说明书中其它地方描述的认证装置或个人计算设备中的任何一个。
在一些实施例中,认证设备可以包括个人计算设备以保护用户与远程可访问的基于计算机的应用的交互,该个人计算设备可以包括:用于向用户显示信息的显示器,用于接收来自用户的输入的用户输入接口,存储操作系统软件和认证应用软件的存储器部件,以及用于运行操作系统软件和认证应用的数据处理部件;其中所述认证应用可以用于使得所述个人计算设备:获得交易数据;将所获得的交易数据显示在显示器上以供用户在显示器的交易数据呈现区域中审阅;获得与交易数据相关联的动态凭证;使得动态凭证可用于验证;并确保在个人计算设备上运行的另一个应用的窗口不能部分或完全隐藏或模糊认证应用的交易数据呈现区域。
在一些实施例中,认证设备可以包括个人计算设备以保护用户与远程可访问的基于计算机的应用的交互,该个人计算设备可以包括:用于向用户显示信息的显示器,用于接收来自用户的输入的用户输入接口,存储操作系统软件和认证应用软件的存储器部件,以及用于运行操作系统软件和认证应用的数据处理部件;其中所述认证应用可以用于使得所述个人计算设备:获得交易数据;将获取的交易数据显示在显示器上的认证应用的交易数据显示窗口中以供用户审阅;获得与交易数据相关联的动态凭证;使得动态凭证可用于验证;并且如果认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被不是由该认证应用显示的另一窗口部分或全部隐藏或遮挡,则至少使得动态凭证可用于验证的步骤不被执行或不能被成功执行。
在一些实施例中,认证装置可以包括个人计算设备以保护个人计算设备的用户与远程可访问的基于计算机的应用的交互会话,该个人计算设备可以包括:用于向用户显示信息的显示器,用于接收来自用户的输入的用户输入接口,存储操作系统软件和认证应用软件的存储器部件以及用于运行操作系统软件和认证应用的数据处理部件;其中认证应用可以用于使得个人计算设备:获得与所述交互会话相关的交易数据;将获得的交易数据显示在个人计算设备的显示器的第一区域上以供用户审阅;获得与交易数据相关联的动态凭证;使得动态凭证可用于使用个人计算设备的显示器的第二区域进行验证;并且通过给予第一区域的第一视觉可感知要素和第二区域的第二视觉可感知要素相同的公共值来创建第一区域与第二区域之间视觉可感知的连续性,从而如下的覆盖窗口的存在引起覆盖窗口与第二区域之间的不连续性提醒用户该覆盖窗口的存在,该覆盖窗口不是由认证应用显示,并且其部分或完全隐藏或遮挡第一区域,并且不具有与第一和第二视觉可感知要素的公共值具有相同值的第三视觉可感知要素。
在一些实施例中,该装置可以包括用于执行上述任何方法的一个或多个或所有步骤的个人计算设备。在一些实施例中,个人计算设备可以包括显示器、用户输入接口、数据处理部件和存储器部件。在一些实施例中,数字数据输入接口还可以包括无线数据通信接口。在一些实施例中,存储器部件可以存储包括要由数据处理部件执行的认证应用的软件。在一些实施例中,认证应用可以包括本说明书中其他位置更详细描述的任何认证应用。在一些实施例中,认证应用可以在由数据处理部件执行时使得个人计算设备执行上述任何方法的一个或多个或所有步骤。在一些实施例中,存储器还可以存储操作系统的软件代码,并且数据处理部件可以适用于于和/或被配置为执行该操作系统,并且个人计算设备可以在运行该认证应用的同时运行该操作系统。在一些实施例中,认证应用可以用于调用操作系统的一个或多个功能,如本说明书中其他地方更详细描述。
认证用户或用户提交的交易的系统。
在本发明的一个方面中,提供了一种用于认证用户或者用于认证由用户提交给远程应用的用于保护用户和远程应用之间的交互的系统,如本申请中其他地方所描述的。在一些实施例中,系统可以包括本说明书中其他位置或上述的认证装置或认证设备中的任何认证装置或认证设备。在一些实施例中,系统可以包括用于托管远程可访问的基于计算机的应用的远程应用服务器。在一些实施例中,系统可以包括本说明书中其他位置所述的任何凭证验证服务器。在一些实施例中,远程应用服务器和/或凭证验证服务器可以包括一个或多个服务器计算机。在一些实施例中,远程应用服务器和凭证验证服务器可以被组合在相同的服务器中。
在一些实施例中,该系统可以包括用于保护用户与远程可访问的基于计算机的应用的交互的系统,该系统可以包括:用于托管远程可访问的基于计算机的应用的远程应用服务器,用于允许所述用户与远程可访问的基于计算机的应用进行交互的访问设备,用于验证与远程可访问的基于计算机的应用的交易数据相关联的动态凭证的有效性的凭证验证服务器,以及个人计算设备,该个人计算设备包括:用于向用户显示信息的显示器,用于接收来自用户的输入的输入接口,存储操作系统软件和认证应用软件的存储器部件以及用于运行操作系统软件和认证应用的数据处理部件;其中认证应用可以被配置成使所述个人计算设备:获得所述交易数据;将所获得的交易数据显示在显示器上以供用户在显示器的交易数据呈现区域中查看;获取与交易数据相关联的动态凭证;使动态凭证可用于验证;并确保在个人计算设备上运行的另一个应用的窗口不能部分或完全隐藏或模糊认证应用的交易数据呈现区域。
在一些实施例中,该系统可以包括用于保护用户与远程可访问的基于计算机的应用的交互的系统,该系统可以包括:用于托管远程可访问的基于计算机的应用的远程应用服务器,用于允许所述用户与远程可访问的基于计算机的应用进行交互的访问设备,用于验证与远程可访问的基于计算机的应用的交易数据相关联的动态凭证的有效性的凭证验证服务器,以及个人计算设备,该个人计算设备包括:用于向用户显示信息的显示器,用于接收来自用户的输入的输入接口,存储操作系统软件和认证应用软件的存储器部件以及用于运行操作系统软件和认证应用的数据处理部件;其中认证应用可以被配置成使所述个人计算设备:获得所述交易数据;将获得的交易数据显示在个人计算设备的显示器上的认证应用的交易数据显示窗口中以供用户审阅;获取与交易数据相关联的动态凭证;使得动态凭证可用于验证;并且如果认证应用的交易数据呈现区域或认证应用的交易数据显示窗口被不是认证应用窗口的窗口部分或全部隐藏或遮挡,则至少使得动态凭证可用于验证的步骤不被执行或不能被成功执行。
在一些实施例中,系统可以包括用于保护与远程可访问的基于计算机的应用的用户交互会话的系统,该系统可以包括:用于托管远程可访问的基于计算机的应用的远程应用服务器,用于允许与远程可访问的基于计算机的应用的用户交互会话的访问设备,用于验证与远程可访问的基于计算机的应用的交易数据相关联的动态凭证的有效性的凭证验证服务器以及个人计算设备,该个人计算设备用于向用户显示信息的显示器,用于接收来自用户的输入的用户输入接口,存储操作系统软件和认证应用软件的存储器部件以及用于运行操作系统软件和认证应用的数据处理部件;其中认证应用可以用于使得个人计算设备:获得与所述交互会话相关的交易数据;将获得的交易数据显示在个人计算设备的显示器的第一区域上以供用户审阅;获得与交易数据相关联的动态凭证;使得动态凭证可用于使用个人计算设备的显示器的第二区域进行验证;并且通过给予第一区域的第一视觉可感知要素和第二区域的第二视觉可感知要素相同的公共值来创建第一区域与第二区域之间视觉可感知的连续性,从而如下的覆盖窗口的存在引起覆盖窗口与第二区域之间的不连续性提醒用户该覆盖窗口的存在,该覆盖窗口不是认证应用的窗口,并且其部分或完全隐藏或遮挡第一区域,并且不具有与第一和第二视觉可感知要素的公共值具有相同值的第三视觉可感知要素。
附图说明
从下面尤其是如附图中所示的本发明的实施例的描述,本发明的以上以及其他特定和优点将是清楚的。
图1示意性示出根据本发明的一方面的示例装置。
图2示意性示出根据本发明的一方面的示例系统。
图3示意性示出根据本发明的一方面的示例装置。
图4示意性示出根据本发明的一方面的示例方法。
图5示意性示出根据本发明的一方面的另一示例方法。
图6示意性示出根据本发明的一方面的又一示例方法。
具体实施方式
下面讨论本发明的一些实施方式。虽然讨论具体的实施方式,应当理解的是这只是出于说明的目的。本领域技术人员将认识到在不背离本领域的精神和范围的情况下可以使用的其他组件和配置。提供各种具体细节是为了能够透彻理解本发明。然而,本领域技术人员应当理解的是,可以在不利用这些具体细节的情况下实现本发明。在其他示例汇总,没有详细描述公知的方法、过程、组件和电路,从而不模糊本发明。本领域技术人员将清楚所描述的实施例的各种变型,并且下面详细描述的各实施例的一般性原理可以适用于其他实施例。
图1示意性示出根据本发明的一方面的示例电子装置(100)。图1的装置包括认证设备。在一些实施例中,认证设备适于代表用户生成的动态凭证。在一些实施例中,认证设备生成的动态凭证可以包括例如一次性密码和/或在例如交易数据上的电子签名和/或对于质询的响应。在一些实施例中,认证服务器可以包括智能手机或平板计算机。
处理器(150)和存储器(160)。
认证设备可以包括适于执行一组数据处理指令的数字数据处理部件(150)。在一些实施例中,数据处理部件(150)可以包括例如一个或多个微处理器、微控制器、数字信号处理器(DSP)芯片、现场可编程门阵列(FPGA)等。在一些实施例中,数字数据处理部件可以执行一个或多个软件中所包括的指令。这些一个或多个软件可以包括例如操作系统(例如,Android或iOS)和/或认证应用,该认证应用可以用于生成如说明书中其他地方更详细解释的动态凭证。在一些实施例中,认证应用生成的动态凭证可以包括例如一次性密码和/或在例如交易数据上的电子签名和/或对于质询的响应。
多个实例:
在一些实施例中,认证设备适于支持可以各自与不同的用户相关联的认证应用的多个实例。在一些实施例中,每个实例可以包括认证应用可以用于确定例如密码密钥的数据,密码密钥诸如认证应用可以用于代表与该实例相关联的用户来生成动态凭证的一个或多个密码凭证生成密钥。
认证设备可以包括存储部件(160),该存储部件(160)可以耦接到数字数据处理部件。在一些实施例中,存储部件可以包括程序存储部件,该程序存储部件用于存储将由数据处理部件执行的软件或者固件。例如,在一些实施例中,认证设备的存储中存储的软件或固件可以包括操作系统和/或认证应用。
在一些实施例中,存储部件(160)可以包括用于永久或暂时存储数据的数据存储部件。在一些实施例中,数据存储器部件可以适于安全地存储私密的数据,诸如密码密钥或PIN或者密码参考数据。在一些实施例中,数据存储部件可以适于存储认证应用的多个实例的数据。
存储部件例如可以包括RAM(随机存取存储器)、ROM(只读存储器)、EPROM(可擦除可编程只读存储器)存储器、一次性可编程存储器、闪速存储器、固态存储器、硬盘等。
用户界面(120、130)。
在一些实施例中,认证设备可以包括与用户进行交互的用户界面(120、130),例如从而与用户交换数据、信息和/或命令。
在一些实施例中,认证设备的用户界面可以包括用于向强认证令牌的用户呈现信息和/或数据的输出用户界面(130)。在一些实施例中,输出用户界面例如可以包括显示器(130)或音频输出接口。在一些实施例中,认证设备的用户界面可以包括用于接收来自用户的输入的输入用户界面(120),输入诸如输入数据(如质询或交易数据)或指令(如确认或取消)或PIN。在一些实施例中,输入用户界面可以包括例如键盘(120)。在一些实施例中,认证设备的用户接口可以包括触摸屏幕,该触摸屏幕可以用于提供用户输出界面和用户输入界面两者的功能。
数据输入接口(140)。
在一些实施例中,认证设备可以包括数字数据输入接口。在一些实施例中,认证设备的数字数据输入接口可以用于接收数字数据消息。在一些实施例中,数据输入接口可以包括光学图像获取部件(140)。在一些实施例中,光学图像获取部件可以包括相机。在一些实施例中,认证设备可以用于利用光学图像获取部件来获取可以利用数字数据消息进行编码的图像。在一些实施例中,图像可以包括二维条形码。在一些实施例汇总,图像的格式可以在标准中进行定义。例如,在一些实施例中,光学图像可以是QR码(快速反应码)。
在其他实施例中,数字数据输入接口可以包括用于捕获声学信号的声学接口,其中的声学信号可以利用消息或命令进行编码用于令牌。在一些实施例中,声学接口可以包括话筒。在一些实施例中,声学接口可以包括将模拟电子信号转换为数字信号的模数转换器,其中数字信号可以进一步由例如上述数字数据处理部件进行处理。
在一些实施例中,数字数据输入接口可以包括无线数据通信接口。在一些实施例中,无线数据通信接口可以包括天线。在一些实施例中,无线数据通信接口可以用于接收利用数字数据消息进行编码的经调制的无线电信号。
在一些实施例中,认证设备上运行的认证应用可以用于使用数据输入接口来接收数字数据消息。在一些实施例中,数字数据消息可以包括交易数据,认证应用可以用于获取数字数据消息中所包括的交易数据并且使用所获取的交易数据用于进一步的处理,例如显示给用户和/或生成如在本说明书中其他位置更详细描述的对应动态凭证。
凭证生成。
认证设备可以适于生成如本说明书中其他位置更详细解释的动态凭证。在一些实施例中,数据处理组件(150)可以用于执行密码计算从而生成动态凭证。在一些实施例中,认证设备可以用于使用密码密钥来生成动态凭证,其中密码密钥可以是永久和/或暂时存储在存储组件(160)中或者可以是认证设备从永久和/或暂时存储在存储组件(160)中的数据进行获取。在一些实施例中,认证设备可以用于使用作为存储部件(160)中存储的认证应用实例的一部分的数据来生成动态凭证。
在一些实施例中,认证设备或认证应用可以用于使用动态变量来生成动态凭证,其中动态变量可以包括由令牌提供的内部值。例如,在一些实施例中,认证设备可以包括时钟(170)并且认证设备或认证应用可以使用由该时钟提供的时间值作为内部值。在一些实施例中,认证设备可以保持诸如计数器的事件相关的变量作为认证应用实例的数据的一部分,认证设备或认证应用可以用于使用该事件相关值作为内容值来生成针对该实例的动态凭证,并且每当认证设备或认证应用使用计数器的值来生成动态凭证时,根据当前值来更新该事件相关的变量的值(例如,通过增大或减小计数器值)。例如,在一些实施例中,事件相关变量的更新值可以通过将散列函数应用到该事件相关变量的当前值来计算。
在一些实施例中,认证设备或认证应用可以用于使用动态变量来生成动态凭证,其中动态变量可以包括向令牌提供的外值。在一些实施例中,这样的外部值可以包括由服务器生成的质询或者待签名的交易数据。在一些实施例中,外部值可以由用户通过使用令牌的用户输入界面手动地提供给认证设备或认证应用。例如,令牌可以捕获用户可以在令牌中包括的键盘上作为字符串输入的交易数据或质询。在一些实施例中,外部值被包括在由认证设备或认证应用利用认证设备的数据输入接口接收到的消息或命令中来提供。
在一些实施例中,认证设备或认证应用可以用于向用户呈现所生成的动态凭证。例如,在一些实施例中,认证设备或认证应用可以将所生成的动态凭证作为可读字符串显示在认证设备的显示器上。在一些实施例中,字符可以只包括十进制字符。在其他实施例中,字符可以包括数字字母字符。
安全专用硬件令牌。
在一些实施例中,认证设备(100)是专用硬件设备,并且可以称为令牌或者强认证令牌。在一些实施例中,令牌可以专门使用在保护用户访问应用或者保护用户与这样的应用进行交互的方法中。在一些实施例中,认证设备的主要目的是使用在保护用户访问应用或者保护用户与这样的应用进行交互的方法中。在一些实施例中,为了确保认证设备作为安全设备来使用的专用性,该认证设备可以适用于无法改变其固件。在一些实施例中,为了确保认证设备作为安全设备来使用的专用性,只有通过被设计为保证只有经授权控制的可信方能够更新或改变认证设备的固件的安全固件更新协议,才可能进行其固件的任何改变或者更新。这使得控制的可信方能够确保没有发生如下的固件更新的发生,该固件更新将会取消认证设备在保护用户访问应用或者保护用户与这样的应用进行交互的方法中使用的专用性。用户能够安装未经控制可信方授权的额外软件的设备不能被视为专用设备。主要目的在于提供远程通信设施的设备不能被认为是专用于使用在保护用户访问应用并与其交互的方法中的设备。通用的PC、膝上型计算机、平板计算机和智能手机不能视为专用设备。
非专用的个人计算设备上的软件令牌。
在一些实施例中,认证设备(100)包括不是专用于执行认证功能和生成如在申请的其他位置所描述的动态凭证的硬件设备(100)。在一些实施例中,硬件设备可以包括除了认证功能和生成动态凭证之外还提供其他功能的个人用户设备或个人计算设备(100)。例如,在一些实施例中,个人计算设备还可以提供诸如打电话或者浏览互联网或者发送和接收邮件的远程通信服务。在一些实施例中,个人计算设备可以提供诸如利用个人计算设备中包括的相机进行拍照或者拍摄影片的其他功能。在一些实施例中,个人计算设备可以包括允许用户安装额外的应用或者app(应用)以丰富个人计算设备的功能的操作系统。在一些实施例中,安装额外的应用或者app的可能性不受控制或者不需要由控制可信第三方来授权。在一些实施例中,安装额外的应用或者app的可能性可以由控制中央控制方(例如,个人计算设备的供应商或者制造商的关联方)控制,但是中央控制方不是或者不需要被远程应用信任。在一些实施例中,个人计算设备可以包括认证应用或app用于生成本说明书中其他位置所描述的动态凭证。在一些实施例中,认证应用或app不是默认存在于个人计算设备上,而是必须在个人计算设备已经被分发给用户之后安装在个人计算设备上。在一些实施例中,可以通过个人计算设备上的用户动作来启动认证应用或app在个人计算设备上的安装。在一些实施例中,认证应用或者app可以自动推送到个人计算设备,而不需要在个人计算设备上的先前动作。在一些实施例中,认证应用或app的这种推送能够由认证应用或app的供应商来完成。在一些实施例中,该推送可以由远程应用的应用所有者来完成,用户对于该远程应用的访问受到该认证应用或app保护。在一些实施例中,个人计算设备可以包括在将个人计算设备提供给用户时预设的认证应用或app的可执行代码,但是认证应用或app可能仍然需要提供诸如配置数据的个人化数据和/或诸如密码密钥和/或密码或PIN值的私密数据和/或与用户有关的生物测量模板。在一些实施例中,个人计算设备可以包括例如智能手机或平板设备。
图3示意性示出根据本发明的一方面的示例装置。
认证设备(100)例如可以包括本说明书其他位置所述的认证设备中的一个认证设备,诸如结合图1所述的认证设备中的一个认证设备。
认证设备可以运行认证应用。该认证应用可以用于通过将呈现交易数据的功能与认证应用的其他功能的视觉方面进行视觉上交织(intertwine)来阻止可能的覆盖攻击,其中认证应用的其他功能视觉方面必须对于用户可获得或者可视,对于用户能够获取动态凭证或者对于认证应用生成动态凭证和/或将动态凭证提供给用户或者诸如远程验证服务器的某个目的地。在所示实施例中,呈现动态凭证(“215431”)使其与交易数据覆盖。
例如,认证应用可以生成与交易数据对应的动态凭证并且将所生成的动态凭证与对应的交易数据一起同时进行显示。如果审阅所显示的交易数据时,用户认可所显示的交易数据,则用户可以将对应显示的动态凭证转发到远程应用。如果认证应用在显示器的不相交非覆盖区域中显示动态凭证和交易数据,那么覆盖冲击将相对容易地利用覆盖攻击想要用户替代看到的其他交易数据来覆盖动态凭证所对应的交易数据。然而,根据本发明的一方面,如果认证应用将交易数据的呈现与对应的动态凭证的呈现交织在一起,例如通过使用显示器的相同区域以覆盖的方式显示交易数据和对应的动态凭证两者,那么将认证应用所显示的交易数据进行覆盖并且隐藏的覆盖攻击将也自动覆盖并且隐藏动态凭证。由于用户在此情况下无法看到动态凭证,所以用户无法复制和向远程应用转发由认证应用生成和显示的动态凭证。由于远程应用无法接收到动态凭证,因此它可以不接受与该动态凭证对应的交易,因此打击覆盖攻击者输入虚假交易的企图。
在图3所示的示例中,中间人攻击者已经操纵用户想要向远程应用(例如,互联网银行网站)提交的交易数据。例如,攻击者可以利用虚假数据来替换原始的用户交易数据,例如通过利用攻击者的账户(“91-226461-2”)和目的地标识符(“GANGSTER BAD BOY”)来替换由用户提供的账号的原始值(图3中表示为“KONTO”)和目的地标识符的原始值(图3中表示为
Figure SMS_1
)。远程应用和用户最初可能没有意识到这样的替换。远程应用可以将接收到的(虚假)交易数据发送到用户的认证设备用于审阅和认可。认证设备接收(虚假)交易数据,生成对应的动态凭证(“215431”),并且显示接收到的(虚假)交易数据和对应生成的动态凭证两者。该想法是用户审阅所显示的交易数据,如果用户认可显示的这些交易数据,则将所显示的动态凭证复制并且转发给远程应用。在此情况下,用户在审阅所显示的(虚假)交易数据时将会清楚出现了严重的问题,因为所显示的交易数据无法匹配由用户提供的原始交易数据,于是用户将不会转发所显示的动态凭证。为了规避这种审阅控制,攻击者可能尝试安装覆盖攻击,通过利用显示用户尝试提供给远程应用的原始交易数据的覆盖窗口来隐藏认证应用接收到并且正在显示的虚假交易数据。然而,由于在该实施例中,认证应用正在显示交易数据和对应的动态凭证使得它们叠映在一起,隐藏由认证应用显示的交易数据的认证窗口也将必然隐藏对应的动态凭证,该对应的动态凭证由认证应用显示在显示器(130)的与交易数据精确相同的区域中。这不仅向用户提供发生严重错误的明确视觉迹象,而且这也能够让用户(即使用户忽略到该提示)无法看到和获得动态凭证,因此用户无法将与虚假交易数据对应的动态凭证转发到远程应用。当没有接收到有效的对应动态凭证时,远程应用可以拒绝(虚假)交易数据因此打击攻击者输入虚假交易的企图。
图2示意性示出根据本发明的一方面的示例系统。
在一个实施例中,根据本发明的系统(200)可以包括以下部件:
一个或多个远程应用服务器计算机(210)。该一个或多个远程应用服务器计算机(210)可以托管一个或多个远程应用,该一个或多个远程应用可以被多个用户中的一个或多个用户(290)远程访问。远程应用服务器计算机(210)例如可以包括网络服务器。一个或多个远程应用可以受到一个或多个应用供应商的控制。
多个客户端计算设备(230),其可以允许多个用户中的一个或多个用户(290)远程访问一个或多个远程应用,因此也可以被称为访问设备。客户端计算设备或者访问设备(230)例如可以包括PC(个人计算机)、膝上型计算机或者平板计算机。
计算机网络(250),其连接一个或多个服务器计算机(210)与多个客户端计算设备或者访问设备(230)。在一个实施例中,计算机网络(250)可以包括互联网。在一个实施例中,计算机网络(250)可以包括公共电话网络。在一个实施例中,计算机网络(250)可以包括无线电话网络。
多个认证设备(100),其如本说明书中其他位置更详细所述,例如结合图1。认证设备(100)可以在多个用户之间分配。在一些实施例中,认证设备(100)可以由一个或多个应用供应商在多个用户之间分配。在一个实施例中,认证应用(100)可以是消费者电子装置,该消费者电子装置可以包括如本说明书中其他位置所述可以适用的认证应用。在一些实施例中,认证设备(100)可以包括诸如智能手机或平板计算机的个人计算设备。在一些实施例中,认证设备(100)可以包括诸如Android或iOS的操作系统。在一些实施例中,认证应用可以包括智能手机app或平板设备app。在一些实施例中,用户(290)可以从供应商获得认证应用并将认证应用安装在他们选择的设备(100)上。在一些实施例中,用户(290)可以从app商店获得认证应用。
一个或多个凭证验证服务器(220)。在一些实施例中,一个或多个凭证验证服务器(220)中的每个凭证验证服务器(220)连接到一个或多个应用服务器(210)中的至少一个应用服务器(210),并且可以用于验证动态凭证,连接到验证服务器的一个或多个应用服务器(210)托管的远程应用可以从与这样的远程应用进行交互的用户(290)接收到该动态凭证。在一些实施例中,每个应用服务器(210)可以连接到一个或多个凭证验证服务器(220)中的至少一个凭证验证服务器(220),并且可以用于向所连接的一个或多个凭证验证服务器(220)转发由应用服务器(210)托管的远程应用从与该远程应用进行交互的用户(290)接收到的动态凭证。当从远程应用接收到动态凭证时,凭证验证服务器可以检索与生成动态凭证的用户和/或认证设备(100)相关联的数据,并且使用该数据来加密地验证接收到的动态凭证的有效性。例如,在一些实施例中,凭证验证服务器可以生成针对动态凭证的参考值,将所生成的参考值与接收到的动态凭证进行比较,并且如果接收到动态凭证与所生成的参考值相匹配则认为接收到的动态凭证的认证成功。在一些实施例中,凭证验证服务器可以通过将加密算法应用到参考输入数据来生成参考值,其中参考输入数据诸如服务器接收到的交易数据和/或与用户相关联的事件相关变量或者计数器变量的服务器复制值或者时间值。在一些实施例中,凭证验证服务器可以利用密码密钥将该加密算法进行参数化,其中密码密钥可以包括或者其可以根据与用户相关联的私密值来获得。凭证验证服务器(220)可以向远程服务器返回信号以指示验证是否成功。如果信号指示验证成功,则远程应用可以使用该信息来确定是否准许用户的访问或者是否执行用户请求的特定操作(诸如执行用户提交的交易)。
图4示意性示出保护用户与可远程访问的基于计算机的应用的交互的方法(400)。该方法可以包括在个人计算设备上执行以下步骤:获得(402)交易数据;在个人计算设备的显示器上显示(404)所获得的交易数据供用户审阅,其中个人计算设备上运行的认证应用将所获得的交易数据显示在个人计算设备的显示器的交易数据呈现区域中;获得(406)与交易数据相关联的动态凭证;使得(408)动态凭证可用于验证;以及在个人计算设备上确保(410)没有个人计算设备上运行的另一应用的窗口能够部分或者全部隐藏或者遮挡该认证应用的交易数据呈现区域。
图5示意性示出保护用户与可远程访问的基于计算机的应用的交互的方法(500)。该方法可以包括在个人计算设备执行以下步骤:获得(502)交易数据;通过个人计算设备上运行的认证应用,在个人计算设备的显示器上,认证应用的交易数据显示窗口中,显示(504)所获得的交易数据供用户审阅;获得(506)与交易数据相关联的动态凭证;使得(508)动态凭证可用于验证;以及确保(510)如果认证应用的交易数据呈现区域或者认证应用的交易数据显示窗口正在被不是该认证应用窗口的窗口部分地或者全部地隐藏或者遮挡,则至少使得动态凭证可用于验证的步骤不被执行或者无法成功执行。
图6示意性示出保护用户与可远程访问的基于计算机的应用的交互会话的方法(600)。该方法可以包括在个人计算设备执行以下步骤:获得(602)与所述交易会话有关的交易数据;通过个人计算设备上运行的认证应用,在个人计算设备的显示器的第一区域上显示(604)所获得的交易数据供用户审阅;获得(606)与交易数据相关联的动态凭证;通过认证应用,使得(608)动态凭证可用于利用个人计算机的显示器的第二区域进行验证;以及通过给予第一区域的第一视觉可感知要素和第二区域的第二视觉可感知要素相同的公共值来创建(610)第一区域与第二区域之间的连续性,使得覆盖窗口的存在引起覆盖窗口与第二区域之间的视觉可感知不连续性,该视觉可感知不连续性警示用户该覆盖窗口的存在,所述覆盖窗口不是认证应用的窗口,部分地或者全部地隐藏或者遮挡第一区域,并且不具有与所述第一和第二视觉可感知要素的所述公共值具有相同值的第三视觉可感知要素。
已经描述了许多实施方式。然而,应当理解的是可以做出各种修改。例如,一个或多个实施方式的要素可以进行组合、删除、修改或补充从而形成另外的实施方式。因此,其他的实施方式在所附权利要求的范围中。另外,虽然本发明的特定特征只针对几个实施方式中的一个实施方式进行公开,但是当对于任何给定或特定应用有益并且期望时,这样的特征可以与其他实施方式的一个或多个其他特征进行组合。虽然上面描述了本发明的各种实施例,应当理解的是它们仅作为示例来呈现而并非限制。特定地,当然无法为了描述所要求的主体而描述组件或方法的每个可想到的组合,但是本领域的普通技术人员之一可以认识到的是本发明的其他组合和置换是可能的。因此,本发明的广度和范围不应当受限于任何上述示例实施例,而是本发明的至少一个实施例的范围仅根据下面的权利要求及其等同物来限定。

Claims (27)

1.一种保护用户与远程可访问的基于计算机的应用的交互会话的方法,所述方法包括在个人计算设备处执行如下步骤:
获得与所述交互会话有关的交易数据;
通过所述个人计算设备上运行的认证应用,将所获得的交易数据显示在所述个人计算设备的显示器的第一区域以供用户审阅;
获得与所述交易数据相关联的动态凭证;
通过所述认证应用,使得所述动态凭证能够用于使用所述个人计算设备的显示器的第二区域进行验证;以及
通过给予所述第一区域的第一视觉可感知要素与所述第二区域的第二视觉可感知要素相同的公共值,创建所述第一区域与所述第二区域之间的视觉可感知的连续性,以便覆盖窗口的存在使得所述覆盖窗口与所述第二区域之间的视觉可感知的不连续性警示所述用户所述覆盖窗口的存在,所述覆盖窗口未通过所述认证应用进行显示,并且部分或完全隐藏或遮挡所述第一区域,并且不具有第三视觉可感知要素,所述第三视觉可感知要素与所述第一视觉可感知要素和所述第二视觉可感知要素的所述相同的公共值具有相同值。
2.根据权利要求1所述的方法,其中通过所述认证应用使得所述动态凭证能够用于使用所述个人计算设备的显示器的第二区域进行验证的步骤包括在所述第二区域上显示所述动态凭证。
3.根据权利要求1所述的方法,其中使得所述动态凭证能够用于使用所述个人计算设备的显示器的第二区域进行验证的步骤包括:在所述个人计算设备处提供用于所述用户指示用户的认可或拒绝的认可指示机制以及通过使用该机制从所述用户获得用户的认可或拒绝的指示,所述认可指示机制包括用户必须激活的个人计算设备的显示器上的视觉认可激活要素以指示用户的认可,所述视觉认可激活要素具有响应于用户动作的激活区域,并且所述视觉认可激活要素的激活区域是所述第二区域的一部分。
4.根据权利要求3所述的方法,其中使得所述动态凭证能够用于使用所述个人计算设备的显示器的第二区域进行验证的步骤还包括:如果已经获得所述用户的认可,则在所述个人计算设备的显示器上显示所动态凭证。
5.根据权利要求3所述的方法,其中使得所述动态凭证能够用于使用所述个人计算设备的显示器的第二区域进行验证的步骤还包括:如果已经获得所述用户的认可,则通过数据通信网络将所述动态凭证发送到服务器计算机。
6.根据权利要求1-5中的任一项所述的方法,其中所述第一视觉可感知要素和所述第二视觉可感知要素的所述公共值具有不可预测的要素。
7.根据权利要求1-5中的任一项所述的方法,其中所述第一视觉可感知要素和所述第二视觉可感知要素的所述公共值随时间变化。
8.根据权利要求1-5中的任一项所述的方法,其中所述第一视觉可感知要素和所述第二视觉可感知要素的所述公共值从一个交互会话到另一交互会话变化。
9.根据权利要求1-5中的任一项所述的方法,其中所述第一视觉可感知要素和所述第二视觉可感知要素的所述公共值从一个个人计算设备到另一个人计算设备变化。
10.根据权利要求1-5中的任一项所述的方法,其中所述第一视觉可感知要素和所述第二视觉可感知要素的所述公共值从一个用户到另一用户变化。
11.根据权利要求1-5中的任一项所述的方法,其中所述第一区域与所述第二区域相邻。
12.根据权利要求1-5中的任一项所述的方法,其中所述第一视觉可感知要素和所述第二视觉可感知要素包括所述第一区域和所述第二区域中显示的文本的字符,并且其中所述公共值包括所述字符的视觉特征。
13.根据权利要求12所述的方法,其中所述公共值包括所述字符的字体大小、字体类型或字体颜色。
14.根据权利要求1-5中的任一项所述的方法,其中所述第一视觉可感知要素包括所述第一区域的第一背景,并且所述第二视觉可感知要素包括所述第二区域的第二背景,并且所述公共值包括所述第一背景和所述第二背景的视觉特性。
15.根据权利要求14所述的方法,其中所述公共值包括所述第一背景和所述第二背景的颜色。
16.根据权利要求14所述的方法,其中所述公共值包括所述第一背景和所述第二背景的图案。
17.根据权利要求16所述的方法,其中所述公共值包括所述第一背景和所述第二背景的平铺图案。
18.根据权利要求14所述的方法,其中所述第一背景和所述第二背景是不均匀的,并且其中所述第一视觉可感知要素包括所述第一区域的第一畸变,所述第二视觉可感知要素包括所述第二区域的第二畸变,并且其中所述公共值包括所述第一畸变和所述第二畸变的共同特征。
19.根据权利要求14所述的方法,其中所述第一背景包括第一图片,并且所述第二背景包括第二图片,所述第一图片和所述第二图片都是单个源图片的一部分。
20.根据权利要求1-5、13、15-19中的任一项所述的方法,其中所述公共值随时间改变。
21.根据权利要求20所述的方法,其中所述公共值以不可预测的方式随时间改变。
22.根据权利要求1-5、13、15-19中的任一项所述的方法,其中所述第一区域和所述第二区域的第一视觉可感知要素和第二视觉可感知要素随时间变化,并且所述公共值包括第一视觉可感知要素和第二视觉可感知要素的时间变化方面的共同值。
23.根据权利要求22所述的方法,其中所述第一视觉可感知要素包括所述第一区域的第一背景的第一运动,并且所述第二视觉可感知要素包括所述第二区域的第二背景的第二运动,并且所述公共值包括所述第一运动和所述第二运动。
24.根据权利要求23所述的方法,其中所述公共值包括所述第一运动和所述第二运动的共同速度。
25.根据权利要求23所述的方法,其中所述公共值包括所述第一运动和所述第二运动的共同方向。
26.一种保护个人计算设备的用户与远程可访问的基于计算机的应用的交互会话的个人计算设备,所述个人计算设备包括:用于向所述用户显示信息的显示器,用于接收来自所述用户的输入的用户输入接口,存储操作系统软件和认证应用软件的存储器组件,以及用于运行所述操作系统软件和所述认证应用的数据处理组件;其中所述认证应用用于使得所述个人计算设备:
获得与所述交互会话有关的交易数据;
将所获得的交易数据显示在所述个人计算设备的显示器的第一区域以供用户审阅;
获得与所述交易数据相关联的动态凭证;
使得所述动态凭证能够用于使用所述个人计算设备的显示器的第二区域进行验证;以及
通过给予所述第一区域的第一视觉可感知要素与所述第二区域的第二视觉可感知要素相同的公共值,创建所述第一区域与所述第二区域之间的视觉可感知的连续性,以便覆盖窗口的存在使得所述覆盖窗口与所述第二区域之间的视觉可感知的不连续性警示所述用户所述覆盖窗口的存在,所述覆盖窗口未通过所述认证应用进行显示,并且部分或完全隐藏或遮挡所述第一区域,并且不具有第三视觉可感知要素,所述第三视觉可感知要素与所述第一视觉可感知要素和所述第二视觉可感知要素的所述相同的公共值具有相同值。
27.一种保护用户与远程可访问的基于计算机的应用的交互会话的系统,所述系统包括:用于托管所述远程可访问的基于计算机的应用的远程应用服务器,用于允许所述用户与远程可访问的基于计算机的应用的交互会话的访问设备,用于验证与所述远程可访问的基于计算机的应用的交易数据相关联的动态凭证的真实性的凭证验证服务器,以及个人计算设备,所述个人计算设备包括:用于向所述用户显示信息的显示器,用于接收来自所述用户的输入的用户输入接口,存储操作系统软件和认证应用软件的存储组件,以及用于运行所述操作系统软件和所述认证应用的数据处理组件;其中所述认证应用用于使得所述个人计算设备:
获得与所述交互会话有关的交易数据;
将所获得的交易数据显示在所述个人计算设备的显示器的第一区域以供用户审阅;
获得与所述交易数据相关联的动态凭证;
使得所述动态凭证能够用于使用所述个人计算设备的显示器的第二区域进行验证;以及
通过给予所述第一区域的第一视觉可感知要素与所述第二区域的第二视觉可感知要素相同的公共值,创建所述第一区域与所述第二区域之间的视觉可感知的连续性,以便覆盖窗口的存在引起所述覆盖窗口与所述第二区域之间的视觉可感知的不连续性,以警示所述用户所述覆盖窗口的存在,所述覆盖窗口未通过所述认证应用进行显示,并且部分或完全隐藏或遮挡所述第一区域,并且不具有第三视觉可感知要素,所述第三视觉可感知要素与所述第一视觉可感知要素和所述第二视觉可感知要素的所述相同的公共值具有相同值。
CN201680054959.0A 2015-09-21 2016-09-21 多用户强认证令牌 Active CN108027854B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562221343P 2015-09-21 2015-09-21
US62/221,343 2015-09-21
PCT/US2016/052849 WO2017053403A1 (en) 2015-09-21 2016-09-21 A multi-user strong authentication token

Publications (2)

Publication Number Publication Date
CN108027854A CN108027854A (zh) 2018-05-11
CN108027854B true CN108027854B (zh) 2023-03-21

Family

ID=57047345

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201680054966.0A Pending CN108027855A (zh) 2015-09-21 2016-09-21 多用户强认证令牌
CN201680054959.0A Active CN108027854B (zh) 2015-09-21 2016-09-21 多用户强认证令牌
CN201680054918.1A Active CN108027853B (zh) 2015-09-21 2016-09-21 多用户强认证令牌

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201680054966.0A Pending CN108027855A (zh) 2015-09-21 2016-09-21 多用户强认证令牌

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201680054918.1A Active CN108027853B (zh) 2015-09-21 2016-09-21 多用户强认证令牌

Country Status (6)

Country Link
US (4) US10171246B2 (zh)
EP (3) EP3380977B1 (zh)
JP (3) JP6835851B2 (zh)
CN (3) CN108027855A (zh)
RU (1) RU2018114639A (zh)
WO (3) WO2017053403A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10397262B2 (en) * 2017-07-20 2019-08-27 Biocatch Ltd. Device, system, and method of detecting overlay malware
US10848478B2 (en) * 2018-02-21 2020-11-24 JumpCloud, Inc. Secure endpoint authentication credential control
JP2021043675A (ja) 2019-09-10 2021-03-18 富士通株式会社 制御方法、制御プログラム、情報処理装置及び情報処理システム
IT202100007976A1 (it) 2021-03-31 2022-10-01 Mannaro Srls Sistema di autenticazione con comunicazione forte
EP4348477A1 (en) * 2021-05-27 2024-04-10 OneSpan NV A method, system and apparatus for approving electronic transactions
US11924212B2 (en) * 2021-06-23 2024-03-05 Dell Products L.P. Providing access control to distributed resources to an information handling system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004289691A (ja) * 2003-03-24 2004-10-14 Konica Minolta Holdings Inc 画像形成装置および操作部表示方法
CA2528451A1 (en) * 2003-06-04 2005-01-06 Mastercard International Incorporated Customer authentication in e-commerce transactions
JP2007181158A (ja) * 2005-12-26 2007-07-12 Kobayashi Isao 電話応対支援方法
US8332627B1 (en) * 2006-02-08 2012-12-11 Cisco Technology, Inc. Mutual authentication
US8341744B1 (en) 2006-12-29 2012-12-25 Symantec Corporation Real-time behavioral blocking of overlay-type identity stealers
JP4998019B2 (ja) * 2007-03-06 2012-08-15 富士通株式会社 状態表示制御装置
DE102007013287B4 (de) * 2007-03-16 2008-11-13 Giesecke & Devrient Gmbh Verfahren zur Erzeugung bestätigter Transaktionsdaten und Vorrichtung dazu
US8302167B2 (en) * 2008-03-11 2012-10-30 Vasco Data Security, Inc. Strong authentication token generating one-time passwords and signatures upon server credential verification
US20100174653A1 (en) * 2009-01-07 2010-07-08 Tian Weicheng Secure method and device of financial transaction
US8549601B2 (en) * 2009-11-02 2013-10-01 Authentify Inc. Method for secure user and site authentication
WO2013043888A1 (en) 2011-09-21 2013-03-28 Ford David K Methods and apparatus for validating communications in an open architecture system
EP2761524A4 (en) * 2011-09-30 2015-05-13 Intel Corp SAFE DISPLAYS FOR SAFE TRANSACTIONS
US8966268B2 (en) * 2011-12-30 2015-02-24 Vasco Data Security, Inc. Strong authentication token with visual output of PKI signatures
CN102629308B (zh) * 2012-03-09 2015-02-18 北京奇虎科技有限公司 一种防止登录信息被盗取的方法及装置
US9710634B2 (en) * 2012-08-03 2017-07-18 Vasco Data Security, Inc. User-convenient authentication method and apparatus using a mobile authentication application
US9306973B2 (en) * 2012-08-06 2016-04-05 Empire Technology Development Llc Defending against browser attacks
CN103679017B (zh) * 2012-09-05 2017-06-16 腾讯科技(深圳)有限公司 防止用户界面被劫持的装置及方法
CN103825866B (zh) * 2012-11-19 2016-11-09 腾讯科技(深圳)有限公司 一种登录安全检测方法和装置
US9306754B2 (en) * 2012-12-28 2016-04-05 Nok Nok Labs, Inc. System and method for implementing transaction signing within an authentication framework
US9614815B2 (en) * 2013-12-30 2017-04-04 Vasco Data Security, Inc. Authentication apparatus with a bluetooth interface
WO2015103031A1 (en) * 2013-12-31 2015-07-09 Vasco Data Security, Inc. A method and apparatus for securing a mobile application

Also Published As

Publication number Publication date
JP6835851B2 (ja) 2021-02-24
US10411901B2 (en) 2019-09-10
JP2021068481A (ja) 2021-04-30
WO2017053412A1 (en) 2017-03-30
JP2023052689A (ja) 2023-04-11
US20170085388A1 (en) 2017-03-23
US10439822B2 (en) 2019-10-08
WO2017053412A8 (en) 2018-04-05
US20190140840A1 (en) 2019-05-09
EP3391269A1 (en) 2018-10-24
EP3380976A1 (en) 2018-10-03
EP3380977B1 (en) 2021-04-28
EP3380976B1 (en) 2020-11-18
JP7299256B2 (ja) 2023-06-27
CN108027855A (zh) 2018-05-11
JP2018534706A (ja) 2018-11-22
CN108027854A (zh) 2018-05-11
US20190140841A1 (en) 2019-05-09
RU2018114639A (ru) 2019-10-23
EP3380977A1 (en) 2018-10-03
US20190140839A1 (en) 2019-05-09
US10447484B2 (en) 2019-10-15
US10171246B2 (en) 2019-01-01
WO2017053403A1 (en) 2017-03-30
WO2017053394A1 (en) 2017-03-30
CN108027853A (zh) 2018-05-11
CN108027853B (zh) 2023-05-26
RU2018114639A3 (zh) 2020-04-02

Similar Documents

Publication Publication Date Title
CN108027854B (zh) 多用户强认证令牌
US20060195907A1 (en) Data processing device
MX2015000757A (es) Metodo y sistema de autenticacion.
WO2016026972A1 (en) Accessing a secured software application
US20130104227A1 (en) Advanced authentication technology for computing devices
WO2019085126A1 (zh) 金融app界面的显示方法、装置、设备及存储介质
US20230230085A1 (en) User Authentication and Transaction Verification via a Shared Video Stream
CN110659474B (zh) 应用间通信方法、装置、终端及存储介质
CN117751551A (zh) 用于安全互联网通信的系统和方法
EP4058921B1 (en) Device and method for secure communication
US20230368206A1 (en) System, Device, and Method of Transaction Verification Based on Auxiliary Signals and Modulations
GB2421093A (en) Trusted user interface
CN114730336A (zh) 用于安全数据输入和认证的改进的系统和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Swiss Glatt Brygge

Applicant after: VASCO DATA SECURTY, Inc.

Address before: Swiss Glatt Brygge

Applicant before: VASCO DATA SECURITY, Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant