[go: up one dir, main page]

CN108021800A - 用于通过非安全终端认证用户的方法 - Google Patents

用于通过非安全终端认证用户的方法 Download PDF

Info

Publication number
CN108021800A
CN108021800A CN201711065166.1A CN201711065166A CN108021800A CN 108021800 A CN108021800 A CN 108021800A CN 201711065166 A CN201711065166 A CN 201711065166A CN 108021800 A CN108021800 A CN 108021800A
Authority
CN
China
Prior art keywords
user
component software
terminal
frame
logic gate
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.)
Pending
Application number
CN201711065166.1A
Other languages
English (en)
Inventor
G·皮特尔
J-L·勒卢
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.)
J Kaye Codd Co
Skeyecode SAS
Original Assignee
J Kaye Codd Co
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
Priority claimed from EP16196947.2A external-priority patent/EP3319067B1/en
Priority claimed from EP16196950.6A external-priority patent/EP3319001A1/en
Priority claimed from EP16196945.6A external-priority patent/EP3319000A1/en
Priority claimed from EP16196957.1A external-priority patent/EP3319002B1/en
Application filed by J Kaye Codd Co filed Critical J Kaye Codd Co
Publication of CN108021800A publication Critical patent/CN108021800A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C5/00Ciphering apparatus or methods not provided for in the preceding groups, e.g. involving the concealment or deformation of graphic data such as designs, written or printed messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • 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/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/13Sensors therefor
    • G06V40/1318Sensors therefor using electro-optical elements or layers, e.g. electroluminescent sensing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/3271Cryptographic 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 using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • 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/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2133Verifying human interaction, e.g., Captcha
    • 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
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Technology Law (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Ophthalmology & Optometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)
  • Mathematical Physics (AREA)
  • Bioethics (AREA)
  • Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Power Engineering (AREA)

Abstract

本发明涉及一种用于从用户终端(UT)认证用户的方法,该方法包括:由用户终端从安全处理器(ASRV,SE)接收软件组件(GC),该软件组件(GC)防止纂改和逆向工程并且被配置为生成包括具有在图像帧中可见低于100%的概率的随机像素(PXi)的图像帧;执行软件组件多次以生成多个图像帧;以帧显示速率显示多个图像帧,该图像帧包括因为由随机像素形成而使机器不可识别的信息(KYL,CC),帧显示速率使得该信息对于用户可识别;从用户获取与信息相关的响应(POSi);以及由用户终端向安全处理器发送该响应,当响应对应于信息时用户被认证。

Description

