CN104769602B - 用于验证访问请求的方法和系统 - Google Patents
用于验证访问请求的方法和系统 Download PDFInfo
- Publication number
- CN104769602B CN104769602B CN201380057898.XA CN201380057898A CN104769602B CN 104769602 B CN104769602 B CN 104769602B CN 201380057898 A CN201380057898 A CN 201380057898A CN 104769602 B CN104769602 B CN 104769602B
- Authority
- CN
- China
- Prior art keywords
- module
- password
- data
- received
- access
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
- G06F21/725—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
-
- 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/0846—Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2151—Time stamp
Abstract
提供了一种用于验证对数据的访问的请求的系统,所述系统包括第一模块(20)和第二模块(30)。所述第一模块(20)被设置为生成密码,并且所述第二模块(30)被设置为接收与数据请求相关联的密码,验证所接收的密码,并且允许访问所请求的数据。所述系统促使所述第一模块和所述第二模块(20、30)共享唯一分配给其的密钥,所共享的的密钥用于在所述密码的生成和验证中使用。而且,所述第一模块(20)与所述第二模块(30)通信地断开。
Description
技术领域
本发明涉及用于验证访问请求的方法和系统,并且尤其地,但不完全地适合于验证用于访问数据或服务或资产的请求。
背景技术
访问机密或用户专用数据(或资产或服务)的需求越来越大。例如,提供对银行账户的访问并且允许从该账户中转账,应限于授权用户,例如,账户持有人。通常,在通过识别请求访问数据的人的凭证请求访问数据时,认证用户。数据的远程访问提出了特定的问题,这是因为请求数据、资产或服务的个人通常位于与对该请求做出响应的一方的位置不同的物理位置中。结果,为请求提供服务的一方非常难以知道做出请求的实体是否是a)其自称的一方,b)是否有权使用该请求所起源的装置,并且c)是否占有该请求所起源的装置。
通常,在个人与一方(例如,数据提供商)之间建立账户时,个人建立上述凭证,以由数据提供商用于识别和认证个人,以供将来的请求。这种凭证可以包括唯一识别个人(例如,个人可识别信息(PII))和密钥(例如,密码)的信息,用于验证个人的身份。现在,也常见的做法是数据提供商要求个人登记自己,作为用于访问数据的装置的拥有人。在装置与装置拥有人之间登记的关联可以由数据提供商用作额外的验证因子。例如,在数据提供商代表特定的个人从特定的装置(该装置并非为个人登记的装置)中接收用于访问账户的请求的情况下,数据提供商可以确定相信为该账户登记的个人做出请求。
希望代表与该数据提供商具有账户的另一个人访问数据提供商的数据的个人可以比较容易地通过从刑事影子网上市场购买凭证来获得其用户凭证(即,PII、用户ID和密码),然后,欺骗性地访问其他人的数据。此外,能够远程地访问和控制装置,从而代表那些装置的登记拥有人请求数据。通常,不能确定在物理上占有该装置的用户是否做出了请求或者使用另一个装置来远程控制做出了请求的装置的用户是否远程做出了请求。
一次性密码(OTP)通常用于减少这些问题:认证服务器唯一将OTP生成密钥分配给装置的登记拥有人,OTP生成密钥用于生成和验证OTP。认证服务器通常持有几百或几千OTP生成密钥,每个密钥唯一分配给一个不同的人或者为一个不同的人登记。在由登记拥有人通过其分配的OTP生成密钥占有时,认证服务器配置OTP令牌。例如,每当登记用户请求一个新密码时,这些OTP令牌可以使用OTP生成密钥来生成一个不同的密码,或者再如,可以使用OTP生成密钥来通过固定的时间间隔生成新密码。
为了通过装置访问用户限制的数据,用户将由OTP令牌生成的OTP以及唯一识别装置的拥有人的凭证提供给数据提供商。通常,然后,数据提供商识别装置的拥有人并且将所接收的OTP传递给认证服务器。认证服务器查看与所识别的个人相关联的OTP生成密钥,并且使用该密钥来确定所接收的OTP是否与本应由/由OTP令牌生成的OTP对应,该装置的拥有人保持该OTP令牌。然后,认证服务器向数据提供商指示所接收的OTP是否有效。如果将正确的OTP发送给数据提供商,那么可以确定该装置的用户占有OTP令牌。然而,认证服务器容易妥协,从而促进到其他实体的未授权分布,并且允许(非法)访问分布的OTP生成密钥的任何人代表与该密钥相关联的个人访问数据。
US 7,721,107公开了一种验证装置的用户是否是个人的特定方法。在所描述的方法中,通过装置的用户接口的第一区域,使用“交互指令”呈现请求访问OTP的装置的用户。在一个实例中,指导用户将一系列数字输入用户接口的第二区域内;在另一个实例中,指导用户执行物理行为,例如,跟踪在用户接口的第二区域内的曲线(例如,触摸屏)。然后,该装置确定用户是否输入正确的数字/跟踪正确的曲线等,并且如果是这样的话,那么该装置为用户提供所请求的OTP。然而,由于呈现交互指令的模块和处理用户对交互指令的响应的模块通信地连接,所以用户可能能够与装置进行连接,从而通过访问交互指令并且适当地对这些指令响应,能够欺骗性地向装置认证自己。
发明内容
根据本发明的第一方面,提供了一种用于验证访问数据的请求的系统,所述系统包括:第一模块,被设置为生成密码并且通过所述第一模块的接口输出所生成的密码;以及第二模块,被设置为接收与数据请求相关联的密码,验证所接收的密码,并且允许访问所请求的数据,其中,所接收的密码通过第二模块的接口接收并且与由第一模块生成的密码对应,其中,所述第一模块和所述第二模块共享唯一分配给第一模块和第二模块的密钥,用于在所述密码的生成和验证中使用,并且其中,所述第一模块与所述第二模块通信地断开。
这个共享的密钥能够允许第二模块确定从第二模块的用户中接收的密码是否与由第一模块生成的密码匹配,从而能够允许第二模块验证所接收的密码。由于这个密钥唯一分配给第一模块和第二模块(即,在密钥与用于生成密码的模块之间具有一对一映射,并且在密钥与用于验证密码的模块之间也具有一对一映射),所以然后,如果密钥被盗用,那么这两个模块仅仅需要重新配置有新密钥。这与在背景部分中描述的已知OTP系统形配对比,其中,规定的OTP密钥唯一与个人(而非一对模块)相关联并且保持在OTP验证服务器处,该服务器为多个不同的人保持多个不同的OTP密钥。这在OTP验证服务器与使用OTP密钥生成密码的装置之间产生了一对多的关系。在这种情况下,如果OTP验证服务器被盗用,那么可以通过使用这个人的OTP密钥控制访问数据、资产或服务的任何装置,代表其密钥由验证服务器保持的个人访问数据。由于OTP密钥通常储存在多个OTP令牌上并且还储存在认证服务器上,所以建立新的OTP密钥可以对认证服务器造成相当沉重的负担,这是因为认证服务需要将新的OTP生成密钥重新分配给这个人并且使一组新的OTP令牌配置有新的OTP生成密钥。
有利地,所述第二模块被设置为验证与另一模块相关联的密码,在将密钥分配给第二模块和另一模块的配置过程期间,所述第二模块与所述另一模块配对。所述另一模块可以是第三方的模块,并且在这种情况下,密钥可以与第三方认识的特定用户相关联。因此,第二模块能够使用密钥验证第二模块的用户是否是第三方认识的用户。
在一个设置中,所述第一模块和所述第二模块是装置的集成部件。在这种情况下,如果第二模块的用户能够从第一模块中检索密码,并且将该密码输入第二模块内,那么第二模块的用户非常可能占有第一模块,因此,还占有第二模块。因此,如果第二模块验证从第二模块的用户中接收的密码,那么用户非常可能占有第二模块。换言之,装置的用户不远程控制装置。
在一个实施方式中,所述第一模块和所述第二模块整合在所述装置内。例如,这些模块共享电池。
在一个设置中,所述装置具有唯一装置标识符,并且根据所述唯一装置标识符,生成和验证所生成和接收的密码。这提供了第二模块的用户占有装置的额外保证。
有利地,所共享的密钥储存在第二模块的安全部件内。这防止了第二模块的用户访问用于验证所接收的密码的密钥,以便确定由第一模块生成的密码。
在一个实施方式中,所共享的密钥储存在第一模块的安全部件内。这防止了第二模块的用户访问用于生成密码的密钥。
在一个设置中,所述第二模块被设置为发送数据,用于允许访问所请求的数据,据此,允许访问所请求的数据。在所请求的数据由第三方在外部保持的情况下,或者在根据时间生成和验证密码,但是第二模块没有与第一模块的时钟同步的时钟的特定情况下,这尤其有利。
在一个实施方式中,所述第一模块被设置为响应于与访问数据的所述请求相关的输入,生成所述生成的密码。
有利地,所述第一模块被设置为响应于与访问数据的请求相关的后续输入,生成后续密码,所后续生成的密码与先前生成的密码不同。因此,如果远程用户观察(例如,通过第二用户的接口)到由占有第一模块和第二模块的用户输入的密码,那么远程用户不能重新使用所观察的密码,以便访问进一步数据,这是因为密码的有效性会过期。
或者,所述第一模块被设置为通过固定的时间间隔生成多个密码,每个依次生成的密码与先前生存的密码不同。在这种情况下,特定的生成的密码仅仅对于预定的时间段有效,因此,观察到由占有第一模块和第二模块的用户输入的密码的远程用户不能重新使用在预定的时间段之外的密码。
在一个设置中,至少根据所共享的密钥和当前时间,生成和验证所述密码。
在一个特定的设置中,所述第一模块包括用于生成密码的第一时钟,并且所述第二模块包括用于验证所接收的密码的第二时钟,所述第一时钟和所述第二时钟同步。
在一个不同的设置中,所述第一模块包括用于生成密码的时钟,并且所述第二模块被设置为接收用于验证所接收的密码的时间戳,从具有与第一模块的时钟同步的时钟的第三方中接收所述时间戳。这具有第二模块不需要具有与第一时钟同步的时钟的优点。
在进一步替换的设置中,所述第一模块包括用于生成密码的时钟,并且所述第二模块被设置为接收用于验证所接收的密码的时间戳,并且将由用于允许访问数据的第二模块发送的所述数据发送给具有与第一模块的时钟同步的时钟的第三方并且包括用于验证所接收的密码的时间戳的指示。这具有第二模块不需要具有与第一时钟同步的时钟的优点。
在一个实施方式中,由用于允许访问数据的第二模块发送的所述数据包括确定所接收的密码有效的指示。所述第二模块可以包括用户接口并且被设置为通过这个用户接口从第二模块的用户中接收访问数据的请求。
在一个设置中,第二模块进一步被设置为通过第二模块的用户接口接收唯一识别个人的信息,并且由用于允许访问数据的第二模块发送的所述数据包括唯一识别所述个人的数据。
根据本发明的第二方面,提供了一种用于验证访问数据的请求的方法,所述方法包括:在第一模块处生成密码并且通过所述第一模块的接口输出所生成的密码;在第二模块处通过第二模块的接口接收与数据请求相关联的密码,所接收的密钥与由第一模块生成的密码对应;在第二模块处验证所接收的密码;并且在第二模块处允许访问所请求的数据,其中,所述第一模块和所述第二模块共享唯一分配给第一模块和第二模块的密钥,用于在所述密码的生成和验证中使用,并且其中,所述第一模块与所述第二模块通信地断开。
根据本发明的第三方面,提供了一种用于验证在装置处接收的数据的请求作为源自占有所述装置的个人的请求的系统,所述系统包括:第一模块,被设置为生成密码并且通过所述第一模块的接口输出所生成的密码;以及第二模块,被设置为接收与数据请求相关联的密码,验证所接收的密码,并且允许访问所请求的数据,其中,所接收的密码通过第二模块的接口接收并且与由第一模块生成的密码对应,其中,所述第一模块和所述第二模块是装置的集成部件,并且其中,所述第一模块与所述第二模块通信地断开。
要理解的是,由于第一模块和第二模块彼此通信地断开,所以如果第二模块的用户能够检索由第一模块生成的密码,那么第二模块的用户可能占有第一模块。而且,如果第一模块和第二模块是单个装置的集成部件,那么如果第二模块的用户占有第一模块,那么该用户必须还占有第二模块。在通过第一模块的用户接口显示并且通过第二模块的用户接口接收由第一模块生成的密码时,第二模块能够适当自信地确定访问数据的请求源自占有该装置的人。这是因为在第一模块与第二模块通信地断开时,没有将由第一模块生成的密码自动传输给第二模块的方式,从而密码必须从第一模块的用户接口中读取并且通过第二模块的用户接口手动输入。
方便地,所述第一模块和所述第二模块整合在所述装置内。
在一个设置中,所述第一模块和所述第二模块共享密钥,用于在所述密码的生成和验证中使用。在这种情况下,第二模块能够确定从第二模块的用户中接收的密码是否与由/本应由第一模块生成(无需使用第三方)的密码匹配。
在一个替换的设置中,所述第二模块被设置为将所接收的密码发送给第三方,并且从第三方中接收所接收的密码有效的指示,据此,验证所接收的密码。在这种情况下,第二模块不需要配置有密钥。
在进一步替换的设置中,所述第二模块被设置为通过比较所接收的密码和由第三模块生成的密码,验证所接收的密码。
在一个实施方式中,所述第一模块被设置为响应于与访问数据的所述请求相关的输入,生成所述密码。
有利地,所述第一模块被设置为响应于与访问数据的请求相关的后续输入,生成后续密码,所后续生成的密码与先前生成的密码不同。
在一个替换的设置中,所述第一模块被设置为通过固定的时间间隔生成多个密码,每个依次生成的密码与先前生成的密码不同。
根据本发明的第四方面,提供了一种用于验证在装置处接收的数据的请求作为源自占有所述装置的个人的请求的方法,所述方法包括:在第一模块处生成密码并且通过所述第一模块的接口输出所生成的密码;在第二模块处通过第二模块的接口接收与数据请求相关联的密码,所接收的密钥与由第一模块生成的密码对应;在第二模块处验证所接收的密码;并且在第二模块处允许访问数据,其中,所述第一模块和第二模块是装置的集成部件,并且其中,所述第一模块与所述第二模块通信地断开。
通过参照附图进行的仅仅通过实例提供的本发明的优选实施方式的以下描述,本发明的进一步特征和优点显而易见。
附图说明
图1示出了根据本发明的一个实施方式的系统的方框图;
图2示意性示出了根据本发明的一个实施方式的方法;
图3示出了根据本发明的一个实施方式的系统的方框图;
图4示意性示出了根据本发明的一个实施方式的方法;
图5示意性示出了根据本发明的一个实施方式的方法;
图6示意性示出了根据本发明的一个实施方式的方法;以及
图7示意性示出了根据本发明的一个实施方式的方法。
具体实施方式
本发明的实施方式涉及确定是否允许访问所请求的数据、资产或服务。图1示出了根据本发明的一个实施方式的系统10的方框图。系统10包括第一模块20和第二模块30。第一模块20被设置为生成密码,并且第二模块30被设置为从系统10的用户中接收密码并且验证所接收的密码。虽然并非必要,但是在一个实施方式中,第一模块和第二模块20、30均包括各自的用户接口21、31。用户接口21、31通常包括至少一个输入或输出。例如,装置的用户接口的输入可以是键盘、鼠标、触摸屏、麦克风或允许用户为装置提供输入的任何其他元件。例如,装置的用户接口的输出可以是屏幕、扬声器、或者能够将信息从装置中输出给用户接口的用户的任何其他元件。第一模块20的用户接口21被配置为给第一模块20的用户提供所生成的密码,并且第二模块30的用户接口31被配置为从第二模块30的用户中接收密码。在本实施方式中,第一模块20和第二模块30是单独装置,这些装置可以共同被配置为确定访问数据的请求是否可能源自占有第二模块30的用户。作为一个实例,可以共同制造和销售这两个模块20、30,并且这两个模块由特定的用户占有。在一个实例中,第二模块30可以是无线装置(例如,无线装置的元件)。在一个设置中,第一模块和第二模块20、30可以是单个无线装置的元件。
第二模块30可以通过第二模块30的用户接口31在占有第二模块30的用户的控制下进行操作,或者可以在具有与第二模块30的通信链路的远程实体的控制下进行操作。第一模块20可以通过第一模块20的用户接口21控制,并且与第二模块30通信地断开,如下面更详细地所述,因此,不能通过第二模块30的用户接口31控制。
第二模块30可以是仅仅储存与特定的人相关联的机密数据的装置的集成部件。作为一个特定的实例,第二模块30可以储存用户限制的密码键,用于将数据解密。此外/或者,第二模块30可以提供或促进对第三方在外部储存的机密数据的访问。在后一种情况下,如果确定将数据提供给一个特定的人(换言之,该数据可以是用户限制的数据),那么第三方可以仅仅允许访问数据。如上所述,在第三方同意通过特定的装置访问用户限制的数据之前,第三方可以要求装置的拥有人登记在装置与拥有人之间的关联。在这种情况下,然后,第三方可以仅仅将旨在由特定的人接收的数据发送给与这个人相关联的装置。在本实例中,第二模块30可以与特定的人具有登记的关联性,因此,可以仅仅通过第二模块30访问旨在用于第二模块30的拥有人的数据访问。
在第二模块30包括通信模块时,要理解的是,未授权的个人可以与第二模块30进行连接并且远程控制第二模块30,以将请求发送给持有机密数据的第三方。如果第二模块30可以确定占有第二模块30的用户或者远离第二模块30的用户做出访问数据的请求,那么可以采取合适的反应行动,例如,在确定远程用户做出请求时,禁止进一步使用第二模块30。
现在,要解释的是,实施方式提供了执行这种确定的方式。第一模块和第二模块20、30配置有用于生成密码和验证密码的共享密码。尤其地,第一模块20包括电路和/或软件,其被构造和配置为基于密钥生成密码,并且第二模块30包括电路和/或软件,其被构造和配置为基于密钥确定从第二模块30的用户中接收的密码是否与由第一模块20生成的密码匹配。在图1中所示的特定实施方式中,这个密钥唯一分配给第一模块和第二模块20、30。换言之,该密钥仅仅与第一模块和第二模块20、30相关联。在一个设置中,第一模块和第二模块20、30防损,即,储存在第一模块和第二模块20、30内的密钥以及用于生成密码的算法不能改变。
在本实施方式中,系统10被配置为使第一模块20与第二模块30通信地断开。换言之,系统10被构造和配置为在这两个模块20、30之间没有任何通信方式(直接地或间接地)。在一个特定的实施方式中,彼此在物理上断开的模块20、30防止在这两个模块20、30之间进行通信。然而,要理解的是,这两个模块20、30可以在物理上连接(即,整合),同时通信地断开,即,不共享任何共同的电路或系统接口或者包括彼此交换信息的任何其他方式。
图2示意性示出了根据本发明的一个实施方式的一个示例性方法。在这种方法中,第二模块30的用户35做出访问数据的请求(步骤40)。在步骤40中访问数据的请求可以是(例如)访问用户限制的网页的请求、访问机密信息的请求或者访问数据的请求,用于允许访问服务。要理解的是,通常,第二模块30的用户35希望访问的数据可以是储存在系统10的元件上或者由该元件生成的数据,或者可以是储存在位于系统10的外面的实体(例如,外部数据库或服务器)处或者由该实体生成的数据。第二模块30的用户35希望访问的数据可以是(例如)在位于系统10的外面的服务器上托管的限制的网页,并且在这种情况下,将数据发送给第二模块30的服务器可以允许访问网页。下面更详细地解释包含在由第二模块30发送的数据内的信息。
响应于在步骤40中访问数据的请求,第二模块30提示用户输入由第一模块20生成的密码。在该实例中,第二模块30的用户35还是第一模块20的用户25(如在图2中的虚线示意性所示),因此,然后,例如,通过按压第一模块的用户接口21的按钮,或者另外向第一模块20指示需要密码,用户可以促使(步骤50)第一模块20生成密码。
作为响应,第一模块20使用唯一分配给第一模块和第二模块20、30的密钥,来生成然后(步骤60)提供给第一模块20的用户25的密码。例如,所生成的密码可以是一系列数字、一系列字母、字母组合以及字符或图像,并且可以(例如)在用户接口21的屏幕上呈现给第一模块20的用户25。
或者,第一模块20可以通过固定的时间间隔生成密码(根据共享的密钥),并且可以在第一模块20的用户接口21上自动呈现最近生成的密码。
在任一种情况下,由于第二模块30的用户35是第一模块20的用户25,所以然后,用户可以(步骤70)将由第一模块20生成的密码输入第二模块30的用户接口31内。然后,第二模块30使用唯一分配给第一模块和第二模块20、30的密钥,来验证从第二模块30的用户35中接收的密码是否与由第一模块20生成的密码相同。在验证所接收的密码时,然后,第二模块30允许访问所请求的数据(步骤80)。
要理解的是,在由第一模块20生成的密码输入第二模块30内时,必须预先从第一模块20中检索密码。在第一模块20从第二模块30中通信地断开时,用户35非常可能是占有第一模块20以及第二模块30的人,因此,能够从第一模块20中检索密码,并且将该密码手动输入第二模块30。
有利地,第一模块20和第二模块30均可以包括各个安全部件22、32,例如,安全SIM卡或安全存储卡,并且唯一分配给第一模块和第二模块20、30的密钥储存在第一模块和第二模块20、30的安全部件22、32内。换言之,唯一分配给第一模块和第二模块20、30的密钥储存在那些模块20、30的用户25、35不能访问的部分第一模块和第二模块20、30内。在这种情况下,在制造时,可以将密钥提供给第一模块和第二模块20、30的安全部件22、32,并且在一个优选的实施方式中,安全部件22、32单独地制造到模块20、30的其他元件中,因此,位于系统10外面的任何实体不能知道在模块20、30之间的关联以及储存在安全部件22、32上的密钥。在安全部件22、32内储存密钥,防止在任一个模块20和30上的用户25、35找出密钥,从而能够解决需要输入第二模块30内的密码,以便访问所请求的数据,并且还防止用户25、35修改生成密码的算法,因此,这可以促使第一模块20生成虚假反应。
本发明的一个特定优点由用于生成和验证密码的密钥唯一分配给第一模块和第二模块20、30这一事实引起。更具体而言,由于在密钥与使用密钥验证密码的模块30之间具有一对一映射,并且在密钥与使用密钥生成密码的模块20之间也具有一对一映射,然后,如果密钥被盗用,那么模块20、30仅仅需要重新配置有新密钥(再次唯一分配给模块20、30)。例如,这可以通过使用在其上储存了新密钥的新安全部件代替模块20、30的安全部件22、32来实现。这与在背景部分中描述的已知OTP系统形配对比,其中,规定的OTP密钥唯一与特定的用户(而非一对模块20、30)相关联。在这个已知的系统中,在OTP密钥与使用OTP密钥生成密码的装置之间可以具一对多关系。在这种情况下,如果OTP密钥被盗用,那么可以通过使用OTP密钥的任何装置,代表该用户访问数据。由于OTP密钥通常储存在多个OTP令牌上并且还尺寸在认证服务器上,所以建立新的OTP密钥可以对认证服务器造成相当沉重的负担,这是因为认证服务需要将新的OTP生成密钥重新分配给这个用户并且使一组新的OTP令牌配置有新的OTP生成密钥。
在一个设置中,第二模块30还与另一模块(例如,第三方的模块)配对,并且被设置为验证与这个另一模块相关联的密码。在这种情况下,在将密钥分配给第二模块30和另一模块的配置过程期间,第二模块30可以与另一模块配对。要理解的是,通常,第二模块30可以与任何数量的另一模块配对。
如上所述,在图1中所示的实施方式中,这两个模块20、30是单独装置,第二模块30的远程用户占有第一模块20,该远程用户并非第二模块30的登记拥有人,但是与第二模块30建立了通信链路,从而远程控制第二模块30。例如,远程用户可以偷窃第一模块20。远程用户可以通过通信链路请求访问数据,然后,检索由第一模块20生成的密码,并且通过通信链路将该密码输入第二模块30内。在这种情况下,第二模块30会验证访问数据的请求,并且能够允许远程用户访问数据。换言之,占有第一模块20的远程用户与占有第一模块和第二模块20、30的第二模块30的登记用户不可区分,这是因为远程用户能够从第一模块20中检索密码,并且将该密码输入第二模块30内。
图3示出了解决这个场景的一个特定实施方式的方框图。在这个设置中,第一模块和第二模块20、30是单个装置90的集成部件。模块20、30可以在装置90内物理分离,或者模块20、30可以在装置90内物理连接(即,整合)。有利地,这两个模块可以在装置90内共享一些元件,例如,电源(未显示)。在任何情况下,第一模块和第二模块20、30在装置90内彼此通信地断开。要理解的是,在第一模块和第二模块20、30是单个装置90的集成部件时,如果第二模块30的用户35占有第一模块20(因此,可以检索60由第一模块20生成的密码),那么这个用户必须也占有第二模块30。在由第一模块20生成的密码通过用户接口21显示时,那么在第一模块和第二模块20、30是单个装置的集成部件时,第二模块30可以更确信地确定访问数据40的请求是否源自占有装置90的用户。这是因为在第一模块和第二模块20、30之间没有通信方式(直接地或间接地)时,没有将由第一模块20生成的密码自动或远程传输给第二模块30的方式,因此,密码必须在物理上从用户接口21中检索并且通过第二模块30的用户接口31手动输入。
在一个设置中,唯一分配给第一模块和第二模块20、30的密钥是OTP生成密钥,因此,由第一模块20生成的密钥是一次性密码(OTP)。在这个实施方式中,由第一模块20生成的后续密码与先前生成的密码不同,并且每个生成的密钥仅仅对于一个认证企图有效。
在一个特定的设置中,所生成的OTP与时间相关,并且对于预定的时间段有效。在一个替换的设置中,第一模块20可以根据预先生成的密码和OTP生成密钥生成密码。
在本发明的一个特定的实施方式中,第一模块20包括时钟,并且根据当前时间(即,如第一模块的时钟所测量的,生成OTP的时间)和OTP生成密钥,生成OTP。OTP可以是OTP生成密钥和当前时间的密码函数。在第一模块20和第二模块30是单个装置90的集成部件的情况下,另外,可以根据与该装置90唯一相关联的装置ID,生成OTP。这种装置ID可以(例如)是装置90的CPU ID的哈希函数、装置90的GPU ID的哈希函数或其组合。在这种情况下,OTP可以是OTP生成密钥、装置ID以及当前时间的密码函数。当前时间在本文中称为“生成时间”TG,并且要理解的是,相对于第一模块20的时钟进行测量。在这种情况下,如果用于在生成时间TG之后的预定时间段内,那么特定的生成的OTP可以仅仅用于验证访问数据的请求。
在一个设置中,第二模块30可以包括与第一模块20的时钟(即,第一时钟)同步的第二时钟。由于第二模块30防干扰,所以第二时钟不能改变,因此,第二模块30可以相信第二时钟与第一时钟同步。
在从第二模块30的用户35中接收密码时,在从由第二模块30接收70密码的时间开始的预定时间内的时间,第二模块30使用第二时钟和OTP生成密钥来确定从第二模块30的用户35中接收70的密码是否与由/本应由第一模块20生成的密码相同。第二模块30接收70密码的时间在本文中称为“接收时间”TR。
第二模块30用于验证所接收的密码的方法取决于第一模块20用于生成密码的方法。已经了解很多这种方法,并且具体方法被视为在本发明的范围之外。
如果在接收时间TR的预定周期内的时间TG,第二模块30确定所接收的密码与由/本应由第二模块30生成的OTP匹配,那么第二模块30验证所接收的密码,因此,可以确定访问数据的请求可能源自占有第一模块20的用户(因此,不可能在第二模块30的远程控制之下)。在所请求的数据储存在第二模块30(或其第二模块是元件的装置)上的情况下,然后,第二模块30能够访问(步骤80)所请求的数据。或者,第二模块30可以被配置为仅仅允许特定的人(或多个特定的人)访问数据,并且在这种情况下,在同意访问所请求的数据之前,第二模块30可以要求第二模块30的用户35将与这个特定的人相关联的凭证(例如,用户名和密码或PIN)输入第二模块30内。作为一个特定的实例,第二模块30的用户35可以请求访问在第二模块30的安全部件32内保持的限制文件。在这种情况下,如果第二模块30验证在步骤70中从第二模块30的用户35中接收的密码,并且用户35提供与允许访问该文件的个人相关联的正确的PIN,那么第二模块30能够访问(步骤80)该文件。
在一个设置中,第二模块可以储存预先接收的密码,并且在从第二模块30的用户35中接收特定的密码时,如果预先接收这个密码,那么第二模块30可以拒绝访问与这个特定的密码一起请求的数据。因此,如果用户35试图复制预先验证的OTP(其在某个时间TG由第一模块20生成),那么即使确定在预定的时间TG内接收复制的OTP(即,如果在第二模块30接收原始OTP之后不久,用户35复制验证的OTP),第二模块30也拒绝该OTP,作为预先接收的OTP的副本。
如上所述,在第一模块和第二模块20、30是装置90的合成部件时,第一模块20可以根据装置90的装置ID生成密码。在这种情况下,可以要求第二模块30的用户35将装置ID以及该密码输入第二模块30内。然后,第二模块30可以使用由用户35提供的装置ID以及接收时间TR,来确定从用户35中接收的密码是否有效。第二模块30还可以单独地检查由第二模块30的用户35输入的装置ID是否与装置90的装置ID匹配。在这种情况下,如果从用户35中接收的装置ID不正确,那么第二模块可以拒绝访问所请求的数据,与所接收的密码是否有效无关。要求用户35提供装置90的唯一装置ID,增大了第二模块30的用户35占有装置90的信心。装置90的应用程序编程接口可以将装置ID交替地提供给第二模块30。这提供了没有盗取并且在一个不同的装置内更换第二模块30的某种额外保证。
在另一个设置中,第二模块30并未配置有与第一模块20的时钟同步的时钟,而是可以访问位于第二模块30外面的替换的时间源。作为第一模块和第二模块20、30是装置90的合成部件的一个特定的实例,第二模块30可以访问装置90的时钟,并且装置90的时钟可以用作时间源。在这种情况下,在从第二模块的用户35中接收密码时,第二模块30可以从时间源中获得不受信任的时间戳(表示接收密码的时间TR),并且可以使用这个不受信任的时间戳(以及共享密钥,并且可选地还使用从第二模块30的用户35中接收的装置ID),以验证所接收的密码,如上所述。
通过阐明的方式,例如,不受信任的时间源可以是可以通过第二模块的知识篡改的或者无需该知识改变的时间源或者是提供可以容易地复制的未经证实的时间戳的时间源。在以上特定的实例中,装置90的时钟可以由远程用户改变,因此不受第二模块30的信任。
在这个特定的设置中,一旦第二模块30验证了所接收的密码,第二模块30就将包含用于验证所接收的密码的时间戳(即,不受信任的时间戳TR)的消息发送给受信任的第三方,该第三方具有与第一模块20的时钟同步的时钟。通过共享用于签署并且从而认证在其间发送的消息的密码键,可以在第三方与第二模块30之间建立信任,下面更详细地进行讨论。
在接收包含不受信任的时间戳的消息时,第三方确定由时间戳表示的时间TR是否在由第三方的时钟测量的当前时间的预定范围内。如果确定时间TR在第当前时间的预定范围内,并且消息表示由第二模块30接收的密码有效,那么第三方确定信任第二模块30的用户35占有第一模块和第二模块20、30。这是因为如果第二模块30使用时间戳TR积极地验证所接收的密码,那么第二模块30的用户35必须在接近TR的时间TG提供由第一模块20生成的密码。然后,由此断定,如果TR接近当前时间,那么TG必须也接近当前时间,因此,可以确定在接近当前时间的某个时间TG,第二模块30的用户35必须提供由/本应由第一模块20生成的密码,因此,第二模块30的用户35可能目前占有第一模块20。由于没有将由第一模块20生成的密码自动传输给第二模块30的方式,所以占有第二模块30的个人也非常可能占有第一模块20,从而可以将由第一模块20生成的密码手动传输给第二模块30。
有利地,如果第三方确定时间戳TR不在当前时间的预定范围内,并且因此从与第一模块20的时钟不同步的时间源中获得,那么第三方可以调用使时间源重新同步的重新同步程序。
在本设置中,然后,受信任的第三方将消息发送给表示时间TR是否在预定的时间范围内的第二模块30。如果时间TR在预定的时间范围内,那么第二模块30能够允许访问所请求的数据。或者,如果时间TR在预定的时间范围之外,那么第二模块可以拒绝访问所请求的数据。
第二模块30的用户35可以请求访问由受信任的第三方在外面保持的数据。在这种情况下,第三方可以访问与第一模块20的时钟同步的时钟,例如,根据世界时间运行的时钟。在第二模块30验证从第二模块30的用户35中接收的密码(使用由位于第二模块30的外面的不受信任的时间源提供的时间戳,如上所述)的情况下,第二模块30被配置为将访问数据的请求发送给第三方。该请求包含验证了由第二模块30接收的密码以及访问数据的请求的指示,并且还包含表示用于验证密码的时间TR(从不受信任的时间源中获得的)的时间戳。在从第二模块30中接收请求时,如上所述,第三方确定时间TR是否在当前时间的预定范围内,并且响应地,将所请求的数据发送给第二模块30或者拒绝访问。
在以上实例中,第二模块30可以储存预先接收的OTP并且可以使预先接收的任何OTP无效。对于第二模块30同时由远程用户35以及占有第一模块和第二模块20、30的用户35(即,本地用户35)访问。假设远程用户35试图通过复制本地用户35预先输入第二模块30内的OTP来访问数据,第二模块30拒绝复制OTP,作为复制品。在一个设置中,第二模块30可以储存有限数量的预先接收的OTP,并且如果复制第二模块30预先接收的但是第二模块30不再储存的特定OTP,那么第三方100可能拒绝这个OTP,这是因为这与在当前时间的预定范围之外的时间戳相关联。
如上所述,包含由第二模块30用于验证所接收的密码的时间戳的消息可以由第二模块30签署(例如,使用与第二模块30和第三方相关联的密码键),从而允许第三方验证消息的来源。这表示如果远程用户35试图改变由包含不受信任的时间戳的第二模块30发送的消息,那么第三方认识到改变了消息,这是因为该消息不包含第二模块的正确的签署,并且拒绝访问相关联的请求的数据。由除了原始发送人以外的某个人改变的消息通常称为“欺骗信息”。
而且,如果受信任的第三方被配置为将消息发送给第二模块30,表示所接收的时间戳是否有效,那么也可以签署该消息。这允许第二模块30识别由除了受信任的第三方以外的一方发送给第二模块30的消息,这些消息可能不受信任。
在另一个设置中,第二模块30并未从不受信任的时间源中获得用于验证所接收的密码的时间戳,而是可以从具有与第一模块20的时钟同步的时钟的受信任的第三方中获得时间戳。与在以上实例中一样,第三方和第二模块30可以使用(例如)密码键签署并且从而认证在其间发送的消息,因此,由第三方签署的时间戳可以受到第二模块30的信任。在一个特定的设置中,在步骤40中从用户35中接收访问数据的请求时,第二模块30可以将消息发送给请求时间戳的第三方,并且通过发送表示接收时间戳的请求(由第三方的时钟测量的)的时间的包含时间戳的消息,第三方可以做出响应。
如果第二模块30随后从第二模块30的用户35中接收密码,那么第二模块30使用假设表示接近TG的时间的所接收的时间戳以及OTP生成密钥并且可选地从第二模块30的用户35中接收的装置ID,来在所接收的时间戳内指示的时间的预定时间范围内的时间,确定所接收的密码是否与由/本应由第一模块20生成的密码对应。
在一个设置中,如果在所接收的时间戳内指示的预定时间范围内的时间,第二模块30确定所接收的密码与由/本应由第一模块20生成的密码对应那么第二模块30将消息发送给第三方,确认用于验证密码的时间戳,并且根据(a)时间戳是否在当前时间的预定范围内,以及(b)时间戳是否与由第三方发送给第二模块30的时间戳匹配,第三方做出是否应允许访问相关联的所请求的数据的决定。可以由第二模块30签署该消息,并且在接收这个消息时,第三番还可以验证该消息是否由第二模块30签署并且可以拒绝访问由第二模块30请求的任何数据以及包含第二模块30不签署的时间戳的消息。
第二模块30的远程用户35可能可以观察由占有第一模块和第二模块20、30的用户输入的OTP,并且还可以观察从第三方中接收的时间戳。在稍后的某个时间,这个远程用户可以为第二模块30提供所观察的时间戳和所观察的OTP。在这种情况下,如果第二模块30不储存先前接收的OTP或者仅仅储存(例如)预定数量的先前接收的OTP,那么第二模块30可以验证远程用户的密码。然而,然后,由于第二模块30将用于验证密码的时间戳发送给第三方,所以第三方能够确定过时的这个时间戳并且相应地拒绝访问所请求的数据。
参照图4到图6的以下描述陈述了本发明的多个具体示例性实施方式。在以下实例中,第一模块和第二模块20、30是装置90的集成部件,并且如上面参照图1所述,例如,分别用于生成和验证OTP。第一模块和第二模块20、30还彼此通信地断开。在以下实例中,第一模块和第二模块20、30共享唯一分配给第一模块和第二模块20、30的OTP生成密钥。在每个实例中,第一模块20被配置为生成OTP,作为生成时间(由第一模块20的时钟测量的)、OTP生成密钥以及唯一装置标识号的密码函数。在以下每个情况下,装置90包括两个单独的用户接口21、31。第一模块20的用户接口21包括按钮和屏幕,该按钮被配置为促使第一模块生成密码,并且屏幕被配置为向第一模块20的用户25呈现所生成的密码。另一方面,第二模块30的用户接口31包括至少一个屏幕和按键。
图4示意性示出了用于在银行服务提供商101与装置90的第二模块30之间共享临时密码键的一个示例性方法。在该实例中,银行服务提供商101具有与另一个服务提供商102共享的临时密码键(见图5),并且与服务提供商102共享的密码键以及与第二模块30共享的密码键共同用于认证和/或加密/解密在第二模块30与服务提供商102之间发送的消息,下面更详细地进行讨论。
第二模块30和银行服务提供商101已经具有预先分配的密码键,用于加密和认证在其间发送的消息,如上所述。而且,银行服务提供商101储存在装置90与特定的银行账户持有人之间的关联。
在这个实例中,第二模块30没有与第一模块20的时钟同步的时钟,并且装置90登记有银行服务提供商101。
银行服务提供商101具有与第一模块20的时钟同步的时钟(例如,该时钟可以根据世界时间运行)。在这个特定的实例中,装置90的第二模块30的用户35(步骤40)从银行服务提供商101中请求临时密码键。在请求访问临时密码键时,第二模块30的用户35可以将信息输入识别特定的银行账户持有人的第二模块30内,用户35想要获得关于该信息的临时密码键。
在接收临时密码键40的请求时,第二模块30将消息(步骤130)发送给银行服务提供商101,表示装置90的用户35做出了访问临时密码键的请求,并且表示装置90具有用于生成和验证密码的模块20、30。该消息(在步骤130中发送)通知银行服务提供商101装置90能够确定访问临时密码键的请求(在步骤40中)是否源自在物理上占有装置90的用户,并且还提示银行服务提供商101提供(步骤140)表示由银行服务提供商101的时钟测量的当前时间的时间戳。由银行服务提供商101签署该时间戳,因此,第二模块30可以相信从受信任的银行服务提供商101中接收该时间戳,因此,该时间戳受信任并且由于第一模块20的时钟同步的时钟生成。
消息130还可以识别进入银行服务提供商101中的装置90(因此,与装置90相关联的银行账户持有人),例如,通过将与装置90相关联的装置ID发送给银行服务提供商101。
在接收消息(在步骤140中)之后,第二模块30提示第二模块的用户输入由装置90的第一模块20生成的密码以及装置90的唯一装置ID。在这个特定的实例中,第二模块30的用户35占有装置90,因此,也是第二模块20的用户25。因此,装置90的用户25、35可以按压第一模块20的用户接口的按钮,并且促使第一模块20生成OTP(步骤50)。然后,用户25可以从第一模块20的屏幕中检索所生成的密码(步骤60),并且可以将所检索的密码以及装置90的装置ID输入第二模块30的用户接口31内(步骤70)。
如上所述,在接收消息130时,银行服务提供商101将包含时间戳的签署消息(步骤140)发送给第二模块30。该消息140还可以包括装置90的用户25、35的挑战。作为一个特定的实例,在步骤140中发送的消息可以挑战装置90的用户25、35,以输入在银行服务提供商101与和装置90相关联的银行账户持有人之间预先同意的凭证(例如,用户名和PIN)。这具有以下优点:银行服务提供商101能够验证第二模块30的用户35是否是与装置90相关联的银行账户持有人或者用户35是否是一个不同的人(例如,这个人可以偷窃装置90)。
在从第二模块30的用户35中接收密码和装置ID(在步骤70中)时,第二模块30使用在步骤140中接收的消息内的时间戳,来验证该密码。在本设置中,通过使用时间戳、分配给第一模块和第二模块20、30的OTP生成密钥以及从用户35中接收的装置ID,来在与在所接收的时间戳内规定的时间相等或接近的时间TG,确定所接收的密码是否与由第一模块20生成的任何密码匹配,第二模块验证所接收的密码。第二模块30或银行服务提供商101可以设置在时间戳与第二模块30确定所接收的密码有效的TG之间的最大时间差,并且在后一种情况下,可以在消息140中向第二模块30指示最大时间差。
如果第二模块30确定从第二模块30的用户35中接收的密码正确,那么第二模块30向用户35呈现在步骤140中在从银行服务提供商101中发送给第二模块30的消息内接收的挑战,然后,第二模块30的用户35对这个挑战做出响应(步骤150)。
在步骤150中接收对这个挑战的响应之后,第二模块30发送(步骤160)签署的消息,该消息表示发现所接收的OTP有效,确认用于验证这个接收的OTP的时间,并且还包含对从第二模块的用户35中接收(在步骤150中)的挑战的响应。在这个实例中,将该响应加密。
另一方面,如果第二模块30未成功地验证所接收的密码,那么第二模块30将签署消息发送(步骤160)给银行服务提供商101,表示发现所接收的OTP无效。在一个特定的设置中,在步骤160中从第二模块30中发送给银行服务提供商101的消息包含OTP验证结果、时间戳以及挑战响应,无论验证结果是正数还是负数。这确保了在步骤160中发送的消息不可区分,并且不能为未授权方提供额外的信息,来发起拒绝服务攻击。
如果在步骤160中发送的消息表示验证所接收的OTP,并且如果用于验证所接收的OTP的时间与在步骤140中发送的时间戳内表示的时间匹配并且在当前时间的预定范围内,那么银行服务提供商101确定在步骤150中从第二模块的用户35中接收的对挑战的响应是否正确。例如,在挑战是用户35输入在银行服务提供商101与(与装置90相关联的)识别的银行账户持有人之间预先同意的PIN的请求的情况下,银行服务提供商101可以确定由第二模块30的用户35输入的PIN是否与识别的银行账户持有人的PIN匹配。如果,银行服务提供商101确定对挑战的响应(在150中)正确,那么银行服务提供商101可以将所请求的临时密码键发送(步骤120)发送给第二模块30,然后,在该模块中储存。
在一个替换的实施方式中,第二模块30可以预先放置有密钥,用于向第二模块30的用户35显示挑战。例如,该密钥可以是与和装置90相关联的银行账户持有人相关联的PIN,并且在这种情况下,第二模块30可以挑战第二模块30的用户35,以输入这个PIN。然后,在步骤150中,第二模块30可以使用密钥来验证从第二模块30的用户35中接收的对挑战的响应,并且可以在步骤160中,向银行服务提供商101指示验证结果。
如果在步骤160中从第二模块30中发送的消息表示未成功地验证从第二模块的用户35接收的OTP,或者如果第二模块30使用的时间在当前时间的预定范围之外或者与在步骤140中发送的时间戳不匹配,那么银行服务提供商101拒绝访问所请求的临时密码键。
在一个替换的实例中,银行服务提供商101并未生成和分布临时密码键,临时密码键可以由服务提供商102生成(见图5),并且发送给银行服务提供商101,然后,确定是否与第二模块30共享这个密钥,与在临时密码键由银行服务提供商101生成的情况下一样。或者,临时密码键可以有第二模块30生成,并且例如,可以在消息130中发送给银行服务提供商101。在这个设置中,然后,如果确定第二模块30的用户35将由第一模块20生成的密码正确地输入第二模块30内,那么银行服务提供商101可以与服务提供商102共享这个临时密码键。
图5示意性示出了根据本发明的一个实施方式的进一步步骤,一旦第二模块30从银行服务提供商101中接收了临时密码键,这些步骤就可以由服务提供商102和第二模块30执行。如上所述,由于由特定的银行账户持有人拥有,所以装置90登记有银行服务提供商101,并且银行服务提供商101与和银行账户持有人相关联的服务提供商102共享临时密码键。服务提供商102可以已经知道银行账户持有人是装置90的登记拥有人,并且在这种情况下,在与服务提供商102共享临时密码键时,确定与那些密码键相关联的银行账户持有人是服务提供商102。或者,如果服务提供商102还不知道银行账户持有人,那么在共享相关联的临时密码键时,银行服务提供商101可以给服务提供商102提供信息,用于识别服务并且将服务提供给这个银行账户持有人。
在本实例中,第二模块30的用户35请求(步骤40)访问服务器,用于从与装置90相关联的银行账户持有人的账户中进行支付或者划拨资金。在这个特定的实例中,服务器用于促进通过装置90从与装置90相关联的银行账户持有人的账户中进行的个人对个人(P2P)支付。在请求(步骤40)访问P2P服务器时,第二模块30的用户35可以将信息输入识别银行账户持有人的第二模块30内,用户35想要获得关于该持有人的P2P服务。
在从第二模块30的用户35中接收请求(步骤40)时,第二模块30提示用户35输入由装置90的第一模块20生成的OTP以及装置90的唯一装置ID。在从用户35中接收密码时,第二模块30从装置90的时钟中检索时间戳,表示由这个时钟测量的时间TR,在这个时间,第二模块30接收密码。然后,第二模块使用这个时间戳以及OTP生成密钥和从用户35中接收的装置ID,来确定是否验证所接收的密码。如上所述,装置90的时钟不受到第二模块30的信任,因此,在这种情况下,如果第二模块30确定从第二模块30的用户35中接收的密码与由/本应由第一模块生成的密码匹配(即,如果第二模块30验证所接收的密码),那么第二模块将消息发送(步骤180)发送给使用储存在第二模块30内的临时密码键加密和签署的服务提供商102,从而防止发现消息的内容,并且能够允许服务提供商102验证消息的来源(即,能够允许服务提供商102证实未干扰消息)。在步骤180中发送的消息包括:代表特定的银行账户持有人做出访问P2P服务器的请求的指示;装置90的第二模块30验证从用户35中接收的密码的指示;以及从第二模块30的用户35中接收密码的时间(由装置90的时钟测量的)(即,接收时间)的指示。
在从第二模块30中接收包含正验证结果的消息(步骤180)时,服务提供商102使用在银行服务提供商101与服务提供商102之间共享的临时密码键来验证在银行服务提供商101与第二模块30之间共享的临时密码键(即,与第二模块30相关联的临时密码键)是否签署消息。
如果服务提供商102确定使用与第二模块30相关联的临时密码键签署消息,那么服务提供商102使用与第一模块20的时钟同步的时钟,来确定接收时间是否在当前时间的预定范围内。服务提供商102还可以比较所接收的时间戳和预先从第二模块30中接收的时间戳。如果服务提供商102确定接收时间在预定的时间范围之外,或者时间戳是预先接收的时间戳的副本,那么服务提供商102拒绝访问P2P服务器。然而,如果服务提供商102确定接收时间在预定的时间范围内,并且不是副本,那么服务提供商102允许访问P2P服务器(步骤190和80)。如上所述,在这个实施方式中,使用不受信任的时间源来验证所接收的密码没有出现问题,这是因为虽然第二模块30的远程用户35能够观察和重放正确的OTP时间戳组合,从而促使第二模块30验证重放的密码,但是服务提供商102会拒绝重放的或过时的时间戳,并且会拒绝访问相关联的所请求的数据。
图6示意性示出了本发明的一个替换的实施方式,其中,并未从第二模块30的用户35中在第二模块30处接收访问数据的请求,而是从第三方100中在第二模块30处接收访问数据的请求(步骤200)。尤其地,在这个场景下,第三方100希望确定第二模块30的用户35是否在物理上占有第二模块30,从而第三方100将表示其的消息发送(步骤200)给第二模块30。在接收这个消息时,第二模块30提示(步骤205)第二模块30的用户35将由第一模块20生成的密码输入第二模块30内。如果碰巧是占有第二模块30的用户35(还占有第一模块20),那么该用户25、35可以(通过步骤50、60以及70)将由第一模块20生成的密码输入第二模块30内。
在接收密码(步骤70)时,第二模块30使用上面在图1到图5中概述的任何方法,来确定所接收的密码是否与由第一模块20生成的密码对应,并且将验证结果的指示发送(步骤210)给第三方100。然后,根据验证结果(以及可选地还根据上面描述的额外因素),第三方确定是否相信第二模块30的用户35是否占有第二模块30。
第三方可能希望验证特定的人是否占有第二模块30,并且在这种情况下,第二模块30可以向第二模块30的用户35显示挑战,如上面在图4中所述。
下面陈述了本发明的一个替换方面。在根据本发明的一个示例性实施方式中,装置90包括彼此通信地断开的第一模块和第二模块20、30,例如,与上面在图1中所描述的先前实施方式中一样。换言之,装置90被构造和配置为在这两个模块20、30之间没有通信方式(直接地或间接地)。第一模块和第二模块20、30可以整合在装置90内,或者可以具有完全分开的电路和元件。第一模块20再次用于生成密码,并且第二模块再次用于验证所接收的密码,可以从第二模块30的用户35中接收这些密码。第一模块20配置有密钥,并且包括电路和/或软件,其被构造和配置为基于该密钥生成密码。然而,与先前描述的设置不同,这个密钥未唯一分配给第一模块和第二模块20、30。在这个设置中,可以具有任何数量的模块,这些模块可以配置有相同的密钥,可以包括或者不包括第二模块30。在一个特定的实例中,该密钥可以与特定的个人相关联,并且可以预先放置在由这个人保持的多个模块上,这些模块中的每个模块用于生成密码,用于确定(直到适当自信地)通过那些装置中的一个进行的访问数据的请求是否源自占有装置90的用户。
至于前面描述的设置,在从第二模块30的用户35中接收访问数据的请求(步骤40)时,第二模块30被配置为请求第二模块30的用户输入由装置90的第一模块20生成的密码。
在一个设置中,响应于接收做出了访问数据的请求的指示(即,响应于按压按钮的第一模块20的用户25),第一模块20被配置为使用分配给第一模块20的密钥,来生成密码,并且将所生成的密码提供给第一模块20的用户25。在一个替换的设置中,第一模块20可以被配置为使用密钥,来通过固定的时间间隔自动生成密码。
如果第二模块30的用户35占有装置90,那么用户35能够从第一模块20中(例如,从第一模块20的屏幕中)检索密码,并且将所检索的密码输入装置90的第二模块30内(例如,通过第二模块30的按键)。
第二模块30可以是一个这样的模块,为该模块预先提供与第一模块20相同的密钥,并且在这种情况下,第二模块30使用该密钥来确定从第二模块30的用户35中接收的密码是否与由/本应由装置90的第一模块20(或者使用该密钥生成密码的任何其他模块)生成的密码对应。在这种情况下,第二模块30可以使用上面陈述的任何方法(即,上面在图1到图5中描述的任何方法),以确定从第二模块30的用户35中接收的密码是否与由/本应由装置90的第一模块20生成的密码对应。与在上面描述的设置中一样,在第一模块和第二模块20、30之间共享的密钥可以是OTP生成密钥,并且第一模块20可以根据该OTP生成密钥和当前时间生成OTP。在这情况下,根据第二模块是否具有与第一模块20用于生成密钥的时钟同步的时钟,第二模块30可以使用上面列出的任何方法。
如果第二模块30确定从第二模块30的用户35中接收的密码与由/本应由装置90的第一模块20生成的密码对应,那么第二模块验证所接收的密码。
图7示意性示出了一个替换的设置,其中,第二模块30不了解由第一模块20用于生成密码的密钥,但是在认证服务器230与第一模块20之间共享该密钥。在这种情况下,第二模块30的用户35请求访问数据(步骤40),然后,第二模块30提示用户35输入由装置90的第一模块生成的密码。如果第二模块30的用户35占有装置90,那么可以检索由第一模块20生成的密码(步骤60),并且将该密码输入(步骤70)第二模块30内。
在这个特定的设置中,为了确定是否验证所接收的密码,第二模块30将消息发送(步骤240)给包含从第二模块30的用户35中接收的密码的认证服务器230。有利地,在步骤240中发送的消息可以由第三方230签署,以便不能假冒,上面详细地进行了讨论。
接收在步骤240中接收的消息时,认证服务器230使用在认证服务器与第一模块20之间共享的密钥来确定从第二模块30的用户35中接收的密码是否与由/本应由装置90的第一模块20生成的密码对应。与在前一个实例中一样,在认证服务器230与第一模块20之间共享的密钥可以是OTP生成密钥,并且第一模块20可以被配置为根据当前时间(由第一模块的时钟测量的)和OTP生成密钥生成OTP。在这种情况下,认证服务器可以具有与第一模块20的时钟同步的时钟,用于验证所接收的密码。
在一个特定的设置中,在认证服务器230与第一模块20之间共享的密钥与一个特定的人相关联,并且认证服务器储存在这个特定的人与密钥之间的关联性。在这种情况下,包含从第二模块30的用户35中接收的密码的在步骤240中发送的消息还包含唯一识别与在验证服务器中的密钥相关的人的信息。认证服务器230可以保持很多密钥,每个密钥与一个不同的人相关联,因此,消息240能够允许认证服务器230确定使用哪个密钥来确定从第二模块30的用户35中接收的密码是否与由/本应由装置90的第一模块20生成的密码对应。
在这种情况下,如果认证服务器230确定从第二模块30的用户35中接收的密码与由/本应由第一模块20生成的密码对应,那么认证服务器230将消息发送(步骤250)给第二模块30,表示从第二模块30的用户35中接收的密码有效,并且在接收这个消息时,第二模块验证所接收的密码。
另一方面,如果认证服务器230确定从第二模块30的用户35中接收的密码不与由/本应由第一模块20生成的密码对应,那么认证服务器230将消息发送(步骤250)给第二模块30,表示从第二模块30的用户35中接收的密码无效,并且第二模块验证所接收的密码。
在认证服务器230与第一模块20之间共享的密钥可以仅仅交替地与第一模块20相关联,并且认证服务器230可以储存在第一模块(或者其第一模块20是元件的装置90)与密钥之间的关联性。在这种情况下,包含从第二模块30的用户35中接收的密码的在步骤240中发送的消息还可以包含唯一识别装置90的信息(例如,唯一装置ID)。
有利地,在步骤250中发送的消息可以由第三方230签署,以便不能假冒,上面详细地进行了讨论。
在一个替换的设置中,在从第二模块30的用户35中接收密码时,通过从配置有与第一模块20相同的密钥的第三模块中检索密码,第二模块30可以验证该密码。在这种情况下,第二模块可以提示第三模块使用该密钥生成密码。然后,第二模块可以比较由第三模块生成的密码和从第二模块30的用户35中接收的密码,并且如果具有对应,那么可以验证从用户35中接收的密码。
在以上替换的设置中,第一模块和第二模块20、30是相同装置90的集成部件,并且在该装置90内彼此通信地断开,第二模块30的用户35能够从第一模块20中检索密码并且将该密码输入第二模块30内的唯一(实际上可能的)方法是第二模块30的用户35是否占有第一模块20。因此,由此断定,在这种情况下,第一模块的用户25非常可能占有该装置90,并且因此,是个人用户。因此,如果第二模块验证从第二模块30的用户35中接收的密码,那么第二模块可以确信无疑地确定访问数据的请求源自占有装置90的人(并且因此不是远程实体),因此,允许访问所请求的数据。允许访问所请求的数据,可以包括允许访问在装置90上保持的限制的数据,或者在第三方保持所请求的数据的情况下,可以包括将数据发送给第三方,用于允许访问所请求的数据。
有利地,在任何以上实施方式中,在第二模块30与第三方之间发送消息的情况下,那些消息中的每个消息加密。因此,如果拦截消息,那么不能提取并且从而盗用包含在其内的信息。要理解的是,如果也签署消息,那么加密和签署消息的顺序取决于所使用的特定密码算法,并且通常,可以将加密和签署单独地或者相结合地应用于消息中。
以上实施方式要理解为本发明的说明性实例。设想本发明的进一步实施方式。例如,第二模块30可以用于允许访问由多个第三方100保持或提供的数据、资产或服务。要理解的是,相对于任何一个实施方式描述的任何特征可以单独地或者与所描述的其他特征相结合地使用,并且还可以与任何其他实施方式的一个或多个特征或者任何其他实施方式的任何组合相结合地使用。而且,在不背离在所附权利要求中限定的本发明的范围的情况下,还可以使用上面未描述的等同物和修改。
Claims (46)
1.一种用于验证对数据的访问的请求的系统,所述系统包括:
第一模块,被设置为生成与对数据的请求相关联的密码,所述第一模块包括第一用户接口,被设置为输出所生成的密码到所述第一模块的拥有人;以及
第二模块,包括第二用户接口,允许所述第二模块的拥有人输入对数据的请求相关联的所述密码,所述第二模块被设置为验证所接收的密码,并且允许访问所请求的数据,
其中,所述第一模块和所述第二模块共享唯一分配给所述第一模块和所述第二模块的密钥,所述第一模块被设置为根据所共享的密钥生成所述密码,并且所述第二模块被设置为根据所共享的密钥验证所述密码,
其中,所述第一模块和所述第二模块是装置的集成部件,
其中,所述第二模块促进对所述装置的外部储存的数据的访问,并且
其中,所述第一模块与所述第二模块通信地断开。
2.根据权利要求1所述的系统,其中,所述第二模块被设置为验证与另一模块相关联的密码,在将密钥分配给所述第二模块和所述另一模块的配置过程期间,所述第二模块与所述另一模块配对。
3.根据权利要求1所述的系统,其中,所述第一模块和所述第二模块整合在所述装置内。
4.根据权利要求1所述的系统,其中,所述装置具有唯一装置标识符,并且根据所述唯一装置标识符,生成和验证所生成和接收的密码。
5.根据权利要求1所述的系统,其中,所共享的密钥储存在所述第二模块的安全部件内。
6.根据权利要求5所述的系统,其中,所共享的密钥储存在所述第一模块的安全部件内。
7.根据权利要求1所述的系统,其中,所述第二模块被设置为发送数据,用于允许访问所请求的数据,据此,允许访问所请求的数据。
8.根据权利要求1所述的系统,其中,所述第一模块被设置为响应于与所述对数据的访问的所述请求相关的输入,生成所述生成的密码。
9.根据权利要求8所述的系统,其中,所述第一模块被设置为响应于与对数据的访问的请求相关的后续输入,生成后续密码,所后续生成的密码与先前生成的密码不同。
10.根据权利要求1所述的系统,其中,所述第一模块被设置为生成多个密码,所述多个密码中的至少一个密码与所述多个密码中的另一个密码不同,并且通过所述第一模块的接口将所生成的密码中的至少一个提供给用户。
11.根据权利要求9或10所述的系统,其中,至少根据所共享的密钥和当前时间,生成和验证所述密码。
12.根据权利要求1所述的系统,其中,所述第一模块包括用于生成密码的第一时钟,并且所述第二模块包括用于验证接收的密码的第二时钟,所述第一时钟和所述第二时钟同步。
13.根据权利要求1所述的系统,其中,所述第一模块包括用于生成密码的时钟,并且所述第二模块被设置为接收用于验证接收的密码的时间戳,从具有与所述第一模块的时钟同步的时钟的第三方接收所述时间戳。
14.根据权利要求1所述的系统,其中,所述第二模块被设置为通过所述第二用户接口从所述第二模块的用户接收对数据的访问的请求。
15.根据权利要求14所述的系统,其中,所述第二模块进一步被设置为通过所述第二用户接口接收唯一识别个人的信息,并且由用于允许对数据的访问的所述第二模块发送的所述数据包括唯一识别所述个人的数据。
16.一种用于验证对数据的访问的请求的方法,所述方法包括:
在第一模块处生成密码并且通过所述第一模块的接口输出所生成的密码到所述第一模块和第二模块的拥有人;
在所述第二模块处通过所述第二模块的接口从所述第一模块和所述第二模块的拥有人接收与对数据的请求相关联的密码,所接收的密码与由所述第一模块生成的密码对应;
在所述第二模块处验证所接收的密码;并且
在所述第二模块处允许访问所请求的数据,
其中,所述第一模块和所述第二模块共享唯一分配给第一模块和第二模块的密钥,用于在所述密码的生成和验证中使用,
其中,所述第一模块和所述第二模块是装置的集成部件,
其中,所述第二模块促进对所述装置的外部储存的数据的访问,并且
其中,所述第一模块与所述第二模块通信地断开。
17.根据权利要求16所述的方法,其中,所述第二模块验证与另一模块相关联的密码,在将密钥分配给所述第二模块和所述另一模块的配置过程期间,所述第二模块与所述另一模块配对。
18.根据权利要求16所述的方法,其中,所述第一模块和所述第二模块整合在所述装置内。
19.根据权利要求16所述的方法,其中,所述装置具有唯一装置标识符,并且根据所述唯一装置标识符,生成和验证所生成和接收的密码。
20.根据权利要求16所述的方法,其中,所共享的密钥储存在所述第二模块的安全部件内。
21.根据权利要求16所述的方法,其中,所共享的密钥储存在所述第一模块的安全部件内。
22.根据权利要求16所述的方法,其中,所述第二模块发送数据,用于允许访问所请求的数据,据此,允许访问所请求的数据。
23.根据权利要求16所述的方法,其中,所述第一模块响应于与所述对数据的访问的请求相关的输入,生成所述生成的密码。
24.根据权利要求23所述的方法,所述方法进一步包括在所述第一模块处响应于与对数据的访问的请求相关的后续输入,生成后续密码,所后续生成的密码与先前生成的密码不同。
25.根据权利要求16所述的方法,所述方法包括生成多个密码,所述多个密码中的至少一个密码与所述多个密码中的另一个密码不同,并且通过所述第一模块的接口将所生成的密码中的至少一个提供给用户。
26.根据权利要求24所述的方法,其中,至少根据所共享的密钥和当前时间,生成和验证所述密码。
27.根据权利要求16所述的方法,其中,所述第一模块使用第一时钟生成密码,并且所述第二模块使用第二时钟验证所接收的密码,所述第一时钟和所述第二时钟同步。
28.根据权利要求16所述的方法,其中,所述第一模块使用时钟生成密码,并且所述第二模块使用从具有与所述第一模块的时钟同步的时钟的第三方接收的时间戳验证所接收的密码。
29.根据权利要求16所述的方法,其中,所述第二模块通过第二模块的用户接口从所述第二模块的用户接收所述对数据的访问的请求。
30.根据权利要求29所述的方法,其中,所述第二模块通过所述第二模块的用户接口接收唯一识别个人的另一信息,并且由用于允许对数据的访问的所述第二模块发送的所述数据包括唯一识别所述个人的数据。
31.一种用于验证在装置处接收的数据的请求作为源自占有所述装置的个人的请求的系统,所述系统包括:
第一模块,被设置为生成与对数据的请求相关联的密码,所述第一模块包括第一用户接口,被设置为输出所生成的密码到所述装置的拥有人;以及
第二模块,包括第二用户接口,允许所述装置的拥有人输入对数据的请求相关联的所述密码,所述第二模块被设置为验证所接收的密码,并且允许访问数据,
其中,所述第一模块和所述第二模块是装置的集成部件,
其中,所述第二模块促进对所述装置的外部储存的数据的访问,并且
其中,所述第一模块与所述第二模块通信地断开。
32.根据权利要求31所述的系统,其中,所述第一模块和所述第二模块整合在所述装置内。
33.根据权利要求31所述的系统,其中,所述第一模块和所述第二模块共享密钥,用于在所述密码的生成和验证中使用。
34.根据权利要求32或33所述的系统,其中,所述第二模块被设置为将所接收的密码发送给第三方,并且从所述第三方接收所接收的密码有效的指示,据此,验证所接收的密码。
35.根据权利要求32或33所述的系统,其中,所述第二模块被设置为通过比较所接收的密码和由第三模块生成的密码,验证所接收的密码。
36.根据权利要求31所述的系统,其中,所述第一模块被设置为响应于与对数据的访问的所述请求相关的输入,生成所述密码。
37.根据权利要求36所述的系统,其中,所述第一模块被设置为响应于与对数据的访问的请求相关的后续输入,生成后续密码,所后续生成的密码与先前生成的密码不同。
38.根据权利要求31所述的系统,其中,所述第一模块被设置为生成多个密码,所述多个密码中的至少一个密码与所述多个密码中的另一个密码不同,并且通过所述第一模块的接口将所生成的密码中的至少一个提供给用户。
39.一种用于验证在装置处接收的数据的请求作为源自占有所述装置的个人的请求的方法,所述方法包括:
在第一模块处生成密码并且通过所述第一模块的接口输出所生成的密码到所述装置的拥有人;
在第二模块处通过所述第二模块的接口从所述装置的拥有人接收与对数据的请求相关联的密码,所接收的密码与由所述第一模块生成的密码对应;
在所述第二模块处验证所接收的密码;并且
在所述第二模块处允许对数据的访问,其中,所述第一模块和所述第二模块是装置的集成部件,其中,所述第二模块促进对所述装置的外部储存的数据的访问,并且其中,所述第一模块与所述第二模块通信地断开。
40.根据权利要求39所述的方法,其中,所述第一模块和所述第二模块整合在所述装置内。
41.根据权利要求39所述的方法,其中,所述第一模块和所述第二模块共享密钥,用于在所述密码的生成和验证中使用。
42.根据权利要求39所述的方法,其中,所述第二模块将所接收的密码发送给第三方,并且从所述第三方接收所接收的密码有效的指示,据此,验证所接收的密码。
43.根据权利要求39所述的方法,其中,所述第二模块通过比较所接收的密码和由第三模块生成的密码,验证所接收的密码。
44.根据权利要求39所述的方法,其中,所述第一模块响应于与所述对数据的访问的所述请求相关的输入,生成所述密码。
45.根据权利要求44所述的方法,其中,所述第一模块响应于与对数据的访问的请求相关的后续输入,生成后续密码,所后续生成的密码与先前生成的密码不同。
46.根据权利要求39所述的方法,所述方法包括生成多个密码,所述多个密码中的至少一个密码与所述多个密码中的另一个密码不同,并且通过所述第一模块的接口将所生成的密码中的至少一个提供给用户。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1215951.3A GB2505678B (en) | 2012-09-06 | 2012-09-06 | Method and system for verifying an access request |
GB1215951.3 | 2012-09-06 | ||
GB1222090.1A GB2505532B (en) | 2012-09-06 | 2012-12-07 | Method and system for verifying an access request |
GB1222090.1 | 2012-12-07 | ||
PCT/GB2013/052346 WO2014037740A1 (en) | 2012-09-06 | 2013-09-06 | Method and system for verifying an access request |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104769602A CN104769602A (zh) | 2015-07-08 |
CN104769602B true CN104769602B (zh) | 2019-06-14 |
Family
ID=47137069
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380057912.6A Active CN104798083B (zh) | 2012-09-06 | 2013-09-06 | 用于验证访问请求的方法和系统 |
CN201380057898.XA Active CN104769602B (zh) | 2012-09-06 | 2013-09-06 | 用于验证访问请求的方法和系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380057912.6A Active CN104798083B (zh) | 2012-09-06 | 2013-09-06 | 用于验证访问请求的方法和系统 |
Country Status (11)
Country | Link |
---|---|
US (4) | US8806600B2 (zh) |
EP (2) | EP2893484B1 (zh) |
KR (2) | KR102202547B1 (zh) |
CN (2) | CN104798083B (zh) |
AU (2) | AU2013311424B2 (zh) |
CA (2) | CA2884002C (zh) |
ES (1) | ES2590678T3 (zh) |
GB (2) | GB2505678B (zh) |
HK (2) | HK1208278A1 (zh) |
MX (2) | MX362307B (zh) |
WO (2) | WO2014037741A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3012991A1 (en) * | 2011-08-30 | 2013-03-07 | C. Doug Yeager | Systems and methods for authorizing a transaction with an unexpected cryptogram |
US10129249B1 (en) * | 2013-03-14 | 2018-11-13 | EMC IP Holding Company LLC | Randomizing state transitions for one-time authentication tokens |
GB2505678B (en) | 2012-09-06 | 2014-09-17 | Visa Europe Ltd | Method and system for verifying an access request |
US9178708B2 (en) * | 2013-12-02 | 2015-11-03 | Guardtime Ip Holdings Limited | Non-deterministic time systems and methods |
US9424410B2 (en) * | 2013-12-09 | 2016-08-23 | Mastercard International Incorporated | Methods and systems for leveraging transaction data to dynamically authenticate a user |
US9332008B2 (en) | 2014-03-28 | 2016-05-03 | Netiq Corporation | Time-based one time password (TOTP) for network authentication |
US9223960B1 (en) * | 2014-07-31 | 2015-12-29 | Winbond Electronics Corporation | State-machine clock tampering detection |
US9984247B2 (en) * | 2015-11-19 | 2018-05-29 | International Business Machines Corporation | Password theft protection for controlling access to computer software |
US9948673B2 (en) | 2016-05-26 | 2018-04-17 | Visa International Service Association | Reliable timestamp credential |
US10491391B1 (en) * | 2016-09-23 | 2019-11-26 | Amazon Technologies, Inc. | Feedback-based data security |
KR20180070278A (ko) | 2016-12-16 | 2018-06-26 | 백민경 | 영구거푸집 및 이를 이용한 벽체구조물 시공방법 |
US10846417B2 (en) * | 2017-03-17 | 2020-11-24 | Oracle International Corporation | Identifying permitted illegal access operations in a module system |
SG10201702881VA (en) * | 2017-04-07 | 2018-11-29 | Mastercard International Inc | Systems and methods for processing an access request |
US11257078B2 (en) * | 2018-08-20 | 2022-02-22 | Mastercard International Incorporated | Method and system for utilizing blockchain and telecom network for two factor authentication and enhancing security |
US10419219B1 (en) * | 2018-10-08 | 2019-09-17 | Capital One Services, Llc | System, method, and computer-accessible medium for actionable push notifications |
CN110224713B (zh) * | 2019-06-12 | 2020-09-15 | 读书郎教育科技有限公司 | 一种基于高安全性智能儿童手表的安全防护方法及系统 |
WO2021050478A1 (en) * | 2019-09-11 | 2021-03-18 | Arris Enterprises Llc | Device-independent authentication based on a passphrase and a policy |
CN114083913B (zh) * | 2021-11-02 | 2022-09-16 | 珠海艾派克微电子有限公司 | 一种芯片、耗材盒及数据传输方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051908A (zh) * | 2007-05-21 | 2007-10-10 | 北京飞天诚信科技有限公司 | 动态密码认证系统及方法 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4720860A (en) * | 1984-11-30 | 1988-01-19 | Security Dynamics Technologies, Inc. | Method and apparatus for positively identifying an individual |
US4998279A (en) | 1984-11-30 | 1991-03-05 | Weiss Kenneth P | Method and apparatus for personal verification utilizing nonpredictable codes and biocharacteristics |
US5367572A (en) * | 1984-11-30 | 1994-11-22 | Weiss Kenneth P | Method and apparatus for personal identification |
US5361062A (en) * | 1992-11-25 | 1994-11-01 | Security Dynamics Technologies, Inc. | Personal security system |
EP1139200A3 (en) * | 2000-03-23 | 2002-10-16 | Tradecard Inc. | Access code generating system including smart card and smart card reader |
US20050005114A1 (en) | 2003-07-05 | 2005-01-06 | General Instrument Corporation | Ticket-based secure time delivery in digital networks |
US7904583B2 (en) * | 2003-07-11 | 2011-03-08 | Ge Fanuc Automation North America, Inc. | Methods and systems for managing and controlling an automation control module system |
US7801819B2 (en) * | 2003-10-03 | 2010-09-21 | Sony Corporation | Rendering rights delegation system and method |
KR20050096040A (ko) * | 2004-03-29 | 2005-10-05 | 삼성전자주식회사 | 휴대형 저장장치와 디바이스간에 디지털 저작권 관리를이용한 콘텐츠 재생방법 및 장치와, 이를 위한 휴대형저장장치 |
WO2006040820A1 (ja) | 2004-10-14 | 2006-04-20 | Mitsubishi Denki Kabushiki Kaisha | パスワード生成装置及びicカード及び認証装置 |
JP2006268689A (ja) * | 2005-03-25 | 2006-10-05 | Nec Corp | 移動体通信ネットワークシステム、認証装置、Webサーバ及びこれらの駆動方法、駆動プログラム |
EP1737179A1 (en) * | 2005-06-20 | 2006-12-27 | Thomson Licensing | Method and devices for secure measurements of time-based distance between two devices |
US9258124B2 (en) * | 2006-04-21 | 2016-02-09 | Symantec Corporation | Time and event based one time password |
TWI484769B (zh) * | 2006-05-09 | 2015-05-11 | 內數位科技公司 | 無線裝置安全時間功能 |
US8266711B2 (en) * | 2006-07-07 | 2012-09-11 | Sandisk Technologies Inc. | Method for controlling information supplied from memory device |
US8543829B2 (en) * | 2007-01-05 | 2013-09-24 | Ebay Inc. | Token device re-synchronization through a network solution |
US8281375B2 (en) * | 2007-01-05 | 2012-10-02 | Ebay Inc. | One time password authentication of websites |
EP2034458A3 (en) * | 2007-03-09 | 2009-09-02 | ActivIdentity, Inc. | One-time passwords |
US8627419B1 (en) * | 2007-05-25 | 2014-01-07 | Michael J VanDeMar | Multiple image reverse turing test |
US8200978B2 (en) * | 2007-07-06 | 2012-06-12 | Gong Ling LI | Security device and method incorporating multiple varying password generator |
US7990292B2 (en) * | 2008-03-11 | 2011-08-02 | Vasco Data Security, Inc. | Method for transmission of a digital message from a display to a handheld receiver |
US8949955B2 (en) * | 2008-10-29 | 2015-02-03 | Symantec Corporation | Method and apparatus for mobile time-based UI for VIP |
CH701050A1 (fr) * | 2009-05-07 | 2010-11-15 | Haute Ecole Specialisee Bernoise Technique Inf | Procédé d'authentification. |
EP2296311A1 (en) * | 2009-09-10 | 2011-03-16 | Gemalto SA | Method for ciphering messages exchanged between two entities |
US8701183B2 (en) * | 2010-09-30 | 2014-04-15 | Intel Corporation | Hardware-based human presence detection |
US20120089519A1 (en) | 2010-10-06 | 2012-04-12 | Prasad Peddada | System and method for single use transaction signatures |
AU2012214100B2 (en) * | 2011-02-07 | 2016-07-14 | Scramcard Holdings (Hong Kong) Limited | A smart card with verification means |
CN102185838B (zh) * | 2011-04-21 | 2014-06-25 | 杭州驭强科技有限公司 | 基于时间因子的主动式动态密码生成和认证系统及方法 |
CN102368230A (zh) * | 2011-10-31 | 2012-03-07 | 北京天地融科技有限公司 | 移动存储器的访问控制方法、移动存储器及系统 |
DE102011118510A1 (de) * | 2011-11-14 | 2013-05-16 | Biso Schrattenecker Gmbh | Anschlußvorrichtung für ein Vorsatzgerät einer selbstfahrenden Arbeitsmaschine |
US8396452B1 (en) * | 2012-05-04 | 2013-03-12 | Google Inc. | Proximity login and logoff |
US9053312B2 (en) * | 2012-06-19 | 2015-06-09 | Paychief, Llc | Methods and systems for providing bidirectional authentication |
GB2505678B (en) | 2012-09-06 | 2014-09-17 | Visa Europe Ltd | Method and system for verifying an access request |
US9230084B2 (en) * | 2012-10-23 | 2016-01-05 | Verizon Patent And Licensing Inc. | Method and system for enabling secure one-time password authentication |
DE102012219618B4 (de) * | 2012-10-26 | 2016-02-18 | Bundesdruckerei Gmbh | Verfahren zur Erzeugung eines Soft-Tokens, Computerprogrammprodukt und Dienst-Computersystem |
-
2012
- 2012-09-06 GB GB1215951.3A patent/GB2505678B/en active Active
- 2012-12-07 GB GB1222090.1A patent/GB2505532B/en active Active
-
2013
- 2013-07-05 US US13/936,094 patent/US8806600B2/en active Active
- 2013-09-06 EP EP13774767.1A patent/EP2893484B1/en active Active
- 2013-09-06 CA CA2884002A patent/CA2884002C/en active Active
- 2013-09-06 MX MX2015002928A patent/MX362307B/es active IP Right Grant
- 2013-09-06 AU AU2013311424A patent/AU2013311424B2/en active Active
- 2013-09-06 MX MX2015002929A patent/MX362308B/es active IP Right Grant
- 2013-09-06 EP EP13779326.1A patent/EP2732400B1/en active Active
- 2013-09-06 KR KR1020157008620A patent/KR102202547B1/ko active IP Right Grant
- 2013-09-06 KR KR1020157008621A patent/KR102177848B1/ko active IP Right Grant
- 2013-09-06 CA CA2884005A patent/CA2884005C/en active Active
- 2013-09-06 WO PCT/GB2013/052347 patent/WO2014037741A1/en active Application Filing
- 2013-09-06 AU AU2013311425A patent/AU2013311425B2/en active Active
- 2013-09-06 ES ES13779326.1T patent/ES2590678T3/es active Active
- 2013-09-06 CN CN201380057912.6A patent/CN104798083B/zh active Active
- 2013-09-06 WO PCT/GB2013/052346 patent/WO2014037740A1/en active Application Filing
- 2013-09-06 CN CN201380057898.XA patent/CN104769602B/zh active Active
-
2015
- 2015-03-05 US US14/639,857 patent/US9830447B2/en active Active
- 2015-03-05 US US14/639,850 patent/US10282541B2/en active Active
- 2015-09-11 HK HK15108943.4A patent/HK1208278A1/zh unknown
- 2015-09-16 HK HK15109070.7A patent/HK1208546A1/zh unknown
-
2019
- 2019-03-18 US US16/357,098 patent/US10929524B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051908A (zh) * | 2007-05-21 | 2007-10-10 | 北京飞天诚信科技有限公司 | 动态密码认证系统及方法 |
Non-Patent Citations (1)
Title |
---|
《Two factor authentication using mobile phones》;Fadi Aloul等;《COMPUTER SYSTEMS AND APPLICATIONS》;20091231;第641-644页摘要和第II-IV部分 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104769602B (zh) | 用于验证访问请求的方法和系统 | |
CN108809659B (zh) | 动态口令的生成、验证方法及系统、动态口令系统 | |
CN1262905C (zh) | 使计算机网络及其中用于控制对网络组件进行访问的个人识别设备安全的方法和系统 | |
CN109076090B (zh) | 更新生物特征数据模板 | |
NO324315B1 (no) | Metode og system for sikker brukerautentisering ved personlig dataterminal | |
WO2014141263A1 (en) | Asymmetric otp authentication system | |
JP2006522507A (ja) | セキュア通信システム及びセキュア通信方法 | |
US20040165729A1 (en) | System and method for securing information, including a system and method for setting up a correspondent pairing | |
KR101856530B1 (ko) | 사용자 인지 기반 암호화 프로토콜을 제공하는 암호화 시스템 및 이를 이용하는 온라인 결제 처리 방법, 보안 장치 및 거래 승인 서버 | |
JPH1165443A (ja) | 個人認証情報の管理方式 | |
JP2019153906A (ja) | モバイル運転免許証システム及び携帯端末装置 | |
JP2019047325A (ja) | 認証システム | |
KR20190142459A (ko) | P2p 인증을 위한 거래연동 otp 발생기 | |
Cavdar et al. | Security Protocol Design in a Health Care System using Smart Cards |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |