美文网首页
用户验证机制之挑战应答方式

用户验证机制之挑战应答方式

作者: 云爬虫技术研究笔记 | 来源:发表于2019-03-14 23:58 被阅读0次

“挑战应答方式”:challenge-response,是零知识证明的方式。

1.认证过程

顾名思义,基于挑战/应答(Challenge/Response)方式的身份认证系统就是每次认证时认证服务器端都给客户端发送一个不同的"挑战"字串,客户端程序收到这个"挑战"字串后,做出相应的"应答",以此机制而研制的系统.认证过程为:

  1. 客户向认证服务器发出请求,要求进行身份认证;

  2. 认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理;

  3. 认证服务器内部产生一个随机数,作为"提问",发送给客户;

  4. 客户将用户名字和随机数合并,使用单向Hash函数(例如MD5算法)生成一个字节串作为应答;

  5. 认证服务器将应答串与自己的计算结果比较,若二者相同,则通过一次认证;否则,认证失败;

  6. 认证服务器通知客户认证成功或失败。

以后的认证由客户不定时地发起,过程中没有了客户认证请求一步。两次认证的时间间的密钥隔不能太短,否则就给网络、客户和认证服务器带来太大的开销;也不能太长,否则不能保证用户不被他人盗用IP地址,一般定为1-2分钟。

2.密钥的分配和管理

密钥的分配由维护模块负责,当用户进行注册时,自行设定自己的口令字。用户由口令字生成。

一个口令字必须经过两次口令字检查。第一次由注册程序检查,强制口令字必须有足够的长度(如8个字符)。口令字被加密后送入数据库中,这个口令字标记为'未检查的'。第二次,由离线的口令字检查工具进行检查,将弱口令字进行标记,当下一次用户认证时,认证服务器将强制用户修改口令字。

密钥的在线修改由认证服务器完成,它的过程与认证过程基本类似。

相关文章

  • 用户验证机制之挑战应答方式

    “挑战应答方式”:challenge-response,是零知识证明的方式。 1.认证过程 顾名思义,基于挑战/应...

  • 《黑客攻防技术宝典Web实战篇》读书笔记(二)

    第二章 核心防御机制 2.1 处理用户访问 2.1.1 身份验证 方式:用户名密码,客户端证书,多阶段登陆,挑战-...

  • 用户验证机制

    之前做的用户验证主要是基于session的,然后发现现在很多都是基于token的用户验证机制。主要是减少了对数据库...

  • Java并发编程高级篇(四):运行多个任务并处理第一个结果

    接下来,我们来模拟一个用户验证过程,提供两种验证机制,任何一种验证机制验证成功即可通过验证,而不用等两种验证机制都...

  • shareSDK短信验证

    用户登录 短信验证步骤 用户登录模块采用短信验证的方式,登录用户,所以采用sharesdk进行短信验证 1 短信注...

  • TCP 详解

    可靠传输的一些机制连接管理:3次握手,4次挥手,应答机制 1)应答机制: 应答时延:接收端为了减少发送包的数量,提...

  • 7.登录验证和登出

    一、FBV 方式1.1 登录验证并加入 session用户登录时,使用 authenticate 验证用户名和密码...

  • Python偷懒代码|持续更新

    1.urllib方式验证用户名和密码 2.Selenium方式需要验证用户名和密码 3.urllib使用代理Pro...

  • app与后台的token、sessionId、RSA加密登录认证

    一、登录机制 粗略地分析, 登录机制主要分为登录验证、登录保持、登出三个部分。登录验证是指客户端提供用户名和密码,...

  • app的登录认证与安全

    转载 一、登录机制 粗略地分析, 登录机制主要分为登录验证、登录保持、登出三个部分。登录验证是指客户端提供用户名和...

网友评论

      本文标题:用户验证机制之挑战应答方式

      本文链接:https://www.haomeiwen.com/subject/ychkmqtx.html