§06.1_认证技术与原理(与密码学章节关联)

identification、authentication

认证概述

行为特征–>行为习惯

验证对象–>客户端(声称者)

鉴别实体–>服务端(验证者)

一次性口令OTP-one time password

零信任,持续检测验证

认证原理

基于共享秘密–>声称者发送"用户名密码"(秘密)给验证者,验证者检查后回复结果。

缺点:中间人攻击截获秘密

单向认证

基于挑战响应的认证

k(ab)可以使用多种算法,当然,常用的是哈希算法。

双方使用同一种算法对声称者的秘密和随机数进行计算,验证者比对并返回验证结果

验证者需要将自己挑的随机数先发给声称者(谁发送就附带谁的ID过去)

声称者收到随机数与自己的秘密一起计算后发给验证者(谁发送就附带谁的ID过去)

PPP协议认证-PAP(两次握手明文共享密钥)和CHAP(三次握手散列挑战)

PAP-基于共享密钥

CHAP-基于挑战响应

双向验证,AB既为声称者又为验证者,SSH

第三方认证引入可信第三方(例如微信和手机运营商认证)

例如:kpa 指ap间共享密钥

R 表示random,随机数。

首先,a向p发送由kpa加密的b的id(说明想要和谁通信)与a生成的随机数

p收到后解密,生成Kpa(Ra,Kab)[ab间的共享密钥由第三方下发]和Kpb(IDa,Kab)【代a生成发送给b的消息,该消息a无法解密,在其中包含a的id表明a想与他 通信】

a发送刚才p生成的那个自己无法解密的Kpb(IDa,Kab)

b解密a刚才发过来的Kpb(IDa,Kab),获得Kab和a的id,此时ab间都有共享密钥了,发送自己的Rb给a

a解密b发送过来的消息生成Kab(IDb,Rb)发送给b

b解密,看对方知道的自己id和随机数是否正确,若正确则通过认证。

第三方认证用的不是哈希,是加解密。此处Kab是密钥(密码),前面基于挑战的Kab是秘密(基于算法生成的一个结果)。

到第三步ab就有共享密钥了,为什么还有进一步校验?避免重放攻击,需要验证一个具有时效性的随机数

4567更像是基于挑战响应的认证部分。

避免重放攻击:随机数、时间戳、一次性口令。

认证技术方法-口令|智能卡|生物识别

你所知道的信息(what you know)、你所拥有的物品(what you have)你自身带来的(what you are)

PKI体系,(证书【包含公钥、CA签名……】)

Kerberos认证,KDC【密钥分发中心】包括AS【认证服务器】、TGS【票据发放服务器】,票据包含【客户方实体名称、地址、时间戳、票据生存期、会话密钥】

单点登录,一次登录可以使用多个系统。

不足:时间同步、抵御拒绝服务攻击。

SSO-验证码-MFA-基于行为(异常检测)-FIDO