网络安全编程:认证、攻击防范与安全编码实践
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 平台可行。对于同时维护 Windows 和 nix 系统的机构,需要维护两套用户名和密码。如今,GNU/Linux 和开源软件社区推出了提供真正单点登录功能的软件。
- Samba 项目 :最初是为与 Windows 操作系统进行文件共享而实现的通用 Internet 文件系统(CIF
网络安全编程:认证、防范与编码实践
超级会员免费看
订阅专栏 解锁全文

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



