2024年最新【信息安全案例】——身份与访问安全(学习笔记(1),三面头条+四面阿里+五面腾讯拿offer分享面经总结

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

K

S

K_S

KS​

  • 随机数

R

A

R_A

RA​

🕤 3.1.2 非对称密码体制

A需要单向认证B的身份
在这里插入图片描述

  • 随机数

R

A

R_A

RA​

  • B的私钥

K

S

B

K_{SB}

KSB​

🕘 3.2 双向认证

双方都要提供用户名和密码给对方,才能通过认证。
在这里插入图片描述

🕤 3.2.1 对称密码体制

A需要单向认证B的身份

在这里插入图片描述

  • A产生一个随机数

R

A

R_A

RA​

  • 双方共享的密钥

K

S

K_S

KS​

  • B产生一个随机数

R

B

R_B

RB​

🕤 3.2.2 非对称密码体制

A需要单向认证B的身份
在这里插入图片描述

  • A产生一个随机数

R

A

R_A

RA​

  • B产生一个随机数

R

B

R_B

RB​

  • B的私钥

K

S

B

K_{SB}

KSB​

  • A的私钥

K

S

A

K_{SA}

KSA​

🕘 3.3 信任的第三方认证

当两端欲进行连线时,彼此必须先通过信任第三方的认证,然后才能互相交换密钥,而后进行通信。

在这里插入图片描述
一种第三方认证机制:
在这里插入图片描述

  • S

K

A

U

SK_{AU}

SKAU​:管理员的私钥

  • P

K

B

P_{KB}

PKB​:B的公钥

  • P

K

A

P_{KA}

PKA​:A的公钥

  • N

1

N_1

N1​: A的临时交互号

  • N

2

N_2

N2​: B产生的新临时交互号

🕒 4. 身份认证机制

🕘 4.1 一次性口令(OTP)

🕤 4.1.1 原理

在登录过程中加入不确定因子,使用户在每次登录时产生的口令信息都不相同。

认证系统得到口令信息后通过相应的算法验证用户的身份

一种常见实现是挑战/响应(Challenge/Response)方案

在这里插入图片描述

  • 认证请求:用户端向认证端发出认证请求,需要用户输入用户ID等信息
  • 挑战:认证端选择一个随机数X发送给客户端。认证端根据用户ID取出对应密钥K,对X进行加密,得到密文Es
  • 响应:客户端收到随机数X后,使用自己的密钥K进行加密得到密文EU,将EU作为凭证发给认证端。
  • 认证结果:认证端比较Es和EU,若相同,则认证为合法用户。
🕤 4.1.2 实例

手机验证码

🕤 4.1.3 安全性分析

与传统的静态口令认证方法相比,OTP认证机制的安全性有很大的提高。

  • 通过哈希计算可以抵御嗅探攻击
  • 通过加入不确定因子可以抵御字典攻击和重放攻击

仍存在一些安全问题:

  • 没有实现双向认证。
  • 难以抵御中间人攻击。
  • 难以防范小数攻击

🕘 4.2 FIDO

🕤 4.2.1 产生

致力于不依赖“共享秘密”解决传统身份认证弊端的FIDO(Fast Identity Online,线上快速身份验证),即个人口令、生物特征信息本地存储

🕤 4.2.2 FIDO 1.0

在这里插入图片描述

  • UAF(通用认证框架):支持指纹等生物识别,致力于“零口令”
  • U2F(通用双因子):支持TPM芯片等硬件设备,使用口令+硬件设备双因子

注册阶段:
1、用户根据服务器支持的本地验证方式,选择一种验证方式,账户和设备绑定。
2、客户端产生公私钥对,公私钥对与用户身份信息关联,私钥保持,公钥发给服务器。
3、服务器将公钥与用户账户关联

登录认证阶段:
1、用户发出登录请求,服务器端发出挑战数据提示用户进行身份验证
2、用户在本地输入身份信息(按键、指纹)。
3、客户端对用户身份验证成功,取出私钥对挑战数据进行签名。
4、服务器使用对应公钥对签名进行验证

🕤 4.2.2 FIDO 2.0

FIDO 2.0包括WebAuthn(Web认证)和CTAP(客户端到认证器协议)两部分。

  • WebAuthn:2019年3月WebAuthn被确定为官方网络标准。平台认证器(内置在PC上)或漫游认证器(如手机,平板,智能手表等),通过标准Web API——WebAuthn调用FIDO服务,完成Web应用的强身份认证。
  • CTAP(客户端到认证器)协议。CTAP本质上是U2F的延伸。它使外部设备(如手机或FIDO安全密钥)能够与支持WebAuthn的浏览器协同工作,还可以充当桌面应用程序和Web服务的身份验证程序。

华为手机的FIDO快捷按钮:
在这里插入图片描述

🕘 4.3 Kerberos

🕤 4.3.1 产生

在一个局域网中通常设有多种应用服务器,若采用传统的基于用户名/口令的认证管理,用户在进入不同系统时都必须输入登录密码进行认证。人们希望设计一种在网络应用过程中更为高效、安全并且简便的认证机制,单点登录(Single Sign On,SSO)技术由此产生。

Kerberos协议是美国麻省理工学院Athena计划的一部分,它是一种基于对称密码算法的网络认证协议。

它能在复杂的网络环境中,为用户提供安全的单点登录服务。

🕤 4.3.2 主要组件

在这里插入图片描述

  • Kerberos的运行环境由密钥分发中心(KDC)、应用服务器用户客户端3个部分组成。
  • KDC包括认证服务器AS通行证授予服务器TGS两部分。
  • KDC是整个系统的核心部分,它保存所有用户和服务器的密钥,并提供身份验证服务以及密钥分发功能 。
  • 客户和服务器都信任KDC,这种信任是Kerberos安全的基础。
  • Kerberos协议中使用通行证/票据,来实现用户和应用或服务之间的认证。
  • 用户和服务双方虽不能互相信任,但是他们都完全信任KDC,双方通信时,用户如果拥有由KDC出具的通行证,就能通过该通信证获得服务端的信任。
🕤 4.3.3 认证流程

在这里插入图片描述

  • 客户端认证
  1. 客户端将用户标识、TGS标识、时间戳TS1一起送往AS,申请得到票据授权票据

1

C

A

S

:

I

D

c

I

D

t

g

T

S

1

(1) \mathrm{C} \rightarrow \mathrm{AS}: \quad \mathrm{ID}_{\mathrm{c}}|| \mathrm{ID}_{\mathrm{tg}} | \mathrm{TS}_{1}

(1)C→AS:IDc​∣∣IDtg​∥TS1​

  1. AS用从用户口令推出的密钥

K

c

\color{red}K_c

Kc​(事先已经存储在AS中)将票据加密,并发送给客户端。由用户在客户端输入口令,并得到Kc,将收到的消息解密,得到票据授权票据Tickettgs

2

A

S

C

:

E

(

K

c

,

[

K

c

,

t

g

s

I

D

t

g

s

T

S

2

L

i

f

e

t

i

m

e

2

T

i

c

k

e

t

t

g

s

]

)

W

h

e

r

e

T

i

c

k

e

t

t

g

s

=

E

(

K

t

g

s

,

[

K

c

,

t

g

s

I

D

c

A

D

c

I

D

t

g

s

T

S

2

L

i

f

e

t

i

m

e

2

]

)

(2) \mathrm{AS} \rightarrow \mathrm{C}: \quad \mathrm{E}\left(\mathrm{K}_{\mathrm{c}},\left[\mathrm{K}_{\mathrm{c}, \mathrm{tgs}}|| \mathrm{ID}_{\mathrm{tgs}}\left|\mathrm{TS}_{2}\right|\right.\right. \mathrm{Lifetime} _{2} | \left.\left.\mathrm{Ticket}_{\mathrm{tgs}}\right]\right) \ \mathrm{Where \ Ticket} _{\mathrm{tgs}}=\mathrm{E}\left(\mathrm{K}_{\mathrm{tgs}},\left[\mathrm{K}_{\mathrm{c}, \mathrm{tgs}}\left|\mathrm{ID}_{\mathrm{c}}\right| \mathrm{AD}_{\mathrm{c}}\left|\mathrm{ID}_{\mathrm{tgs}}\right| \mathrm{TS}_{2} | \mathrm{Lifetime}_{2}\right]\right)

(2)AS→C:E(Kc​,[Kc,tgs​∣∣IDtgs​∥TS2​∥Lifetime2​∥Tickettgs​])Where Tickettgs​=E(Ktgs​,[Kc,tgs​∥IDc​∥ADc​∥IDtgs​∥TS2​∥Lifetime2​])

注:时间戳TS2:产生票据授权票据的时间
有效期Lifetime2:票据授权票据的有效期
网络地址ADc:客户的IP地址

多选题
以上关于Kerberos认证过程中AS和用户C交互过程,说法正确的是?
A. 其中Kc是由用户C的口令生成,仅用户C和AS知道
B. TS2是产生Tickettgs的时间戳,用来防重放攻击的
C. ADc是用户C的IP地址,与IDc配合一起核验用户C的身份
D.该过程是基于对称密码进行的身份认证过程
答案:ABCD

  • 取得与服务器通信的票据
  1. 客户端通过IDv表明自己要与服务器V通信,Tickettgs表明自己已通过AS的认证,Authenticatorc是证明自己是Tickettgs的拥有者

3

C

T

G

S

:

I

D

v

T

i

c

k

e

t

t

g

s

A

u

t

h

e

n

t

i

c

a

t

o

r

c

T

i

c

k

e

t

t

g

s

=

E

(

K

t

g

s

,

[

K

c

,

t

g

s

I

D

C

A

D

C

I

D

t

g

s

T

S

2

L

i

f

e

t

i

m

e

2

]

)

A

u

t

h

e

n

t

i

c

a

t

o

r

c

c

=

E

(

K

c

,

t

g

s

,

[

I

D

C

A

D

C

T

S

3

]

)

(3)\mathrm{C} \rightarrow \mathrm{TGS}: \quad \mathrm{ID}_{\mathrm{v}} | \mathrm{Ticket} _{\mathrm{tgs}} | \mathrm{Authenticator} _{\mathrm{c}} \ \mathrm{Ticket} _{\mathrm{tgs}}=\mathrm{E}\left(\mathrm{K}_{\mathrm{tgs}},\left[\mathrm{K}_{\mathrm{c,tgs}}\left|\mathrm{ID}_{\mathrm{C}}\right| \mathrm{AD}_{\mathrm{C}}\left|\mathrm{ID}_{\mathrm{tgs}}|| \mathrm{TS}_{2}\right|\right.\right. \mathrm{Lifetime}_{2}\left.\left.\right ] \right) \ \mathrm{Authenticator}\mathrm{c}_{\mathrm{c}}=\mathrm{E}\left(\mathrm{K}_{\mathrm{c}, \mathrm{tgs}},\left[\mathrm{ID}_{\mathrm{C}}\left|\mathrm{AD}_{\mathrm{C}}\right| \mathrm{TS}_{3}\right]\right)

(3)C→TGS:IDv​∥Tickettgs​∥Authenticatorc​Tickettgs​=E(Ktgs​,[Kc,tgs​∥IDC​∥ADC​∥IDtgs​∣∣TS2​∥Lifetime2​])Authenticatorcc​=E(Kc,tgs​,[IDC​∥ADC​∥TS3​])

  1. TGS为C和服务器V生成一个会话密钥Kc,v,生成一个用来与服务器通信用的票据Ticketv ,生成时间戳TS4表明票据产生时间、服务器标识符IDv表明票据用以和服务器V沟通,并用自己与C的会话密钥Kc,tgs加密, 发给C

4

T

G

S

C

:

E

(

K

c

,

t

g

s

,

[

K

c

,

v

I

D

v

T

S

4

T

i

c

k

e

t

v

]

)

T

i

c

k

e

t

v

=

E

(

K

v

,

[

K

c

,

v

I

D

C

A

D

C

I

D

v

T

S

学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值