用户认证与安全编程实践
1. 用户认证方法与单点登录
在用户认证方面,有一种验证签名的函数,它接收上下文、无符号(已知)数据及其长度,还有用于验证的密钥。该函数的返回值表明签名是否成功验证,与其他OpenSSL函数不同,返回值为1表示成功,其他值则表示错误。以下是使用示例代码:
EVP_VerifyInit(&my_evp,EVP_md5());
EVP_VerifyUpdate(&my_evp,u_signed,u_length);
if(EVP_VerifyFinal (&my_evp,signd,s_length,pkey))
// Signature verified, user authenticated
else
// Signature failed
通过上述代码,我们拥有了一种可独立于密码来明确识别用户的方法。
在认证方法和风格中,集中化是一个潜在的主题。管理员常常希望集中管理用户信息以实现单点登录。单点登录允许网络用户使用单一用户名和密码(或类似认证令牌)访问网络上的不同机器和资源。
随着多协议单点登录随着PAM和LDAP等服务的发展成为可能,但最初仅在 nix平台可行。对于同时维护运行Microsoft Windows操作系统和各种 nix平台系统的机构,需要维护两套用户名和密码。随着异构环境(使用多种操作系统和平台)变得更加普遍,GNU/Linux和开源软件社区推出了具备真正单点登录功能的软件,以下是一些相关项目:
- Samba项目(http://www.sa
超级会员免费看
订阅专栏 解锁全文
3609

被折叠的 条评论
为什么被折叠?



