CN114245977A - 用于客户端应用的安全凭证管理 - Google Patents

用于客户端应用的安全凭证管理 Download PDF

Info

Publication number
CN114245977A
CN114245977A CN202080058114.5A CN202080058114A CN114245977A CN 114245977 A CN114245977 A CN 114245977A CN 202080058114 A CN202080058114 A CN 202080058114A CN 114245977 A CN114245977 A CN 114245977A
Authority
CN
China
Prior art keywords
credential
credentials
computer
client application
hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080058114.5A
Other languages
English (en)
Inventor
S·格林
D·J·尼斯
L·伊多·埃文斯
S·弗朗西斯
T·R·福伊尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN114245977A publication Critical patent/CN114245977A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/40User authentication by quorum, i.e. whereby two or more security principals are required
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供了用于针对客户端应用的安全凭证管理的方法和系统。该方法包括:检测用户正在输入用于认证客户端应用的安全凭证;哈希化至少一部分输入的凭证以获取当前哈希凭证并存储当前哈希凭证;以及将当前哈希凭证与针对客户端应用的先前存储的哈希凭证进行比较。如果当前哈希凭证与先前存储的哈希凭证匹配,则该方法可以存储凭证以用于自动完成针对客户端应用的凭证。

Description

用于客户端应用的安全凭证管理
技术领域
本发明涉及安全凭证管理,并且具体地,涉及用于针对存储客户端应用的可重复使用凭证的安全凭证管理。
背景技术
客户端应用可以被配置为存储用户登录标识和密码。一些客户端计算设备可以使用密码管理服务来存储其用户的针对不同客户端应用的登录凭证。
所存储的凭证可以被自动传送到网络服务器以发起用户授权。该过程通过消除从已知客户计算机重新输入凭证所需的时间而增加了用户的便利性。
为了增强网络安全措施,许多公司采用了多因素认证(MFA)协议,其中用户输入两种形式的标识以便访问应用或网络。在许多MFA系统中,第一形式的标识是固定密码,并且第二形式的标识是针对特定实例生成的一次性密码(OTP)并且在使用或一段时间后到期。
MFA通过要求来自不同源的凭证来提供安全认证。换言之,第一凭证的源应当与第二凭证的源不同。
用户可以输入主要标识,并且第二凭证可以是由安全令牌生成的一次性密码(OTP)。OTP可以是密码或PIN码形式的数字、字母和符号的任何组合。OTP可以由用户所有权的设备生成,例如具有OTP生成器的钥匙环设备或智能卡,或者由嵌入到智能电话、平板电脑、个人计算机或另一计算设备中的软件令牌生成,或者可以经由蜂窝电话或电子邮件消息而被接收。在输入后,第一凭证和第二凭证就被传送到认证机制以验证凭证并准许或限制用户对应用、网络或服务器的访问。
安全凭证可以是固定密码和OTP的级联形式。在这些情况下,软件应用应该仅存储第一形式的标识,因为重新传送一组过期的凭证将仅导致验证机制拒绝用户的访问。
已知用于分析输入安全凭证以确定它们是否是MFA凭证以查明它们是否应该被存储以用于自动输入的方法。一种已知的方法评估安全凭证的按键敲击的节奏,以标识固定密码的输入和OTP的输入之间的暂停。如果确定MFA没有被使用,则客户端将存储密码并在会话期满时重新使用它。然而,如果确定正在使用MFA,则客户端将不存储密码,并且将每次为其重新提示用户,以避免使用户的密码无效。
因此,在本领域中需要解决上述问题。
发明内容
从第一方面来看,本发明提供了一种用于针对客户端应用的安全凭证管理的计算机实现的方法,包括:检测用户正在输入用于认证客户端应用的安全凭证;哈希化至少一部分输入的凭证以获取当前哈希凭证并且存储当前哈希凭证;将当前哈希凭证与客户端应用的先前存储的哈希凭证进行比较;以及如果当前哈希凭证与先前存储的哈希凭证匹配,则存储检测到的安全凭证以用于自动完成针对客户端应用所需的安全凭证。
从另一方面来看,本发明提供了一种用于针对客户端应用的安全凭证管理的计算机系统,包括:处理器和存储器,存储器被配置为向处理器提供计算机程序指令以执行以下组件的功能:凭证检测组件,用于检测用户正在输入用于认证客户端应用的安全凭证;哈希化组件,用于哈希化至少一部分输入的凭证以获取当前哈希凭证,以及哈希存储组件,用于存储当前哈希凭证;比较组件,用于将当前哈希凭证与客户端应用的先前存储的哈希凭证进行比较;以及自动凭证组件,用于如果当前哈希凭证与先前存储的哈希凭证匹配,用于存储检测到的安全凭证以用于自动完成针对客户端应用的安全凭证的凭证存储组件。
从另一方面来看,本发明提供了一种用于针对客户端应用的安全凭证管理的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其体现的程序指令,该程序指令由处理器可执行以使处理器:检测用户正在输入用于认证客户端应用的安全凭证;哈希化至少一部分输入的凭证以获取当前哈希凭证并存储当前哈希凭证;将当前哈希凭证与客户端应用的先前存储的哈希凭证进行比较;以及如果当前哈希凭证与先前存储的哈希凭证匹配,存储检测到的安全凭证以用于自动完成客户端应用的安全凭证。
从另一方面来看,本发明提供了一种用于针对客户端应用的安全凭证管理的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质由处理电路可读取并且存储由处理电路执行以执行用于执行本发明的步骤的方法的指令。
从另一方面来看,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当所述程序在计算机上运行时,用于执行本发明的步骤。
根据本发明的一个方面,提供了一种用于针对客户端应用的安全凭证管理的计算机实现的方法,包括:检测用户正在输入用于认证客户端应用的安全凭证;哈希化至少一部分输入的凭证以获取当前哈希凭证并存储当前哈希凭证;将当前哈希凭证与客户端应用的先前存储的哈希凭证进行比较;以及如果当前哈希凭证和先前存储的哈希凭证匹配,则存储凭证以用于自动完成客户端应用的凭证。
根据本发明的另一方面,提供了一种用于针对客户端应用的安全凭证管理的系统,包括:处理器和存储器,该存储器被配置为向处理器提供计算机程序指令以执行以下部件的功能:凭证检测组件,用于检测用户正在输入用于认证客户端应用的安全凭证;哈希化组件,用于哈希化至少一部分输入的凭证以获取当前哈希凭证,以及哈希存储组件,用于存储当前哈希凭证;比较组件,用于将当前哈希凭证与客户端应用的先前存储的哈希凭证进行比较;以及自动凭证组件,用于如果当前哈希凭证与先前存储的哈希凭证匹配,用于存储凭证以用于自动完成针对客户端应用的凭证的凭证存储组件。
根据本发明的另一方面,提供了一种用于针对客户端应用的安全凭证管理的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其体现的程序指令,该程序指令由处理器可执行以使处理器:检测用户正在输入用于认证客户端应用的安全凭证;哈希化至少一部分输入的凭证以获取当前哈希凭证并存储当前哈希凭证;将当前哈希凭证与客户端应用的先前存储的哈希凭证进行比较;以及如果当前哈希凭证与先前存储的哈希凭证匹配,存储凭证以用于自动完成客户端应用程序的凭证。
附图说明
在说明书的结论部分特别指出并清楚地要求保护本发明的主题。当结合附图阅读时,通过参考以下具体实施方式,可以最好地理解本发明的组织和操作方法两者,以及其目的、特征和优点。
现在将参考以下附图仅通过示例的方式描述本发明的优选实施例,其中:
图1是其中可以实现本发明的系统的示例实施例的框图;
图2是根据本发明的方法的第一示例实施例的流程图;
图3是根据本发明的方法的第二示例实施例的流程图;
图4是根据本发明的系统的示例实施例的框图;
图5是其中可以实现本发明的计算机系统或云服务器的实施例的框图;
图6是其中可以实现本发明的云计算环境的示意图;以及
图7是其中可以实现本发明的云计算环境的抽象模型层的图。
应当理解,为了说明的简单和清楚,图中所示的元件不一定按比例绘制。例如,为了清楚起见,一些元件的维度可以相对于其他元件被放大。此外,在认为适当的情况下,附图标记可以在附图中重复以指示对应或类似的特征。
具体实施方式
描述了一种用于针对客户端应用的安全凭证管理的方法和系统。安全凭证管理存储用于在使用客户端应用时自动提供的凭证。然而,管理需要在固定的安全凭证和由于MFA方法而变化的安全凭证之间进行区分。特别地,MFA方法可以将OTP与固定密码级联以形成凭证。
本发明的实施例认识到,当标识MFA凭证时,当前的MFA分析和方法可能导致假肯定。假肯定将导致用户的密码不被存储,从而导致差的用户体验。当用户输入以他们必须记住的日期或数字组合结束的复杂密码时,可能发生假肯定,并且因此将导致密码的第二一半具有较慢的键敲击输入速度。
本发明的实施例提供了用于通过比较整个凭证或凭证的一个或多个部分的哈希来比较当前提供的凭证与先前输入的针对客户端应用的凭证的解决方案。
在一个实施例中,比较整个凭证,并且如果它们匹配,则凭证适于被存储以用于自动完成客户端应用。当已经执行了建议凭证是不应该被存储的MFA凭证的分析时,这可以被用作备份检查。
在另一实施例中,凭证可以被分成两个部分,第一部分被假设为固定密码,而第二部分被假设为诸如OTP等可变令牌。至少第二部份可以被哈希化并与第二部份的先前哈希版本比较以查看该部分实际上是否是可变令牌。在另一变型中,如下面进一步解释的那样比较两个部分。
该方法使用用于运行简单试探法的客户端软件的一片来检测在客户端侧的用户对MFA的使用,该简单试探法用于通过在每次输入密码和令牌时比较密码和令牌来检查输入的凭证是否包括MFA令牌。
参考图1,提供了可以实现本发明的系统100的示例性实施例。系统100可以包括具有客户端应用134的客户端计算设备130,当连接到相关联的远程服务器110或网络时,所述客户端应用需要认证。
客户端计算设备130可以包括至少一个处理器131、硬件模块或用于执行所描述的组件的功能的电路,其可以是在至少一个处理器上执行的软件单元。可以提供运行并行处理线程的多个处理器,以使得能够并行处理组件的一些或全部功能。存储器132可以被配置为向至少一个处理器131提供计算机指令133。
计算机指令133可以包括客户端应用134,其要求例如通过应用的认证组件135进行认证。客户端计算设备130还可以包括用于将凭证输入到认证组件135中的输入/输出设备136,其可以是键盘、鼠标、触摸屏显示器等。
认证组件135可以使用MFA,其中从诸如OTP提供设备120的另一源提供OTP,以用于通过I/O设备136输入到客户端应用134认证组件135。OTP可以被输入级联到客户端应用134的用户的固定密码。
所描述的系统提供用于经由客户端计算设备130管理凭证输入的凭证安全管理组件160。凭证安全管理组件160可以被本地提供给客户端计算设备130或可以作为安全远程服务而被提供。凭证安全管理组件160可以提供凭证存储组件163,用于在客户端计算设备130处或经由安全通信信道远程地在存储设备170处存储凭证,以及自动完成组件164,用于在认证组件135中自动完成凭证。
凭证安全管理组件160可以包括MFA识别组件161,用于标识认证组件135何时正在使用MFA,以便评估可以存储哪些凭证以用于自动完成。所描述的系统提供了凭证检查组件162,以用于验证凭证是不应被存储的可变MFA凭证还是可以被存储的固定凭证。
参考图2,流程图200示出了由凭证安全管理组件160执行的所描述的方法的第一示例实施例。
该方法可以接收201用于客户端应用的用户凭证的输入。可以确定202凭证是否包括MFA的可能使用。这可以通过各种方法来确定,包括分析凭证的输入键敲击的节奏,以确定是否存在对凭证的一部分的延迟或较慢的输入,该延迟或较慢的输入指示诸如OTP的可变令牌的使用。在一个实施例中,MFA的可能使用通过阈值概率而被度量。
如果确定凭证不可能使用MFA,则可以存储207凭证以用于将来的自动完成。
然而,如果确定凭证可能使用MFA,则可以通过对输入凭证的整个字符串进行安全哈希化203并且存储结果来检查。安全哈希可以应用单向密码哈希函数来产生凭证的消息摘要。消息摘要可以被安全地存储,并且可以被用于验证已经从相同的输入凭证生成了另一消息摘要。通过将当前生成的消息摘要与先前输入的凭证的存储的先前生成的消息摘要进行比较204来执行验证。
可以确定205消息摘要是否匹配。如果是,则这指示凭证不包括可变令牌,并且可以被存储207以用于自动完成认证。
如果确定205消息摘要不匹配,则这指示凭证或者包括如在MFA中使用的可变令牌,或者凭证已经改变,所以不存储206凭证。如果凭证由于密码更新而改变,并且不包含可变令牌,则下一次输入凭证时生成的消息摘要将与该生成的消息摘要相匹配,并且凭证将被存储。
然后,消息可以等待下一个凭证的输入210,并且该方法可以重复。
参考图3,流程图300示出了由凭证安全管理组件160执行的所描述的方法的第二示例实施例。
以类似于第一实施例的方式,该方法可以接收301用于客户端应用的用户凭证的输入。可以确定302凭证是否包括MFA的可能使用。这可以通过各种方法来确定,包括分析凭证的输入键敲击的节奏,以确定是否存在对凭证的一部分的延迟或较慢的输入,该延迟或较慢的输入指示诸如OTP的可变令牌的使用。在一个实施例中,MFA的可能使用通过阈值概率而被度量。
如果确定303凭证不可能使用MFA,则可以存储321凭证以用于将来的自动完成。
然而,如果确定303凭证可能使用MFA,则该方法可以基于对是否正在使用MFA的分析来划分304凭证,并且可以分析305划分的部分以确定假设的固定密码部分和假设的可变令牌部分。例如,使用输入键敲击节奏的方法可以指示凭证的两个部分之间的明显区别,其中一个部分可以假设为固定密码,而其中一个部分可以假设为诸如OTP的可变令牌。
例如,如果键敲击的节奏指示输入期间的暂停,则暂停可以示出两个部分之间的划分,并且每个部分中的键敲击的输入的比较速度可以通过比新接收到的可变令牌更快的输入来指示已知的固定密码。确定一部分是否是可变令牌的另一种方法是分析字符,并且主要是数字的部分可以指示可变令牌。
该方法可以取得306假设的固定密码部分的安全哈希,并且可以存储所得到的消息摘要。可以将当前生成的消息摘要与先前存储的消息摘要进行比较307。
该方法还可以对假设的可变令牌部分进行安全哈希化308,并且可以存储所得到的消息摘要。可以将当前生成的消息摘要与先前存储的消息摘要进行比较309。
哈希比较可以使用诸如MD5、SHA或SHA256的无盐式(non-salted)哈希算法。这意味着特定字符串的哈希将总是相同的,因此可以直接比较。当在线路上发送密码时,不可能使用这些非加密哈希算法,因为它们不如较新的加密算法安全;然而,它们足够安全以便由客户端本地存储,以用于确定是否正在使用MFA的目的。
可以确定310所假设的可变令牌部分的消息摘要是否匹配。如果是,则这指示假设的可变令牌部分实际上是固定的,并且MFA没有被使用,因此可以存储321凭证以用于将来自动完成。例如,当假设的可变令牌实际上是密码或可能具有较慢输入节奏的其它密码部分的结尾的日期时,这可以发生。
如果确定310假设的可变令牌部分的消息摘要不匹配,则它们实际上是指示MFA正在凭证中被使用的变量。然后,该方法可以确定311假设的固定密码部分的消息摘要是否匹配。如果是,则可以假设凭证正在使用322MFA,并且至少令牌部分不应该被存储。可以存储固定密码部分以用于将来的自动完成。
如果确定311,如果假设的固定密码部分的消息摘要不匹配,则这可以指示密码已经被重置323,并且凭证不应该被存储,直到其中确认新密码的下一次迭代为止。
在所有情况下,该方法然后可以等待324凭证的下一个输入以用于验证。可以在多次认证尝试中或者在每次认证时验证MFA正在被使用的假设的正确性。
该方法在客户端侧使用软件以用于检测固定密码和可变令牌之间的划分,并对双方进行哈希化,存储它们,并且每次需要凭证时通过检查密码部分保持不变以及令牌部分每次都改变来比较双方。
可以使用已知的方法来检测凭证是否可能正在使用MFA。如果可能正在使用MFA,则执行附加步骤以验证凭证是否包括可变部分,而不是在此时不存储密码。用户的密码可能在可以被MFA分析系统解释为令牌的日期结束,并且当事实上凭证是固定的并且可以被存储时,可以假设MFA的假肯定。
在服务器还不知道是否正在使用MFA的情况下,该方法可以用于提供对两个输入的凭证之间的差异的更深入的分析,以确定是否正在使用MFA令牌。
参考图4,框图示出了图1的凭证安全管理组件160的凭证检查组件162的进一步细节。
凭证检查组件162可以包括凭证检测组件401,以用于检测用户正在输入用于认证客户端应用程序的安全凭证。凭证检测组件401可以被限制于由MFA识别组件161确定为具有使用MFA方法的阈值概率的凭证。
凭证检查组件162可以包括凭证拆分组件402,以用于基于对所输入的安全凭证的分析将所输入的安全凭证拆分成第一部分和第二部分,以标识第一部分和第二部分之间的输入的暂停或节奏改变。凭证检查组件162可以包括部分标识组件403,以用于通过分析凭证的输入来确定第一部分或第二部分是假设的可变令牌部分,而第一部分或第二部分中的另一个是假设的固定密码部分。
凭证检查组件162可以包括哈希化组件404,以用于哈希化至少一部分输入的凭证以获取当前哈希凭证,哈希存储组件406,以用于存储当前哈希凭证,以及比较组件405,以用于比较当前哈希凭证和客户端应用的先前存储的的哈希凭证。
哈希化组件404和比较组件405可以在整个凭证字符串上或第一部分和第二部分中的一者或两者上分别进行操作。
凭证安全管理组件160可以包括自动凭证组件164和凭证存储组件163,以用于如果在认证凭证中没有使用MFA,则存储凭证以用于自动完成用于客户端应用的凭证。
在凭证被划分成假设的固定密码部分和假设的可变令牌部分的实施例中,可以发生以下情况。
如果比较组件405确定假设的可变令牌部分的当前哈希凭证与先前存储的哈希凭证匹配,则凭证存储组件163可以存储用于自动完成客户端应用程序的凭证。
如果比较组件405确定假设的可变令牌部分的当前哈希凭证与先前存储的哈希凭证不匹配,并且假设的固定密码部分的的当前哈希凭证与先前存储的哈希凭证匹配,则凭证存储组件163可以存储假设的固定密码部分,以用于自动完成客户端应用的部分凭证。
如果比较组件405确定假设的固定密码部分的当前哈希凭证与先前存储的哈希凭证不匹配,则凭证存储组件164可以在存储凭证以用于自动完成客户端应用的凭证之前等待下一输入凭证。
图5描绘了根据本发明的实施例的图1的系统100的客户端计算设备130的组件的框图。应当理解,图5仅提供了一种实现的图示,而不暗示对其中可以实现不同实施例的环境的任何限制。可以对所描述的环境进行许多修改。
客户端计算设备130可以包括一个或多个处理器502、一个或多个计算机可读RAM504、一个或多个计算机可读ROM 506、一个或多个计算机可读存储介质508、设备驱动器512、读取/写入驱动器或接口514以及网络适配器或接口516,所有这些都通过通信结构518互连。通信结构518可以用被设计成在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其它硬件组件之间传递数据和/或控制信息的任何体系结构来实现。
一个或多个操作系统510以及诸如客户端应用131和凭证安全管理组件的应用程序511存储在一个或多个计算机可读存储介质508上,以便由一个或多个处理器502经由一个或多个相应的RAM 504(通常包括高速缓冲存储器)来执行。在所示实施例中,根据本发明的实施例,每个计算机可读存储介质508可以是内部硬盘驱动器的磁盘存储设备、CD-ROM、DVD、记忆棒、磁带、磁盘、光盘、诸如RAM、ROM、EPROM、闪存的半导体存储设备、或可以存储计算机程序和数字信息的任何其它计算机可读存储介质。
客户端计算设备130还可以包括R/W驱动器或接口514,以从一个或多个便携式计算机可读存储介质526读取和向其写入。客户端计算设备130上的应用程序511可以存储在便携式计算机可读存储介质526中的一个或多个便携式计算机可读存储介质上,经由相应的R/W驱动器或接口514读取,并且加载到相应的计算机可读存储介质508中。
客户端计算设备130还可以包括网络适配器或接口516,诸如TCP/IP适配卡或无线通信适配器。客户端计算设备130上的应用程序511可以经由网络(例如,互联网、局域网或其他广域网或无线网络)和网络适配器或接口516从外部计算机或外部存储设备下载到计算设备。程序可以从网络适配器或接口516加载到计算机可读存储介质508中。网络可以包括铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机和边缘服务器。
客户端计算设备130还可以包括显示屏520、键盘或小键盘522以及计算机鼠标或触摸板524。设备驱动器512与用于成像的显示屏520、键盘或小键盘522、计算机鼠标或触摸板524和/或用于字母数字字符输入和用户选择的压力感测的显示屏520相接口。设备驱动程序512、R/W驱动或接口514以及网络适配器或接口516可以包括存储在计算机可读存储介质508和/或ROM 506中的硬件和软件。
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如互联网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk、C++等)和过程编程语言(例如“C”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用互联网服务提供方通过互联网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。
这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中所注明的功能可以不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
云计算
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所陈述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者进行人工交互。广域网接入:能力在网络上可用,并且通过促进由异构的薄或厚客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
资源池化:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级别(例如国家、州或数据中心)指定位置。
快速弹性:在一些情况下,可以快速且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
测量服务:云系统通过利用在适合于服务类型(例如,存储装置、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用服务的提供者和消费者两者提供透明性。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用程序可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户端界面从各种客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储装置、或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户专用应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型如下:
私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。
社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或更多云(私有、共同体或公共)的组合,所述云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点的网络的基础设施。
现在参考图67,描绘了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,所述本地计算设备例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图6中所示的计算设备54A-N的类型仅旨在说明,并且计算节点10和云计算环境50可以在任何类型的网络和/或网络可寻址连接上(例如,使用web浏览器)与任何类型的计算设备通信。
现在参考图7,示出了由云计算环境50(图6)提供的一组功能抽象层。应当预先理解,图7中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储装置72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态采购。计量和定价82提供了在云计算环境中利用资源时的成本跟踪,以及针对消耗这些资源的帐单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)规划和履行85提供对云计算资源的预安排和采购,其中根据SLA预期未来需求。
工作负载层90提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育传送93;数据分析处理94;交易处理95;以及安全凭证管理处理96。
已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是明显的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
在不背离本发明的范围的情况下,可以对前述内容进行改进和修改。

Claims (20)

1.一种用于针对客户端应用的安全凭证管理的计算机实现的方法,包括:
检测用户正在输入用于认证客户端应用的安全凭证;
哈希化至少一部分输入的凭证以获取当前哈希凭证并且存储所述当前哈希凭证;
将所述当前哈希凭证与针对所述客户端应用的先前存储的哈希凭证进行比较;以及
如果所述当前哈希凭证与所述先前存储的哈希凭证匹配,存储检测到的安全凭证以用于自动完成针对所述客户端应用所需的所述安全凭证。
2.根据权利要求1所述的计算机实现的方法,还包括:
基于输入安全凭证的节奏并且应用所述哈希化和比较,以确认多因素认证方法被使用或者存储所述凭证以用于自动完成针对所述客户端应用的所述凭证,来确定存在所述用户正在使用所述多因素认证方法的阈值概率。
3.根据前述权利要求中的任一项所述的计算机实现的方法,还包括:
基于对输入的安全凭证的分析,将所述输入的安全凭证拆分为第一部分和第二部分,以标识所述第一部分和所述第二部分之间的输入的节奏的暂停或改变,其中分别针对所述第一部分和所述第二部分中的一者或两者,哈希化和比较所述输入的凭证被执行。
4.根据权利要求3所述的计算机实现的方法,还包括:
通过分析所述凭证的所述输入来确定所述第一部分或所述第二部分是假设的可变令牌部分,并且所述第一部分或所述第二部分中的另一个是假设的固定密码部分。
5.根据权利要求4所述的计算机实现的方法,其中如果所述假设的可变令牌部分的所述当前哈希凭证与所述先前存储的哈希凭证匹配,存储所述安全凭证以用于自动完成所述客户端应用的所述安全凭证。
6.根据权利要求4所述的计算机实现的方法,其中如果所述假设的可变令牌部分的所述当前哈希凭证与所述先前存储的哈希凭证不匹配,并且所述假设的固定密码部分的所述当前哈希凭证和所述先前存储的哈希凭证匹配,存储所述假设的固定密码部分以用于自动完成所述客户端应用的部分凭证。
7.根据权利要求4所述的计算机实现的方法,其中如果所述假设的固定密码部分的所述当前哈希凭证与所述先前存储的哈希凭证不匹配,在存储凭证以用于自动完成所述客户端应用的所述凭证之前,针对后续输入凭证重复所述方法。
8.根据前述权利要求中任一项所述的计算机实现的方法,其中所述方法在客户端计算设备处被执行,以用于在所述客户端计算设备处存储凭证以用于自动完成针对客户端应用的所述凭证。
9.根据前述权利要求中任一项所述的计算机实现的方法,其中所述方法针对远程服务处的客户端计算设备而被执行,以用于在所述客户端计算设备处存储凭证以用于自动完成针对客户端应用的所述凭证。
10.一种用于针对客户端应用的安全凭证管理的计算机系统,包括:
处理器和存储器,所述存储器被配置为向所述处理器提供计算机程序指令以执行以下组件的功能:
凭证检测组件,用于检测用户正在输入用于认证客户端应用的安全凭证;
哈希化组件,用于哈希化至少一部分输入的凭证以获取当前哈希凭证,以及哈希存储组件,用于存储所述当前哈希凭证;
比较组件,用于将所述当前哈希凭证与针对所述客户端应用的先前存储的哈希凭证进行比较;以及
自动凭证组件,用于如果所述当前哈希凭证与所述先前存储的哈希凭证匹配,用于存储检测到的安全凭证以用于自动完成针对所述客户端应用的所述安全凭证的凭证存储组件。
11.根据权利要求10所述的计算机系统,还包括:
多因素认证识别组件,用于基于输入安全凭证的节奏来确定存在用户正在使用多因素认证方法的阈值概率。
12.根据权利要求10或权利要求11中任一项所述的计算机系统,还包括:
凭证拆分组件,用于基于对输入的安全凭证的分析,将所述输入的安全凭证拆分为第一部分和第二部分,以标识所述第一部分和所述第二部分之间的输入的节奏的暂停或改变;
其中所述哈希化组件和所述比较组件在所述第一部分和所述第二部分中的一者或两者上分别进行操作。
13.根据权利要求12所述的计算机系统,还包括:
部分标识组件,用于通过分析所述凭证的所述输入来确定所述第一部分或所述第二部分是假设的可变令牌部分,并且所述第一部分或所述第二部分中的另一个是假设的固定密码部分。
14.根据权利要求12所述的计算机系统,其中,如果所述比较组件确定所述假设的可变令牌部分的所述当前哈希凭证与所述先前存储的哈希凭证匹配,所述凭证存储组件存储所述凭证以用于自动完成所述客户端应用的所述凭证。
15.根据权利要求12所述的计算机系统,其中,如果所述比较组件确定所述假设的可变令牌部分的所述当前哈希凭证与所述先前存储的哈希凭证不匹配,并且所述假设的固定密码部分的所述当前哈希凭证与所述先前存储的哈希凭证匹配,所述凭证存储组件存储所述假设的固定密码部分以用于自动完成所述客户端应用的一部分凭证。
16.根据权利要求12所述的计算机系统,其中,如果所述比较组件确定所述假设的固定密码部分的所述当前哈希凭证与所述先前存储的哈希凭证不匹配,所述凭证存储组件在存储凭证以用于自动完成所述客户端应用的所述凭证之前等待后续输入的凭证。
17.根据权利要求10至16中任一项所述的计算机系统,其中所述系统在客户端计算设备处被执行,以用于在所述客户端计算设备处存储凭证以用于自动完成针对客户端应用的所述凭证。
18.根据权利要求10至17中任一项所述的计算机系统,其中所述系统针对远程服务处的客户端计算设备而被执行,以用于在所述客户端计算设备处存储凭证以用于自动完成针对客户端应用的所述凭证。
19.一种用于针对客户端应用的安全凭证管理的计算机程序产品,所述计算机程序产品包括:
计算机可读存储介质,所述计算机可读存储介质由处理电路可读取并且存储用于由所述处理电路执行的指令,所述指令用于执行根据权利要求1至9中任一项所述的方法。
20.一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,所述计算机程序包括软件代码部分,当所述程序在计算机上运行时,用于执行根据权利要求1至9中任一项所述的方法。
CN202080058114.5A 2019-09-09 2020-09-01 用于客户端应用的安全凭证管理 Pending CN114245977A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/564,012 2019-09-09
US16/564,012 US11269987B2 (en) 2019-09-09 2019-09-09 Security credentials management for client applications
PCT/IB2020/058130 WO2021048686A1 (en) 2019-09-09 2020-09-01 Security credentials management for client applications

Publications (1)

Publication Number Publication Date
CN114245977A true CN114245977A (zh) 2022-03-25

Family

ID=74849991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080058114.5A Pending CN114245977A (zh) 2019-09-09 2020-09-01 用于客户端应用的安全凭证管理

Country Status (6)

Country Link
US (1) US11269987B2 (zh)
JP (1) JP7497944B2 (zh)
CN (1) CN114245977A (zh)
DE (1) DE112020003555B4 (zh)
GB (1) GB2601098B (zh)
WO (1) WO2021048686A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11941262B1 (en) * 2023-10-31 2024-03-26 Massood Kamalpour Systems and methods for digital data management including creation of storage location with storage access ID

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130145170A1 (en) * 2011-12-01 2013-06-06 International Business Machines Corporation Cross system secure logon
US20160162683A1 (en) * 2013-05-29 2016-06-09 Hewlett Packard Enterprise Development Lp Passive security of applications
CN110111087A (zh) * 2011-08-30 2019-08-09 D·耶格尔 用于授权利用不可预期密码的交易的系统和方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409543B1 (en) * 2000-03-30 2008-08-05 Digitalpersona, Inc. Method and apparatus for using a third party authentication server
CA2658241C (en) 2006-07-10 2018-01-02 Esbatech Ag Scfv antibodies which pass epithelial and/or endothelial layers
CN101772015A (zh) 2008-12-29 2010-07-07 卢中江 移动终端语音密码开机的方法
US10250589B2 (en) 2010-05-20 2019-04-02 Cyberark Software Ltd. System and method for protecting access to authentication systems
US8959347B2 (en) 2011-08-29 2015-02-17 Salesforce.Com, Inc. Methods and systems of data security in browser storage
CN103326991A (zh) 2012-03-20 2013-09-25 北京聚宝网络科技有限公司 一种用户密码加密存储及验证的方法
US9122865B2 (en) 2012-09-11 2015-09-01 Authenticade Llc System and method to establish and use credentials for a common lightweight identity through digital certificates
JP5460832B2 (ja) 2012-11-29 2014-04-02 キヤノン株式会社 情報処理装置、認証方法、及びコンピュータプログラム
US9147063B1 (en) 2013-09-27 2015-09-29 Emc Corporation Passcode generation utilizing selected permutation type applied to tokencode and personal identifier
US20150227733A1 (en) * 2014-02-10 2015-08-13 Hyundai Motor Company Automatic login system and automatic login method
US9569610B2 (en) 2014-03-28 2017-02-14 International Business Machines Corporation Managing a password
US9426139B1 (en) 2015-03-30 2016-08-23 Amazon Technologies, Inc. Triggering a request for an authentication
CN108780479B (zh) 2015-09-05 2022-02-11 万事达卡技术加拿大无限责任公司 用于对异常进行检测和评分的系统和方法
US10708052B2 (en) 2017-02-28 2020-07-07 Blackberry Limited Inadvertent password entry detection
CN110166220B (zh) 2019-05-06 2022-05-06 山东公链信息科技有限公司 一种根据分区键的散列值进行切分的分片方法
CN110166250A (zh) 2019-05-16 2019-08-23 四川长虹电器股份有限公司 一种防暴力破解的验证码交互方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110111087A (zh) * 2011-08-30 2019-08-09 D·耶格尔 用于授权利用不可预期密码的交易的系统和方法
US20130145170A1 (en) * 2011-12-01 2013-06-06 International Business Machines Corporation Cross system secure logon
US20160162683A1 (en) * 2013-05-29 2016-06-09 Hewlett Packard Enterprise Development Lp Passive security of applications

Also Published As

Publication number Publication date
GB2601098A (en) 2022-05-18
US11269987B2 (en) 2022-03-08
DE112020003555T5 (de) 2022-06-02
WO2021048686A1 (en) 2021-03-18
GB2601098B (en) 2022-09-07
GB2601098A8 (en) 2022-07-06
GB202203033D0 (en) 2022-04-20
US20210073370A1 (en) 2021-03-11
JP7497944B2 (ja) 2024-06-11
DE112020003555B4 (de) 2023-12-14
JP2022547658A (ja) 2022-11-15

Similar Documents

Publication Publication Date Title
CN104081713B (zh) 云计算环境中的服务器和客户机的远程信任认证和地理位置
US10833859B2 (en) Automating verification using secure encrypted phone verification
US10904242B2 (en) System, method and computer program product for generating a cognitive one-time password
US9720800B2 (en) Auto-generating representational state transfer (REST) services for quality assurance
US10162952B2 (en) Security model for network information service
US11050573B2 (en) Determining trustworthiness of a cryptographic certificate
US9930034B2 (en) Authenticating applications using a temporary password
US20180096133A1 (en) Cognitive password pattern checker to enforce stronger, unrepeatable passwords
US20170177881A1 (en) Dynamic security questions in electronic account management
WO2021260398A1 (en) Determining risk metrics for access requests in network environments using multivariate modeling
US10547612B2 (en) System to resolve multiple identity crisis in indentity-as-a-service application environment
US11334333B1 (en) Generation of adaptive configuration files to satisfy compliance
US20180005467A1 (en) Multi-user hotel tracking and check-in
US20170034156A1 (en) Authenticating applications using a temporary password
CN114245977A (zh) 用于客户端应用的安全凭证管理
US11580210B2 (en) Password authentication
US12107961B2 (en) Connection resilient multi-factor authentication
US10885163B2 (en) Authentication without inputting passwords
US11106770B2 (en) Multi-factor authorization detection and password storage system
US11062001B2 (en) Matrix transformation-based authentication
US10635463B2 (en) Adapting the tone of the user interface of a cloud-hosted application based on user behavior patterns
US12041050B2 (en) Wireless power transmission signal based authentication
US11194918B2 (en) Data transmission based on verification codes

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