在响应用户对软件应用程序的请求时,用户身份验证是第一要务。在提供对数据的访问权的同时,需要几种机制来认证访问权。在此博客中,我们将探讨最常见的身份验证协议,并尝试探讨其优缺点。
1. Kerberos :
Kerberos是有助于网络身份验证的协议。这用于在使用密码密钥的网络期间验证客户端/服务器。它设计用于在向应用程序报告时执行强身份验证。 Kerberos协议的整体实现由MIT公开提供,并用于许多批量生产的产品中。
Kerberos的一些优点:
- 它支持各种操作系统。
- 身份验证密钥比公共共享更有效地共享。
Kerberos的一些缺点:
- 它仅用于认证客户端和客户端使用的服务。
- 它显示了弱密码或弱密码的漏洞。
2.轻型目录访问协议(LDAP):
LDAP是指轻型目录访问协议。它是一种协议,用于确定网络中的任何个人,组织和其他设备,而不管其位于公共Internet还是公司Internet上。它被实践为“目录即服务”,是Microsoft建立活动目录的基础。
LDAP的一些优点:
- 这是一个自动化的协议,使其更容易现代化。
- 它支持现有技术,并允许多个目录。
LDAP的一些缺点:
- 这需要部署经验。
- 目录服务器必须是LDAP服从的部署服务器。
3. OAuth2 :
顾名思义,OAuth是一个授权框架,可促进通过HTTP服务向其帐户上的用户授予有限的访问权限。当用户请求访问资源时,将在身份验证令牌传递后进行API调用。
OAuth2的一些优点:
- 这是一个简单的协议,易于实现。
- 它提供服务器端的代码授权。
OAuth2的一些缺点:
- 管理不同的代码集很容易受到攻击。
- 它显示了对连接到另一个受影响系统的站点的严重影响。
4. SAML :
SAML代表安全性声明标记语言,它基于基于XML的身份验证数据格式,该格式在身份提供者和服务提供者之间提供授权。它是OASIS安全服务技术委员会的产品。
SAML的一些优点:
- 它减少了最终用户的管理成本。
- 它提供了一个单一登录即可在各个服务提供商之间进行身份验证。
SAML的一些缺点:
- 它取决于身份提供者。
- 所有数据都以单一XML格式进行管理。
5. RADIUS :
RADIUS代表“远程身份验证拨入用户服务”。它是一种网络协议,可为使用和网络服务的用户提供足够的集中式身份验证,计费和授权。当用户请求访问网络资源时,协议会起作用,其中RADIUS服务器对用户输入的凭据进行加密。此后,用户凭据将通过本地数据库进行映射并提供访问权限。
RADIUS的一些优点:
- 这是为管理员提供多路访问的好机制。
- 它为会话中的每个用户提供唯一身份。
RADIUS的一些缺点:
- 这种机制的初始实现很难在硬件上实现。
- 它具有多种模型,可能需要一支专门的团队才能完成,这很耗费成本。
区分协议不会使协议不公道,因为这取决于应用程序的使用以及其用途。