CN110661623B - 用于使用个人认证设备(pad)认证用户的方法和系统 - Google Patents
用于使用个人认证设备(pad)认证用户的方法和系统 Download PDFInfo
- Publication number
- CN110661623B CN110661623B CN201910585905.2A CN201910585905A CN110661623B CN 110661623 B CN110661623 B CN 110661623B CN 201910585905 A CN201910585905 A CN 201910585905A CN 110661623 B CN110661623 B CN 110661623B
- Authority
- CN
- China
- Prior art keywords
- pad
- user
- session
- packet
- service provider
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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 time stamps, e.g. generation of time stamps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Telephonic Communication Services (AREA)
Abstract
公开的主题涉及用于使用个人认证设备(PAD)认证用户的方法和系统。PAD是用户私有并且配置为仅由该用户使用的设备。该方法包括用于消除将用户的认证凭证暴露给不受用户控制的外部设备、系统或通信网络的认证机制。本公开提供了用于认证用户的多级安全性,其使得认证过程更加健壮、更不易受攻击并且更能抵抗试图获得对认证过程的控制的若干攻击。攻击可以是重放攻击、伪造攻击、中间人攻击、拒绝服务攻击等。多级安全性特征在PAD被盗、创建了PAD的精确克隆、对手获得对所有通信信道的控制、对手修改/改变/窃取所传输的数据等的场景下为用户提供完全保护。
Description
技术领域
本主题总地涉及个人认证设备(PAD),更具体地但非排他地,涉及用于使用PAD认证用户的方法和系统。
背景技术
通常,在访问诸如银行交易、资金转移、社交网站等的安全系统或设施之前,进行用户认证是强制性的惯例。用户认证过程可能要求用户维护密码。通常,密码可以是生物识别密码或非生物识别密码。生物识别密码是唯一地识别用户且无法更改的密码。非生物识别密码可以是用户设置的密码,其可以对用户不是唯一的并且可以在情况需要时改变。如今,由于易于使用并且还由于市场上提供的包括生物识别传感器的设备和设施的增加,用于认证用户的生物识别密码的使用一直在增加。
首先,用户可能必须记住不同的密码以访问不同种类的安全系统或设施,这可能是乏味的。用户可能多次在第三方设备中提供密码,或者可能通过通信网络传输密码,以访问某些安全系统或设施。近来,在第三方设备中使用密码和通过通信网络的传输的增加已经引起了一些隐私和道德问题。一些隐私和道德问题可能包括克隆生物识别数据、中间人攻击、包括黑客攻击的网络犯罪、数据窃取、未经授权的交易等。当受到这样的攻击时,用户可以立即更改非生物识别密码。然而,由于生物识别密码对于每个用户是唯一的并且不能被改变,因此一旦密码被黑客入侵或克隆,用户将面临与使用被克隆或被黑客入侵的密码来提供访问的安全系统或设施有关的严重问题。此外,用户将不能在没有风险可能的情况下,使用相同的生物识别密码。
目前,存在一些用于通过网络授权客户与商品或服务的提供商之间的商业交易的现有技术。商品或服务的提供商要求客户通过激活指纹识别设备来提供认证,客户可以在该指纹识别设备上接收认证码。然而,在这种技术中,客户在商品或服务的提供商的指纹识别设备中提供生物识别细节,从而冒着客户提供的生物识别细节的安全性的风险。
发明内容
通过本公开,可以克服现有技术的一个或多个缺点,并且可以提供另外的优点。通过本公开的技术可以实现另外的特征和优点。本文详细描述了本公开的其它实施例和方面,并且认为其是所要求保护的公开的一部分。
本文公开了一种用于使用个人认证设备(PAD)认证用户的方法。该方法包括由PAD使用与PAD相关联的用户的预先记录的秘密密钥和从与PAD交易的服务接入点(SAP)接收的随机数生成对会话有效的主会话密钥。随机数由SAP响应于从PAD接收的会话相关信息(SRI)而生成。在生成主会话密钥后,PAD通过SAP将包括随机数、时间戳、SRI和随机盐数据(RSD)的会话发起数据包与会话发起数据包的数字签名一起发送给与PAD相关联的服务提供商。此外,PAD从用户接收一次性密码(OTP)。在成功验证会话发起数据包的数字签名后,服务提供商将OTP提供给用户。此外,PAD将包括散列OTP的验证数据包与验证数据包的数字签名一起发送给服务提供商,以在验证数据包和验证数据包的数字签名由服务提供商验证时,生成辅助会话密钥。SAP使用主会话密钥和辅助会话密钥来认证用户,辅助会话密钥作为包括时间戳和RSD的会话认证数据包的一部分、从服务提供商接收。
此外,本公开包括用于认证用户的个人认证设备(PAD)。PAD包括被配置为从用户接收多个认证凭证的组合以激活PAD的一个或多个生物识别传感器。此外,PAD包括被配置为从用户接收多个认证凭证的组合以激活PAD的用户接口。此外,PAD包括处理器和通信地耦接到处理器的存储器。存储器存储处理器可执行指令,处理器可执行指令在被执行时使得处理器基于从用户接收的多个认证凭证的组合来激活PAD。
在激活PAD后,处理器使用与PAD相关联的用户的预先记录的秘密密钥和从与PAD交易的服务接入点(SAP)接收的随机数生成对会话有效的主会话密钥。随机数由SAP响应于从PAD接收的会话相关信息(SRI)而生成。此外,处理器通过SAP将包括随机数、时间戳、SRI和随机盐数据(RSD)的会话发起数据包与会话发起数据包的数字签名一起发送给与PAD相关联的服务提供商。会话发起数据包和会话发起数据包的数字签名由SAP生成。此外,处理器通过用户接口从用户接收一次性密码(OTP)。在成功验证会话发起数据包的数字签名后,服务提供商将OTP提供给用户。
最后,处理器通过SAP将包括散列OTP的验证数据包与验证数据包的数字签名一起发送给服务提供商,以在验证数据包和验证数据包的数字签名由服务提供商验证时,生成辅助会话密钥。在成功验证会话认证数据包的数字签名后,SAP在主会话密钥与辅助会话密钥匹配时认证用户。此外,辅助会话密钥作为由服务提供商生成的会话认证数据包的一部分,与会话认证数据包的数字签名一起从服务提供商被接收。
此外,本公开包括用于认证用户的系统,该系统包括个人认证设备(PAD)、服务接入点(SAP)和服务提供商。PAD包括被配置为从用户接收多个认证凭证的组合以激活PAD的一个或多个生物识别传感器。此外,PAD包括被配置为从用户接收多个认证凭证的组合以激活PAD的用户接口。此外,PAD包括处理器和通信地耦接到处理器的存储器。存储器存储处理器可执行指令,处理器可执行指令在执行时使得处理器基于从用户接收的多个认证凭证的组合来激活PAD。
在激活PAD后,处理器使用与PAD相关联的用户的预先记录的秘密密钥和从与PAD交易的服务接入点(SAP)接收的随机数生成对会话有效的主会话密钥。随机数由SAP响应于从PAD接收的会话相关信息(SRI)而生成。此外,处理器通过SAP将包括随机数、时间戳、SRI和随机盐数据(RSD)的会话发起数据包与会话发起数据包的数字签名一起发送给与PAD相关联的服务提供商。会话发起数据包和会话发起数据包的数字签名由SAP生成。此外,处理器通过用户接口从用户接收一次性密码(OTP)。在成功验证会话发起数据包的数字签名后,服务提供商将OTP提供给用户。
最后,处理器通过SAP将包括散列OTP的验证数据包与验证数据包的数字签名一起发送给服务提供商,以在验证数据包和验证数据包的数字签名由服务提供商验证时,生成辅助会话密钥。在成功验证会话认证数据包的数字签名后,SAP在主会话密钥与辅助会话密钥匹配时认证用户。此外,辅助会话密钥作为由服务提供商生成的会话认证数据包的一部分,与会话认证数据包的数字签名一起从服务提供商被接收。
前述发明内容仅是说明性的,并不旨在以任何方式进行限制。除了以上描述的说明性方面、实施例和特征之外,通过参考附图和以下详细描述,其它方面、实施例和特征将变得显而易见。
附图说明
包含在本公开中并构成本公开的一部分的附图示出了示例性实施例,并且与说明书一起用于解释所公开的原理。在附图中,附图标记的最左边的数字标识首次出现附图标记的图。在整个附图中使用相同的数字来引用相同的特征和组件。现在仅通过示例并参考附图来描述根据本主题的实施例的系统和/或方法的一些实施例,附图中:
图1示出了根据本公开的一些实施例的用于使用个人认证设备(PAD)认证用户的示例性架构;
图2A和图2B示出了根据本公开的一些实施例的用于认证用户的个人认证设备(PAD)的详细框图;
图2C示出了图示根据本公开的一些实施例的用于使用个人认证设备(PAD)认证用户的方法的示例性序列图;
图3示出了图示根据本公开的一些实施例的使用个人认证设备(PAD)认证用户的方法的流程图;和
图4是用于实现与本公开一致的实施例的示例性计算机系统的框图。
本领域技术人员应该理解,本文的任何框图表示体现本主题原理的说明性系统的概念图。类似地,应该理解,任何流程图、作业图、状态转换图、伪代码等表示可以基本上在计算机可读介质中体现并由计算机或处理器执行的各种过程,而不论是否明确地示出了这样的计算机或处理器。
具体实施方式
在本文中,词语“示例性”在此用于表示“用作示例、实例或说明”。本文描述为“示例性”的本主题的任何实施例或实施方式不一定被解释为比其它实施例优选或有利。
虽然本公开易于进行各种修改和可替代的形式,但是其具体实施例已经通过附图中的示例示出并且将在下面详细描述。然而,应该理解的是,并不旨在将本公开限制于所公开的形式,相反,本公开将覆盖落入本公开范围内的所有修改、等同物和替代方案。
术语“包括”或其任何其它变型旨在涵盖非排他性的包括,使得包括组件或步骤列表的设置、设备或方法不仅包括那些组件或步骤,而且可以包括未明确列出的或者这样的设置、设备或方法固有的其它组件或步骤。换句话说,在没有更多约束的情况下,跟随“包括......”的系统或装置中的一个或多个元件不排除系统或方法中存在其它元件或另外元件。
本文公开了一种用于认证用户的方法、个人认证设备(PAD)和系统。PAD是用户私有并且配置为仅由该用户使用的设备。该方法包括用于消除将用户的认证凭证暴露给不受用户控制的外部设备、系统或通信网络的认证机制。本公开提供了用于认证用户的多级安全性,其使得认证过程更加健壮、不那么脆弱并且更能抵抗试图获得对认证过程的控制的若干攻击。作为示例,攻击可以是重放攻击、伪造攻击、中间人攻击、拒绝服务攻击等。多级安全性特征在PAD被盗、创建了PAD的精确克隆、对手获得对所有通信信道的控制、对手修改/改变/窃取所传输的数据等的场景下为用户提供完全保护。
PAD最初可以通过选择多个认证凭证来向服务提供商注册。作为示例,多个认证凭证可以包括但不限于生物识别凭证和非生物识别凭证。此外,用户可以提供多个认证凭证的组合,服务提供商可以基于该组合为用户生成秘密密钥。这样生成的秘密密钥仅与服务提供商和用户一起存储,其在本公开中被称为预先记录的秘密密钥。此外,在发起会话后,用户可以通过提供多个认证凭证的组合来激活PAD。在激活PAD后,PAD可以响应于从PAD接收的会话相关信息(SRI),使用用户的预先记录的秘密密钥和由服务接入点(SAP)生成的随机数来生成对会话有效的主会话密钥。在生成主会话密钥后,PAD通过SAP将包括随机数、时间戳、SRI和随机盐数据(RSD)的会话发起数据包与会话发起数据包的数字签名一起发送给服务提供商。
服务提供商验证会话发起数据包的数字签名。在验证成功后,服务提供商生成一次性密码(OTP)并将OTP发送给用户。此外,用户可以手动地将OTP输入到PAD中,接着PAD生成包括散列OTP的验证数据包并将其与验证数据包的数字签名一起发送给服务提供商。在一些实施例中,PAD通过SAP发送验证数据包和验证数据包的数字签名。此外,服务提供商进行两步验证过程以验证验证数据包和验证数据包的数字签名。在通过两步验证过程成功验证后,服务提供商可以使用作为会话发起数据包的一部分接收的随机数和在PAD的初始注册期间生成的预先记录的秘密密钥,进一步使用一种或多种预定义密钥生成技术来生成辅助会话密钥。此外,服务提供商可以生成会话认证数据包。在一些实施例中,会话认证数据包可以包括但不限于辅助会话密钥、时间戳和RSD。
在生成会话认证数据包后,服务提供商可以使用服务提供商的私钥为会话认证数据包生成数字签名。此外,服务提供商可以将会话认证数据包与会话认证数据包的数字签名一起发送给SAP。此外,SAP可以使用服务提供商的公钥来验证验证数据包的数字签名。SAP可以验证会话认证数据包的数字签名,以确保会话认证数据包是从有效的服务提供商接收的。会话认证数据包的数字签名的验证可以识别并且防止由冒充服务提供商的第三方攻击者提供的数据的使用。在成功验证会话认证数据包的数字签名后,SAP可以将作为会话认证数据包的一部分接收的辅助会话密钥与最初从PAD接收的主会话密钥进行比较。如果主会话密钥和辅助会话密钥匹配,则SAP可以认证用户。
具有彼此通信的若干组件的实施例的描述并不意味着需要所有这些组件。相反,描述了多种可选组件以说明本发明的很多可能的实施例。
在以下对本公开的实施例的详细描述中,参考形成本说明书一部分的附图,并且其中通过图示的方式示出了可以实践本公开的具体实施例。足够详细地描述了这些实施例以使得本领域技术人员能够实践本公开,并且应当理解,可以使用其它实施例,并且可以在不脱离本公开的范围的情况下进行改变。因此,以下描述不应被视为具有限制意义。
图1示出了根据本公开的一些实施例的用于认证用户的示例性架构。
架构100包括用户101、个人认证设备(PAD)103、服务接入点(SAP)105和服务提供商107。在一些实施例中,PAD 103可以属于用户101。用户101可以通过提供多个认证凭证的组合来激活PAD 103。在一些实施例中,多个认证凭证可以包括但不限于生物识别凭证和非生物识别凭证。作为示例,生物识别凭证可以是指纹识别、虹膜识别、语音识别、面部识别等形式。作为示例,非生物识别凭证可以是文本密码、图案、手势等的形式。
PAD 103可以在会话开始后与SAP 105进行交易。作为示例,SAP 105可以是诸如磁读取器、近场通信(NFC)读取器、扫描设备等的销售点(POS)设备、电子亭、网站等。PAD 103可以使用诸如蓝牙、NFC等短距离通信(SDC)中的至少一个,或者通过手动输入与SAP 105交易所需的信息,或者使用诸如快速响应(QR)码扫描仪、条形码扫描仪等的扫描仪,与SAP105建立通信信道以进行会话。作为示例,当用户101在启用NFC的超市中时,属于用户101的PAD 103可以经由NFC类型的SDC建立通信信道,以与SAP 105进行交易。此外,在建立与SAP105的连接后,PAD 103可以将会话相关信息(SRI)发送给SAP 105。作为示例,如果会话与资金转移有关,则SRI可以包括但不限于银行代码或银行标识号、用户101的用户名和用户101的帐号。
此外,基于SRI,SAP 105可以与与PAD 103相关联的服务提供商107进行交互。在一些实施例中,服务提供商可以基于使用PAD 103的应用的类型而变化。作为示例,如果应用与资金转移有关,则服务提供商107可以是银行服务器。作为示例,考虑用户101使用PAD103在机场终端验证其身份的场景,则服务提供商可以是与机场当局相关联的服务器。在一些实施例中,SAP 105可以使用有线通信网络或诸如Wi-Fi、蜂窝网络等的无线通信网络与服务提供商107交互。
此外,服务提供商107可以从SAP 105接收SRI,服务提供商107可以基于该SRI获得用户101的细节。在获得用户101的细节后,服务提供商107可以与用户101交互以认证用户101。
在一些实施例中,PAD 103可以最初向服务提供商107注册。初始注册可以包括由用户101选择多个认证凭证的组合以激活PAD 103。在获得多个认证凭证的组合后,服务提供商107可以使用一种或多种预定义技术来基于多个认证凭证的组合来生成秘密密钥(在本公开中也称为预先记录的秘密密钥)。这样生成的预先记录的秘密密钥可以存储在服务提供商107的数据库中。此外,可以将预先记录的秘密密钥的副本提供给用户101。在该实施方式中,服务提供商107存储基于多个认证凭证的组合生成的预先记录的密钥,但不存储用户101的多个认证凭证,从而保持用户101的多个认证凭证的隐私。
在一些实施方式中,服务提供商107可以是集中式的。作为示例,如果应用与资金转移有关,则服务提供商107可以是银行服务器。考虑用户101可以具有不同银行的银行账户。在这种场景下,本实施方式中的银行服务器可以是与包括用户101的所有银行账户的账号、用户名和其它相关信息的数据库相关联的集中式银行服务器。在一些实施方式中,服务提供商107可以单独地与PAD 103相关联。考虑到与资金转移相关的上述示例,服务提供商107可以是用户101维护银行账户的每个银行的单独的各个银行服务器。
对于上述两种实施方式,单个PAD 103可以用于向多个银行(即多个服务提供商107)注册。
图2A示出了图示根据本公开的一些实施例的个人认证设备(PAD)和用于使用PAD认证用户的方法的详细框图。
在实施方式中,PAD 103可以包括但不限于生物识别传感器2031至生物识别传感器203n(统称为一个或多个生物识别传感器203)、用户接口205、处理器207、存储器209和通信接口211。此外,PAD 103可以可选地包括读卡接口213、诸如条形码扫描仪、快速响应(QR)码扫描仪等的扫描仪215。PAD 103的每个组件可以通信地耦接到处理器207和存储器209。在一些实施例中,如图2A中所示,PAD 103可以将本公开中描述的所有组件容纳为单个实体。可替代地,在一些实施例中,如图2B所示,PAD 103可以容纳一些组件并且可以通过有线或无线连接与其余组件相关联。作为示例,在PAD 103的示例性实施方式中,PAD 103可以是与一个或多个生物识别传感器203相关联的智能电话、平板电脑等。
作为示例,一个或多个生物识别传感器203可以包括但不限于指纹传感器、虹膜传感器、语音识别传感器、面部识别传感器等。在一些实施例中,一个或多个生物识别传感器203可以从用户101接收用户101的认证凭证或多个认证凭证的组合。
在实施方式中,用户接口205可以包括显示屏,例如液晶显示器(LCD)屏幕、发光二极管(LED)屏幕等。在一些实施例中,显示屏可以包括但不限于触摸屏显示器。在一些实施例中,用户接口205可以接收用户101的认证凭证或用户101的多个认证凭证的组合。此外,用户接口205可以接收由用户101提供的一个或多个输入。作为示例,一个或多个输入可以是文本、符号、数字等。
在实施方式中,通信接口211可以包括可以使得PAD 103能够通过蓝牙、近场通信(NFC)等进行通信的短距离通信(SDC)模块。
在实施方式中,读卡接口213可以用于读取用户101在读卡接口213中插入的卡。作为示例,卡可以是智能卡、借记卡、信用卡等。读卡接口213可以是刷卡接口或卡槽接口中的至少一种。
在实施方式中,PAD 103可以包括数据217和模块219。作为示例,如图2A所示,数据217存储在PAD 103中配置的存储器209中。在一个实施例中,数据217可以包括会话相关信息(SRI)221、主会话密钥数据223、验证数据225和其它数据229。在所示的图2A中,本文详细描述了模块219。
在一些实施例中,数据217可以以各种数据结构的形式存储在存储器209中。另外,可以使用诸如关系数据模型或分层数据模型的数据模型来组织数据217。其它数据229可以存储由模块219生成的用于进行PAD 103的各种功能的数据,包括临时数据和临时文件。
在一些实施例中,存储在存储器209中的数据217可以由PAD 103的模块219处理。模块219可以存储在存储器209中。在示例中,如图2A所示,通信地耦接到PAD 103中配置的处理器207的模块219也可以存在于存储器209外部并且被实现为硬件。如本文所使用的,术语模块指的是专用集成电路(ASIC)、电子电路、处理器(共享的处理器、专用的处理器或处理器组)和执行一个或多个软件或固件程序的存储器、组合逻辑电路和/或提供所述功能的其它合适组件。
在一些实施例中,模块219可以包括例如收发器模块231、通信模块233、密钥生成模块235、散列模块237和其它模块240。其它模块240可用于进行PAD 103的许多不同种类的功能。将会理解,这样的上述模块219可以表示为单个模块或不同模块的组合。
在一些实施例中,收发器模块231可以使用一个或多个生物识别传感器203从用户101接收多个认证凭证的组合。作为示例,多个认证凭证可以包括但不限于生物识别凭证和非生物识别凭证。作为示例,生物识别凭证可以是指纹识别、虹膜识别、语音识别、面部识别等形式。作为示例,非生物识别凭证可以是文本密码、图案、手势等的形式。在一些实施例中,用户101可能已经在PAD 103向服务提供商107初始注册期间选择了多个认证凭证的组合。在一些实施例中,服务提供商107可以基于使用PAD 103的应用的类型而变化。作为示例,如果应用与资金转移有关,则服务提供商107可以是银行服务器。在一些实施例中,多个认证凭证的组合可以是生物识别凭证的组合、非生物识别凭证的组合或生物识别凭证和非生物识别凭证的组合。在接收到多个认证凭证的组合后,处理器207可以将多个认证凭证的组合与存储在存储器209中的预定义组合进行比较。如果多个认证凭证的组合与预定义组合匹配,则处理器207可以激活PAD 103。
在一些实施例中,在激活PAD 103后,通信模块233可以使用通信接口211与服务接入点(SAP)105建立通信信道。作为示例,SAP 105可以是诸如磁读取器、近场通信(NFC)读取器、扫描设备等的销售点(POS)设备、电子亭、网站等。在一些实施例中,可以为当前活跃的会话建立通信信道。通信模块233可以通过诸如蓝牙、NFC等短距离通信(SDC)中的至少一个,或者通过手动输入与SAP 105交易所需的信息,或者使用诸如快速响应(QR)代扫描仪、条形码扫描仪等的扫描仪,与SAP 105建立通信信道以进行会话。作为示例,如果用户101想要在线购买进行支付,则可以使用用户接口205将与在线购买相关的订单ID手动输入到PAD103中,以与SAP 105建立通信信道,SAP 105是用户101已经进行在线购买的网站。此外,作为示例,当用户101在启用NFC的超市中时,则通信模块233可以通过NFC类型的SDC建立通信信道以与SAP 105进行交易,SAP 105是用于接收支付的NFC启用设备。
在一些实施例中,在建立通信信道后,收发器模块231可以将SRI 221发送给SAP105。作为示例,当会话与资金转移相关时,SRI 221可以包括但不限于银行代码或银行标识号、用户101的用户名和用户101的帐号。在将SRI 221发送给SAP 105后,SAP 105可以响应于SRI 221而生成随机数并且可以将随机数发送给PAD 103。
在一些实施例中,收发器模块231可以接收由SAP 105生成的随机数。此外,密钥生成模块235可以使用与PAD 103相关联的用户101的随机数和预先记录的秘密密钥来生成对会话有效的主会话密钥。可以将随机数、预先记录的秘密密钥和生成的主会话密钥存储为主会话密钥数据223。在一些实施例中,用户101的预先记录的秘密密钥可以在PAD 103向服务提供商107的初始注册期间由服务提供商107生成。在一些实施例中,如果PAD 103与集中式服务提供商107相关联,则预先记录的秘密密钥对于不同的应用来说可以是相同的或不同的。在一些实施例中,如果PAD 103与多个服务提供商107单独地关联,则预先记录的秘密密钥对于不同的服务提供商107可以是不同的。可以使用一种或多种预定义技术,基于多个认证凭证的组合,在PAD 103的初始注册期间由服务提供商107生成预先记录的秘密密钥。这样生成的预先记录的秘密密钥对于用户101是唯一的。
在生成主会话密钥后,收发器模块231可以将主会话密钥发送给SAP 105。SAP 105可以存储主会话密钥以在稍后阶段进行比较。
在接收到主会话密钥后,SAP 105可以生成会话发起数据包。会话发起数据包可以包括但不限于随机数、时间戳、SRI 221和随机盐数据(RSD)。在一些实施例中,会话发起数据包中存在的随机数、时间戳、SRI 221和RSD以预定义的顺序排列。在初始安装阶段期间,SAP 105和服务提供商107可以共同商定预定义的顺序。在一些实施例中,预定义的顺序可以以规则的时间间隔自动重新排序以避免中间人攻击。此外,SAP 105可以使用SAP 105的私钥生成会话发起数据包的数字签名。此外,SAP 105可以将会话发起数据包与会话发起数据包的数字签名一起发送给服务提供商107。
此外,服务提供商107可以使用SAP 105的公钥来验证会话发起数据包的数字签名。在一些实施例中,服务提供商107可以验证会话发起数据包的数字签名,以确保会话发起数据包是从有效的SAP 105接收的,并且还验证会话发起数据包中的内容的正确性。在SAP 105的验证失败的场景下,服务提供商107可以终止会话。
在成功验证会话发起数据包的数字签名后,服务提供商107可以通过将SRI映射到与服务提供商107相关联的服务器数据库来进一步验证用户101的身份。如果成功映射SRI,则服务提供商107可以生成一次性密码(OTP)并将生成的OTP发送给用户101。在一些实施例中,服务提供商107可以使用存储在服务器数据库中的用户101的联系细节将OTP发送给用户101。作为示例,联系细节可以包括但不限于电话号码、电子邮件ID、住宅地址等。如果未成功映射SRI,则服务提供商107可以声明用户101不是有效用户并且可以终止会话。
当用户101接收到OTP时,用户101可以使用用户接口205将OTP手动输入到PAD 103中。在一些实施例中,在接收到OTP后,散列模块237可以使用预定义的第二散列技术生成散列OTP。在实施例中,预定义的第二散列技术可以在PAD 103的初始注册期间由用户101和服务提供商107共同商定。在一些实施例中,本公开中使用的预定义的第二散列技术可以是本领域中已知的技术。此外,散列模块237可以生成包括散列OTP的验证数据包。在生成验证数据包后,散列模块237可以使用PAD 103的私钥生成验证数据包的数字签名。包括散列OTP和验证数据包的数字签名的验证数据包可以被存储为验证数据225。此外,收发器模块231可以通过SAP将验证数据包与验证数据包的数字签名一起发送给服务提供商107。
此外,服务提供商107可以进行两步验证过程以验证验证数据包和验证数据包的数字签名。作为第一步骤的一部分,服务提供商107可以使用PAD 103的公钥来验证验证数据包的数字签名。服务提供商107可以验证验证数据包的数字签名,以确保验证数据包是从有效的PAD 103接收的。验证的第一步骤可以识别并且防止第三方攻击者使用克隆的PAD来冒充有效的PAD 103。在成功验证验证数据包的数字签名后,作为第二步骤的一部分,服务提供商107可以使用由PAD 103和服务提供商107共同商定的预定义的第二散列技术来散列由服务提供商107生成的OTP。服务提供商107可以将这样生成的验证数据包的散列与从PAD103接收的散列OTP进行比较,以识别匹配。如果识别出匹配,则服务提供商107成功完成验证数据包的验证。在一些实施例中,服务提供商107可以验证验证数据包以确保验证数据包的内容的正确性,即确保在验证数据包的传输期间第三方攻击者没有改变或修改内容。在验证数据包的数字签名的验证和验证数据包的验证中的至少一个失败的场景下,服务提供商107可以终止会话。
在成功验证验证数据包的数字签名和验证数据包后,服务提供商107可以生成会话认证数据包。在一些实施例中,会话认证数据包可以包括但不限于辅助会话密钥、时间戳和RSD。在一些实施例中,服务提供商107可以使用随机数和在PAD 103的初始注册期间由服务提供商107存储的预先记录的秘密密钥来生成辅助会话密钥。在一些实施例中,服务提供商107可以使用一种或多种预定义密钥生成技术来生成辅助会话密钥。在一些实施例中,PAD 103可以使用相同的一种或多种预定义密钥生成技术来生成主会话密钥。在生成会话认证数据包后,服务提供商107可以使用服务提供商107的私钥生成用于会话认证数据包的数字签名。此外,服务提供商107可以将会话认证数据包与会话认证数据包的数字签名一起发送给SAP 105。
此外,SAP 105可以使用服务提供商107的公钥来验证会话认证数据包的数字签名。SAP 105可以验证会话认证数据包的数字签名,以确保会话认证数据包是从有效的服务提供商107接收的。会话认证数据包的数字签名的验证可以识别并且防止由冒充服务提供商107的第三方攻击者提供的数据的使用。在成功验证会话认证数据包的数字签名后,SAP105可以将作为会话认证数据包的一部分接收的辅助会话密钥与最初从PAD 103接收的主会话密钥进行比较。如果主会话密钥和辅助会话密钥匹配,则SAP 105可以认证用户101。在验证用户101后,通过进行与会话相关的一个或多个动作来完成会话。作为示例,如果会话与资金转移有关,则一个或多个动作可以包括由服务提供商107向SAP 105发送所请求的金额。作为示例,如果会话与在机场终端验证用户101有关,则一个或多个动作可以包括向自动门提供诸如“打开”的一个或多个命令,使得用户101可以进入机场。
此后,借助于一个或多个示例解释认证用户101的过程以更好地理解本公开。然而,一个或多个示例不应被视为对本公开的限制。
考虑如图2C中所示的示例性场景,其中会话与资金转移有关。在这种场景下,考虑用户101已经从网站“XYZ”进行了电子商品的在线购买,并且应该向其支付5000卢比。此外,考虑用户101使用与银行“ABC”的储蓄账户相关联的借记卡来进行支付。在这种场景下,网站“XYZ”代表SAP 105,银行“ABC”代表服务提供商107。因此,用户101最初向银行“ABC”注册PAD 103。在初始注册期间,由用户101提供的多个认证凭证的组合是涉及虹膜扫描和指纹扫描的两个生物识别凭证的组合。基于两个生物识别凭证的组合,银行“ABC”生成秘密密钥,其仅存储在银行“ABC”和PAD 103中。在初始注册阶段期间这样存储在银行“ABC”和PAD103中的秘密密钥被称为预先记录的秘密密钥,其对于用户101是唯一的。
当用户101想要对在线购买进行支付时,最初用户101可以通过提供初始向银行“ABC”注册的多个认证凭证的组合来激活PAD 103。如果多个认证凭证的组合是正确的,则PAD 103被激活。此外,用户101与网站“XYZ”提供的支付网关进行交互。用户101可以使用用户接口205通过将与在线购买相关的订单ID的细节手动输入到PAD 103中来建立通信信道以与网站“XYZ”交互。如步骤1处所示,在与网站“XYZ”建立通信信道以进行会话后,PAD 103将特定于会话的SRI 221,即银行代码或银行“ABC”的银行标识号、用户101的用户名和用户101的储蓄账号发送给网站“XYZ”。如在步骤2处所示,在接收到SRI 221后,网站“XYZ”响应于SRI 221而产生随机数,并将随机数发送给PAD 103。此外,如在步骤3处所示,PAD 103可以使用随机数和用户101的预先记录的秘密密钥生成对会话有效的主会话密钥,并且如在步骤_4处所示,可以将主会话密钥发送给网站“XYZ”。在接收到主会话密钥后,网站“XYZ”可以生成包括以由SAP 105和服务提供商107共同商定的预定义顺序排列的随机数、时间戳、SRI 221和随机盐数据(RSD)的会话发起数据包。此外,如在步骤5处所示,网站“XYZ”发送会话发起数据包和会话发起数据包的数字签名。在接收到会话发起数据包后,如果银行“ABC”发现与相互商定的不同的预定义顺序,则银行“ABC”将立即终止该会话。此外,如在步骤6处所示,银行“ABC”将验证会话发起数据包的数字签名。通过验证数字签名,银行“ABC”实际上将验证会话发起数据包是否是从有效的网站“XYZ”接收的,并且还验证会话发起数据包的内容是否正确。如果验证不成功,则银行“ABC”将理解,会话发起数据包是从冒充有效网站“XYZ”的假网站接收的,或者会话发起数据包的内容分别在通过有线或无线通信网络的传输过程中被修改或改变。因此,如果验证没有成功,银行“ABC”立即终止会话。
如果验证成功,则银行“ABC”通过将SRI 221映射到与银行“ABC”相关联的服务器数据库来进一步验证用户101的身份。如在步骤7处所示,如果成功映射SRI 221,则银行“ABC”生成OTP并将生成的OTP发送给用户101。如果未成功映射SRI,则银行“ABC”声明用户101不是有效用户并终止会话。
在接收到OTP后,用户101使用用户接口205手动地将OTP输入到PAD 103中。此外,分别如在步骤8和步骤9处所示,PAD 103生成包括散列OTP的验证数据包,并通过网站“XYZ”将包括散列OTP的验证数据包与验证数据包的数字签名一起发送给银行“ABC”。在接收到OTP后,银行“ABC”进行两步验证过程以验证验证数据包的数字签名和验证数据包。分别如在步骤10a和步骤10b处所示,通过上述验证,银行“ABC”实际上将验证验证数据包是否是从有效的PAD 103接收的和验证数据包的内容是否是正确的。如果验证没有成功,则银行“ABC”将理解,验证数据包是从冒充有效PAD 103的伪造PAD或克隆PAD接收的,或者,分别地,验证数据包的内容在传输期间被修改或改变或者OTP本身就是由于非法用户的干扰而错误地提供的。因此,如果验证没有成功,则银行“ABC”立即终止会话。
如在步骤11处所示,如果验证成功,则银行“ABC”生成包括辅助会话密钥、时间戳和RSD的会话认证数据包。银行“ABC”使用预先记录的秘密密钥和随机数生成辅助会话密钥。如在步骤12处所示,在生成会话认证数据包后,银行“ABC”为会话认证数据包生成数字签名,并将会话认证数据包与会话认证数据包的数字签名一起发送给网站“XYZ”。此外,如在步骤13处所示,网站“XYZ”验证会话认证数据包的数字签名,以确保会话认证数据包是从有效的银行“ABC”接收的。会话认证数据包的数字签名的验证可以识别并防止使用由冒充银行“ABC”的第三方攻击者提供的数据。如在步骤14处所示,在成功验证会话认证数据包的数字签名后,网站“XYZ”比较辅助会话密钥和主会话密钥以识别匹配,如步骤15所示,当发现匹配时,网站“XYZ”认证用户101。如在步骤16处所示,在认证用户101后,网站“XYZ”将指定金额“5000卢布”的交易请求发送给银行“ABC”。如在步骤17处所示,银行“ABC”立即将所请求的金额“5000卢布”转移到网站“XYZ”所持有的银行账户。如果验证会话认证数据包的数字签名失败,或者如果未发现匹配,则网站“XYZ”立即终止会话。
类似地,如果会话与在机场终端认证用户101有关,则机场终端处的POS设备代表SAP 105而机场服务器代表服务提供商107。在这种场景下,上述方法也将适用。
在一些实施例中,本公开在会话期间提供多级安全性。每一级都增强了前一级的安全强度,使认证过程更加健壮、不那么脆弱并且更能抵抗试图获得对认证过程的控制的一些攻击。
在一些实施例中,第一级安全性可以包括提供上述认证过程的基本目的,即第一级避免将多个认证凭证暴露给不拥有和控制用户101的任何设备或系统。第一级还确保用户101的多个认证凭证不通过通信信道传输。因此,第一级提供防止重放攻击、伪造攻击和拒绝服务攻击的保护作为第一级安全性。
在一些实施例中,第二级安全性可以包括使用多个因素的优点,这些因素使得认证过程对于中间人攻击、盗窃和欺骗攻击的某些组合是安全的。第二级安全性具体包括生成OTP并将OTP发送给用户设备。假设对手没有破坏服务提供商和用户101的用户设备之间的通信接口,在认证过程中引入OTP可以帮助消除与欺骗和盗窃攻击相结合的中间人攻击的发生。
在一些实施例中,第三级安全性可以包括在SAP 105和服务提供商107的通信之间引入数字签名。假设对手没有拥有原始PAD 103,或者对手没有产生原始PAD 103的精确克隆,即使服务提供商107和用户设备之间的通信接口受到损害,SAP 105和服务提供商107之间的通信也可以被数字签名,这可以防止对手获得认证。此外,数据的散列可以在第三级中添加有助于在由于中间人攻击而改变或修改了数据时,检测数据中的差异的另外的安全性。
在一些实施例中,除了在第三级中采取的措施之外,第四级安全性可以包括引入用于PAD 103和SAP 105之间的通信的数字签名技术。当对手已经获得对所有通信信道的控制并且对手还拥有PAD 103或PAD 103的精确克隆时,第四级安全性有助于避免任何类型的攻击。在对手具有完全控制的这种场景下,对手可能不具有用于激活PAD 103的认证凭证的确切组合,从而提供第四级安全性。因此,第四级安全性确保认证过程免受尝试获取虚假认证的恶意用户的损害。
图3示出了图示根据本公开的一些实施例的使用个人认证设备(PAD)认证用户的方法的流程图。
如图3中所示,方法300包括示出使用PAD 103认证用户的方法的一个或多个块。可以在计算机可执行指令的一般情况下描述方法300。通常,计算机可执行指令可以包括进行功能或实现抽象数据类型的例程、程序、对象、组件、数据结构、过程、模块和函数。
描述方法300的顺序并不旨在被解释为限制,并且可以以任何顺序组合任何数量的所描述的方法块以实现方法300。另外,可以在不脱离本文描述的主题的精神和范围的情况下,从方法中删除各个块。此外,方法300可以以任何合适的硬件、软件、固件或其组合来实现。
在块301处,方法300可以包括由PAD 103的处理器207使用与PAD 103相关联的用户101的预先记录的秘密密钥和从与PAD 103交易的服务接入点(SAP)105接收的随机数来生成对会话有效的主会话密钥。在一些实施例中,响应于从PAD 103接收的会话相关信息(SRI)221,由SAP 105生成随机数。在一些实施例中,SRI 221可以取决于本公开的应用。
在块303处,方法300可以包括通过SAP 105将包括但不限于随机数、时间戳、SRI221和随机盐数据(RSD)的会话发起数据包发送给与PAD 103关联的服务提供商107。此外,处理器207可以通过SAP 105将会话发起数据包与会话发起数据包的数字签名一起发送给服务提供商107。在一些实施例中,会话发起数据包可以由SAP105生成。
在块305处,方法300可以包括由处理器207从用户101接收一次性密码(OTP)。在一些实施例中,服务提供商107可以在成功验证会话发起数据包和会话发起数据包的数字签名后,生成OTP并将OTP发送给用户101。
在块307处,方法300可以包括通过SAP 105将包括OTP的验证数据包和验证数据包的数字签名一起发送给服务提供商107。在一些实施例中,PAD 103可以通过散列OTP来生成验证数据包。此外,服务提供商107可以验证验证数据包和验证数据包的数字签名。在成功验证后,服务提供商107可以生成会话认证数据包。在一些实施例中,会话认证数据包可以包括但不限于辅助会话密钥、时间戳和RSD。在一些实施例中,服务提供商107可以使用随机数以及在PAD 103的初始注册期间由服务提供商107存储的预先记录的秘密密钥来生成辅助会话密钥。在一些实施例中,服务提供商107可以使用一种或多种预定义密钥生成技术来生成辅助会话密钥。在生成会话认证数据包后,服务提供商107可以使用服务提供商107的私钥生成会话认证数据包的数字签名。此外,服务提供器107可以将会话认证数据包与会话认证数据包的数字签名一起发送给SAP 105。此外,SAP 105可以使用服务提供商107的公钥来验证验证数据包的数字签名。在成功验证会话认证数据包的数字签名后,SAP 105可以将作为会话认证数据包的一部分接收的辅助会话密钥与最初从PAD 103接收的主会话密钥进行比较。如果主会话密钥和辅助会话密钥匹配,则SAP 105可以认证用户101。
图4是用于实现与本公开一致的实施例的示例性计算机系统的框图。
在一些实施例中,图4示出了用于实现与本发明一致的实施例的示例性计算机系统400的框图。在一些实施例中,计算机系统400可以是用于认证用户101的个人认证设备(PAD)103。计算机系统400可以包括中央处理单元(“CPU”或“处理器”)402。处理器402可以包括用于执行程序组件的至少一个数据处理器,程序组件用于执行用户或系统生成的业务过程。用户可以包括人、使用诸如那些本发明中包括的设备的人或这样的设备本身。处理器402可以包括专用处理单元,例如集成系统(总线)控制器、存储器管理控制单元、浮点单元、图形处理单元、数字信号处理单元等。
处理器402可以被设置为经由I/O接口401与输入设备411和输出设备412通信。I/O接口401可以采用通信协议/方法,例如但不限于音频、模拟、数字、立体声、IEEE-1394、串行总线、通用串行总线(USB)、红外、PS/2、BNC、同轴、组件、复合、数字视频接口(DVI)、高清多媒体接口(HDMI)、射频(RF)天线、S-Video、视频图形阵列(VGA)、IEEE 802.n/b/g/n/x、蓝牙、蜂窝(例如、码分多址(CDMA)、高速分组接入(HSPA+)、全球移动通信系统(GSM)、长期演进(LTE)、WiMax等)等。
使用I/O接口401,计算机系统400可以与输入设备411和输出设备412通信。
在一些实施例中,处理器402可以被设置为经由网络接口403与通信网络409通信。网络接口403可以采用连接协议,包括但不限于直接连接、以太网(例如、双绞线10/100/1000 Base T)、传输控制协议/互联网协议(TCP/IP)、令牌环、IEEE 802.11a/b/g/n/x等。使用网络接口403和通信网络409,计算机系统400可以与服务接入点(SAP)410和服务提供商413通信。通信网络409可以被实现为不同类型的网络中的一个,例如组织内的内联网或局域网(LAN)等等。通信网络409可以是专用网络或共享网络,其表示使用诸如超文本传输协议(HTTP)、传输控制协议/互联网协议(TCP/IP)、无线应用协议(WAP)等的各种协议以彼此通信的不同类型的网络的关联。此外,通信网络409可以包括各种网络设备,包括路由器、网桥、服务器、计算设备、存储设备等。作为示例,SAP 410可以是诸如磁读取器、近场通信(NFC)读取器、扫描设备等的销售点(POS)设备、电子亭、网站等。服务提供商413可以基于使用PAD 103的应用的类型而变化。作为示例,如果应用与资金转移有关,则服务提供商413可以是银行服务器。在一些实施例中,处理器402可以被设置为经由存储接口404与存储器405(例如,图4中未示出的RAM、ROM等)通信。存储接口404可以连接到存储器405,存储器405包括但不限于存储器驱动器、可移动盘驱动器等,采用诸如串行高级技术附件(SATA)、集成驱动电子设备(IDE)、IEEE-1394、通用串行总线(USB)、光纤通道、小型计算机系统接口(SCSI)等的连接协议。存储器驱动器可以进一步包括鼓、磁盘驱动器、磁光驱动器、光盘驱动器、独立盘冗余阵列(RAID)、固态存储器设备、固态驱动器等。
存储器405可以存储程序或数据库组件的集合,包括但不限于用户接口406、操作系统407、网络浏览器408等。在一些实施例中,计算机系统400可以存储用户/应用数据,例如本发明中描述的数据、变量、记录等。这样的数据库可以被实现为容错、关系、可扩展、安全的数据库,例如Oracle或Sybase。
操作系统407可以促进计算机系统400的资源管理和操作。操作系统的示例包括但不限于苹果Macintosh OS X、UNIX、类Unix系统发行版(例如,伯克利软件分销(BSD)、FreeBSD、NetBSD,OpenBSD等)、Linux发行版(例如Red Hat、Ubuntu、Kubuntu等)、国际商业机器(IBM)OS/2、微软Windows(XP、Vista/7/8等)、苹果iOS、谷歌Android、黑莓操作系统(OS)等。用户接口406可以通过文本或图形设施促进程序组件的显示、执行、交互、操纵或操作。例如,用户接口可以在可操作地连接到计算机系统400的显示系统上提供计算机交互界面元件,例如光标、图标、复选框、菜单、滚动条、窗口、小部件等。可以采用图形用户界面(GUI),包括但不限于苹果Macintosh操作系统的Aqua、IBM OS/2、微软Windows(例如,Aero、Metro等)、Unix X-Windows、Web接口库(例如,ActiveX、Java、Javascript、AJAX、HTML、Adobe Flash等)等。
在一些实施例中,计算机系统400可以实现网络浏览器408存储的程序组件。网络浏览器408可以是超文本查看应用,例如微软Internet Explorer、谷歌Chrome、MozillaFirefox、苹果Safari等。可以使用安全超文本传输协议(HTTPS)安全套接字层(SSL)、传输层安全性(TLS)等来提供安全的网络浏览。网络浏览器可以使用诸如AJAX、DHTML、AdobeFlash、JavaScript、Java、应用编程接口(API)等的工具。在一些实施例中,计算机系统400可以实现邮件服务器存储的程序组件。邮件服务器可以是诸如Microsoft Exchange等的互联网邮件服务器。邮件服务器可以利用诸如Active Server Pages(ASP)、ActiveX、美国国家标准协会(ANSI)C++/C#、微软.NET、CGI脚本、Java、JavaScript、PERL、PHP、Python、WebObjects等的工具。邮件服务器可以利用诸如互联网消息访问协议(IMAP)、消息应用编程接口(MAPI)、微软Exchange、邮局协议(POP)、简单邮件传输协议(SMTP)等的通信协议。在一些实施例中,计算机系统400可以实现邮件客户端存储的程序组件。邮件客户端可以是邮件查看应用,例如苹果Mail、微软Entourage、微软Outlook、Mozilla Thunderbird等。
此外,一个或多个计算机可读存储介质可用于实现与本发明一致的实施例。计算机可读存储介质指的是可以存储处理器可读的信息或数据的任何类型的物理存储器。因此,计算机可读存储介质可以存储用于由一个或多个处理器执行的指令,包括用于使处理器进行与本文描述的实施例一致的步骤或阶段的指令。术语“计算机可读介质”应该被理解为包括有形物品并且排除载波和瞬态信号,即非暂时性的。示例包括随机存取存储器(RAM)、只读存储器(ROM)、易失性存储器、非易失性存储器、硬盘驱动器、光盘(CD)ROM、数字视频光盘(DVD)、闪存驱动器、磁盘和任何其它已知的物理存储介质。
这里示出了本公开的实施例的优点。
在一些实施例中,本公开提供了一种使用个人认证设备(PAD)认证用户的方法和系统。PAD可以包括接收用户输入、生成数字签名、散列数据以及通过通信信道发送数据的特征。
本公开提供了一种特征,其中用户的多个认证凭证不存储在用户不拥有和不在用户的控制下的任何设备或系统中。因此,本公开允许在不通过通信网络发送认证凭证的情况下认证电子交易,而无需在第三方设备中刷信用卡/借记卡/智能卡或任何其它秘密信息。
本公开提供了一种特征,其中服务提供商执行两步验证过程以验证数据的来源和数据的正确性。
本公开提供了一种特征,其中服务提供商生成并向用户发送一次性密码(OTP),以确保会话是由有效的用户发起的。
本公开在会话期间提供用于认证用户的多级安全性,其使得认证过程更加健壮、不那么脆弱并且更能抵抗试图获得对认证过程的控制的若干攻击。攻击可以是重放攻击、伪造攻击、中间人攻击、拒绝服务攻击等。多级安全性特征在PAD被盗、创建了PAD的精确克隆、对手获得对所有通信信道的控制、对手修改/改变/窃取所传输的数据等的场景下为用户提供完全保护。
本公开提供了一种特征,其中由PAD生成的主会话密钥具有随机性并且对于每个会话来说是不同的,从而消除了重放攻击和伪造攻击的机会。
本公开提供了一种特征,其中PAD和服务提供商使用相同的一种或多种预定义密钥生成技术来分别生成主会话密钥和辅助会话密钥,这对于任何第三方或对手是未知的。
本公开提供了一种特征,其中数据包内的数据以预定义顺序排列,该预定义顺序在认证过程中各方之间相互商定并且该顺序保持定期更改,这对于任何第三方或对手是未知的。因此,如果由于在数据传输期间由对手引入的修改而顺序与预定义顺序不匹配,则本公开立即终止会话。
本公开提供了一种特征,其中在PAD的初始注册时由服务提供商生成的秘密密钥将仅与服务提供商和PAD一起存储,从而消除了对手试图生成假会话密钥的可能性。
本公开提供了一种特征,其中PAD为每个会话生成唯一的主会话密钥,从而消除了用户记住多个密码、个人识别号码等的需要。因此,记住多个认证凭证的单个组合以激活PAD就足够。
描述了具有彼此通信的若干组件的实施例并不意味着需要所有这些组件。相反,描述了多种可选组件以说明本发明的很多可能的实施例。
当本文描述单个设备或物品时,显而易见的是,可以使用不止一个设备/物品(无论它们是否合作)来代替单个设备/物品。类似地,在本文描述不止一个设备或物品(无论它们是否合作)的情况下,显而易见的是,可以使用单个设备/物品代替不止一个设备或物品,或者可以使用不同数量的设备/物品来代替所示数量的设备或程序。设备的功能和/或特征可以可替代地由未被明确地描述为具有这样的功能/特征的一个或多个其它设备实现。因此,本发明的其它实施例不需要包括该设备本身。
本说明书描述了用于使用PAD认证用户的方法和系统。所阐述的步骤被阐述以解释所示的示例性实施例,并且应该预期正在进行的技术开发将改变进行特定功能的方式。本文出于说明而非限制的目的,提供了这些示例。此外,为了便于描述,本文任意地定义了功能构建块的边界。可以定义可替代的边界,只要适当地进行指定的功能及其关系即可。基于本文包含的教导,相关领域的技术人员将清楚可替代的方案(包括本文描述的那些方案的等同物、扩展、变化、差异等)。这些替代方案落入所公开实施例的范围和精神内。此外,词语“包括”、“具有”和“包含”以及其它类似形式意图在意义上是等同的并且是开放式的,这些词语中的任何一个之后的一个或多个项目并不意味着是这些项目的详尽清单或意味着仅限于列出的项目。还必须注意,除非上下文另有明确说明,如本文和所附权利要求中所使用的,单数形式“一”和“该”包括复数指代。
最后,说明书中使用的语言主要是出于可读性和指导目的而选择的,并且可以未选择它来描绘或限制本发明的主题。因此,本发明的范围旨在不受该详细描述的限制,而是受基于此的申请的任何权利要求的限制。因此,本发明的实施例旨在说明而非限制本发明的范围,本发明的范围在所附权利要求中阐述。
附图标记
Claims (19)
1.一种用于使用个人认证设备(PAD)(103)认证用户(101)的方法,所述方法包括:
由所述PAD(103)使用与所述PAD(103)相关联的所述用户(101)的预先记录的秘密密钥和从与所述PAD(103)进行交易的服务接入点(SAP)(105)接收的随机数生成对会话有效的主会话密钥,其中所述随机数由所述SAP(105)响应于从所述PAD(103)接收的会话相关信息(SRI)(221)而生成;
由所述PAD(103)通过所述SAP(105)将包括所述随机数、时间戳、所述SRI(221)和随机盐数据(RSD)的会话发起数据包与所述会话发起数据包的数字签名一起发送给与所述PAD(103)相关联的服务提供商(107);
由所述PAD(103)从所述用户(101)接收一次性密码(OTP),其中所述OTP在成功验证所述会话发起数据包的所述数字签名后,由所述服务提供商(107)提供给所述用户(101);和
由所述PAD(103)通过所述SAP(105)将包括散列OTP的验证数据包与所述验证数据包的数字签名一起发送给所述服务提供商(107),以在所述验证数据包和所述验证数据包的所述数字签名由所述服务提供商(107)验证时,生成辅助会话密钥,
其中在成功验证会话认证数据包的所述数字签名后,所述SAP(105)在所述主会话密钥与所述辅助会话密钥匹配时认证所述用户(101),所述辅助会话密钥作为包括时间戳和所述RSD的会话认证数据包的一部分, 从所述服务提供商(107)接收。
2.根据权利要求1所述的方法,进一步包括:由所述PAD(103)从所述用户(101)接收多个认证凭证的组合以激活所述PAD(103),其中所述多个认证凭证的所述组合由所述用户(101)在所述PAD(103)向所述服务提供商(107)的初始注册期间选择。
3.根据权利要求2所述的方法,其中所述多个认证凭证是生物识别凭证和非生物识别凭证中的至少一个。
4.根据权利要求2所述的方法,其中使用一种或多种预定义技术,基于所述多个认证凭证的所述组合生成所述用户(101)的所述预先记录的秘密密钥。
5.根据权利要求1所述的方法,进一步包括:由所述PAD(103)使用短距离通信(SDC)中的至少一种或通过手动输入与所述SAP(105)交易所需的信息,与所述SAP(105)建立通信信道以进行所述会话。
6.根据权利要求1所述的方法,其中所述SAP(105)生成所述会话发起数据包和所述会话发起数据包的所述数字签名。
7.根据权利要求1所述的方法,其中在所述会话发起数据包中存在的所述随机数、所述时间戳、所述SRI(221)和所述RSD以预定义顺序排列。
8.根据权利要求7所述的方法,其中所述预定义顺序以固定的时间间隔自动地重新排序。
9.根据权利要求1所述的方法,其中在从所述用户(101)接收到所述OTP后,由所述PAD(103)生成所述验证数据包和所述验证数据包的所述数字签名。
10.根据权利要求1所述的方法,其中在成功验证所述验证数据包的所述数字签名和所述验证数据包后,由所述服务提供商(107)生成所述会话认证数据包和所述会话认证数据包的数字签名。
11.根据权利要求1所述的方法,其中基于一种或多种预定义密钥生成技术,使用所述用户(101)的所述预先记录的秘密密钥和从所述SAP(105)接收到的所述随机数生成所述辅助会话密钥。
12.一种用于认证用户(101)的个人认证设备(PAD)(103),所述PAD(103)包括:
一个或多个生物识别传感器(203),被配置为从所述用户(101)接收多个认证凭证的组合以激活所述PAD(103);
用户(101)接口(205),被配置为从所述用户(101)接收所述多个认证凭证的所述组合以激活所述PAD(103);
处理器(207);和
存储器(209),通信地耦接到所述处理器(207),其中所述存储器(209)存储处理器可执行指令,所述处理器可执行指令在执行时使得所述处理器(207):
基于从所述用户(101)接收到的所述多个认证凭证的所述组合来激活所述PAD(103);
使用与所述PAD(103)相关联的所述用户(101)的预先记录的秘密密钥和从与所述PAD(103)交易的服务接入点(SAP)(105)接收到的随机数生成对会话有效的主会话密钥,其中所述随机数由所述SAP(105)响应于从所述PAD(103)接收到的会话相关信息(SRI)(221)而生成;
通过所述SAP(105)将包括所述随机数、时间戳、所述SRI(221)和随机盐数据(RSD)的会话发起数据包与所述会话发起数据包的数字签名一起发送给与所述PAD(103)相关联的服务提供商(107),其中所述SAP(105)生成所述会话发起数据包和所述会话发起数据包的所述数字签名;
通过所述用户(101)接口(205)从所述用户(101)接收一次性密码(OTP),其中在成功验证所述会话发起数据包的所述数字签名后,所述服务提供商(107)将所述OTP提供给所述用户(101);并且
通过所述SAP(105)将包括散列OTP的验证数据包与所述验证数据包的数字签名一起发送给所述服务提供商(107),以在所述服务提供商(107)验证所述验证数据包和所述验证数据包的所述数字签名时,生成辅助会话密钥,
其中,在成功验证会话认证数据包的数字签名后,所述SAP(105)在所述主会话密钥与所述辅助会话密钥匹配时,认证所述用户(101),
其中所述辅助会话密钥作为由所述服务提供商(107)生成的所述会话认证数据包的一部分,与所述会话认证数据包的所述数字签名一起,从所述服务提供商(107)被接收。
13.根据权利要求12所述的PAD(103),其中所述多个认证凭证是生物识别凭证和非生物识别凭证中的至少一个。
14.根据权利要求12所述的PAD(103),其中所述处理器(207)使用一种或多种预定义技术,基于所述多个认证凭证的所述组合生成所述用户(101)的所述预先记录的秘密密钥,其中所述多个认证凭证的所述组合由所述用户(101)在所述PAD(103)向所述服务提供商(107)的初始注册期间选择。
15.根据权利要求12所述的PAD(103),其中所述处理器(207)进一步被配置为使用短距离通信(SDC)模块中的至少一个或使用所述用户(101)接口(205)来与所述SAP(105)建立通信信道以进行所述会话,其中所述用户(101)手动输入与所述SAP(105)交易所需的信息。
16.根据权利要求12所述的PAD(103),其中所述处理器(207)在从所述用户(101)接收到所述OTP后,生成所述验证数据包和所述验证数据包的所述数字签名。
17.根据权利要求12所述的PAD(103),其中所述辅助会话密钥是基于一种或多种预定义密钥生成技术,使用所述用户(101)的所述预先记录的秘密密钥和从所述SAP(105)接收到的所述随机数生成的。
18.根据权利要求12所述的PAD(103),其中所述会话认证数据包包括所述辅助会话密钥、时间戳和所述RSD。
19.一种用于认证用户(101)的系统,所述系统包括:
个人认证设备(PAD)(103);
服务接入点(SAP)(105);和
服务提供商(107);
所述PAD(103)包括:
一个或多个生物识别传感器(203),被配置为从所述用户(101)接收多个认证凭证的组合以激活所述PAD(103);
用户(101)接口(205),被配置为从所述用户(101)接收所述多个认证凭证的所述组合以激活所述PAD(103);
处理器(207);和
存储器(209),通信地耦接到所述处理器(207),其中所述存储器(209)存储处理器可执行指令,所述处理器可执行指令在执行时使得所述处理器(207):
基于从所述用户(101)接收到的所述多个认证凭证的所述组合来激活所述PAD(103);
使用与所述PAD(103)相关联的所述用户(101)的预先记录的秘密密钥和从与所述PAD(103)交易的所述SAP(105)接收到的随机数生成对会话有效的主会话密钥,其中所述随机数由所述SAP(105)响应于从所述PAD(103)接收到的会话相关信息(SRI)(221)而生成;
通过所述SAP(105)将包括所述随机数、时间戳、所述SRI(221)和随机盐数据(RSD)的会话发起数据包与所述会话发起数据包的数字签名一起发送给与所述PAD(103)相关联的所述服务提供商(107),其中所述SAP(105)生成所述会话发起数据包和所述会话发起数据包的所述数字签名;
通过所述用户(101)接口(205)从所述用户(101)接收一次性密码(OTP),其中在成功验证所述会话发起数据包的所述数字签名后,所述服务提供商(107)将所述OTP提供给所述用户(101);并且
通过所述SAP(105)将包括散列OTP的验证数据包与所述验证数据包的数字签名一起发送给所述服务提供商(107),以在所述服务提供商(107)验证所述验证数据包和所述验证数据包的所述数字签名时,生成辅助会话密钥,
其中,当成功验证会话认证数据包的数字签名后,所述SAP(105)在所述主会话密钥与所述辅助会话密钥匹配时,认证所述用户(101),
其中所述辅助会话密钥作为由所述服务提供商(107)生成的所述会话认证数据包的一部分,与所述会话认证数据包的所述数字签名一起,从所述服务提供商(107)接收。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201841024339 | 2018-06-29 | ||
IN201841024339 | 2018-06-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110661623A CN110661623A (zh) | 2020-01-07 |
CN110661623B true CN110661623B (zh) | 2022-10-11 |
Family
ID=69029766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910585905.2A Active CN110661623B (zh) | 2018-06-29 | 2019-07-01 | 用于使用个人认证设备(pad)认证用户的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110661623B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112636910B (zh) * | 2020-12-29 | 2021-08-24 | 北京深思数盾科技股份有限公司 | 临时密码的生成与验证方法、设备及系统 |
CN115271719A (zh) * | 2021-12-08 | 2022-11-01 | 黄义宝 | 一种基于大数据的攻击防护方法及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7748031B2 (en) * | 2005-07-08 | 2010-06-29 | Sandisk Corporation | Mass storage device with automated credentials loading |
US8352738B2 (en) * | 2006-12-01 | 2013-01-08 | Carnegie Mellon University | Method and apparatus for secure online transactions |
GB0901589D0 (en) * | 2009-01-30 | 2009-03-11 | Omar Ralph M | Improvements relating to multifunction authentication systems |
ES2816324T3 (es) * | 2012-12-21 | 2021-04-05 | Nagravision Sa | Método que usa un único dispositivo de autenticación para autenticar a un usuario a un proveedor de servicios entre una pluralidad de proveedores de servicios y dispositivo para realizar dicho método |
CN103428001B (zh) * | 2013-09-05 | 2016-08-17 | 中国科学院信息工程研究所 | 一种隐式增强便捷web身份认证方法 |
CN103929306B (zh) * | 2014-04-02 | 2016-04-06 | 天地融科技股份有限公司 | 智能密钥设备和智能密钥设备的信息管理方法 |
US20150310427A1 (en) * | 2014-04-24 | 2015-10-29 | Xilix Llc | Method, apparatus, and system for generating transaction-signing one-time password |
CN105939197B (zh) * | 2016-03-17 | 2019-02-12 | 天地融科技股份有限公司 | 一种身份认证方法和系统 |
-
2019
- 2019-07-01 CN CN201910585905.2A patent/CN110661623B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110661623A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11405380B2 (en) | Systems and methods for using imaging to authenticate online users | |
US20230410085A1 (en) | Login using qr code | |
US10523708B1 (en) | System and method for second factor authentication of customer support calls | |
KR102358546B1 (ko) | 장치에 대해 클라이언트를 인증하기 위한 시스템 및 방법 | |
EP3138265B1 (en) | Enhanced security for registration of authentication devices | |
KR102382474B1 (ko) | 보안 전송 프로토콜을 사용하여 신뢰를 설정하기 위한 시스템 및 방법 | |
US9665868B2 (en) | One-time use password systems and methods | |
US20150261948A1 (en) | Two-factor authentication methods and systems | |
US8429730B2 (en) | Authenticating users and on-line sites | |
CN111819555A (zh) | 利用在线认证的安全远程令牌发布 | |
EP3662430B1 (en) | System and method for authenticating a transaction | |
US20170331821A1 (en) | Secure gateway system and method | |
US20170011393A1 (en) | Personal identification and anti-theft system and method using disposable random key | |
KR20210142180A (ko) | 효율적인 챌린지-응답 인증을 위한 시스템 및 방법 | |
US20230281594A1 (en) | Authentication for third party digital wallet provisioning | |
CN110661623B (zh) | 用于使用个人认证设备(pad)认证用户的方法和系统 | |
US11178139B1 (en) | Secure computer-implemented authentication | |
CN114631109A (zh) | 用于交叉耦合风险分析和一次性口令的系统及方法 | |
US11605083B1 (en) | Multifactor authentication systems and methods | |
TWI778319B (zh) | 跨平台授權存取資源方法及授權存取系統 | |
US20230316270A1 (en) | Apparatus, system and method for on-device mutlifactor authentication security | |
CN117857071A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |