CN101785238A - 用户认证***和方法 - Google Patents
用户认证***和方法 Download PDFInfo
- Publication number
- CN101785238A CN101785238A CN200780048217A CN200780048217A CN101785238A CN 101785238 A CN101785238 A CN 101785238A CN 200780048217 A CN200780048217 A CN 200780048217A CN 200780048217 A CN200780048217 A CN 200780048217A CN 101785238 A CN101785238 A CN 101785238A
- Authority
- CN
- China
- Prior art keywords
- user
- formula
- variable
- result
- verification system
- 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
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
-
- 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/36—User authentication by graphic or iconic representation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- User Interface Of Digital Computer (AREA)
- Collating Specific Patterns (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种用于认证用户以便进行访问的方法,包括以选自认证***所提供的一组变量及运算的用户公式的形式创建认证密钥;将用户公式储存在认证***中;运用显示器来向用户呈现由认证***生成的变量布置,该变量布置包括用户公式的变量,每个变量均被赋值;将所赋的值应用于用户公式中相匹配的变量并计算第一结果;将一个或更多个额外字符穿插到第一结果的字符之中;将第一结果与额外字符一起传递到认证***。如果与第一结果一起传递的额外字符的数目低于预定阈值并且第一结果匹配由认证***计算出的用户公式的单独且独立的计算的第二结果,则认证***认证用户。
Description
本申请是2004年10月13日提交的美国申请No.10/964,408的部分连续申请,其主张2003年10月14日提交的美国临时申请No.60/510,971、以及2004年2月2日提交的美国临时申请No.60/541,160、以及2004年2月13日提交的美国临时申请No.60/544,400的权益。
技术领域
当前所披露的实施例涉及到数据安全,并且具体涉及用户认证(user authentication)。
背景技术
计算机***可向用户提供各种应用或服务。通常,对***的访问可限于授权的用户。用户认证的一个实例是登录过程,其中要求用户输入用户名和密码。
虽然技术上有新的开发,但是用户名和密码的组合仍然是最常用的访问控制装置的方法其中之一。然而,密码可能是不利的,因为那些容易记住的密码是最容易确定的,而那些复杂且难以确定的密码又容易遗忘。
这些类型的***的完整性通常是以使密码保密为基础的。然而,存在许多确定密码的已知方法,包括猜测、应用常用密码甚至所有已知词的字典、包括应用所有字符组合的暴力破解、在与服务器交换期间监控密码的网络业务、“肩窥”(在登录期间从用户的肩膀上方查看)、键盘输入记录(存储或传递登录期间用户的按键)、等等。
已知针对这些攻击类型的防御措施包括将密码加长以使其难以猜测、并且使字典应用和暴力破解更困难。其他防御措施包括禁止使用“有含义的”密码(比如与用户相关的名字、电话号码、生日等)、当用户输入密码时显示无含义的字符(如星号)、肩窥只能看到星号、在网络上发送密码之前对密码加密以防止通过网络监控的侦查。
访问控制和认证的一种方法是使用一次性密码(OTP),其中用户每次登录时使用不同的密码,从而致使许多上述攻击技术无效。因为所获得的密码不能再使用,因此截取、键盘输入记录、或采用其他方式来确定密码不具有优势。
大多数通常利用的OTP***或多或少共享相同的协议。作为登录过程的一部分,服务器向用户发送所谓的口令,其可能只是较大的随机数。用户将这个数输入OTP发生器,例如生成OTP的专用物理装置或软件。用户输入OTP。服务器也将该口令输入其自身的OTP发生器。如果服务器OTP和用户OTP匹配,则用户被确认。
在OTP发生器是物理装置(如智能卡、令牌、生物特征辨识装置等)时,丢失、坏掉或失窃的OTP发生器的成本和不便之处可能是令人关注的事情。
在密码产生算法对所有用户来说都相同的情形中,每个用户被分配一个密钥以便使结果唯一。这个密钥通常包含在用户的OTP发生器内并且还被存储在服务器的数据库中。还存在该OTP生成方案的若干变更,例如,时间而不是口令可用来使用户和服务器同步。在大多数情形下,安全性取决于用户密钥的完整性。如果密钥被泄密,则***将变为无效。结果,象密码一样,密钥成了各类攻击的对象,其中暴力破解是最普遍的做法之一。保护计算OTP的算法提供了额外的安全层,然而,持续一段时间,算法可被确定并且其不再是可靠的安全因素。
在网络环境中,服务器通常向众多的网络用户提供各种服务和应用。服务器可用来认证用户以便正确地授权使用特定的服务或应用。这通常由上述的标准登录过程来完成,其中服务器将刚输入的用户名和密码与所存储的用户名和密码匹配。
提供一种对字典应用、暴力破解、业务监控、肩窥、键盘输入记录以及各种其他类型的攻击来说坚固且耐用的认证***将是有利的。
发明内容
在一个实施例中,一种认证用户用以访问装置、服务、应用、功能、或***的方法,包括以选自认证***所提供的一组变量及运算(operation)的用户公式的形式创建认证密钥,将用户公式储存在认证***中,并且运用显示器来向用户呈现由认证***生成的变量布置(arrangement of variable),该变量布置包括用户公式的变量,每个变量均被赋值。本方法也包括将所赋的值应用于用户公式中相匹配的变量并计算第一结果,将一个或更多个额外字符穿插(intersperse)到第一结果的字符之中,并且将第一结果与额外字符一起传递到认证***,其中如果与第一结果一起传递的额外字符的数目低于预定阈值并且第一结果匹配由认证***计算出的用户公式的单独且独立的计算的第二结果,则认证***认证用户。
在另一个实施例中,一种认证用户用以访问装置、服务、应用、功能、或***的方法,包括以具有认证***所提供的变量及运算的用户公式的形式创建认证密钥,将用户公式储存在认证***中,并且运用显示器来向用户呈现一种变量和值的布置,该变量和值的布置包括用户公式中的变量、以及与每个变量相关联的布置的目标位置中的值。本方法也包括将在该布置中与变量相关联的目标位置处的值应用于用户公式中相匹配的变量并计算第一结果,将第一结果传递到认证***,其中如果第一结果匹配由认证***计算出的用户公式的单独且独立的计算的第二结果,则认证***认证用户。
在再一个实施例中,一种认证用户用以访问装置、服务、应用、功能、或***的方法,包括以具有认证***所提供的变量及运算的用户公式的形式创建认证密钥,将用户公式储存在认证***中,并且运用显示器来向用户呈现一种变量和值的布置,该变量和值的布置包括用户公式中的变量、以及与每个变量相关联的布置的目标位置中的值。本方法也包括将在该布置中与变量相关联的目标位置处的值应用于用户公式中相匹配的变量并计算第一结果,将一个或更多个额外字符穿插到第一结果的字符之中,并且将第一结果与额外字符一起传递到认证***,其中如果与第一结果一起传递的额外字符的数目低于预定阈值并且第一结果匹配由认证***计算出的用户公式的单独且独立的计算的第二结果,则认证***认证用户。
附图说明
结合附图的下面的描述解释了这些实施例的前述方面以及其他特征,附图中:
图1示出根据所公开实施例的用户认证***的一个实例;
图2示出与认证***相关联的操作的流程图;
图3示出与用户认证***一起使用的用户界面屏幕的一个实例;
图4示出与用户认证***一起使用的管理屏幕的一个实例;
图5示出在企业网络中运用的本实施例;
图6说明在用于电子业务交易或电子商务的分布式***中的另一个实施例;
图7示出用于保护(secure)通过消息发送的数据的实施例;
图8示出示范性消息的框图;
图9示出与用户认证***一起使用的用户界面屏幕的另一个实例;
图10示出例示运用目标位置的一个实施例的流程图;
图11示出例示运用目标位置的另一个实施例的流程图;
图12示出例示运用假目标字符(decoy character)的一个实施例的流程图。
具体实施方式
图1图示了结合有所公开实施例的特征的用户认证***100。尽管将参考附图来描述这些实施例,但是应当理解,这些实施例可包含许多备选形式以及任何适当的尺寸、形状或类型的元件或材料。
如图1所示,***100通常包括用户接口功能和认证控制功能,在这个实例中,用户接口功能由用户接口110表示,认证控制功能由控制器115表示。
所披露的实施例包括以用户公式的形式创建认证密钥。在启动认证会话时,向用户提供变量布置,每个变量都被赋了值。用户将与提供的变量相关联的值应用于用户公式中相匹配的变量并输入结果。
参考图2的流程图进行详细解释,在如图所示的块310中生成用户公式。用户公式可以由用户根据一组变量和运算来构建。认证***100可提供应用来帮助用户,即提供从中选择的变量和运算列表。认证***还可提供能自动为用户生成用户公式的应用。由此得到的公式通常被用户记忆并由认证***存储,如块315所示。
用户请求对装置、服务、应用或功能进行访问,并且接着在如图所示的块320中启动认证会话。在启动认证会话时,在如图所示的块325中认证***向用户提供变量布置,每个变量被赋了值。用户确认(recognize)与用户公式中的变量相匹配的布置中提供的变量。接着,在如图所示的块330中,用户将赋给变量的值应用于用户公式并且在如图所示的块335中输入结果。
值可以是随机生成并赋给变量的,并且通常随每个认证会话而改变。在如图所示的块340中,认证***独立地将赋给变量的值应用于用户公式并生成独立结果。在如图所示的块345中,认证***将独立结果与输入的结果进行比较,如果结果匹配,则认证***授权用户访问服务或应用(块350)。如果结果不匹配,则拒绝访问(块355)。
作为实例,用户可构建下列用户公式:3*(2*Q+3*T)。在认证会话期间,向用户提供变量布置和值。如果布置中的变量Q赋值为32,布置中的变量T赋值为9,则用户公式产生3*(2*32+3*9)或数字273。接着用户输入数字273。因为认证***生成了变量布置和值并已经存储了用户公式,所以认证***利用用户公式进行相同的计算。如果结果匹配,则用户被认证。
除了上述的认证会话之外,***100还提供了管理过程作为认证***的一部分。如上所述,认证会话包括限定用户对装置、服务、应用或功能的访问。管理过程通常向用户提供工具,该工具允许用户建立公式、记录用于随后认证会话的公式以及操控其他建立和管理过程(如空间和目录的分配、加密过程、程序间的通信,等等)。
如上所述,作为认证会话的一部分,可将变量布置呈现给用户。图3示出的是示范性布置。在这个实例中,布置360包括网格365、输入用户名的区域370以及输入密码的区域375,依照所公开的实施例,密码是应用用户公式的结果。网格365由单元380组成,其中每个单元由表示用户公式的变量的字母或字母组合385指示。每个变量被赋了一个值390。如上所述,每当将布置呈现给用户时,赋给每个变量的值可改变。在一个实施例中,每当呈现布置时,每个值由随机数发生器产生。
利用上述示范公式3*(2*Q+3*T),用户将检查布置360并确认变量Q被赋值为69并且变量T被赋值为49。用户将应用公式并输入结果。
在这个实例中,每个单元(cell)包括两个要素(component),即变量和值。虽然变量用字母的上下文描述而值用数字的上下文描述,但是应当理解,变量和值可表示为任何可识别的标记、符号或图像。
还是在这个实例中,变量布置示为10×10单元网格。然而,布置可以具有任何形状并且可包括任何数量的单元或位置。
用户公式可包括任何数学和非数学运算符,例如加、减、乘、除、幂(power)、取最大(max)、取最小(min)、取模(mod)、并置(concatenate)、等等,并且可包括括号以改变运算顺序(sequenceof operation)。认证***还可提供自定义运算符(custom operator)以允许用户对所期望的公式的变量执行任何功能(function)。
图4示出了可作为管理过程的一部分向用户呈现的管理屏幕400的一个实例。管理过程可为用户提供各种工具,例如可使用户完成用户建立过程的每一步的“向导”以及帮助用户建立公式的公式生成器。在一个实施例中,公式生成器可为用户提供用于从中挑选变量和运算符的菜单并帮助用户编辑对该用户来说是唯一的公式。
管理屏幕400可包括变量布置405、数字键区410、数学功能键415和非数学功能键420以及测试公式的键425和保存公式的键430。管理屏幕400还可包括输入用户名的区域370和输入用户公式的区域440。通过在变量和各种运算符当中选择,用户可输入用户公式。
例如,用户可利用键盘145(图1)键入用户公式。当用户键入公式时,可在用户公式区域440内显示公式。另外,用户可使用指示器将光标定位于字符、变量或运算符上并且单击鼠标键或按下回车键来选择所期望的字符、变量或运算符。选择可在用户公式区域440内显示。用户继续操作直至用户公式已经如期望地构建完毕。当用户公式完成时,接着,用户可激活“保存”按钮430来存储并使用公式。
在一个实施例中,可向用户提供工具来构建一个或多个自定义运算符。例如,其中一个运算符可包括偏移函数(offset function),其中该函数与用户公式中的变量相关联并且应用来自偏离相关联变量的布置中的变量的值。偏移函数可表述为(offset(x,y)),其中x指x轴偏移量而y指y轴偏移量。包括偏移函数的示范用户公式可以是A+B(offset(1,1))。参见图3,用户将首先找到并使用赋给变量A的值,然后将找到变量B,但是在该认证会话中将使用偏移了坐标(1,1)的变量M的值。
用户可使用任何所期望的偏移,只要该偏移指向出现在布置365中的变量。在一个示范实现中,通过在用户公式所期望之处简单键入“(offset(x,y))”,用户输入偏移函数。在另一个示范实现中,非数学函数420其中之一可包括标有“偏移”的按钮。按下偏移按钮可启动请求用户输入偏移坐标的会话框。当输入坐标时,偏移指示、例如(offset(1,1))可出现在用户公式区域440内显示的用户公式中。
在偏移函数的另一个派生中,可确定称为IX函数的特定偏移。IX函数利用与变量相关联的值作为指向布置左上部分的坐标。例如,用户可能希望利用用户公式2*B并且可能希望指定变量K作为对布置365左上角的说明。在按下偏移按钮之后,响应对坐标的请求,用户可采用IX(K)或对特定偏移的一些其他适当的指示和指示来响应。
接下来,当用户使用布置365来确定用户公式的结果时,用户将观察到变量K值被赋值为“43”并且接着将坐标(4,3)作为变量A的偏移位置、将坐标(5,3)作为指示变量B的偏移位置、将坐标(6,3)作为指示变量C的偏移位置、等等。利用坐标(5,3)处的值,用户公式2*B产生“104”,“104”接着可被输入密码区域375。
可创建用以执行任何函数、运算或者函数或运算组合的其他自定义运算符。
作为另一实例,管理屏幕400可包括用于创建对一个或多个变量进行运算的自定义函数的选择。自定义函数可包括任何数量的数学、逻辑(与、或、异或(XOR))、三角法、统计等类型的运算。可向用户提供能够用作设计自定义函数的模板的脚本。还可提供脚本用来向用户呈现按钮或菜单项以调用自定义函数并在用户公式中使用自定义函数。
能够创建自定义函数是有利的,因为它允许为特定用户或一部分企业定制***。***的购买者通过创建对其他***购买者来说不可得或未知的自定义函数和运算符从而具备了进一步提高***安全性的能力。
通过提供在公式中创建公式的称为AutoTokenTM函数的函数,认证***可提供足够的安全性。例如,通过选择AutoTokenTM键435(图4),用户调用AutoTokenTM函数。AutoTokenTM函数向用户提示用户在用户公式区域440中输入的用户公式。
AutoTokenTM函数自动创建两个公式,分别称为本地(local)公式和远程公式。本地公式和远程公式中的每一个包括可任意选择以及任意排序的变量、常数和运算,只要它们形成了运算公式即可。变量、常数和运算可包括来自向用户呈现的变量布置中的变量以及由管理过程提供的运算。本地公式和远程公式可以具有任何复杂性和长度并且它们通常是相同的,除非本地公式包括用于接收将由用户输入的用户公式的结果的结果变量,而远程用户公式包括用户公式本身。
可将远程公式存储在由认证***指定的任何位置并且可将本地公式存储在用户本地位置。在一个实施例中,可将本地公式存储在由用户指定或选择的任何位置。
本地公式是可移动的(transportable)以用于访问不同位置的装置、服务、应用或函数。例如,可存储本地公式使得它为可移动的,这包括将本地公式存储在任何类型可移动介质上,如磁的、光学的、半导体的或其他适当的介质。可将本地公式存储在比如软盘、光盘、闪存、USB驱动器或用于存储和访问本地公式的任何适当的装置(如下面描述的图5中的247)。
在一个实施例中,可能没有必要存储本地公式但是可以将其传送或传输至另一个位置供用户使用。
已经实施了AutoTokenTM函数的用户的认证会话进行如下。用户请求对装置、服务、应用或函数进行访问,并且启动认证会话。***向用户提供变量布置并且用户输入他的用户公式的结果。如果本地公式已经存储在可移动介质上,则在此时或在该点之前的任何时间,将可移动介质耦合至***,以使认证***可访问本地公式。认证******结果来代替本地公式中的结果变量、将来自变量布置的值***本地公式的其余项、并计算本地公式的结果。认证***还将来自变量布置的值***远程公式中的用户公式以及远程公式的其余项、并计算远程公式的结果。
认证***比较结果,并且如果它们匹配,则用户被授权访问所期望的装置、服务、应用或函数。
如果出于某种原因,用户的用户公式被泄密,则用户可再次调用AutoTokenTM函数来创建新的本地、远程和用户公式,而无需额外的支持资源,从而确保了安全访问的继续。
作为另一个特征,认证***通常允许用户将函数嵌入其他函数中以扩展用户公式的安全性。例如,用户公式可包括A+(AVE B+C+(AVED+E+F))+G+H)。特定函数可用来将虚(dummy)字符嵌入用户公式内,所述用户公式以赋给来自布置365中的变量的值为基础。这个函数可称为“集(Set)”函数。使用集函数的示范性用户公式可能是:
(set Z,1)[用户公式]。
在变量Z被赋值为5的布置中,在输入用户公式的结果的第一个值之前,用户可键入五个虚字符。因此,可在任何位置在用户公式的结果内***任何数量的虚字符。
作为额外的安全特征,用户公式可使用赋给布置365的变量的值来指示保密短语(secret phrase)的特定字内的特定字母。例如,用户可确定其保密短语为“the dog is lazy”并且可选定ABCD的用户公式。当构建其用户公式时,用户可将指示其保密短语及其用户公式的命令键入用户公式区域440。
或者,非数学函数420可包括使用户选择指示的函数。在认证期间,可提供布置,例如,其中A被赋值为31、B被赋值为14、C被赋值为21并且D被赋值为13。将布置的值应用于短语,A=31将产生第一字的第三字母,B=14产生第四字的第一字母,C=21产生第一字的第二字母,D=13产生第三字的第一字母。因此,用户会键入ELHI。给定布置和短语的保密性质,解密这种结果的企图将很可能导致失败。
通过在用户公式内提供复位函数(reset function),认证***可提供更大的安全性。这个复位函数可用来使呈现给用户的变量布置复位。例如,作为认证会话的一部分,如图3所示的变量布置被呈现给用户。用户检查布置、识别用户公式的第一变量的值并输入第一变量。在输入第一变量之后,例如通过用户公式中的命令或键入命令而激活复位函数,并且值和变量被改变以便向用户提供新的布置。用户继续利用用户公式,识别来自新布置的公式中的下一个变量的值。当用户识别完所有值、计算并输入了用户公式的结果,如期望地允许用户访问。
使用复位函数的用户公式的一个实例可以是:
A‖B‖<reset>C
其中与变量A相关联的值和与变量B相关联的值并置,变量布置被复位并且A和B的并置与变量C的新值并置。
应当理解,可将复位函数***用户公式中的任何地方并且可将其***用户公式中的一个或多个位置。通过各种方法可激活复位函数,例如作为对按下特定键的响应来激活、或者在输入值之后自动激活。
参见图4的管理屏幕,可将复位函数作为公式生成器的一部分呈现给用户,或者作为向用户提供***复位函数的逐步过程的“向导”呈现给用户。
如上所述,复位函数可用来使呈现给用户的变量布置复位。这可采用重新生成布置中变量的新值、改变变量的位置或两者的组合的形式。复位函数可使用基于在公式生成器或向导过程期间由用户提供的种子(seed)数或变量的公式生成新布置。变量种子可以是来自呈现给用户的变量布置中的变量。
因此,复位函数为当前所公开的实施例提供了提高的安全级别。例如,在网络环境中,如果台式机和服务器之间的通信被截取,则关于变量布置的数据可被提取。例如,某人可能试图(虽然未成功)从所截取的数据中导出变量布置。复位函数可用来使变量布置在本地复位,而不需要外部通信。因此,使通过截取通信导出变量布置的企图无效,因为生成了新变量布置并且不存在与复位或新变量布置相关联的通信。
再次参见图1,***100可以是包括用户接口110和控制器115的台式机。控制器115可包括用于执行来自存储器125的认证程序135的一个或多个处理器120并且还可包括用于存储信息、数据和程序的存储装置130。控制器115还可包括用于和其他装置通信的接口。用户接口110可包括用于向用户呈现信息的显示装置140以及用于输入信息、询问、回答和命令的一个或多个输入装置145(比如键盘和指示器)。
在认证程序135的控制下,处理器120可提供认证服务,并且根据认证,处理器120可允许所认证的用户访问或利用服务150。在这个实施例中,服务150可以是本地服务,也就是说,服务150可驻留在台式机100内。服务150可以是***100的用户可能要求访问的任何装置、服务、应用或函数。例如,服务150可以是数据处理***、计算服务、内容递送***、资料库、文件***、等等。
在运行过程中,用户可能试图通过控制器115访问服务150。如上所述,控制器115启动认证会话来确定用户是否符合条件、具有权限、或通常被允许访问服务150。如果用户提供了正确的证明,也就是说,如本文所述的赋给用户公式的值的正确应用,则控制器115允许访问服务150。
图5说明了示为分布式***500的另一个实施例。***500可以是企业或公司广域网或局域网的一部分并且通常包括用户接口210、控制器215和通过通信网络225连接的应用或服务220。用户接口210通常是本地计算装置230的一部分并且控制器215和服务220通常距计算装置230较远。本地计算装置230可包括一个或多个处理器235,用于执行存储在存储装置245中的程序240。计算装置230还可包括用于存储本地公式的外部可移动存储装置247。用户接口210可包括用于向用户呈现信息的显示装置250以及用于输入信息、询问、回答和命令的一个或多个输入装置255(比如键盘和指示器)。
控制器215可起到认证服务器的作用并可包括一个或多个处理器260和用于存储控制认证过程和会话的程序的存储工具265。作为认证服务器,控制器215可用来验证计算装置230或计算装置230的用户。根据认证,控制器215可用来为计算装置230提供服务220或允许计算装置230访问服务220。在存储于存储工具265中的指令或程序的控制下,控制器215还用来引导***220的各部件中的业务。控制器215还可在存储工具265内为计算装置230提供存储容量。作为认证服务器,控制器215可用来验证其他计算装置2751...275n并根据认证向其他计算装置2751...275n提供对服务220以及对其他服务2701...270n访问。
在这个实施例中,控制认证过程和会话的程序可在存储装置245和存储工具265之中分布。在存储于存储装置245和存储工具265中的程序的控制下,认证过程和会话的部分可分别由处理器235和260执行。
服务220可以是计算装置230和计算装置230的用户可能要求访问的任何应用或服务。例如,服务220可能是数据处理***、计算服务、内容递送***、资料库、文件***、等等。服务220可驻留在计算装置230、控制器215内,或者可以驻留在***220内的任何地方或者与***200的任何部件结合。
通信网络225可包括适于通信的任何链路或网络,例如互联网、公共开关电话网络(PSTN)、无线网络、有线网络、虚拟个人网络(VPN)等。利用任何适当的协议,包括x.25、ATM、TCP/CP等,可执行通信。
在运行过程中,用户可能试图访问服务220。控制器215监控或被通知有企图的访问。例如,在存储于存储工具265中的程序的控制下,控制器215可监控并截取访问服务220的所有企图。作为另一例,服务220可自动将所有的访问企图发送到控制器215供处理。还可实施利用控制器215控制访问服务220的任何其他适当的方法。
控制器215启动认证会话来确定用户是否符合条件、具有权限或通常被允许访问服务220。控制器215为计算装置230提供数据和命令以将变量布置显示在显示器250上并提示用户提供用户公式的结果。计算装置将结果传递至控制器215。控制器215还利用用户公式和来自变量布置的值计算结果。如果传递的结果和由控制器215计算的结果匹配的话,则控制器215允许访问服务220。
在这个实施例中,当用户已经实施了如前所述的AutoTokenTM函数,则可将本地公式存储在外部可移动的存储装置247上。对本地公式的操作、包括***用户公式的结果代替本地公式中的结果变量、将来自变量布置的值***本地公式的其余项并计算本地公式的结果,可由在计算装置230上运行的客户程序来实施。对远程公式的操作、包括将来自变量布置的值***远程公式中的用户公式以及远程公式的其余项并计算远程公式的结果,可由控制器215上的服务器程序来实施。
图6说明示为用于电子业务交易或电子商务的分布式***600的另一个实施例。***600可以基于互联网或者可以使用万维网作为常用的通信介质。***600通常提供前述实施例的所有特征并包括许多用户6101...610n、控制器620以及许多应用或服务6501...650n。用户6101...610n、服务6501...650n、以及控制器620通常表示独立的实体(如业务实体),它们通过互联网660连接。例如,用户6101...610n可以是访问服务的个体或者可以是在程序的控制下访问服务的计算装置。在一个实施例中,用户6101...610n可付费以访问服务6501...650n中的一种或多种并且控制器620可用来控制这种访问通过认证。服务6501...650n的运营商又可付费至用于访问和认证服务的控制器运营商。也可设想在用户、服务运营商和控制器运营商之中的其他业务安排。控制器620可包括一个或多个处理器425,用于执行控制用户认证和对服务6501...650n的访问的程序630。控制器620可用来认证用户6101...610n并向已认证的用户提供一种或多种服务6501...650n。服务6501...650n可包括用户6101...610n可能请求访问的任何服务(包括电子商务交易)。例如,服务6501...650n可包括购货***、数据处理***、计算服务、用于传递文字、音频或视频等的内容递送***、在网络(如互联网)上参与商务交易的所有事务。
在***600中,一个或多个用户6101...610n可例行访问服务6501...650n。控制器620监控或被通知有企图的访问。例如,控制器620可监控并截取访问任何服务6501...650n的所有企图。在另一个实例中,服务6501...650n可自动将所有的访问企图发送到控制器620供处理或以其他方式通知控制器620有企图的访问。
作为响应,控制器620启动同每个用户610的认证会话来确定特定用户是否符合条件、具有权限或通常被允许访问一种或多种服务6501...650n。如果用户610提供了正确的证明,就是说,如本文所述的用户公式的正确结果,则控制器620允许访问所期望的一种或多种服务。
在另一个实施例中,用户610试图访问一种或多种服务6501...650n,其中的对服务的访问是在一次性基础上被授权的。控制器620被通知或者主动监控有企图的访问。作为响应,控制器620启动同用户610的认证会话。管理员(可能是程序或运营商)将只对单次使用有效的用户公式传递给用户610。用户610输入一次性用户公式的结果并且通常被允许访问一种或多种服务6501...650n。
图7示出利用实施例用于保护作为消息的一部分被发送(如通过email)的数据的***700。***700包括利用在此所公开的认证***710的消息始发器(originator)705、接受器(recipient)715和通信网络。消息始发器705和接受器715包括一个或多个处理器、存储装置和支持消息传送以及所公开的认证操作的程序。消息始发器705构建消息(如email),该消息包括消息始发器705希望保护的数据。图8示出这种消息810的框图。数据820可作为消息的一部分或作为附在消息中的文件而被包括。认证***710包括消息810和数据820的包装(wrapper)825,该包装将启动认证会话并且除非接受器715产生了适当的证明否则将阻止访问数据820。接着,例如使用标准email协议将消息传递至接受器715。
在接收时,接受器715试图打开消息。包装启动认证会话,显示如图3所示的布置。还生成了返回始发器的回执,其导致始发器705启动相同的认证会话。
始发器705确定始发器的用户公式的结果然后通常通过与用来传递消息的方法所不同的方法将结果传递至接受器715。接受器输入结果,并且如果正确,则包装825允许访问数据820。一旦数据被关闭,则认证会话结束。每当企图打开消息时,另一个认证伴随新的布置开始。因此,布置包括赋给变量的新值并要求始发器705再次确定用于始发器的用户公式的结果。因此,如果接受器715试图再次打开消息或将消息发送至另一个,则用户公式以前的结果不再可用来打开消息并且可通知始发器705。
图9中图示出呈现给用户的布置的另一实施例。如上所述,作为认证会话的一部分,可将变量布置900呈现给用户。布置900包括每个单元920中的变量910和多值(multiple value)915。如上所述,变量和值可能包括任何字母数字式字符,或任何标记、符号或图像。
在此实施例中,单元920各自是由在每个单元的每个角中具有值915的变量910指示的。应当理解到,在每个单元中的任何位置内可能有任何数目的变量910和值915。例如,每个单元可能具有诸如矩形的几何形状,并且值可能位于每个单元的角中。作为另一实例,每个单元可能具有圆形形状且每个单元中的值的位置可能按度数指定。
一般而言,作为认证过程的部分将要被分配给变量的值可能在单元中具有称为目标位置(target location)的特定位置。图9中具有变量H的单元可能用作一个实例。如果用于H的目标位置是左上角,则将要分配给H的值为5。
在一个示范性实施例中,作为前述用户建立过程的部分,用户可能提供信息,称作简档。用户简档可能包括关于用户的信息,例如,姓名、联系信息、工作地点,等等。简档可以被储存于控制器215(图5)、本地计算装置230(图5)存储工具(storage facility)265(图5)或任何其它适当位置。用户简档也可能包括一个或更多个用于用户的用户公式中的变量的目标位置。目标位置可能根据每个单元内的相对位置而指定,诸如“左上角”或“90度”。也可能使用任何其它的位置指定技术。
在另一实施例中,目标位置可能被指定为用户公式的部分。例如,用于图9所示实施例的示范性用户公式可能是B(UL)+C(LL),其中UL是使用包括B的单元的左上角中的值进行指示的目标,并且LL是使用包括C的单元的左下角中的值进行指示的目标位置。可能使用任何其它指示来指定单元内的目标位置。
在启动认证会话时,认证***100向用户提供变量布置,如图9所示。每个单元可能具有一个变量和一定数目的值。用户确认与用户公式中的变量相匹配的布置中提供的变量。用户也可能理解到,每个变量具有目标位置,该目标位置中定位有将要被分配给变量的值。用户确认出每个变量,将指定用于该变量的目标位置中的值分配给该变量,执行用户公式的运算并且输入结果。认证***独立地将指定用于该变量的目标位置中的值分配给该变量,并且执行用户公式的运算以生成独立结果。认证***将该独立结果与用户所输入的结果进行比较,并且如果结果匹配,则认证***授权用户访问服务或应用。如果结果不匹配,则拒绝访问。
图10示出例示运用储存于用户简档中的目标位置的一个实施例的流程图。在块1005中,如上所述生成用户简档。在块1010中生成用户公式并且将其记忆和存储在快1015中。如块1020中所示,启动认证会话。在块1025中,认证***100向用户提供变量和目标位置的布置。在块1030中,用户确认与用户公式中的变量相匹配的布置中提供的变量,并且将指定用于该变量的目标位置中的值分配给该变量。在块1035中,用户确定用户公式的结果并且输入该结果。在块1040中,认证***独立地将指定用于该变量的目标位置中的值分配给该变量,并且执行用户公式的运算以生成独立结果。在块1045中,认证***将该独立结果与用户输入的结果进行比较,并且如果结果匹配,则认证***如块1050中所示授权用户访问服务或应用。如果结果不匹配,则如块1055中所示拒绝访问。
图11示出例示将目标位置运用作为用户公式的部分的一个实施例的流程图。在块1110中,利用目标位置生成用户公式。在块1115中,记忆并且存储用户公式。如块1120所示启动认证会话。在块1125中,认证***100向用户提供变量和目标位置的布置。用户确认与用户公式中的变量相匹配的布置中提供的变量,并且将指定用于该变量的目标位置中的值分配给该变量,如块1130中所示。在块1135中,用户确定用户公式的结果并且输入该结果。在块1140中,认证***独立地将指定用于该变量的目标位置中的值分配给该变量,并且执行用户公式的运算以生成独立结果。如块1045中所示,认证***将该独立结果与用户输入的结果进行比较。如果结果匹配,则在块1150中认证***授权用户访问服务或应用。如块1155中所示,如果结果不匹配,则拒绝访问。
回到图9,尽管单元的布置被图示为矩形网格,但是该布置可能具有任何形状并且可能包括任何数目的单元或位置。该布置内的单元也可能具有任何形状。
在另一实施例中,认证***可能允许用户向用户公式结果添加虚字符,其一般也被称为假目标字符、或者具体地对于数目而言被称为假目标数字。这个特征是有利的,因为其允许用户通过在输入用户公式结果之前自发地向该用户公式结果添加额外的字符而动态地更进一步掩饰用户公式结果。用户可能在用户公式结果中的任何地方添加假目标字符。因而,倘若观察或记录用户动作和变量布置,则从假目标字符难以识别出实际的用户公式结果。假目标字符可能包括任何字母数字式字符、标记、符号或图像。
在一个实施例中,可能将任何数目的假目标字符穿插到用户公式结果的字符之中。在另一个实施例中,可能存在对容许的假目标字符的限制(restriction)。例如,可能不允许某些假目标字符或假目标字符的组合。在其它实施例中,可能指定最大数目的容许的假目标字符。正如一个更特定的实例,假目标字符的最大数目可能是N/2,其中N是在添加假目标字符之前用户公式结果中的字符数目。对假目标字符的限制可能是用户简档的部分,或者可能被指定用于所有用户、或用户的群组。假目标字符限制可能存储于存储器、储存位置、或***100的储存区域中。
参考该N/2实例,可能向用户提供变量布置并且可能将用户公式结果计算为A6B4C3。用户提供AA6BB4C33给认证***,因而即添加了额外的“A”、额外的“B”、和额外的“3”给原始结果。在此实例中,认证***确定原始用户公式结果中的字符源自上述独立计算并且解析该AA6BB4C33字符串。认证***确定原始用户公式结果是存在的并且将假目标字符的数目确定为三。认证***辨识出假目标字符的数目(3)满足假目标字符限制,即,假目标字符的最大数目N/2。该***随后允许访问。倘若假目标字符的数目超过N/2或者原始用户公式结果不存在于字符串中,则认证***拒绝访问。
可能指明其它假目标限制并且可能使用其它最大数目的假目标字符,例如,N/3、N/4等等。
图12示出例示了运用假目标字符的一个实施例的流程图。在块1210中生成用户公式。用户公式可能或可能不包括如上所述的目标位置。用户公式被记忆并且存储在块1215中。如块1220所示启动认证会话。认证***100向用户提供如块1225所示的变量布置。该布置可能或可能不包括如上所述的目标位置以及值。在块1230中,用户确认与用户公式中的变量相匹配的布置中提供的变量,并且将指定用于该变量的值分配给该变量。如果需要,则该值可能是在目标位置中的值。如在块1235中所示,用户确定用户公式的结果并且将包括一个或更多个假目标字符的该结果输入。在块1240中,认证***通过使用分配给变量的值而独立地执行用户公式的运算以生成独立的结果。可能或可能没有从目标位置分配该值。在块1250中,***解析用户生成结果以查明独立结果是否存在于所穿插的假目标字符之中。如果结果不存在,则拒绝访问,如块1265中所示。如果找到结果,并且对假目标字符的假目标字符限制集合为空,则授权访问,如块1260中所示。如果找到结果并且已经指明任何假目标字符限制,即,限制集合为非空的,则***验证假目标字符满足限制,如块1255中所示。如果没有满足限制,则不授权访问(块1265)。如果已满足假目标字符限制,则授权访问(块1260)。
再参看图9,认证***的另一实施例允许用户修改或定制变量的布置的表达。定制可能是针对具体用户或针对用户群组而特定的。当在用户接口定制之后启动认证会话时,向用户提供他们的特定自定义布置。这使得用户能够验证出与之交互作用的***实际上是认证***并且不是冒名顶替的***。
可能使得用户能够定制任何数目的布置特征,包括例如:颜色方案、工具条颜色、填充颜色、背景、文本字体、文本尺寸、文本颜色,等等。在一个实施例中,用户可能能够提供图像,用于包括作为布置的部分,例如,作为用于布置的背景、作为用于单元的背景、作为变量、或作为布置的任何部分。
可能将布置的自定义特征作为如上所述用户简档的部分而存储。在一个实施例中,当启动认证会话时,用户可能通过键入他们的用户名或某些其它唯一标识符而登录。认证***可能随后确证用户名并且提供一种变量布置。如果已经提供合法用户名,则认证***可能供应与用户简档相关联的定制布置,并且可能因而向用户提供例如他们与认证***交互作用的确保等级。在另一个实施例中,如果已经提供合法用户名并且未经客户定制而显示出一种布置,则可能指导用户终止会话。
在一个实施例中,如果提供无效用户名,则认证***可能提供一般的(generic)布置,从而避免发出警告或提供任何信息给潜在的冒名顶替者或攻击者。
应当理解,前述说明仅仅是对所披露实施例的例解。可能由本领域技术人员想出各种替代方案和修改而不离开本文所公开的实施例。相应地,所披露的实施例旨在涵盖所有这样的属于所附权利要求书范畴内的替代方案、修改和变型。
Claims (39)
1.一种认证用户用以访问装置、服务、应用、功能、或***的方法,包括:
以选自认证***所提供的一组变量及运算的用户公式的形式创建认证密钥;
将用户公式储存在认证***中;
运用显示器来向用户呈现由认证***生成的变量布置,该变量布置包括用户公式的变量,每个变量均被赋值;
将所赋的值应用于用户公式中相匹配的变量并计算第一结果;
将一个或更多个额外字符穿插到第一结果的字符之中;
将第一结果与额外字符一起传递到认证***,
其中如果在具有额外字符的第一结果中找出由认证***计算出的用户公式的单独和独立计算的第二结果,并且该额外字符满足一组指定的限制,则认证***认证用户。
2.如权利要求1的方法,其中该组指定的限制为空。
3.如权利要求1的方法,其中由认证***生成的变量布置是为用户定制的。
4.如权利要求1的方法,其中变量包括任何字母数字式字符、标记、符号或图像。
5.如权利要求1的方法,其中该值包括随机生成的数字值。
6.如权利要求1的方法,包括在创建用户公式的过程中向用户提供协助。
7.如权利要求1的方法,其中用户公式包括一个或更多个自定义运算符。
8.如权利要求1的方法,包括:
创建本地公式和远程公式,该本地公式具有用于接收第一结果的变量,该远程公式具有用户公式;并且
如果本地公式的计算匹配远程公式的计算,则认证用户。
9.如权利要求8的方法,其中本地公式是是可移动的。
10.如权利要求8的方法,其中由本地计算装置执行本地公式的计算,并且由远离本地计算装置的控制器执行远程公式的计算。
11.如权利要求1的方法,还包括:
提供包装,该包装启动根据权利要求1的认证会话;
将带有数据的消息封装在包装中;
当试图开启消息时启动用于消息接受器的第一认证会话并且启动用于消息始发器的第二认证会话;
从第二认证会话确定用户公式结果;
向第一认证会话提供结果;和
当认证时允许接受器访问消息和数据。
12.一种用于认证用户以访问装置、服务、应用、功能、或***的***,包括:
认证密钥,形式为选自认证***所提供的一组变量及运算的用户公式,并且存储在认证***中;
显示器,用以向用户呈现由认证***生成的变量布置,该变量布置包括用户公式的变量,每个变量均被赋值;
将所赋的值应用于用户公式中相匹配的变量的第一结果,该第一结果与一个或更多个额外字符穿插在一起并且被传递到认证***;和
认证***中的回路,如果在具有额外字符的第一结果中找出由认证***计算出的用户公式的单独和独立计算的第二结果,并且该额外字符满足一组指定的限制,则该认证***中的回路用于认证用户。
13.一种认证用户用以访问装置、服务、应用、功能、或***的方法,包括:
以具有认证***所提供的变量及运算的用户公式的形式创建认证密钥;
将用户公式储存在认证***中;
运用显示器来向用户呈现变量和值的布置,该变量和值的布置包括用户公式中的变量、以及与每个变量相关联的布置的目标位置中的值;
将在该布置中与变量相关联的目标位置处的值应用于用户公式中相匹配的变量并计算第一结果;
将第一结果传递到认证***;
其中如果第一结果匹配由认证***计算出的用户公式的单独且独立的计算的第二结果,则认证***认证用户。
14.如权利要求13的方法,其中与每个变量相关联的目标位置被包括在用户公式中。
15.如权利要求13的方法,其中与每个变量相关联的目标位置被包括在用户简档中。
16.如权利要求13的方法,其中由认证***生成的变量布置是为用户定制的。
17.如权利要求13的方法,其中变量包括任何字母数字式字符、标记、符号或图像。
18.如权利要求13的方法,其中该值包括随机生成的数字值。
19.如权利要求13的方法,包括在创建用户公式的过程中向用户提供协助。
20.如权利要求13的方法,其中用户公式包括一个或更多个自定义运算符。
21.如权利要求13的方法,包括:
创建本地公式和远程公式,该本地公式具有用于接收第一结果的变量,该远程公式具有用户公式;并且
如果本地公式的计算匹配远程公式的计算,则认证用户。
22.如权利要求21的方法,其中本地公式是是可移动的。
23.如权利要求21的方法,其中由本地计算装置执行本地公式的计算,并且由远离本地计算装置的控制器执行远程公式的计算。
24.如权利要求13的方法,还包括:
提供包装,该包装启动根据权利要求13的认证会话;
将带有数据的消息封装在包装中;
当试图开启消息时启动用于消息接受器的第一认证会话并且启动用于消息始发器的第二认证会话;
从第二认证会话确定用户公式结果;
向第一认证会话提供结果;和
当认证时允许接受器访问消息和数据。
25.一种用于认证用户用以访问装置、服务、应用、功能、或***的***,包括:
认证密钥,形式为具有认证***所提供的变量及运算的用户公式,并且存储在认证***中;
显示器,用以向用户呈现变量和值的布置,该变量和值的布置包括用户公式中的变量、以及与每个变量相关联的布置的目标位置中的值;
将在该布置中与变量相关联的目标位置处的值应用于用户公式中相匹配的变量的第一结果,并且该第一结果被传递到认证***;和
认证***中的回路,如果第一结果匹配由认证***计算出的用户公式的单独且独立的计算的第二结果,则该认证***中的回路用于认证用户。
26.一种认证用户用以访问装置、服务、应用、功能、或***的方法,包括:
以具有认证***所提供的变量及运算的用户公式的形式创建认证密钥;
将用户公式储存在认证***中;
运用显示器来向用户呈现变量和值的布置,该变量和值的布置包括用户公式中的变量、以及与每个变量相关联的布置的目标位置中的值;
将在该布置中与变量相关联的目标位置处的值应用于用户公式中相匹配的变量并计算第一结果;
将一个或更多个额外字符穿插到第一结果的字符之中;
将第一结果与额外字符一起传递到认证***,
其中如果在具有额外字符的第一结果中找出由认证***计算出的用户公式的单独和独立计算的第二结果,并且该额外字符满足一组指定的限制,则认证***认证用户。
27.如权利要求26的方法,其中该组指定的限制为空。
28.如权利要求26的方法,其中与每个变量相关联的目标位置被包括在用户公式中。
29.如权利要求26的方法,其中与每个变量相关联的目标位置被包括在用户简档中。
30.如权利要求26的方法,其中由认证***生成的变量布置是为用户定制的。
31.如权利要求26的方法,其中变量包括任何字母数字式字符、标记、符号或图像。
32.如权利要求26的方法,其中该值包括随机生成的数字值。
33.如权利要求26的方法,包括在创建用户公式的过程中向用户提供协助。
34.如权利要求26的方法,其中用户公式包括一个或更多个自定义运算符。
35.如权利要求26的方法,包括:
创建本地公式和远程公式,该本地公式具有用于接收第一结果的变量,该远程公式具有用户公式;并且
如果本地公式的计算匹配远程公式的计算,则认证用户。
36.如权利要求35的方法,其中本地公式是是可移动的。
37.如权利要求35的方法,其中由本地计算装置执行本地公式的计算,并且由远离本地计算装置的控制器执行远程公式的计算。
38.如权利要求26的方法,还包括:
提供包装,该包装启动根据权利要求26的认证会话;
将带有数据的消息封装在包装中;
当试图开启消息时启动用于消息接受器的第一认证会话并且启动用于消息始发器的第二认证会话;
从第二认证会话确定用户公式结果;
向第一认证会话提供结果;和
当认证时允许接受器访问消息和数据。
39.一种用于认证用户用以访问装置、服务、应用、功能、或***的***,包括:
认证密钥,形式为具有认证***所提供的变量及运算的用户公式,并且存储在认证***中;
显示器,用以向用户呈现变量和值的布置,该变量和值的布置包括用户公式中的变量、以及与每个变量相关联的布置的目标位置中的值;
将在该布置中与变量相关联的目标位置处的值应用于用户公式中相匹配的变量的第一结果,该第一结果与一个或更多个额外字符穿插在一起并且被传递到认证***;和
认证***中的回路,如果在具有额外字符的第一结果中找出由认证***计算出的用户公式的单独和独立计算的第二结果,并且该额外字符满足一组指定的限制,则该认证***中的回路用于认证用户。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/552,555 US7725712B2 (en) | 2003-10-14 | 2006-10-25 | User authentication system and method |
US11/552,555 | 2006-10-25 | ||
PCT/US2007/082088 WO2008051905A2 (en) | 2006-10-25 | 2007-10-22 | User authentication system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101785238A true CN101785238A (zh) | 2010-07-21 |
Family
ID=39325300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780048217A Pending CN101785238A (zh) | 2006-10-25 | 2007-10-22 | 用户认证***和方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7725712B2 (zh) |
EP (1) | EP2084622B1 (zh) |
JP (1) | JP5260533B2 (zh) |
CN (1) | CN101785238A (zh) |
AU (1) | AU2007309051B2 (zh) |
CA (1) | CA2667747C (zh) |
IL (1) | IL198384A (zh) |
TW (1) | TW200835278A (zh) |
WO (1) | WO2008051905A2 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4724835B2 (ja) * | 2005-02-28 | 2011-07-13 | 国立大学法人広島大学 | 認証装置 |
US8327420B2 (en) * | 2006-10-30 | 2012-12-04 | Girish Chiruvolu | Authentication system and method |
TW201310959A (zh) * | 2011-08-31 | 2013-03-01 | Ibm | 動態提供演算式密碼/盤問鑑定的方法與電腦裝置 |
KR101118605B1 (ko) * | 2011-10-18 | 2012-02-27 | 이경민 | 보안이 강화된 로그인 시스템 및 방법 |
US20140157382A1 (en) * | 2012-11-30 | 2014-06-05 | SunStone Information Defense, Inc. | Observable authentication methods and apparatus |
US10628567B2 (en) * | 2016-09-05 | 2020-04-21 | International Business Machines Corporation | User authentication using prompted text |
US11005971B2 (en) | 2018-08-02 | 2021-05-11 | Paul Swengler | System and method for user device authentication or identity validation without passwords or matching tokens |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172159A1 (en) * | 2002-03-06 | 2003-09-11 | Schuba Christoph L. | Method and apparatus for using client puzzles to protect against denial-of-service attacks |
WO2005038573A2 (en) * | 2003-10-14 | 2005-04-28 | Grid Data Security, Inc. | Authentication system |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4184148A (en) | 1975-05-22 | 1980-01-15 | Id Code Industries, Inc. | Identification devices and systems |
US4198619A (en) | 1976-10-28 | 1980-04-15 | Atalla Technovations Corporation | Programmable security system and method |
FR2469760A1 (fr) | 1979-11-09 | 1981-05-22 | Cii Honeywell Bull | Procede et systeme d'identification de personnes demandant l'acces a certains milieux |
GB2112190B (en) | 1981-12-23 | 1985-12-18 | Omron Tateisi Electronics Co | Personal identification system |
US4779224A (en) | 1985-03-12 | 1988-10-18 | Moseley Donald R | Identity verification method and apparatus |
US4964163A (en) | 1988-04-04 | 1990-10-16 | Motorola, Inc. | Method and apparatus for controlling access to a communication system |
US5265162A (en) | 1990-01-16 | 1993-11-23 | George Bush | Portable pin card |
US5130519A (en) | 1990-01-16 | 1992-07-14 | George Bush | Portable pin card |
US5239583A (en) | 1991-04-10 | 1993-08-24 | Parrillo Larry A | Method and apparatus for improved security using access codes |
US5163097A (en) | 1991-08-07 | 1992-11-10 | Dynamicserve, Ltd. | Method and apparatus for providing secure access to a limited access system |
CA2074769C (en) | 1991-08-09 | 2001-03-20 | International Business Machines Corporation | Formula processor |
US5251259A (en) | 1992-08-20 | 1993-10-05 | Mosley Ernest D | Personal identification system |
US5428349A (en) | 1992-10-01 | 1995-06-27 | Baker; Daniel G. | Nondisclosing password entry system |
US5519646A (en) * | 1993-07-15 | 1996-05-21 | Sharp Kabushiki Kaisha | Calculator with display of processing for mulas as processing progresses |
US5754652A (en) | 1994-12-14 | 1998-05-19 | Lucent Technologies Inc. | Method and apparatus for secure pin entry |
US5682475A (en) | 1994-12-30 | 1997-10-28 | International Business Machines Corporation | Method and system for variable password access |
DE69600794T2 (de) * | 1995-02-22 | 1999-06-02 | Agust S. Madison Wis. Egilsson | Graphische entwicklungs- und verwaltungsumgebung für anwendungsprogramme |
US5793866A (en) | 1995-12-13 | 1998-08-11 | Motorola, Inc. | Communication method and device |
EP0804003A3 (en) | 1996-04-26 | 2000-11-15 | Canon Kabushiki Kaisha | Digital signature method and communication system |
US5971272A (en) | 1997-08-19 | 1999-10-26 | At&T Corp. | Secured personal identification number |
JP3781874B2 (ja) | 1997-09-05 | 2006-05-31 | 富士通株式会社 | 画像指示による電子情報管理装置、秘密鍵管理装置及び方法、並びに、秘密鍵管理プログラムを記録した記録媒体 |
US6571336B1 (en) | 1998-02-12 | 2003-05-27 | A. James Smith, Jr. | Method and apparatus for securing a list of passwords and personal identification numbers |
US6253328B1 (en) | 1998-02-12 | 2001-06-26 | A. James Smith, Jr. | Method and apparatus for securing passwords and personal identification numbers |
US6587853B1 (en) | 1999-05-19 | 2003-07-01 | Plum Software Associates, Inc. | System that employs inferencing for troubleshooting complex user authentication problems |
US6750864B1 (en) * | 1999-11-15 | 2004-06-15 | Polyvista, Inc. | Programs and methods for the display, analysis and manipulation of multi-dimensional data implemented on a computer |
US6833847B1 (en) | 1999-12-21 | 2004-12-21 | International Business Machines Corporation | Visual wizard launch pad |
US6246769B1 (en) | 2000-02-24 | 2001-06-12 | Michael L. Kohut | Authorized user verification by sequential pattern recognition and access code acquisition |
US6990586B1 (en) * | 2000-06-02 | 2006-01-24 | International Business Machines Corp. | Secure data transmission from unsecured input environments |
US7178098B2 (en) * | 2000-07-13 | 2007-02-13 | International Business Machines Corporation | Method and system in an electronic spreadsheet for handling user-defined options in a copy/cut—paste operation |
US7043635B1 (en) | 2000-09-15 | 2006-05-09 | Swivel Secure Limited | Embedded synchronous random disposable code identification method and system |
KR100402358B1 (ko) | 2001-03-02 | 2003-10-22 | 설동석 | 간접적인 패스워드 입력을 통한 사용자 확인방법 및 그 장치 |
CA2403300A1 (en) * | 2002-09-12 | 2004-03-12 | Pranil Ram | A method of buying or selling items and a user interface to facilitate the same |
CA2759020C (en) * | 2002-02-13 | 2016-05-17 | Hideharu Ogawa | User verification method and user verification system |
KR20020077838A (ko) * | 2002-08-09 | 2002-10-14 | 박승배 | 타인의 관찰에 의한 패스워드의 노출 문제를 해결한 패스워드 시스템 |
US20030056181A1 (en) * | 2002-09-17 | 2003-03-20 | Marathe Sharad M. | System and method for displaying spreadsheet cell formulas in two dimensional mathematical notation |
US7073067B2 (en) * | 2003-05-07 | 2006-07-04 | Authernative, Inc. | Authentication system and method based upon random partial digitized path recognition |
-
2006
- 2006-10-25 US US11/552,555 patent/US7725712B2/en active Active
-
2007
- 2007-10-22 AU AU2007309051A patent/AU2007309051B2/en not_active Ceased
- 2007-10-22 CN CN200780048217A patent/CN101785238A/zh active Pending
- 2007-10-22 WO PCT/US2007/082088 patent/WO2008051905A2/en active Application Filing
- 2007-10-22 JP JP2009534797A patent/JP5260533B2/ja not_active Expired - Fee Related
- 2007-10-22 EP EP07868528.6A patent/EP2084622B1/en active Active
- 2007-10-22 CA CA2667747A patent/CA2667747C/en not_active Expired - Fee Related
- 2007-10-24 TW TW096139844A patent/TW200835278A/zh unknown
-
2009
- 2009-04-26 IL IL198384A patent/IL198384A/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172159A1 (en) * | 2002-03-06 | 2003-09-11 | Schuba Christoph L. | Method and apparatus for using client puzzles to protect against denial-of-service attacks |
WO2005038573A2 (en) * | 2003-10-14 | 2005-04-28 | Grid Data Security, Inc. | Authentication system |
Also Published As
Publication number | Publication date |
---|---|
JP5260533B2 (ja) | 2013-08-14 |
AU2007309051A1 (en) | 2008-05-02 |
AU2007309051B2 (en) | 2012-08-16 |
WO2008051905A9 (en) | 2008-07-10 |
US20070162745A1 (en) | 2007-07-12 |
EP2084622A4 (en) | 2015-11-04 |
WO2008051905A3 (en) | 2008-08-21 |
CA2667747C (en) | 2016-08-23 |
EP2084622A2 (en) | 2009-08-05 |
EP2084622B1 (en) | 2020-10-07 |
TW200835278A (en) | 2008-08-16 |
IL198384A0 (en) | 2010-02-17 |
WO2008051905A2 (en) | 2008-05-02 |
CA2667747A1 (en) | 2008-05-02 |
US7725712B2 (en) | 2010-05-25 |
IL198384A (en) | 2013-08-29 |
JP2010517121A (ja) | 2010-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8555079B2 (en) | Token management | |
US8656180B2 (en) | Token activation | |
CN1894882B (zh) | 认证*** | |
US20130145148A1 (en) | Passcode restoration | |
CN103929306A (zh) | 智能密钥设备和智能密钥设备的信息管理方法 | |
JP2015515218A (ja) | 抽象化およびランダム化された取引認証用ワンタイム使用パスワードのための方法およびシステム | |
JPWO2007094165A1 (ja) | 本人確認システムおよびプログラム、並びに、本人確認方法 | |
CN102301642A (zh) | 安全交易认证 | |
US10033724B2 (en) | System of composite passwords incorporating hints | |
JP2010200381A (ja) | データ完全性を確認するための方法およびシステム | |
GB2514419A (en) | Improved user authentication system and method | |
CN101785238A (zh) | 用户认证***和方法 | |
JP7412725B2 (ja) | 認証方法及び認証装置 | |
JP2018502410A (ja) | 共通識別データ置換システムおよび方法 | |
JPH11306088A (ja) | Icカードおよびicカードシステム | |
EP3579595A1 (en) | Improved system and method for internet access age-verification | |
US7412603B2 (en) | Methods and systems for enabling secure storage of sensitive data | |
JP2006048390A (ja) | 二次元コード利用者認証方法、および二次元コード利用者認証システム | |
TW201544983A (zh) | 資料通訊方法和系統及客戶端和伺服器 | |
JP2010102726A (ja) | 二次元コード利用者認証方法、および二次元コード配信サーバ | |
JPWO2011058629A1 (ja) | 情報管理システム | |
JP2005237037A (ja) | 認証用記録媒体を用いた認証システムおよび認証用記録媒体の作成方法 | |
KR20200143182A (ko) | 고유 정보를 이용한 실시간 문자열 변조/복조 장치 및 방법 | |
JPWO2007066385A1 (ja) | 個人認証システム、個人認証方法、及び個人認証を実行するプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100721 |