常用的凭证缓存解决方案?

时间:2011-06-25 14:39:36

标签: security encryption passwords credentials

我对应用程序中的凭据缓存有疑问。我在网上搜索了这个问题的解决方案,但我没有找到任何东西(这真的很令人惊讶,因为这是每个Facebook,Twitter和电子邮件客户端应用程序必须处理的事情。)

我的问题是:

假设我正在构建一些简单的Twitter客户端。我不想强迫用户每次都输入密码。大多数应用程序如何解决这个问题?在某些时候,客户端需要进行API调用以进行身份​​验证(其中包括密码,通常是纯文本)。但是,显然,在纯文本中保存密码不是正确的解决方案。那么,大多数应用如何安全地做到这一点?我想如果密码是加密的,你可以将密码缓存在文件或数据库中,但是如何安全地存储解密密钥?或者是否在运行时使用来自客户端计算机的唯一信息作为种子生成?

是否有任何资源(文章,书籍等)谈论这个?大多数应用程序如何处理这个问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

单点登录(SSO)设置通过提供集中式方法来使用某种类型的会话ID生成,分发和验证密钥,从而完成您所描述的内容。

查看一种方法(由StackExchange/StackOverflow使用):

http://openid.org/

这是我不知道的事情:这类功能称为Federated Identity。例如,我工作的网络系统提供(但不要求)Shibboleth。请参阅此处以获取选项列表:

http://en.wikipedia.org/wiki/Category:Federated_identity