用于通过非安全终端认证用户的方法
技术领域
本发明涉及一种用于从非安全终端安全地认证用户、以及用于基于此类用户认证执行涉及此类非安全终端和远程服务器的安全交易的方法和设备。
背景技术
期望执行从诸如智能电话、个人计算机、数字平板计算机等的移动终端、或者任何其它已连接的设备(包括属于物联网(IoT)的设备)启动的交易,例如电子商务交易或资金转账。然而,这引起了安全问题,特别是因为终端的处理器(CPU)可能执行“流氓软件”或“恶意软件”。恶意软件可以能够访问可由处理器访问的所以或部分主存储器,并且因此可能被恶意地配置为监视由终端执行的任何交易,并恢复在这些交易期间操纵的任何秘密数据以便通过网络进行传输。
为了确保此类交易的安全性,已经提出将加密计算委托给专用安全元件,诸如UICC(“通用集成电路卡”)卡的处理器,例如包括手机通常配备的SIM(用户识别模块)卡。为了能够执行一个或多个支付应用,安全处理器必须能够存储与支付应用一样多的机密加密密钥。然而,将应用加载到安全处理器的存储器中是一种需要高度安全的复杂操作。具体地,它涉及诸如可信赖的服务管理器的外部各方。由于SIM卡是由电话运营商发行的,因此后者可能会拒绝将此类应用安装在卡中。此外,在发生盗窃的情况下或电话维护期间,SIM卡的处理器可能被寻求发现存储在SIM卡存储器中的密钥的黑客攻击。
申请人提交的专利申请WO2012/107698公开了一种使用终端的图形处理器作为执行交易的安全元件的方法。该方法包括以下步骤:在终端的图形处理器和认证服务器之间建立安全的通信链路,并显示具有以随机顺序布置的键的虚拟小键盘。通过连续显示其中键的标记不可识别的互补帧,使用视觉加密显示小键盘的图像,由于用户的视网膜残留(retinal remanence),互补帧被用户的视觉系统组合成可识别的图像。以这种方式,即使在终端的主处理器上运行的恶意程序能够访问由用户在密码输入期间触摸的键的位置,该恶意程序也不能通过获得连续屏幕截图来确定哪些标记对应于被触摸键。
但是,该方法需要重要的计算资源,所有便携式设备(例如市场上的所有现有智能电话)中都未提供这些资源。
为了保护使用连接到网站的终端执行的交易,已提出使用一次性密码,每次需要验证交易时将一次性密码传输给用户。根据第一解决方案,经由不同的通信通道(例如经由电话链路或SMS(短消息服务))将一次性密码传输给用户,用户需要在终端上输入所接收的密码以便验证交易。另一种已知的解决方案向每个用户提供额外硬件设备,该设备借助诸如密码或生物数据之类的凭证,在用户认证之后生成一次性密码。对于并非始终在附近具有电话或移动或无线网络覆盖或该硬件设备(当需要它们以便验证交易时)的用户,这些解决方案令人烦恼。需要额外硬件设备的解决方案对于银行组织而言成本高昂。此外,使用由SMS传输的密码的解决方案明显不能提供足够高的安全级别,因为它已经被成功攻击。
因此,可期望提出一种通过非安全用户终端认证用户的方法。还可期望保护由用户输入的机密数据和通过此类非安全终端传输的交易数据。此外,可期望使提出的方法与所有现有终端兼容,甚至与低计算能力的终端兼容。
发明内容
公开了一种用于从用户终端认证用户的方法,该方法包括:由用户终端从安全处理器接收软件组件,该软件组件防止纂改和逆向工程并且被配置为生成包括具有在图像帧中可见低于100%的概率的随机像素的图像帧;由用户终端执行软件组件多次以生成多个图像帧;以帧显示速率显示多个图像帧,图像帧包括因为由随机像素形成而使机器不可识别的信息,帧显示速率使得信息对于用户可识别;从用户获取与信息相关的响应;以及由用户终端向安全处理器发送响应,当响应对应于信息时用户被认证。
根据实施例,软件组件被配置为生成每个包括随机像素的多个帧图像部分,方法进一步包括将每个生成的图像帧部分插入图像帧背景以生成多个图像帧。
根据实施例,软件组件被配置为生成包括随机像素的加密的帧图像部分,该方法进一步包括:由用户终端解密每个生成的加密的图像帧部分,通过向加密的图像帧部分的每个像素施加与解密掩码的对应像素的异或运算,每个解密的图像帧部分被插入到图像帧背景,以生成多个图像帧中的一个。
根据实施例,解密掩码被配置为当对所生成的加密的图像帧部分中的一个进行解密时,在所显示的图像帧中产生消息。
根据实施例,显示的图像帧中的机器不可识别的信息包括被布置成形成符号或数字或字母数字字符的段,该段的至少一部分采用随机像素形成。
根据实施例,段被布置成形成小键盘的键的标记,键的标记具有随机键布局,来自用户的响应包括由用户连续选择的小键盘的键的位置。
根据实施例,来自用户的响应包括与采用由随机像素形成的段显示的验证码对应的小键盘的键的位置。
根据实施例,软件组件被配置为设定在显示的图像帧中可见的随机像素的概率,概率是在一组可见的概率值中选择的。
根据实施例,软件组件被配置为以设定为等于50%或包括在12.5%和87.5%之间的值的在显示的图像帧中可见的概率提供随机像素。
根据实施例,软件组件被编码为包括电路输入、电路输出、逻辑门和线的乱码电路,每个逻辑门具有两个输入和一个输出,每个线具有连接到电路输入中的一个电路输入或逻辑门输出中的一个逻辑门输出的第一端,以及连接到逻辑门输入中的一个逻辑门输入或电路输出中的一个电路输出的第二端,通过随机生成表示线中每个线的每个二进制状态的有效数据并且通过计算乱码电路的一个逻辑门、根据逻辑门的每个输入的每个有效数据的真值表值、逻辑门的输出的每个有效数据以及由逻辑门执行的逻辑运算,生成乱码电路。
根据实施例,软件组件包括用于生成随机像素的集合的像素集合生成电路,每个生成电路包括第一逻辑门和一组第二逻辑门,第一逻辑门将第一输入数据与随机选择的第二输入数据组合,以及向第二逻辑门中的每个第二逻辑门的第一输入提供输出数据,第二逻辑门中的每个第二逻辑门的第二输入接收第三输入数据,第二逻辑门的输出中的每个输出提供该随机像素的集合的像素值。
根据实施例,软件组件在由用户终端执行的网页浏览器内执行。
实施例同样可以涉及一种用户终端,其被配置为:从安全处理器接收软件组件,该软件组件防止纂改和逆向工程并且被配置为生成包括具有在图像帧中可见低于100%的概率的随机像素的图像帧;执行软件组件多次以生成多个图像帧;以帧显示速率显示多个图像帧,图像帧包括因为由随机像素形成而使机器不可理解的信息,帧显示速率使得信息对于用户可识别;从用户获取与信息相关的响应;以及向安全处理器发送响应,当响应对应于信息和由用户和安全处理器共享的秘密数据时用户被认证。
根据实施例,终端被配置为以先前定义的方法执行由用户终端执行的操作。
根据实施例,安全处理器是连接到终端的主处理器的安全元件。
根据实施例,安全处理器属于通过数据传输网络链接到终端的远程服务器。
实施例同样可以涉及一种安全元件,其被配置为以先前定义的方法执行由安全处理器执行的操作,安全元件连接到终端的主处理器。
实施例同样可以涉及一种服务器,其被配置为以先前定义的方法执行由安全处理器执行的操作,服务器通过数据传输网络链接到终端。
实施例同样可以涉及一种计算机程序产品,其可加载到计算机存储器中并且包括代码部分,当由计算机执行时,该代码部分配置计算机以便执行由先前定义的用户终端执行的操作。
附图说明
参考以下附图和说明,可以更好地理解方法和/或设备。使用以下附图描述非限制性和非穷举的说明。
图1是执行与远程服务器的交易的用户终端的框图;
图2是用户终端的框图;
图3是根据实施例的由用户终端、认证服务器和应用服务器执行的初始化步骤的顺序图;
图4是示出根据实施例的认证步骤的顺序图;
图5是根据实施例的由认证服务器管理的数据库的框图;
图6和图7是示出根据其它实施例的认证步骤的顺序图;
图8A和图8B分别示出根据实施例的由用户终端显示的图像帧和用户终端的用户可以观察到的对应的合成图像(resultant image);
图9示出根据实施例的具有由用户终端叠加显示的图像帧的一部分、由用户终端显示的合成图像帧的对应部分,以及可以由用户终端的用户观察到的合成图像的对应部分的两个层;
图10是根据实施例的由用户终端执行的应用的框图;
图11是根据实施例的由用户终端中的软件实现的电路的框图;
图12是根据实施例的描述在用户终端中实现的电路的数据库的框图;
图13是示出根据实施例的由用于显示图8A的图像帧的应用执行的处理的框图;
图14是根据另一实施例的图11的电路的一部分的框图;
图15是示出根据另一实施例的认证步骤的顺序图。
具体实施方式
在附图中,除非另有说明,否则相同的参考标记可以指代不同图中的相同部分。
在下文中,术语“安全”是根据其对所属技术领域的普通技术人员的一般含义采用的,并且在不同实施例中,其包含由技术产生的安全性,这些技术例如包括加密、或者用于将信息与公众隔离或保护信息免受未授权访问或操作的其它类型的软件或硬件控制。表达“安全通信”和“安全通信链路”指以下通信:这些通信使用公钥/私钥对、或者具有在通信点之间共享的密钥的对称密钥加密进行加密。“受保护通信”还可以涉及虚拟专用网络、以及用于在通信点之间建立经认证和经加密通信的其它方法和技术。
图1表示可以通过通信网络NT执行与远程服务提供方服务器或应用服务器SSRV的交易的用户终端UT。在下面,术语“用户终端”将是同义的,并且是指可以与一个或多个远程服务器(诸如应用服务器和服务提供方服务器)通信的任何设备。因此,用户终端可以是例如配备有通信电路的移动电话、智能电话、支付终端、个人计算机和数字平板计算机。通信网络可以包括诸如因特网、移动或蜂窝网络的IP(因特网协议)网络、无线网络以及可以用于在用户终端和远程服务器之间建立通信链路的任何种类的网络。
根据一个实施例,认证服务器ASRV被配置为实现一种方法,该方法用于在涉及应用或服务提供方服务器SSRV和用户终端UT的交易期间,基于双因素认证方案来认证用户。
图2表示包括通信电路NIT的常规终端UT,NIT用于通过诸如网络NT之类的传输网络与诸如服务器ASRV之类的远程服务器通信。终端UT可以是蜂窝电话、智能电话或PDA(个人数字助理)、或者包括要连接到诸如因特网之类的网络的通信电路的任何其它设备,例如数字平板计算机或个人计算机。用户终端UT进一步包括连接到通信电路NIT的主处理器HP(也被称为“中央处理单元”-CPU)、显示屏DSP、连接到处理器HP并且控制显示屏DSP的图形处理器GP、以及连接到处理器HP的控制设备CM。控制设备可以包括键盘或小键盘、或触敏表面(例如其是透明的并且布置在显示屏DSP上)。控制设备CM可以进一步包括诸如鼠标、铅笔或钢笔之类的指点设备。
终端UT可以进一步包括安全元件SE,例如可以独立或嵌入到智能卡UICC中的安全处理器。安全处理器SE可以是例如提供到蜂窝网络的接入的SIM(“用户身份模块”)卡。安全处理器SE可以包括NFC(“近场通信”)电路以便与非接触式读取器通信。NFC电路可以嵌入到SIM卡(SIM-NFC)或UICC中、或者在SoC(“片上系统”)电路中、或者在外部存储卡(例如“SD卡”)中。电路NIT可以包括移动电信电路,其通过蜂窝网络提供到移动蜂窝网络和/或因特网的接入;和/或无线通信电路(Wi-Fi、BluetoothTM…);和/或任何其它有线或无线连接电路,它们可以链接到诸如因特网之类的数据传输网络。
图3表示用于注册要用于认证用户以验证交易或访问服务的用户终端UT而提供的注册步骤S1至S8。步骤S1至S8连续执行,并且只能被执行一次。在步骤S1处,用户在用于认证的用户终端UT中下载和安装和/或启动专用于或涉及用户认证的应用APP的执行。在步骤S2处,应用APP生成终端UT的唯一设备标识符DID。在终端UT的应用APP的第一次执行时执行步骤S2至S7。在步骤S3处,应用APP将用户终端UT连接到服务提供方或应用服务器SSRV,例如到服务提供方的网站,并且向服务器SSRV发送终端登记请求ERQ。终端登记请求包括用户凭证,诸如用户标识符UID和对应的密码UPW,以及设备标识符DID。在步骤S4处,服务器SSRV接收登记请求ERQ并检查接收的用户凭证UID、UPW。如果接收到的用户凭证对应于有效的注册用户,则服务器SSRV在步骤S5处向认证服务器ASRV发送注册请求RGRQ,注册请求RGRQ包含用户凭证UID、UPW、设备标识符DID和与服务提供方服务器SSRV相关的服务标识符SID。以适当的方式(例如,使用加密部件)保护服务器SSRV和ASRV之间的通信链路,使得黑客无法取得传输的数据。由服务器ASRV执行的以下步骤S6、S7由服务器ASRV的安全处理器执行或在该安全处理器的安全域内执行。终端UT与服务器SSRV之间以及终端UT与服务器ASRV之间的链路不需要是安全链路。
在步骤S6处,认证服务器ASRV接收注册请求RGRQ,并将接收到的数据(即用户凭证UID、UPW、用户终端的标识符DID和服务标识符SID)存储在用户数据库UDB中。在步骤S7处,服务器ASRV响应于请求RGRQ向服务提供方服务器SSRV发送消息RP。消息RP包含用户标识符UID和注册状态。消息RP可以由服务器SSRV重传到用户终端UT。
图4表示认证步骤S21至S33,连续执行这些步骤以在由应用APP进行的交易期间认证用户、或用于执行需要认证用户的该应用的操作。用户的认证需要例如通过执行图3的步骤S1至S6由认证服务器ASRV注册用户终端UT。在步骤S21处,用户终端UT启动应用APP的执行。在步骤S22处,应用APP需要认证用户,并将认证请求ARQ发送给认证服务器ASRV。认证请求ARQ包含服务的标识符SID,交易中涉及的用户的凭证UID、UPW,应该执行认证的服务提供方标识符SID,用户终端UT的设备标识符DID,以及可能的要向用户显示并呈现例如与要由用户验证的交易相关的信息的消息(图8A、8B和9中的MSG),以及服务提供方服务器的地址SURL,其中认证结果由认证服务器ASRV传输。
在步骤S23处,认证服务器ASRV接收请求ARQ,并且检查认证请求ARQ中传输的数据的一致性。为此,认证服务器ASRV可以使用存储在数据库UDB中的数据或向服务器SSRV发送认证请求消息,包含用户凭证UID、UPW,服务器SSRV验证用户凭证的一致性,并向包含验证结果的服务器ASRV提供响应。如果传输的数据不一致,则服务器ASRV向用户终端UT发送错误消息ERM,并且结束应用APP的执行。如果接收的请求ARQ中的数据一致,则认证服务器ASRV执行步骤S24,在步骤S24中,生成优选为一次性的交易验证码CC,以及与设备标识符DID相对应的用户终端UT特有的不同专用软件组件GC。软件组件GC被设计为显示验证码CC,并且它特定于该代码。认证服务器ASRV同样可以生成存储在数据库UDB中的唯一交易标识符TID。在步骤S25处,服务器ASRV向终端UT发送加密形式的结构和内容数据GCD(其定义软件组件GC并且包括软件组件的输入数据),要应用于由软件组件电路生成的图像帧部分的最终掩码IMSK,以及要用于执行软件组件的加密数据GCK。在步骤S26处,服务器ASRV向服务器SSRV发送确认消息ACK,该消息包含用户标识符UID和交易标识符TID。在步骤S27处,由终端UT执行的应用APP接收在步骤S25处传输的与软件组件GC相关的数据GCD、IMSK、GCK,并向服务器ASRV发送确认消息AKM。如果应用APP当前没有在终端UT上运行,则与软件组件相关的数据的接收可以触发应用APP的执行。在步骤S26处,用户终端UT可以响应于在步骤S25处接收到的数据向服务器ASRV发送确认消息AKM。在步骤S27处,服务器ASRV可以向终端UT发送用于执行软件组件GC的请求RGC。在步骤S28处,通知RGC的接收触发由应用APP执行软件组件GC,该软件组件GC显示图像帧,这些图像帧示出例如具有键的小键盘、消息MSG和一次性的交易验证码CC(例如两位或更多位)。由终端UT执行的应用APP当其在步骤S25处被接收时同样可以触发执行软件组件GC。
根据实施例,由软件组件显示的小键盘的键以随机选择的布局被布置在所显示的帧中,并且在每个帧中仅显示部分键标记和部分验证码,以使得键标记和验证码对于人类视觉系统可识别(由于人类视觉系统的暂留性),而在显示屏DSP的屏幕截图中不可识别。根据实施例,验证码CC叠加在消息MSG上(或反之亦然),以使得不能在不干扰验证显示的情况下改变消息。
在步骤S29处,终端UT的用户输入显示的验证码CC。在智能电话的示例中,用户使用所显示的小键盘,并触摸所显示的小键盘的键的对应位置POSi。在步骤S30处,应用APP将由用户选择的位置POSi和设备标识符DID的序列传输到服务器ASRV。在步骤S31处,服务器ASRV确定与用户键入的位置POSi对应的代码CC1。由于用于输入位置POSi的小键盘通过由服务器ASRV生成的软件组件GC显示,所以服务器ASRV知道显示的小键盘布局,并且因此可以确定与位置POSi对应的键标记,以及因此由用户输入的验证码CC1的值。在步骤S32处,服务器ASRV将键入的验证码CC1与在步骤S24生成的验证码CC进行比较,并将其与设备标识符DID相关联地存储在数据库UDB中。在步骤S33处,服务器ASRV使用服务器SSRV的地址SURL向服务提供方服务器SSRV发送认证响应ARP,认证响应ARP包含用户标识符UID、在步骤S32处执行的比较结果以及可能的交易标识符TID。传输响应ARP同样可以被发送到由用户终端UT执行的应用APP。以这种方式,认证对应于标识符UID的用户,并且仅当键入的验证码CC1与对应于在步骤S24处由服务器ASRV发送到用户终端UT的软件组件GC的验证码CC相匹配时,才可以验证交易TID。
以这种方式,仅将由用户输入的位置POSi从用户终端UT发送到服务器ASRV。因此,安装在终端UT中的恶意软件或服务器ASRV与用户终端UT之间的中间人攻击不能在不执行软件组件GC的情况下发现键入的代码CC1。如果发生这种情况,则执行攻击的黑客必须向服务器ASRV发送消息ARP(如在步骤S30中)。因此,服务器ASRV可以针对同一交易或从同一用户终端UT接收两个消息ARP,一个来自经认证的用户,一个来自黑客,并且可以使交易无效。
根据实施例,由用户通过另一传输通道将消息ARP发送到服务器ASRV(步骤S30)。
图5表示数据库UDB的不同表DEV、SVC、TT、GCP。表DEV针对每个注册的用户设备或终端UT包含一个记录,每个记录包括设备标识符DID和相对应的用户凭证UID、UPW。表SVC针对采用认证服务器ASRV注册的每个服务提供方包含一个记录,表SVC的每个记录包括服务标识符SID和服务名称。表TT针对每个当前交易包含一个记录,每个记录包括交易标识符TID、设备标识符DID、服务标识符SID,要通过由应用APP触发并由具有标识符DID的终端执行的软件组件GC显示的消息MSG、在步骤S22处提供的地址SURL,识别针对交易TID生成的软件组件的标识符GCID,以及一次性的交易验证码CC。表GCP针对由服务器ASRV生成的每个软件组件包含一个记录,每个记录包括识别软件组件的标识符GCID、在步骤S24处生成软件组件GC的设备UT的设备标识符DID,以及针对生成软件组件GC的交易的标识符TID。由于软件组件专用于一个交易,并且因此仅针对一个用户认证而被生成和执行,所以可以从表GCP中删除与已经结束的交易相对应的记录,但是可以保存这些记录以便用于统计目的或确保每个交易的一致性。
根据实施例,(在图3和图4中)由认证服务器ASRV执行的操作可以在服务提供方服务器SSRV中实现。在这种情况下,在步骤S23和S33中以及在数据库UDB中不需要识别服务器SSRV。
根据另一个实施例,用户终端仅与服务提供方服务器SSRV通信。因此,由服务提供方服务器SSRV执行用户凭证检查(步骤S23),并且因此认证服务器ASRV不必知道要用于访问由服务器SSRV提供的服务的用户密码UPW。在图6中示出的该实施例中,步骤S5被修改为从注册消息RGRQ删除用户密码UPW。图6表示认证步骤S21至S33,在交易期间连续执行这些步骤以验证用户。在步骤22处,将认证请求从用户终端UT发送到服务提供方服务器SSRV。基于用户凭证UID、UPW通过服务器SSRV执行用户认证步骤S23。在下面的步骤S23'中,服务器SSRV向认证服务器ASRV发送认证请求ARQ1。认证请求ARQ1仅包括服务提供方的标识符SID和用户设备标识符DID。在接收到认证请求ARQ1之后,服务器ASRV执行步骤S24,如图4的实施例。在步骤S25中,服务器ASRV发送加密形式的结构和内容数据GCD(其定义软件组件GC并且包括软件组件的输入数据),要应用于由软件组件电路生成的图像帧部分的最终掩码IMSK,以及要用于执行软件组件的加密数据GCK。这些数据可以被直接发送到用户终端UT,或在步骤S25'中借助于服务器SSRV将这些数据重新发送到终端UT。然后可以在用户终端UT和服务器ASRV之间执行步骤S26和S27,或者如图6所表示在用户终端UT和服务器SSRV之间执行步骤S26和S27。
然后终端UT执行步骤S28至S30。在步骤S30中,由终端UT发送的认证响应ARP可以直接被发送到服务器ASRV,或者如图6所表示,首先由服务器SSRV接收,服务器SSRV将其重新发送到服务器ASRV。在接收到认证响应ARP时,服务器ASRV执行如图4所示的步骤S31至S33。认证报告可以由服务器ASRV或服务器SSRV发送到用户终端UT。
代替由应用APP执行,步骤S22、S26、S28和S30可以在安装在终端UT中的网页(web)浏览器内部或由安装在终端UT中的web浏览器执行,步骤S26、S28和S30由web浏览器执行的脚本执行,诸如以“JavaScript”编写的脚本,并且由服务器ASRV在网页中发送。
一个实施例可以适用于防止黑客盗取服务提供方的用户帐户(诸如银行或支付帐户或电子邮件帐户)的网络欺诈攻击发生。根据该攻击,黑客使用真实的用户标识符连接到服务提供方,并重复激活链接以重新生成与用户标识符相对应的密码。当该链接被激活时,服务提供方向与用户标识符相对应的注册的电子邮件地址或注册的电话号码发送包含要被引入到服务提供方的网站的网页的一次性密码的消息。然后,黑客向用户发送假消息,指示用户的帐户遭受攻击并请求用户激活消息中提供的要点击的链接。由于用户收到提供密秘数字以产生新密码的多个消息,所以用户知道黑客所发出的攻击,并且因此用户不会怀疑来自黑客的消息是陷阱。当用户激活链接时,用户接收伪造网页,伪造网页看起来像来自服务提供方网站的真实网页,并且请求用户从服务提供方接收的最后消息中提供的密码。如果用户在伪造网页中输入密码,则黑客将获得密码,并可以使用该密码从服务提供方的网站为用户帐户生成新密码。从这时起,黑客就可以替代用户访问服务提供方的服务器上的用户帐户。
图7表示可防止此类网络欺诈攻击发生的实施例。图7的实施例包括由用户终端UT、服务提供方服务器SSRV和认证服务器ASRV一起连续执行的步骤S41至S65。在步骤S41中,安装在用户终端中的web浏览器显示来自服务提供方的网站的网页。所显示的网页包含使用户能够生成用于访问服务提供方的用户帐户的新密码的链接。当用户激活该链接时,在步骤S42中向服务器SSRV发送请求新密码的消息NPWR。在步骤S41、S42中,消息NPWR包含用户标识符UID和用户使用的终端UT的设备标识符。当在步骤S43中接收到消息NPWR时,服务器SSRV向认证服务器ASRV发送认证请求ARQ。请求ARQ包含服务提供方的标识符SID、用户的标识符UID(例如用户的电子邮件地址)。在步骤S44中,服务器ASRV接收请求ARQ并生成交易标识符TID和请求认证的链接LNK。交易标识符TID识别当前的用户认证交易。在步骤S45中,由服务器ASRV将包含交易标识符TID、用户标识符UID和链接LNK的确认消息AK发送到服务器SSRV。在步骤S46中,服务器SSRV使用用户的电子邮件地址(其可以在步骤S42处由用户终端UT发送)向用户终端UT发送包含链接LNK的消息M(LNK)和交易标识符TID。
在步骤S47处,终端UT(安装在终端中的电子邮件应用或web浏览器)显示所接收的消息M(LNK)。然后用户在步骤S47'中激活所显示消息中的链接LNK。在步骤S48中,链接LNK的激活触发用户终端向服务器ASRV发送包含交易标识符TID的消息。在步骤S49处接收到此类消息时,服务器ASRV向用户终端发送将由安装在终端UT中的web浏览器执行的脚本SCPT(其例如以“JavaScript”语言编写)。在安装在终端的web浏览器内部或由web浏览器(或由在web浏览器中执行的脚本SCPT)执行步骤S50、S51、S54、S56、S62和S64。在步骤S50中,终端UT的web浏览器启动所接收的脚本SCPT的执行。在步骤S51中,由脚本SCPT控制的终端UT发送针对特定于用户终端UT的专用软件组件GC的请求RQGC。请求的RQGC包含标识符TID和UID,以及关于用户终端的信息,诸如用户终端UT的类型(个人计算机/智能电话/数字平板计算机/...)。在步骤S52中,认证服务器ASRV接收请求RQGC,并生成认证代码CC(优选为一次性的),以及独特专用软件组件GC,其特定于用户终端UT以及请求软件组件的应用(专用应用或web浏览器),如前面所述的步骤S24中。在步骤S53处,服务器ASRV向终端UT发送以加密形式的结构和内容数据GCD(其定义软件组件GC并且包括软件组件的输入数据),要应用于由软件组件电路生成的图像帧部分的最终掩码IMSK,以及要用于执行软件组件的加密数据GCK。
在步骤S54处,由终端UT中的web浏览器执行的脚本SCPT接收与软件组件GC相关并在步骤S53中发送的数据GCD、IMSK、GCK。终端UT可以响应于在步骤S53处接收到的数据向服务器ASRV发送确认消息。然后,脚本SCPT执行软件组件GC,其显示示出例如具有键的小键盘的图像帧,以及一次性认证码CC(例如两位以上数字)。在步骤S55处,终端UT的用户输入显示的认证码CC。在步骤S56中,由终端UT执行的脚本SCPT将由用户选择的位置POSi和交易标识符TID的序列发送到服务器ASRV。在步骤S57中,服务器ASRV确定与用户输入的位置POSi对应的代码CC1。由于通过由服务器ASRV生成的软件组件GC显示用于输入位置POSi的小键盘,服务器ASRV知道所显示的小键盘布局,并且因此可以确定与位置POSi对应的键标记,以及因此由用户输入的认证码CC1的值。在步骤S58中,服务器ASRV将键入的代码CC1与在步骤S52处生成的认证码CC进行比较。在步骤S59处,服务器ASRV向服务提供方服务器SSRV发送认证响应ARP,认证响应ARP包含用户UID标识符和交易标识符TID、以及在步骤S58处执行的比较结果CMP。在步骤S60中,如果输入的代码CC1与认证码CC匹配,则服务器SSRV在步骤S61中向用户终端UT发送网页WP(NPW),使用户能够向服务提供方输入他的帐户的新密码。要向其发送网页WP(NPW)的用户终端被在步骤S42接收新的密码请求的服务器SSRV知道。在步骤S62中,用户终端UT的web浏览器显示接收到的网页WP(NPW)。在步骤S63中,用户在显示的网页WP(NPW)中引入新的密码NPW。在步骤S64中,用户终端UT向服务器SSRV发送新密码NPW,连同密码改变请求NPWR中的用户标识符UID。在步骤S65中,服务器ASRV可以向终端UT发送确认消息ACK。
以这种方式,步骤S43至S61需要将在终端UT上读取的认证码CC,并使用与验证码CC一起显示的小键盘将其引入后者。因此,防止黑客获取和使用认证码,而不是代替真正的用户进行认证。此外,可能需要人来执行这些操作,这可以防止针对大量用户帐户的自动攻击。
这里再次地,由认证服务器ASRV执行的操作可以在服务提供方服务器SSRV中实现。
例如,使用SSL协议,至少从步骤S49到步骤S56,可以保护用户终端UT与服务器ASRV之间的通信,从而防止中间人攻击。
例如通过另一通信信道和/或另一设备,或者在用户登记过程期间,同样可以使用先前提供给用户的附加密码,防止此类中间人攻击。在步骤S54至S58中可能需要该附加密码来验证用户,并且使用由软件组件GC显示的小键盘在步骤S55中引入该附加密码。
每当用户终端借助于web浏览器连接到服务器(例如,服务提供方服务器SSRV)时,同样可以执行步骤S43至S61,并且服务器需要第二因素认证来认证用户。
图8A表示当用户终端UT执行软件组件GC时由用户终端UT显示的图像帧FRM的示例。图像帧FRM包括横幅(banner)帧BNF,其显示消息MSG和叠加在消息MSG上的一次性代码CC。图像帧FRM进一步包括小键盘图像帧KYPF,其显示例如十二键的小键盘,小键盘的每个键都显示有向用户指示键功能的标记KYL。小键盘包括擦除键“C”和验证键“V”、以及对应于数字并且具有特定于生成图像帧FRM的软件组件GC的布局的十个键。图像帧FRM可以进一步包括显示区域FBD,其中每次用户触摸一个新的键KY时都显示一个点。在图8A的示例中,显示区域FBD显示用户已经键入三个键。
在图8A的示例中,小键盘包括四行,每行三个键,小键盘的第一行包括(从左到右)数字“9”、“3”和“6”,第二行包括数字“2”、“0”和“1”,第三行包括数字“4”、“7”和“8”,并且第四行包括验证键“V”、数字“5”和擦除键“C”。根据要显示的键标记KYL,每个数字键的标记KYL由若干段SG(例如七个段)显示(可见或不可见)。根据一个实施例,为了防止使用终端UT的屏幕截图功能获得小键盘布局,在由软件组件GC生成的每个图像帧中仅显示每个键KY中的可见段的一部分。为此,在由软件组件GC生成的图像帧FRM中呈现要显示的每个可见段的概率低于100%,例如等于50%。由于人类视觉系统的暂留性(persistence property),人类视觉系统组合由终端UT相继显示的图像帧。因此,所显示的键标记KYL对于用户变得可识别。图8B表示可由人类视觉系统感知的显示的图像IMG,此时以足够高的频率(大于30Hz)(例如以60Hz)显示由软件组件GC生成的图像帧FRM,以使得每16.6毫秒(ms)显示由软件组件生成的新帧。如图8B所示,当将键标记的要显示的可见段以低于100%的概率插入帧FRM中时,键标记KYL对用户显示为灰色。
图9在顶部示出了由软件组件GC产生并由终端UT显示的横幅帧BNF的两个叠加层的一个示例。图9的中央部分示出了所生成和显示的横幅帧。图9的底部示出了用户可以感知到的横幅BN。横幅帧BNF的第一层(在图9的左上方)包括要显示的消息MSG,例如消息“Order:transfer xx € to yyyy(订单:向yyyy转账xx欧元)”。第二层(在图9的右上方)包括与用户在终端UT中要键入的验证码CC相对应的多位数字,例如四位数字。这里再次地,使用若干段SG(例如七个段)显示验证码CC的每个数字,这些段根据要显示的数字而被显示或不被显示。为了防止使用终端UT的屏幕截图功能获得验证码CC,在由软件组件GC生成的每个图像帧FRM中仅显示可见段SG的一部分,以使得在由软件组件GC生成的图像帧FRM中呈现要显示的每个可见段SG的概率低于100%,例如等于50%(1/2)。
第一层和第二层的像素可以通过异或(XOR)运算组合在一起。因此,在如图9的中央部分所示的生成的横幅帧BNF中,以背景颜色显示属于消息MSG和验证码CC的段SG两者的像素,同时以与背景颜色不同的颜色显示仅属于消息MSG或段SG的像素。
图9的底部示出能由人类视觉系统感知的所显示的横幅BN,此时以足够高的频率(大于30Hz)(例如以60Hz)显示由软件组件GC生成的图像帧FRM,以使得每16.6毫秒显示新帧FRM。当要显示的可见段以低于100%的概率被插入到横幅帧BNF中时,验证码CC的四位数字标记DL对用户显示为灰色。在图8A、8B和9的示例中,验证码CC为4279。
根据实施例,要显示的每个数字KYL、DL的可见和不可见段以相应概率出现在帧FRM中,以使得所显示的数字对于人类视觉系统可识别(由于人类视觉系统的暂留性)。例如,所生成的软件组件GC被配置为以0至15%的概率显示不可见段,并且以50至100%的概率显示可见段。可以以介于50与100%之间的相应概率显示形成键标记KYL或验证码CC的数字的可见段,并且以介于0与15%之间的相应概率显示键标记或验证码CC的数字中的不可见段。可以根据帧显示频率来调整形成键标记和验证码CC的数字的段的显示概率,以使得对于人类视觉系统而言所显示的数字的标记保持可识别。当分别以图像帧的背景颜色或不同于背景颜色的颜色显示段或像素时,段或像素在图像帧FRM中不可见或可见。背景颜色由所考虑的段SG周围的像素颜色定义,并且可以根据段在图像帧FRM内的位置而变化。
显示的小键盘KYPF可能不需要具有验证键“V”,当用户输入要键入的验证码CC的最后一个数字时,执行键入的代码的验证。例如,如果验证码包括四个数字,则当用户输入四个数字时,可以结束软件组件GC的执行。可以管理取消键“C”,以删除最后一个键入的数字或所有先前键入的数字。可以通过擦除显示区域FBD中的一个或所有点,向用户显示取消键“C”的作用。
图10表示根据实施例的应用APP的功能架构。应用APP包括管理模块MGM、初始化模块INM、认证模块AUTM、链接模块LKM、软件组件执行模块GCM。管理模块MGM通过通信电路NIT控制其它模块INIM、RGM、LKM和GCM、以及应用APP与服务器ASRV之间的通信。初始化模块INM执行步骤S9。链接模块LKM执行步骤S11和S12。为此,链接模块可以连接到终端UT的图像传感器IMS,以获取对应于要由终端UT接收并由终端OT显示的链路令牌LTK的光码。认证模块AUTM执行步骤S25至S29来处理在步骤S23处接收到的认证请求,触发软件组件GC的执行,并接收和发送由用户输入的位置POSi。模块AUTM连接到终端UT的小键盘或触敏表面TSIN。模块GCM执行步骤S27从而以合适的刷新率生成和显示图像帧FRM,模块GCM在每个帧处选择要应用于软件组件GC的输入值并执行软件组件GC。模块GCM产生在终端UT的显示屏幕DSP上显示的图像帧FRM。
图11表示根据实施例的软件组件GC的示例。软件组件GC是被加密为乱码电路的软件实现的布尔电路。软件组件GC包括两个电路层L1、L2和两个互连矩阵XM1、XM2。第一互连矩阵XM1接收软件组件GC的输入数据INi、INj、SGi、RNi。第一层L1包括逻辑门AGi,每个门从矩阵XM1接收两个输入值SGi、RNi,并向第二互连矩阵XM2提供一个输出值Di。第二层L2包括逻辑门XGi、XGj,每个门从矩阵XM2接收两个输入值,并提供表示像素值的一个输出值PXi、PXj。第一层L1的逻辑门AGi中的每一者接收由矩阵XM1选择的软件组件GC的输入值SGi、RNi。另一层L2的逻辑门XGi中的每一者接收软件组件的一个输入值INi和由属于前一层(L1)的一个逻辑门AGi提供的一个输出值,这些输入值由矩阵XM2选择。层L2的逻辑门XGj中的每一者接收软件组件的两个输入值INj1、INj2,这些输入值由矩阵XM1和/或XM2选择。软件组件的该结构使得能够并行处理,因为可以同时处理同一电路层L1、L2中的所有逻辑门。
根据实施例,为了生成如图8A所示的图像帧FRM,软件组件GC包括针对在图像帧FRM中可见或不可见的每个段SG的一个电路SGCi,以及针对与段像素PXi不同的每个像素PXj的一个电路FPCj(例如在段SG周围或横幅帧BNF中)。因此,当要显示的图像帧FRM包括用于小键盘KYP的70个段(10个键标记数字×7个段/数字),加上用于验证码CC的28个段(4个数字×7个段/数字)时,软件组件包括98个电路SGCi。电路SGCi中的每一者包括在电路层L1中的一个逻辑门AGi,以及在电路层L2中与形成如在图像帧FRM中所显示的段SG的像素PXi1,PXi2,...PXip的数量一样多的的逻辑门XGi。
门AGi例如执行诸如与(AND)、或(OR)、与非(NAND)、或非(NOR)的逻辑运算,以50%(1/2)的概率显示每个可见段,并且以0%可见的概率显示每个不可见段。每个门XGi采用软件组件的输入INi执行逻辑异或(XOR)运算。门AGi接收一个段输入值SGi和对应的随机输入值RNi。门AGi的输出Di连接到电路SGCi的所有门XGi的输入。每个门XGi还接收输入值INi1-INip中的一个,并向电路GC的输出提供一个像素值PXi1-PXip。
电路FPCj中的每一者包括一个逻辑门XGj,该逻辑门针对由软件组件GC控制且与图像帧FRM中的段像素不同的每个像素PXj执行逻辑异或运算。门XGj中的每一者接收软件组件GC的两个输入值INj1、INj2,并提供一个像素值PXj。门XGj中的每一者可以位于层L1中或层L2中。输入值INi、INj的数量能够被限于由软件组件GC控制的像素PXi、PXj的数量的平方根附近的值。
电路SGCi被配置为以50%的概率显示键标记KYL和验证码SG的数字的可见段,并且以0%的概率显示这些数字的不可见段。软件组件GC的结构能够适合于将其它显示概率应用于要显示的数字的可见和不可见段。当然,数字也能够(例如,通过更多的段)被控制和/或布置为显示除了数字之外的其它符号,诸如字母字符或者更一般地包括ASCII字符的符号。
在图11的软件组件的示例中,一个输入INi或INj可以连接到多个逻辑门XGi、XGj,使得输入INi、INj的数量少于逻辑门XGi的数量加两倍的逻辑门XGj的数量。
互连矩阵XM2定义由软件组件生成的哪个像素属于段SG。根据一个实施例,取决于用户终端的显示分辨率,每个段SG的位置、取向和形状从一个软件组件到另一个软件组件变化一个或几个像素。这种设置使得更难以执行显示符号的机器光学识别。
可以观察到,本文所使用的术语“段”指示由一个相同的段输入值SGi控制的像素集合。形成段的像素集合不一定由相邻像素形成,而可以包括相邻像素构成的群组作为形成键标记KYL的段。此外,在一个所显示的图像段FRM中形成段的像素全部可见或全部不可见。
图12表示根据实施例的当软件组件被设计为乱码电路时,定义软件组件(其在步骤S23中发送)的结构和内容数据GCD。数据GCD包括:
唯一的软件组件标识符GCID,
数集(number set)DIM,其包括输入值INi、INj的数量n、输出值的数量m、段输入值SGi或随机输入值RNi的数量s、门AGi、XGi、XGj的数量g、门AGi的数量k、电路中的线的数量w,以及电路GC中的电路层L1、L2的数量l,
输入数据表INLB,其包括针对软件组件的执行指定的,例如从1到n进行编号的电路GC的输入INi、INj的所有值,
段表SGLB,其包括针对软件组件的执行指定的从1到s进行编号的软件组件GC的段输入SGi的所有值,
随机数据表RNLB,其包括从1到s进行编号的随机值RNi,
门线表GTW,其定义两个输入线号IN1、IN2、输出线号ON和软件组件GC的每个逻辑门AG、XG的类型标识符GTYP,电路的门从1到g进行编号,以及
门真值表,其针对软件组件GC的逻辑门AG中的每一者包括四个值OV00、OV01、OV10、OV11。
在图11的示例中,类型GTYP指定对应的逻辑门执行异或运算或其它逻辑运算,如与、或、或非、与非。
根据实施例,分别表示二进制逻辑状态0或1的逻辑门AGi、XGi、XGj的输入值INi、SGi、RNi、INj以及输出值Di、PXi、PXj由若干位的数字定义,例如64位或128位。以这种方式,乱码电路GC内的每个输入和输出仅具有两个有效值,并且当考虑这些值的位的大小时,所有其它可能的值无效。当生成软件组件GC时,随机选择软件组件的每个输入SGi、RNi、INi、INj的两个有效值,前提是两个有效值的最低有效位不同,当计算逻辑门中的一个逻辑门的输出值时,这些最低有效位被用于选择逻辑门的真值表中的一个值。
每个逻辑门AGi的真值表GTT[i]包括四个值OV00、OV01、OV10、OV11,其分别对应于与逻辑门的输入值对应的二进制输入值的组合(0,0)、(0,1)、(1,0)、(1,1)。通过对软件组件的每个线(即,从1到(n+2s)的软件组件的每个输入线,以及从(n+2s+1)到(n+2s+g)的逻辑门的每个输出)进行编号,以及通过将每个逻辑门AGi、XGi、XGj与表GTW(包括到门的两个输入的两个线号IN1、IN2,以及到门的输出的一个线号ON)的一个记录进行关联,可以在表GTW中定义软件组件的拓扑。软件组件GC的输出的线号从(n+2s+g-m+1)到(n+2s+g)进行编号。
根据实施例,表RNLB包含每个随机值RNi的两个有效值RNV1、RNV2,对应于逻辑状态0和1。每个值RNV1、RNV2可以以相同的概率等于分别对应于状态0和1的随机值RNi的两个有效值中的一个或另一个。
异或门XGi、XGj可以通过使用在表GTT中编码的真值表执行,或者通过对门的输入值中的同一等级的每对位应用异或运算来执行。在后一种情况下,表GTW的字段GTYP定义门是异或门还是另一门,并且表GTT针对每个门AGi仅包括一个记录。
根据实施例,表INLB、SGLB、RNLB、GTT中的每个值通过128位的字编码,并且表GTW的每个记录以64位的字编码,线号IN1、IN2、ON以21位的字编码。表GTW能够以压缩形式(例如使用gzip压缩方案)从服务器ASRV传输到终端UT。
根据实施例,门表GTW和GTT中的逻辑门的顺序可以被随机定义,前提是索引i处的表记录GTW[i]和GTT[i]指示同一门。
图13表示根据实施例的被配置为执行软件组件并且生成图像帧FRM的模块GCM。每当要生成新的图像帧时,即以等于或大于30Hz的帧刷新率生成新的图像帧时,模块GCM执行软件组件。为此,每当必须生成新的图像帧时,可以通过具有例如上升沿的同步信号SNC激活模块GCM。模块GCM包括切换模块SWC、软件组件解译器GCI、异或掩码电路XRG以及像素映射模块MPF。切换模块SWC接收同步信号SNC和定义要执行的软件组件GC的结构和内容数据GCD,并且将要通过软件组件GC的下一次执行处理的数据加载到输入数据结构GCDI中。因此,切换模块SWC在不修改结构GCDI的情况下发送数据DIM、INLB、SGLB、NBGL、GTW、GTT和GCK。
根据实施例,切换模块SWC执行切换操作SWi以选择每个输入随机值RNi的两个有效值RNiV1、RNiV2中的一个或另一个。每个切换函数SWi由具有s位的随机数RNB(由随机数生成函数RNG生成)的相应位RNBi控制,s是要输入到软件组件GC的随机值RNi的数量或要显示的所有数字的段SGi的总数。每个切换操作SWi为随机值RNi中的每一者提供存储在结构GCDI中的随机选定值RNiVk。作为选择随机值RNi(对应于被设定为状态1的输入数据SGi的要显示的可见段SG)的两个有效值RNiV1、RNiV2中的一者的结果,对应的与门AGi的输出取决于所选择的随机值RNiVk的逻辑状态被设定为状态0或1。因此,可见段SGi出现在每个帧FRM中的概率等于随机输入值RNi被设定为状态1的概率。如果数字RNB是真随机数,则该概率等于50%。
模块GCI是专用解译模块,其被配置为依次执行由输入数据结构GCDI中的数据定义的第一电路层L1的逻辑门中的每一者和之后第二电路层L2的逻辑门中的每一者。为此,解译模块GCI能够使用线表接收软件组件GC的每个线的值,该值被写在表中对应于线值的线号的索引处。线表首先加载软件组件的输入值INi、INj、SGi、RNiVk,这些值被写在表中对应于被分配给该输入值的线号的索引(1到n+2s之间)处。然后将每个执行的逻辑门的所计算的输出值写在线表中的对应于输出值的线号的索引处。在软件组件的执行结束时,线表包括处于从(n+2s+g-m+1)到(n+2s+g)的索引处的软件组件的输出的值。
每个逻辑门的输出值可以通过应用不可逆函数来计算,所述不可逆函数被应用于门的两个输入值以及在门的真值表中根据两个输入值中的每一者的最低有效位而选择的一个值:
OV=PF1(IN1,IN2,G)(1)
其中IN1和IN2表示门的输入值,G=GTT[IN1{0}//IN2{0}]、IN1{0}和IN2{0}表示输入值IN1、IN2的最低有效位,“//”表示位连接运算符,GTT表示门的四元素真值表,PF1表示不可逆函数。
根据实施例,函数PF1可以使用加密功能,诸如使用被分配给软件组件的加密密钥的AES(高级加密标准)。在这种情况下,加密密钥GCK可以被存储在软件组件GC的结构和内容数据GCD中。例如,逻辑门的输出值OV可以计算如下:
其中 表示异或(XOR)运算符,T表示被分配给逻辑门的编号,例如逻辑门的编号,并且也可取决于输入值IN1、IN2,CF表示组合函数,并且AES(GCK,K)表示使用加密密钥GCK的AES加密算法的K的经加密值。组合函数可以是异或运算或以下形式的运算:
SH(X,a)表示X的左移a位的移位运算。
由模块GCI提供的软件组件GC的每个输出数据的最低有效位被视为像素值PXi、PXj。模块XRG将每个像素值PXi(由软件组件提供的每个输出值的最低有效位)与属于在结构和内容数据GCD中提供的图像掩码IMSK的相应掩码位值MKi相组合。所使用的组合运算可以是异或运算XRi。软件组件的输出值PXi、PXj的相应最低有效位表示白噪声,因为包括输入值的最低有效位的软件组件的输出值是随机选择的。因此,由软件组件生成的图像部分采取加密形式,并且使用图像掩码IMSK进行解密。
图像掩码IMSK包括消息MSG,以使得当与由软件组件GC提供的像素PXj组合时,消息MSG变得可识别并且与验证码CC的段SG组合。图像掩码IMSK还可以被配置为使与固定到二进制状态0(被配置为不可见的段)的段输入值SGi对应的数字段SG的像素PXi可见。以这种方式,该段在所生成的图像帧FRM中始终可见(概率为100%)。将段配置为始终可见或不可见的另一种方式是将相同的值赋予与已发送的结构和内容数据GCD中的相关段输入值SGi对应的两个随机值RNiV1、RNiV2。
根据一个实施例,为了更安全,在步骤S23使用另一通信信道将最终掩码IMSK发送到终端UT。
互连矩阵XM1、XM2定义在图像帧FRM中显示对应于输入值INj的像素PXj和对应于段输入值SGi的像素PXi的位置。输入值INi、INj与图像掩码IMSK相关地定义软件组件GC的输出中的对应像素PXi、PXj是可见还是不可见,像素PXi的可视性也取决于随机输入RNi的对应值。可以在生成软件组件时随机选择输入值INi、INj的相应的二进制状态,然后根据输入值INi、INj的所选择的二进制状态、互连矩阵XM1、XM2以及要显示的图像帧FRM(其定义图像帧中的可见和不可见像素),生成图像掩码IMSK。
映射模块MPF将由模块XRG提供的像素值组PXi'在合适的位置插入到背景图像帧BCKF中,以生成要显示的图像帧FRM中的一个。具体地说,模块XRG提供形成如图9所示的横幅帧BNF的像素组PXi',并且提供形成要在帧FRM中显示的一个小键盘帧KYPF的键标记KYL中的每一者的像素集合PXi'。映射模块MPF将这些像素集合插入背景图像帧BCKF中的相应预定位置以生成图8A所示的图像帧FRM中的一者。在一个实施例中,模块XRG输出可直接显示的图像帧。在这种情况下,映射模块不是强制性的。
在随机输入RNi的两个有效值的软件组件的结构和内容数据GCD中的传输能够以非常低的成本在软件组件的执行和输出数据中引入随机性。相比之下,产生随机输出数据的软件组件将需要在软件组件中引入随机发生器,这会不可避免地增加乱码电路复杂性,因此增加定义软件组件的结构和内容数据GCD的大小。此外,随机输入RNi的两个有效值RNiV1、RNiV2的传输不会降低引入验证码CC的安全性,因为每个随机输入值RNiV1、RNiV2和其二进制值0或1之间的对应关系不能容易地建立。
根据一个实施例,每当终端UT必须执行新的认证时,在步骤S27执行显示具有不同键布局的小键盘KYP以及显示不同的验证码CC的新的软件组件GC。
根据实施例,为了避免一个软件组件GC的传输(在步骤S23处),每当需要用户终端执行新的认证时,可以一次在终端UT中下载多个备选软件组件(由结构和内容数据GCD定义),并且终端UT在每次必须执行新的认证时选择未被执行的软件组件。作为示例,当将应用APP下载并安装在用户终端UT中时,与应用APP一起下载了若干软件组件。然后,当使用一个或多个软件组件时,例如当终端具有有效的网络连接时,可以将新的一组软件组件从服务器ASRV下载到终端UT。
根据实施例,若干备选软件组件以加密形式存储在终端UT中,并且每当终端UT必须执行新的软件组件时,服务器ASRV向用户终端发送相应的解密密钥。
根据实施例,每个软件组件中只有一部分被下载到终端UT中。每个软件组件的已下载部分可以包括带有或不带有表RNLB的数据GCID、DIM、NBGL、GTW。每当终端UT必须执行新的认证时,在步骤S23,服务器ASRV只向终端发送数据INLB、SGLB、GCK和IMSK。然后,终端UT例如在步骤S25或S29将用于认证的软件组件的标识符GCID发送到服务器ASRV。当服务器ASRV从用户终端UT接收到软件组件标识符GCID时,服务器ASRV检查在数据库UDB中所接收的标识符对应于先前被发送到终端UT的下一个未执行或有效的软件组件。如果所接收的标识符与先前发送到终端UT的下一个未执行或有效的软件组件不对应,则服务器ASRV使用户认证和对应的交易无效。服务器ASRV也可以使通过同一软件组件(对应于同一标识符GCID)执行的先前交易无效。
根据实施例,服务器ASRV可以将有效性指示符(例如,在图5的表GCP中)分配给其为用户终端生成的每个软件组件。当服务器ASRV在步骤S23将对应的软件组件发送到用户终端时将有效性指示符设定为有效,当服务器ASRV在步骤S29接收对应的消息ARP时将有效性指示符设定为无效。此外,服务器ASRV可以为每个生成的软件组件分配有效期,当软件组件的有效期已过时,该软件组件被设定为无效。服务器ASRV可被配置为当在步骤S29发送的消息ARP对应于被设定为无效的软件组件时,拒绝该消息ARP。
图14表示根据另一实施例的软件组件GC的一部分。图14中公开的电路部分旨在取代图11的电路中的一个逻辑门AGi。在图14的示例中,电路部分包括三个与门AGi1、AGi2和AGi3以及两个或门OGi1、OGi2。代替针对以低于100%的概率显示的图像帧FRM的每个段具有一个段输入SGi和一个随机输入RNi,电路部分针对一个段包括三个段输入SGi1、SGi2、SGi3和三个对应的随机输入RNi1、RNi2、RNi3。门AGi1、AGi2、AGi3中的每一者将一个相应的段输入SGi1、SGi2、SGi3与一个相应的随机输入RNi1、RNi2、RNi3进行组合。门AGi1和AGi2的输出连接到门OGi1的输入,以及门AGi3和OGi1的输出连接到门OGi2的输入。门OGi2的输出Di连接到与形成由输入SGi1、SGi2、SGi3控制的段的像素的数量相同的门XGi。以这种方式,当所有段输入SGi1、SGi2、SGi3被设定为二进制状态0时,门OGi2的输出Di被设定为二进制状态1的概率是0%。当段输入SGi1、SGi2、SGi3中的仅一者被设定为二进制状态1时,门OGi2的输出Di被设定为二进制状态1的概率是50%(1/2)。当段输入SGi1、SGi2、SGi3中的仅两者被设定为二进制状态1时,门OGi2的输出Di被设定为二进制状态1的概率为75%(3/4),以及当所有三个段输入SGi1、SGi2、SGi3均被设定为二进制状态1时,门OGi2的输出Di被设定为二进制状态1的概率为87.5%(7/8)。取决于掩码IMSK的对应的输入值INi1-INip和对应的掩码位值MKi1-MKip以及段输入值SGi1、SGi2、SGi3,可以以固定为0%(0)、12.5%(1/8)、25%(1/4)、50%(1/2)、75%(3/4)、82.5%(7/8)和100%(1)的概率显示段SGi。根据实施例,可见段SG在图像帧FRM中以包括至少12.5%、25%、50%、75%、82.5%或100%的一组可见概率值中选择的概率显示。
这些概率或其它概率可以使用组合三个段输入值SGi1、SGi2、SGi3和三个随机输入值RNi1、RNi2、RNi3的其它逻辑门组合来获得。
显然,软件组件能够通过增加一个段的输入数,进而通过增加第一电路层L1中的与门数和后续电路层中的组合或门数,来达到其它概率值。
根据一个实施例,以随着用户体验级别而减小的概率显示可见段。在从第一次安装应用APP执行的第一认证时,可见段SG能够在图像帧FRM中以高概率(例如,在75%到100%之间)显示。随着用户体验级别的增长,这些概率可以逐渐减小,并最终被设定为随机选择的值,例如在12.5%到50%之间。
在使用乱码电路的实施例中,由服务器ASRV在步骤S22执行的软件组件的生成包括生成表示软件组件的逻辑门的输入位和输出位的二进制状态0和1的随机值,一些逻辑门输出对应于乱码电路的输出。软件组件的生成进一步包括随机地选择互连矩阵XM1、XM2,即随机地选择软件组件的输入与软件组件的逻辑门的输入之间的链路,以及一些逻辑门的输出与其它逻辑门的输入之间的链路(表GTW的定义)。软件组件的生成进一步包括定义软件组件的逻辑门的真值表GTT,并使用加密密钥对这些真值表的每个值进行加密。根据一个示例,软件组件GC的逻辑门的真值表的每四个值G(=GTT[IN1{0}//IN2{0}])可以如下计算:
G=PF2(IN1,IN2,OV)(4)
对于输入IN1、IN2和输出OV的有效值的每个可能组合,当考虑对应于IN1、IN2和OV的有效值的二进制状态,以及由逻辑门执行的逻辑运算时,PF2表示不可逆函数。根据等式(2)定义的示例,逻辑门的真值表的每四个值G可以如下计算:
其中
因此,很难确定输入和输出值的二进制状态以及软件组件的逻辑门的功能。因此,不能容易地确定软件组件GC的功能。另外,在大量无效值中,软件组件只能处理电路的每个输入的两个有效值。因此,不可能对软件组件的输入应用任何值。有关乱码电路的更多详细信息,请参阅Mihir Bellare、Viet Tung Hoang、Phillip Rogaway在2012年10月1日发表的文献“Foundations of Garbled Circuits(乱码电路基础)”。
黑客或由终端UT执行的恶意软件程序通过分析显示的图像帧FRM或通过执行或分析软件组件GC而具有非常短的时间来获得要输入的显示的验证码CC和小键盘的键布局。由于输入的位置POSi必须对应于通过执行在步骤S24处发送到终端UT的软件组件GC而显示的验证代码CC和小键盘KYP,所以在步骤S21至S33处黑客似乎很难进行认证。
当服务器ASRV生成软件组件GC时,可以决定使用软件组件的线值的另一位等级来定义这些值的对应二进制状态。因此,逻辑门AGi的输入值中的选定位等级处的位被用于选择逻辑门的真值表GTT中的数据,并且软件组件GC的输出值PXi中的选定位等级处的位被提取并应用于模块XRG。
在此描述的例示旨在提供对各种实施例的结构的一般理解。这些例示并非旨在作为利用本文描述的结构或方法的装置、处理器和系统的所有元件和特征的完整描述。通过组合所公开的实施例来查看本公开,许多其它实施例或实施例组合对于本领域技术人员而言可以是显而易见的。可以从本公开中利用和导出其它实施例,从而使得可以在不脱离本公开的范围的情况下做出结构和逻辑替换和改变。
本文公开的方法可以通过用户终端UT的主处理器HP(CPU)可执行的软件程序实现,或至少部分地由用户终端UT的图形处理器GP实现。进一步地,本文公开的方法不限于显示具有随机选择的布局的小键盘和验证码之类的敏感信息。实际上,这种显示的目的是检查用户是否知道与服务器ASRV共享的机密数据,以及以只能由人感知的方式感知由终端呈现的信息。备选的质询-响应方案可以在其它实施例中实现。根据实施例,所显示的消息MSG可以引导用户输入诸如所显示的验证码CC的数字的总和或乘积之类的组合。除了该实施例或在另一个实施例中,所生成的帧可以与先前生成的帧形成差异。
根据另一个实施例,通过设定图形处理器的像素强度、增加或减少像素颜色、像素刷新率或像素闪烁参数,可以直接在图形处理器中/通过图形处理器控制段的闪烁或闪动。
除了将质询显示在显示屏上之外,还可以使用其它方式将质询传输给用户。例如,可以通过使用诸如Yusuf Adriansyah在2010年4月29日发表的“Simple AudioCryptography(简单音频密码学)”中描述的音频加密算法之类的音频手段将质询发送给用户。根据该算法,原始音频序列被分解为与原始音频序列具有相同长度的多个源音频序列,以使得原始音频序列只能通过同时播放经由分解生成的所有源音频序列而被重建,并且使得在源音频序列中的任何一个丢失的情况下,非常难以重建原始音频序列。可以同时播放两个源音频序列,一个经由终端UT,另一个经由其它装置,诸如具有存储源音频序列的存储器和播放所存储的源音频序列的耳机之类的便携式设备,其中终端的麦克风听不到这些音频序列。如果用户通过同时播放两个源音频序列听到可识别的音频消息,则意味着由便携式设备播放的源音频序列补充了源音频序列。
根据另一个实施例,用户在步骤S10记录其指纹。在步骤S27,软件组件GC显示请求用户输入一个或两个特定指纹(例如,拇指指纹和无名指指纹)的消息。使用段显示该消息,如表示键标记KYL和验证码CC的数字。在步骤S28或S54,用户输入所请求的指纹,并且在验证步骤S30和S31,服务器ASRV将所输入的指纹与步骤S10之后存储的指纹相比较。在本文中,共享的机密数据是指纹,并且用户要感知的信息是所请求的手指的名称。
此外,本文公开的方法不限于鉴于验证交易而认证用户。本文公开的方法可被应用于将机密信息安全地发送给用户或从用户处安全地接收机密信息,或者更一般地应用于在非安全环境中安全地执行敏感操作。
此外,本文公开的方法不限于使用单个用户终端显示图像帧和引入机密数据(CC)的方法。本文公开的方法可被应用于在另一个已连接设备上安全地认证用户,帧图像被显示在用户终端或远程显示器(例如智能手表、虚拟现实眼镜或透镜)上,或投影在表面上,或者采取3D图像的形式投影。类似地,机密数据可以被输入到与用户终端连接的另一个设备中,或者使用语音或手势。因此,词语“用户终端”可以指定单个设备或一组设备,其中包括不带显示器的终端、IoT(物联网)终端、智能家居终端以及允许用户输入数据的任何输入终端。
用户终端UT可以通过语音或手势来控制。语音命令可以转换为命令。每个已识别的命令相当于位置POSi中的一者。小键盘可以被诸如需要手势、遵从几何图形或跟踪点之间的链接之类的任何其它表示替代。此外,输入终端可以是3D输入终端,用户可以通过3D输入终端在空中借助3D手势进行交互。因此,位置POSi可以是空间中的3D坐标位置。
在其它实施例中,显示器可以是包括例如ATM、自动售货机、TV、公共显示屏、投影显示屏、虚拟显示器、3D显示器或全息图的任何显示器。在其它实施例中,终端可以是包括例如触摸屏、游戏附件、手势获取系统、语音或声音命令系统的任何输入设备。
在其它实施例中,在不应用掩码IMSK的情况下生成图像帧FRM,并且使用两个显示设备与掩码IMSK分开显示,两个显示设备中的一个是透明的,诸如目镜形式的显示设备,当所显示的图像帧与显示掩码IMSK叠加时,所显示的图像变得对于用户可识别。
此外,本文公开的在执行防止篡改和逆向工程的软件组件时引入随机化的方法不限于在图像或图像帧中生成闪烁的像素。更一般来说,这些方法可用于任何这样的应用:其中敏感软件功能中需要随机状态,防止被执行逆向工程和篡改,软件功能接收输入数据并提供输出数据。例如,这些方法可应用于数据保护,而不使用容易被盗的加密或解密密钥。在本示例中,软件组件被配置为根据一组随机输入数据提供受保护数据的一部分,每个随机输入数据具有两个可能值。应用于软件组件的随机输入值的每个组合被用于计算受保护数据的相应部分。随机输入值的组合数量定义了可以通过执行软件组件来计算的数据部分的数量。作为一个示例,要保护的数据可以是图像,并且此类图像的数据部分可以是图像的像素值或图像像素的颜色分量值,软件组件的执行提供了像素值或像素值的一部分和像素在图像中的位置(请参见X.Arogya Presskila、Sobana Sumi所著的“Secure ImageDatasets in Cloud Computing(云计算中的安全图像数据集)”,国际计算机科学与软件工程高级研究杂志,第4卷,第3期,2014年3月)。通过应用于输入值的一个组合的软件组件的一次执行来计算的要保护的数据的一部分可以如所需要的一样小。例如,软件组件可以被配置为通过一次执行提供高斯曲线的点或用于计算直方图的值,数据部分值对应于由软件组件计算的最高值或对应于具有直方图中的最高出现次数的值。当仅提供软件组件的输入数据的两个备选值的一部分时,只能访问受保护数据的一部分,其中针对软件组件的其它输入数据仅提供一个值。
此外,本文公开的方法不限于涉及认证服务器的实施方式。其它实施方式可以涉及用户终端内的安全元件,诸如图2所示的安全处理器SE,或终端的主处理器HP内的安全域。在本文公开的方法中,由服务器ASRV执行的所有操作都可以由这种安全元件执行。图15表示由用户终端UT和连接到终端UT的主处理器HP的安全元件SE执行的认证步骤S41至S44,并且使安全元件能够认证用户。在步骤S41处,终端UT向安全元件SE发送命令CMD,该命令在由安全元件执行之前需要用户的认证。然后,如前所述,终端UT执行步骤S26和S28至S30。安全元件SE执行步骤S24、S25、S27和S31,代替服务器ASRV。然后,安全元件SE执行步骤S42至S44。在步骤S42处,安全元件SE将用户输入的验证码CC1与由安全元件SE安全存储的对应值CC进行比较。如果由用户输入的验证码CC1与由安全元件SE存储的值CC匹配,则后者执行步骤S43,在步骤S43中执行在步骤S41处请求的命令CMD。在步骤S44处,安全元件SE发送命令CMD的执行报告RS。以该方式,仅当终端UT的用户对它授权时,安全元件SE才执行命令CMD。
根据实施例,图15中的安全元件SE可以由或者可以借助于诸如NFC(近场通信)或蓝牙的通信链路连接到用户终端UT的外部终端的一部分来实现。外部终端可以是销售点终端。
此外,本文公开的方法不限于包括仅具有两个输入和一个输出的门的乱码电路。可以使用具有多于四条线的真值表,来实现具有三个或更多个输入和一个或多个输出或接收具有多于两个有效状态的数据的其它类型的门。因此,通过发送和选择输入RNi的可能值RNiV1和RNiV2之一获得的随机性也可通过发送和随机选择乱码电路的输入的三个或更多个有效值中的一个值来获得。
此外,本文公开的方法不限于通过乱码电路实现软件组件。诸如包含混淆程序的软件组件的其它实施方式可用于隐藏在终端UT的主处理器中加载的程序部分,和/或用于防止程序的敏感部分被未经授权的人员公开或修改。混淆程序的方法例如在文献“Obfuscating Circuits via Composite-Order Graded Encoding(经由复合次序分级编码混淆电路),Benny Applebaumy、Zvika Brakerskiz著,IACR-TCC,2015年1月12日”和“Howto Obfuscate Programs Directly(如何直接混淆程序),Joe Zimmerman著,IACR,2014年9月30日”中公开。
更一般地,可以通过将使用诸如C或C++之类的语言编写的程序转换为诸如VHDL或Verilog之类的电路设计语言,以获得包括逻辑门的逻辑或布尔电路来执行乱码电路的概念。
此外,本文公开的方法不限于使用防止篡改和逆向工程的软件组件,诸如使用混淆和/或乱码电路方法生成的软件组件。作为这种应用的示例,本文公开的方法可以用于执行不需要高安全级别的操作,诸如视频游戏或医学眼睛测试。
此外,本文公开的方法不限于涉及掩码(诸如图像掩码IMSK)来解密软件组件的输出值的实施方式。其它实施方式可以生成并执行直接输出要显示的像素值的软件组件。另外,可以在输出像素值中直接提供消息MSG。此外,掩码可以与软件组件或软件组件的结构和内容数据分开地发送,甚至可在执行软件组件之后发送。
此外,本文公开的方法能够通过仅包括硬件小键盘的用户终端UT来实现,所显示的帧FRM的显示只是为了将其它键标记分配给物理小键盘。因此,代替触摸显示屏的位置以输入位置POSi,用户与所显示的帧FRM中示出的已分配标记相一致地激活小键盘的硬件键。
本文中用于标准显示屏的术语像素可以被理解为坐标,即,用于2D显示的2D坐标,或用于3D或立体显示或用于投影显示的3D坐标。
此外,本公开和例示被认为是说明性的而不是限制性的,并且所附权利要求旨在覆盖落入说明书的真实精神和范围的所有此类修改、增强和其它实施例或它们的组合。因此,以下权利要求的范围由权利要求及其等同物的最广泛的许可解释来确定,并且不受前述说明书的限制或定义。

Claims (18)

1.一种用于从用户终端认证用户的方法,所述方法包括:
由所述用户终端从安全处理器接收软件组件,所述软件组件防止纂改和逆向工程并且被配置为生成包括随机像素的图像帧,所述随机像素具有在所述图像帧中可见低于100%的概率;
由所述用户终端执行所述软件组件多次,以生成多个图像帧;
以帧显示速率显示所述多个图像帧,所述图像帧包括因为由所述随机像素形成而使机器不可识别的信息,所述帧显示速率使得所述信息对于用户可识别;
从所述用户获取与所述信息相关的响应;以及
由所述用户终端向所述安全处理器发送所述响应,当所述响应对应于所述信息时所述用户被认证。
2.根据权利要求1所述的方法,其中所述软件组件被配置为生成多个帧图像部分,每个所述帧图像部分包括所述随机像素,所述方法进一步包括将每个生成的图像帧部分插入图像帧背景,以生成多个图像帧。
3.根据权利要求1或2所述的方法,其中所述软件组件被配置为生成包括所述随机像素的加密的帧图像部分,所述方法进一步包括:由所述用户终端解密每个生成的加密的图像帧部分,通过向所述加密的图像帧部分的每个像素施加与解密掩码的对应像素的异或运算,每个解密的图像帧部分被插入到图像帧背景中,以生成多个图像帧中的一个。
4.根据权利要求3所述的方法,其中所述解密掩码被配置为当对所生成的加密的图像帧部分中的一个进行解密时,在所显示的图像帧中产生消息。
5.根据权利要求1至4中的一项所述的方法,其中所述显示的图像帧中的所述机器不可识别的信息包括被布置为形成符号或数字或字母数字字符的段,所述段的至少一部分采用所述随机像素形成。
6.根据权利要求5所述的方法,其中所述段被布置为形成小键盘的键的标记,所述键的标记具有随机的键布局,来自所述用户的所述响应包括由所述用户连续选择的所述小键盘的键的位置。
7.根据权利要求6所述的方法,其中来自所述用户的所述响应包括与验证码对应的所述小键盘的键的位置,所述验证码采用由所述随机像素形成的段显示。
8.根据权利要求1至7中的一项所述的方法,其中所述软件组件被配置为设定在所述显示的图像帧中可见的所述随机像素的概率,所述概率是在一组可见的概率值中选择的。
9.根据权利要求1至8中的一项所述的方法,其中所述软件组件被配置为以设定为等于50%或包括在12.5%和82.5%之间的值的在所述显示的图像帧中可见的概率提供所述随机像素。
10.根据权利要求1至9中的一项所述的方法,其中所述软件组件被编码为包括电路输入、电路输出、逻辑门和线的乱码电路,每个逻辑门具有两个输入和一个输出,每条线具有被连接到所述电路输入中的一个电路输入或所述逻辑门输出中的一个逻辑门输出的第一端,以及被连接到所述逻辑门输入中的一个逻辑门输入或所述电路输出中的一个电路输出的第二端,通过随机生成表示所述线中每条线的每个二进制状态的有效数据,并且通过计算所述乱码电路的一个逻辑门、根据所述逻辑门的每个输入的每个有效数据的真值表值、所述逻辑门的所述输出的每个有效数据以及由所述逻辑门执行的逻辑运算,生成所述乱码电路。
11.根据权利要求10所述的方法,其中所述软件组件包括用于生成随机像素的集合的像素集合生成电路,每个生成电路包括第一逻辑门和一组第二逻辑门,所述第一逻辑门将第一输入数据与随机选择的第二输入数据组合,以及向所述第二逻辑门中的每个第二逻辑门的第一输入提供输出数据,所述第二逻辑门中的每个第二逻辑门的第二输入接收第三输入数据,所述第二逻辑门的所述输出中的每个输出提供所述随机像素的集合的像素值。
12.根据权利要求1至11中任一项所述的方法,其中所述软件组件在由所述用户终端执行的网页浏览器内执行。
13.一种用户终端,其被配置为:
从安全处理器接收软件组件,所述软件组件防止纂改和逆向工程并且被配置为生成包括随机像素的图像帧,所述随机像素具有在所述图像帧中可见低于100%的概率;
执行所述软件组件多次以生成多个图像帧;
以帧显示速率显示所述多个图像帧,所述图像帧包括因为由所述随机像素形成而使机器不可识别的信息,所述帧显示速率使得所述信息对于用户可识别;
从所述用户获取与所述信息相关的响应;以及
向所述安全处理器发送所述响应,当所述响应对应于所述信息时所述用户被认证。
14.根据权利要求13所述的终端,其被配置为以根据权利要求2至10中的一项所述的方法执行由终端执行的所述操作。
15.根据权利要求13或14所述的终端,其中所述安全处理器是在所述终端中安装并连接到所述终端的主处理器的安全元件,或属于通过数据传输网络链接到所述终端的远程服务器。
16.一种安全元件处理器,其被配置为以权利要求1至12中的一项的方法执行由安全处理器执行的操作,其中所述安全元件被连接到终端的主处理器。
17.一种服务器,其被配置为以由权利要求1至12中的一项所述的方法执行由安全处理器执行的操作,其中所述服务器通过数据传输网络被链接到所述终端。
18.一种计算机程序产品,其可被加载到计算机存储器中并包括代码部分,当由计算机执行时,所述代码部分配置所述计算机以执行根据权利要求13至15中的一项的所述终端执行的所述操作。
CN201711065166.1A 2016-11-02 2017-11-02 用于通过非安全终端认证用户的方法 Pending CN108021800A (zh)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
EP16196947.2A EP3319067B1 (en) 2016-11-02 2016-11-02 Method for authenticating a user by means of a non-secure terminal
EP16196950.6 2016-11-02
EP16196947.2 2016-11-02
EP16196950.6A EP3319001A1 (en) 2016-11-02 2016-11-02 Method for securely transmitting a secret data to a user of a terminal
EP16196957.1 2016-11-02
EP16196945.6A EP3319000A1 (en) 2016-11-02 2016-11-02 Method for securing a transaction performed from a non-secure terminal
EP16196945.6 2016-11-02
EP16196957.1A EP3319002B1 (en) 2016-11-02 2016-11-02 Method for securely performing a sensitive operation using a non-secure terminal
EP17172856.1A EP3319069B1 (en) 2016-11-02 2017-05-24 Method for authenticating a user by means of a non-secure terminal
EP17172856.1 2017-05-24

Publications (1)

Publication Number Publication Date
CN108021800A true CN108021800A (zh) 2018-05-11

Family

ID=61767971

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201780067275.9A Pending CN109891478A (zh) 2016-11-02 2017-10-31 用于保护从非安全终端执行的交易的方法
CN201780066980.7A Pending CN109891418A (zh) 2016-11-02 2017-10-31 用于保护从非安全终端执行的交易的方法
CN201711065166.1A Pending CN108021800A (zh) 2016-11-02 2017-11-02 用于通过非安全终端认证用户的方法
CN201711064864.XA Pending CN108021793A (zh) 2016-11-02 2017-11-02 用于借助于非安全终端认证用户的方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201780067275.9A Pending CN109891478A (zh) 2016-11-02 2017-10-31 用于保护从非安全终端执行的交易的方法
CN201780066980.7A Pending CN109891418A (zh) 2016-11-02 2017-10-31 用于保护从非安全终端执行的交易的方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201711064864.XA Pending CN108021793A (zh) 2016-11-02 2017-11-02 用于借助于非安全终端认证用户的方法

Country Status (5)

Country Link
US (9) US20180198784A1 (zh)
EP (4) EP3319069B1 (zh)
KR (2) KR20180048429A (zh)
CN (4) CN109891478A (zh)
WO (2) WO2018083088A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11429971B1 (en) * 2016-06-03 2022-08-30 Jpmorgan Chase Bank, N.A. Systems, methods, and devices for integrating a first party service into a second party computer application
CN110494854B (zh) * 2017-03-24 2023-09-01 维萨国际服务协会 使用安全多方计算的认证系统
WO2019110380A1 (en) * 2017-12-04 2019-06-13 Koninklijke Philips N.V. Nodes and methods of operating the same
EP3528161A1 (en) * 2018-02-19 2019-08-21 Skeyecode Method for signing a transaction
US11042626B2 (en) * 2018-05-21 2021-06-22 Nextek Power Systems, Inc. Method of and system for authenticating a user for security and control
CN110661764A (zh) 2018-06-29 2020-01-07 阿里巴巴集团控股有限公司 安全多方计算协议的输入获取方法和装置
US10768951B2 (en) 2018-08-29 2020-09-08 Bank Of America Corporation Providing augmented reality user interfaces and controlling automated systems based on user activity information and pre-staging information
US11120496B2 (en) 2018-09-06 2021-09-14 Bank Of America Corporation Providing augmented reality user interfaces and controlling back-office data processing systems based on augmented reality events
US20200125705A1 (en) * 2018-10-19 2020-04-23 Ca, Inc. User authentication based on an association of biometric information with a character-based password
CN111639956B (zh) * 2018-11-16 2023-04-28 创新先进技术有限公司 提供和获取安全身份信息的方法及装置
US11374752B2 (en) * 2019-06-07 2022-06-28 Panasonic Avionics Corporation Secure transactions for in-flight entertainment systems
CN110516775B (zh) * 2019-07-11 2023-07-25 西安邮电大学 基于qr码用户秘密信息隐藏方法
GB201916413D0 (en) * 2019-11-11 2019-12-25 Mrb Corp Ltd Improved human verification
US11275945B2 (en) * 2020-03-26 2022-03-15 Varjo Technologies Oy Imaging system and method for producing images with virtually-superimposed functional elements
US10797866B1 (en) * 2020-03-30 2020-10-06 Bar-Ilan University System and method for enforcement of correctness of inputs of multi-party computations
WO2021205660A1 (ja) * 2020-04-10 2021-10-14 日本電気株式会社 認証サーバ、認証システム、認証サーバの制御方法及び記憶媒体
CN115836352A (zh) * 2020-07-14 2023-03-21 安晟信医疗科技控股公司 检测连续葡萄糖监测传感器的重新插入
WO2022018972A1 (ja) * 2020-07-22 2022-01-27 日本電産サンキョー株式会社 入力装置および入力装置の制御方法
EP3979102A1 (en) * 2020-09-30 2022-04-06 Rubean AG Electronic device for performing an authentication operation
WO2022079657A1 (en) * 2020-10-15 2022-04-21 Vea Technologies Ltd A method and system for authenticating a user
CN112565265B (zh) * 2020-12-04 2022-11-01 国网辽宁省电力有限公司沈阳供电公司 物联网终端设备间的认证方法、认证系统及通讯方法
US12021861B2 (en) * 2021-01-04 2024-06-25 Bank Of America Corporation Identity verification through multisystem cooperation
US11223652B1 (en) * 2021-01-27 2022-01-11 BlackCloak, Inc. Deception system
CN112836627B (zh) * 2021-01-29 2022-07-19 支付宝(杭州)信息技术有限公司 活体检测方法和装置
CN114285558B (zh) * 2021-12-24 2023-09-08 浙江大学 一种基于半可信硬件的多方隐私计算方法及装置
EP4369223A1 (en) * 2022-11-08 2024-05-15 Telefónica Innovación Digital, S.L.U. Multi-factor authentication method and system for virtual reality
FR3143790A1 (fr) * 2022-12-19 2024-06-21 Banks And Acquirers International Holding Procédé et système de saisie sécurisée d’un code secret au moyen d’un clavier

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103098069A (zh) * 2010-09-08 2013-05-08 惠普发展公司,有限责任合伙企业 安全升级供应和方法
US20160085974A1 (en) * 2011-02-11 2016-03-24 Jean-Luc Leleu Secure transaction method from a non-secure terminal
US20160234014A1 (en) * 2012-05-08 2016-08-11 Arm Technologies Israel Ltd. System, device, and method of secure entry and handling of passwords
US9483653B2 (en) * 2014-10-29 2016-11-01 Square, Inc. Secure display element

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006328A (en) * 1995-07-14 1999-12-21 Christopher N. Drake Computer software authentication, protection, and security system
US20020188872A1 (en) * 2001-06-06 2002-12-12 Willeby Tandy G. Secure key entry using a graphical user inerface
WO2004023694A1 (en) * 2002-09-09 2004-03-18 Koninklijke Philips Electronics N.V. Image encryption method and visual decryption device
WO2005009026A1 (en) * 2003-07-21 2005-01-27 Koninklijke Philips Electronics N.V. Image alignment
CA2509706A1 (en) * 2004-06-17 2005-12-17 Ronald Neville Langford Authenticating images identified by a software application
CN100554094C (zh) * 2005-04-29 2009-10-28 奥布里斯特封闭瑞士有限公司 防弊盖
US8448226B2 (en) * 2005-05-13 2013-05-21 Sarangan Narasimhan Coordinate based computer authentication system and methods
GB2426837A (en) * 2005-06-01 2006-12-06 Hewlett Packard Development Co Checking the integrity of a software component
US7484173B2 (en) * 2005-10-18 2009-01-27 International Business Machines Corporation Alternative key pad layout for enhanced security
KR100848642B1 (ko) * 2007-02-22 2008-07-28 고려대학교 산학협력단 영상 프레임을 암호화하는 방법과 복원하는 방법
US20080209227A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation User Authentication Via Biometric Hashing
JP4696099B2 (ja) * 2007-08-07 2011-06-08 日立オムロンターミナルソリューションズ株式会社 表示画像変換装置
CN101897165B (zh) * 2007-10-30 2013-06-12 意大利电信股份公司 数据处理系统中验证用户的方法
US8010782B2 (en) * 2008-01-18 2011-08-30 Sap Ag Method and system for mediated secure computation
US8456478B2 (en) * 2008-10-30 2013-06-04 Microchip Technology Incorporated Microcontroller with integrated graphical processing unit
US8485451B2 (en) * 2009-06-24 2013-07-16 Asia Capital Services Limited Method and system for generating a visual key
JP4950315B2 (ja) * 2010-02-26 2012-06-13 楽天株式会社 データ生成装置、データ生成方法、及びデータ生成プログラム
US8209743B1 (en) * 2010-03-09 2012-06-26 Facebook, Inc. CAPTCHA image scramble
WO2012107879A2 (en) * 2011-02-10 2012-08-16 Site Black Box Ltd. DISTINGUISH VALID USERS FROM BOTS, OCRs AND THIRD PARTY SOLVERS WHEN PRESENTING CAPTCHA
US8682750B2 (en) * 2011-03-11 2014-03-25 Intel Corporation Method and apparatus for enabling purchase of or information requests for objects in digital content
EP2523140B1 (en) * 2011-05-12 2014-09-24 Konvax Corporation Secure user credential control
US9485237B1 (en) * 2011-10-19 2016-11-01 Amazon Technologies, Inc. Confidence-based authentication
CN102340402B (zh) * 2011-10-28 2013-09-18 中国人民解放军国防科学技术大学 基于视觉密码的身份认证方法
US20150067786A1 (en) * 2013-09-04 2015-03-05 Michael Stephen Fiske Visual image authentication and transaction authorization using non-determinism
US10048861B2 (en) * 2012-11-27 2018-08-14 Thomson Licensing Adaptive virtual keyboard
US9741085B2 (en) * 2013-03-14 2017-08-22 Artificial Intelligence Research Group Limited System and method of encoding content and an image
US9003196B2 (en) * 2013-05-13 2015-04-07 Hoyos Labs Corp. System and method for authorizing access to access-controlled environments
JP5801348B2 (ja) * 2013-06-10 2015-10-28 レノボ・シンガポール・プライベート・リミテッド 入力システム、入力方法およびスマートフォン
CN103345602B (zh) 2013-06-14 2015-08-19 腾讯科技(深圳)有限公司 一种客户端代码完整性检测方法、装置和系统
US9582716B2 (en) * 2013-09-09 2017-02-28 Delta ID Inc. Apparatuses and methods for iris based biometric recognition
US9076231B1 (en) 2014-02-18 2015-07-07 Charles Hill Techniques for displaying content on a display to reduce screenshot quality
WO2015196122A1 (en) * 2014-06-19 2015-12-23 Contentguard Holdings, Inc. Rendering content using obscuration techniques
US10846696B2 (en) * 2015-08-24 2020-11-24 Samsung Electronics Co., Ltd. Apparatus and method for trusted execution environment based secure payment transactions
EP3144798B1 (en) * 2015-09-18 2020-12-16 Canon Kabushiki Kaisha Image processing apparatus, method of controlling the same, and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103098069A (zh) * 2010-09-08 2013-05-08 惠普发展公司,有限责任合伙企业 安全升级供应和方法
US20160085974A1 (en) * 2011-02-11 2016-03-24 Jean-Luc Leleu Secure transaction method from a non-secure terminal
US20160234014A1 (en) * 2012-05-08 2016-08-11 Arm Technologies Israel Ltd. System, device, and method of secure entry and handling of passwords
US9483653B2 (en) * 2014-10-29 2016-11-01 Square, Inc. Secure display element

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KIMMO JÄRVINEN 等: ""Garbled Circuits for Leakage-Resilience: Hardware Implementation and Evaluation of One-Time Programs"", 《ACM》 *

Also Published As

Publication number Publication date
US20190260747A1 (en) 2019-08-22
WO2018083089A1 (en) 2018-05-11
CN108021793A (zh) 2018-05-11
CN109891478A (zh) 2019-06-14
KR20180048429A (ko) 2018-05-10
EP3535680A1 (en) 2019-09-11
US20180145827A1 (en) 2018-05-24
US20180165443A1 (en) 2018-06-14
US20190260748A1 (en) 2019-08-22
US20180144112A1 (en) 2018-05-24
US10565357B2 (en) 2020-02-18
US20180198784A1 (en) 2018-07-12
CN109891418A (zh) 2019-06-14
EP3319069B1 (en) 2019-05-01
EP3319070A1 (en) 2018-05-09
KR20180048428A (ko) 2018-05-10
US20180198774A1 (en) 2018-07-12
US20180196952A1 (en) 2018-07-12
EP3319069A1 (en) 2018-05-09
WO2018083088A1 (en) 2018-05-11
EP3535746A1 (en) 2019-09-11
US20180196927A1 (en) 2018-07-12

Similar Documents

Publication Publication Date Title
CN108021800A (zh) 用于通过非安全终端认证用户的方法
CN108141350A (zh) 从非安全终端确保交易的方法
CN108027855A (zh) 多用户强认证令牌
US20190258829A1 (en) Securely performing a sensitive operation using a non-secure terminal
CN108021813A (zh) 用于保护从非安全终端执行的交易的方法
CN108021831A (zh) 用于将机密数据安全地传输给终端的用户的方法
CN108009418A (zh) 用于借助非安全终端认证用户的方法
EP3528161A1 (en) Method for signing a transaction
CN108022095A (zh) 用于将机密数据安全地发送到终端的用户的方法
EP3594838A1 (en) Method for recovering a secret key securely stored in a secure element
EP3319002B1 (en) Method for securely performing a sensitive operation using a non-secure terminal
EP3319269A1 (en) Method for securely performing a sensitive operation using a non-secure terminal

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180511