信息系统安全(第二章——挑战握手认证协议)

基于口令的身份认证------挑战握手认证协议:

挑战握手认证协议通过三次握手对被认证对象的身份进行周期性的认证。

① 当用户需要访问系统时,先向系统发起连接请求,系统要求对用户进行CHPA认证。如果用户

同意认证,则由系统向用户发送一个作为身份认证请求的随机数,并与用户ID一起作为挑战信息发

送给用户。

② 用户得到系统的挑战信息后,根据报文用户ID在用户表中查找与此对应的用户ID口令。如果找

到相同的用户ID,便利用接收到的随机数和该用户的口令,以Hash算法生成响应信息,并将响应

信息和自己的用户ID发送给验证方。

③ 验证方接收到此响应信息后,利用对方的的用户ID在自己的用户表中查找系统中保留的口令,

找到后再利用自己的口令和随机数,以Hash算法生成结果,并将结果与被验证方的应答比较。验

证成功后,验证服务器会发送一条ACK报文,以表示身份认证得到承认;否则会发送一条NAK报

文,并切断服务连接。

④ 经过一定的随机间隔,系统发送一个新的挑战信息给用户,重复步骤1到步骤3。

使用CHPA认证安全性除了本地口令存储的安全性外,传输的安全性则在于挑战信息的长度,随机

性和单向Hash算法的可靠性。

CHPA认证的优点:只在网络上传输用户名;Hash算法不可逆;使用不同的挑战信息;不断重复挑

战限制了单个攻击的暴露时间,认证者可控制挑战的频度;虽然认证是单向的,但是在两个方向都

需要进行CHPA协商,同一密钥可以很容易地实现交互认证。

CHPA认证地缺点:口令必须时明文信息进行保存,不能防止中间人攻击;在大型系统中不适用,

每个可能地密钥由链路地两端公共维护;过程繁琐,易耗费带宽。

相关推荐
渡我白衣2 分钟前
HttpRequest与HttpResponse的实现
服务器·数据结构·c++·人工智能·tcp/ip·机器学习·caffe
刃神太酷啦4 分钟前
前端入门第一课:HTML 基础语法 + 常用标签 + 实战全解
服务器·c语言·前端·javascript·css·c++·html
甜到心里的蛋糕9 分钟前
如何用企业微信实现让微信收到通知实时通知
服务器·python·微信小程序·fastapi
牢姐与蒯11 分钟前
Linux进程间通信(三).基于匿名管道的进程池的实现
linux·运维·服务器·ubuntu
景煜拾年12 分钟前
RHCA-Docker知识点整理
运维·笔记
M78佐菲8 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
红姐跨境书9 小时前
从零打造高性能 API 网关: Go 语言中的双缓冲 Dynamic Config 最佳实践
安全
益达丫9 小时前
Socket编程揭秘:端口、IP与进程通信的底层逻辑
linux·笔记
比兔代理9 小时前
正向代理与反向代理技术辨析,为什么代理 IP 属于正向代理
服务器·网络·http·ip
Wang's Blog11 小时前
Java 接入Redis: 通用命令与键管理
java·服务器·redis