- 1 信息安全简介
- 1.1 信息安全发展史
- 1.2 信息安全等级保护
- 2 安全 OS
- 2.1 UNIX 系统安全
- 2.1.1 设置健壮的密码
- 2.1.2 删除所有的特殊账户
- 2.1.3 关闭不需要的服务
- 2.1.4 远程登陆管理
- 2.1.5 限制 IP 访问
- 2.1.6 日志监控
- 2.2 Linux 系统安全
- Linux 安全设置手册
- Linux 服务器安全加固
- Linux 防火墙
- SELinux
- SSH 免密登陆
- 2.3 Windows 系统安全
- Windows 常见安全隐患
- 防火墙-Microsoft Defender
- 本章参考
- 3 访问控制技术
- 3.1 基于角色的访问控制 RBAC
- 基于 RBAC 的延展-用户组(租户)
- 示例 1:Python Django 后台管理
- 示例 2:Python flask_appbuilder 后台管理
- 3.2 认证
- 3.2.1 认证机制
- 3.2.2 OpenID
- 3.2.3 LDAP
- 3.2.4 Kerberos
- 3.2.5 数字签名
- 3.2.6 基于证书的认证
- 3.3 授权
- 3.3.1 OAuth
- 3.4 HTTPS
- 3.4.1 HTTPS 原理
- 3.4.2 证书
- 3.4.3 自签名证书
- 本节参考
- 案例
- 天网 MAZE 的信用卡机制
- S3 认证机制
- 云盘认证机制
- 双因子认证
- 扫码登陆
- 单点登陆 SSO
- 本章参考
- 4 安全编程
- 4.1 内存管理
- 4.2 安全编程实践
- 4.2.1 使用断言进行防止错误
- 4.3 语言相关的安全编码
- 4.3.1 net 中使用安全函数
- 4.3.2 PHP 代码执行漏洞
- 4.4 源码保护
- Java 源码保护
- python 源码保护
- 本章参考
- 5 安全算法
- 6 安全架构
- 云安全
- 云安全事件案例
- 云计算带来的安全挑战
- 应用:安全云/云查杀
- 业界案例
- 华为的安全白皮书
- 参考资料
- 附录
- 安全相关法律法规
- 个人信息安全
- 云安全标准与组织
- 国际
- 国内
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
天网 MAZE 的信用卡机制
由于每个 Peer 都要同时与多个服务器通讯,我们采用了一种类似信用卡机制的分布式认证算法,来确保用户身份认证的安全性和有效性。参考 Kerberos 机制,我们有信用卡发放机构(TGS: Ticket Grant Server),称之为用户管理服务器,由它进行用户注册和发放信用卡。用户持有效的信用卡访问其他的服务器,其他的服务器检查信用卡上的数字签名来验证 身份,判断是否允许进行某项操作。一个正常的从注册到登录的流程如下:
图 3 分布式认证机制
- Peer 首先登录到用户管理服务器,申请一个 Maze UID 账号,申请时把登录密码保存在用户管理服务器上。
- 账户申请完毕之后,Peer 向用户管理服务器请求这个 Maze 账户的身份认证数据包,同时提交自己的 Maze 服务端口、自己看到的本地 IP 地址。
- 用户管理服务器在身份认证数据包中记录 Peer 的 Maze UID、从用户管理服务器看到的外部 IP、Maze 服务端口、是否在局域网内(根据 Peer 提交的自己看到本地 IP 和心跳服务器看到 Peer 的外部 IP 是 否一致判断)、用户级别、信用卡失效时间等信息,用系统签名私钥密码对数据包进行数字签名,把整个数据包和其数字签名(我们把它称之为信用卡)用 Peer 的登录密码进行加密,把加密后的证书返回给 Peer。整个算法可以用下列公式表示:
Certificate = Maze ID + IPoutside + Portservice + InGatewayOrNo + Level + ExpireTime … Ticket = Certificate + Sign system-private-key (Certificate) EncryptedTicket = Ecrypt peer-password (Ticket)
- 如果用户在 Peer 端有正确的登录密码,就可以把加密的数据包解密,从而获得有数字签名的信用卡。
Ticket = Decrypt peer-password (EncryptedTicket)
- 当 Peer 需要访问其他的服务器(如心跳服务器等)时,出示这个信用卡,服务器用系统签名公钥密码检查数字签名是否正确,以及是否已经过期,如果检查失败,要求 Peer 重新申请新的信用卡,否则允许下一步操作,也就是登录成功。
这种基于信用卡机制的分布式身份认证算法,可以保证用户密码只在注册初期出现,此后并不在网上明文传送;系统签名密码则只在用户管理服务器上出现,因而从客户端很难破解,这些方法都保证了用户身份认证的安全性。
总结 :
用户注册时,经过了 1 次摘要,1 次非对称加密,1 次对称加密:
- 用户服务器生成证书。证书的组成,Certificate = Maze ID + IPoutside + Portservice + InGatewayOrNo + Level + ExpireTime。
- 然后对证书作数字签名。数字签名过程:由证书得到数字摘要,然后对数字摘要进行非对称加密,私钥由用户服务器自己保存,形成数字签名 (Sign system-private-key (Certificate))。
- 对 Certificate+数字签名= Ticket 用 peer 密码进行对称加密。最后将这个加密 Ticket 发送回客户端。
用户登陆时,向服务器发出请求,服务器返回 EncryptedTicket。用户则用登陆密码对 EncryptedTicket 进行解密,如果解密成功,就能得到证书+数字签名。用服务器的公钥就能验证是否来自服务器,登陆成功。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论