23、用户认证与安全编程实践

用户认证与安全编程实践

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值