2009-07-03 115 views

回答

0

使用LDAP,密码在服务器上验证。它在设计上并不安全很多。但是有很多SSO解决方案使用LDAP,所以有很大的用户群。

5

密码与用户和密码存储位置之间最薄弱的链接一样安全。基本上,这意味着它不仅是存储密码的方式,还需要保护用户和存储之间的连接线。当服务器和通信安全时,最薄弱的环节往往是用户。 (因为用户有时拥有宠物摇滚的内存容量。)

我的一位同事曾经失去了他的笔记本电脑,他非常担心这个小偷会访问他系统中的所有秘密内容。事实证明,他在自己的笔记本电脑上贴了一张小便条,上面有密码。不幸的是,他并不是这个世界上唯一一个在他们的计算机旁边的笔记上写密码的人。

3

LDAP是一种通信协议,密码的存储方式与目录系统相差无几。例如,请参阅NTLM user authentication in Windows了解Windows的用途。

LAN管理兼容密码是 与通过LAN管理器使用 密码兼容。该密码是基于原始设备 制造商(OEM)字符集的 。此 密码不区分大小写,可以 长达14个字符。该密码的OWF 版本也被称为 作为LAN Manager OWF或ESTD 版本。此密码的计算方法为: 使用DES加密以明文密码加密 常量。 LAN Manager OWF密码长度为16 字节。 明文密码的前7个字节用于 计算LAN的前8个字节 管理器OWF密码。明文密码的第二个字节为 ,用于计算LAN Manager OWF密码的第二个8字节 。

Windows密码基于 Unicode字符集。此密码 区分大小写,最长可达128 个字符。 OWF版本 此密码也被称为 Windows OWF密码。该密码是使用RSA MD-4 加密算法计算得出的 。该算法 计算密码字节的明文 的可变长度字符串的16字节摘要。

它不是特别安全,但Active Directory通常在经过一些不良尝试后实现锁定,所以没有那么糟糕。一般来说,供应商编写的任何代码都比推出自己的代码要好。

这也取决于您如何在数据库中存储密码以及应用了哪些策略。存储简单密码unhashed或未加密是一个可怕的想法。通常一个目录系统会处理这个问题。 AD例如也可能需要密码复杂性并防止重复使用相同的密码等。把它放到攻击者可以访问的文件中是不好的主意。

2

只要你不在网络上暴露密码,它就像在数据库中存储哈希密码一样安全。根据LDAP服务器实现,您可以使用许多不同类型的散列。

OpenLDAP提供CRYPT,MD5,SMD5,SSHA和SHA(根据我的手册页)。

简而言之,LDAP为您提供了类似的哈希功能,您可以自己散列密码并将它们存储在SQL数据库中。

12

密码在LDAP目录中存储为散列字符串。 OpenLDAP例如支持腌制SHA1 {SSHA},隐秘{CRYPT}(取决于OS),MD5 {MD5},盐渍MD5 {SMD5}和SHA1 {SHA}的方案。我认为Active Directory服务器存储某种LM散列和/或NT散列。

考虑到这个事实,将密码存储在LDAP目录中的安全性不会比将哈希密码(假设同一个哈希)存储在文件或SQL数据库中更安全。直接访问底层数据结构的每个人至少可以读取哈希密码值(如果数据不是基于文件或文件系统进行额外加密的话)。

决定是否使用LDAP或其他类型的帐户存储机制肯定不会基于密码存储的安全性这一事实。该决定将基于身份验证如何完成以及您需要满足哪些其他要求。当必须将不同的客户端连接到中央认证系统(例如专有软件,电子邮件服务器)时,或者您必须将其集成到某些KERBEROS或SASL认证方案中时,LDAP才会派上用场。