哈工大信息安全概论复习笔记(2)

哈工大信息安全概论复习笔记(2)

考点八 RSA公钥算法

RSA算法的数学基础是初等数论中的欧拉定理以及大整数因子分解问题。
RSA密码体制是一种分组密码,明文和密文均是0到n之间的整数,n的大小通常为1024位二进制数或309位十进制数,因此,明文空间P=密文空间C= { x ∈ Z ∣ 0 < x < n , Z 为 整 数 集 合 } \{x\in Z|0<x<n,Z为整数集合\} {xZ0<x<n,Z}

RSA密码的密钥生成具体步骤如下。
1.选择两个互异的素数p和q,计算 n = p q n=pq n=pq ϕ ( n ) = ( p − 1 ) ( q − 1 ) \phi(n)=(p-1)(q-1) ϕ(n)=(p1)(q1)
2.选择整数e,使 g c d ( ϕ ( n ) , e ) = 1 gcd(\phi (n),e)=1 gcd(ϕ(n),e)=1,且 1 < e < ϕ ( n ) 1<e<\phi(n) 1<e<ϕ(n)
3.计算d,使 d ≡ e − 1   m o d   ϕ ( n ) d \equiv e^{-1}~mod~\phi(n) de1 mod ϕ(n),即d为模 ϕ ( n ) \phi(n) ϕ(n)下e的乘法逆元

则公开密钥 P k = { e , n } P_k=\{e,n\} Pk={e,n},私用密钥 S k = { d , n , p , q } S_k=\{d,n,p,q\} Sk={d,n,p,q}。当明文为m,密文为c,加密时使用公开密钥 P k P_k Pk,加密算法 c = m e   m o d   n c=m^e~mod~n c=me mod n;解密时使用私用密钥 S k , m = c d   m o d   n S_k,m=c^d~mod~n Skm=cd mod n。故e也被称为加密指数,d被称为解密指数。

考点九 散列函数的特点和作用

散列函数的目的:将任意长的消息映射成一个固定长度的散列值(Hash值),也称为消息摘要。消息摘要可以作为认证符,完成消息认证。
健壮性:
1.弱无碰撞性:指在消息特定的明文空间X中,给定消息 x ∈ X x \in X xX,在计算机上几乎找不到不同于x的 x ′ , x ′ ∈ X , 使 得 h ( x ) = h ( x ′ ) x^{'},x^{'}\in X ,使得h(x)=h(x^{'}) x,xX使h(x)=h(x)
2.强无碰撞性:指在计算机上几乎找不到不同于x的 x ′ , 使 得 h ( x ) = h ( x ′ ) , x ′ 可 以 不 属 于 X x^{'},使得h(x)=h(x^{'}),x^{'}可以不属于X x使h(x)=h(x)xX
注:强无碰撞自然包含弱无碰撞
3.单向性:指通过h的逆函数 h − 1 h^{-1} h1来求得散列值h(x)的消息原文x在计算上不可行。

考点十 EMI、EMC、防电磁泄漏主要方法

电磁干扰(EMI):指一切与有用信号无关的、不希望有的或对电器及电子设备产生不良影响的电磁发射。
防止EMI要从两方面考虑,一方面要减少电子设备的电磁发射,另一方面要提高电子设备的电磁兼容性(EMC)。

电磁兼容性(EMC):指电子设备在自己正常工作时产生的电磁环境,与其他电子设备之间相互不影响的电磁特性。

防电磁信息泄漏的基本思想主要包括三个层面:
1.抑制电磁发射 2.屏蔽隔离 3.相关干扰

常用的防电磁泄漏的方法有三种:
1.屏蔽法 - 主要用来屏蔽辐射及干扰信号
2.频域法 - 主要解决正常的电磁发射受干扰问题
3.时域法 - 与频域法相似,时域法也是用来回避干扰信号

考点十一 容错与容灾的概念及主要技术方法

容错基本思想:即使出现了错误,系统也可以执行一组规定的程序;或者说,程序不会因为系统中的故障而中断或被修改,并且故障也不会引起运行结果的差错。简单地说,容错就是让系统具有抵抗错误带来的能力。

容错系统可分为五种类型:
1.高可用度系统 2.长寿命系统 3.延迟维修系统 4.高性能系统 5.关键任务系统

常用数据容错技术主要有以下四种:
1.空闲设备 - 当正常运行的部件出现故障时,原来空闲的一台立即替补
2.镜像 - 把一份工作交给两个相同的部件同时进行
3.复现 - 也称延迟镜像,原系统故障时,辅助系统只能在接近故障点的地方开始工作。同一时间只需要管理一套设备
4.负载均衡 - 将一个任务分解成多个子任务,分配给不同的服务器执行。

容灾含义:对偶然事故的预防和恢复

解决方案:一是对服务的维护和恢复,二是保护或恢复丢失的、被破坏的或被删除的信息。只有两者结合起来才能提供完整的灾难恢复方案。

常用恢复策略:
1.做最坏的打算
2.充分利用现有资源
3.既重视灾后恢复也重视灾前措施

考点十二 windows的网络认证

用户登入时的身份认证过程也是采用对称密钥加密来完成的
用户与主域控制器共享口令,在域控制器的安全用户管理(SAM)数据库中保存注册用户的用户名、口令的散列以及其他信息。

用户登录具体过程:
1.用户先激活winlogon窗口,并输入用户名和口令,然后向域控制器发送登录请求,同时计算出口令的散列,口令及其散列不包含在登录请求信息中。
2.域控制器收到登录请求后产生一个8字节的质询(挑战)并发送给客户端,同时取出给用户的口令散列,用此口令散列对质询进行散列计算(也称加密),得到质询散列。
3.客户端收到8字节的质询后,首先使用前边计算得到的口令散列对质询进行散列计算,得到质询散列,随后将计算出的质询散列作为应答发送给域控制器。
4.域控制器比对其算出的质询散列和用户应答回送的质询散列,如果相同则登录认证通过,否则登录认证失败,同时向用户发送登录认证结果。

考点十三 利用公开密钥和对称密钥设计认证协议获得会话密钥

描述符号:
A → B A \rightarrow B AB表示A向B发送信息
E k ( x ) E_k(x) Ek(x)表示使用共享密钥k对信息进行加密
x ∣ ∣ y x||y xy表示信息串x和y相连接

1 基于对称密钥的认证协议

只有少量用户的封闭网络系统,使用挑战-应答方式认证
对于规模较大的网络系统,依靠可靠的第三方完成认证

基于挑战应答方式的认证协议:
1. A → B : I D a ∣ ∣ I D b A \rightarrow B:ID_a||ID_b AB:IDaIDb
2. B → A : N b B \rightarrow A:Nb BA:Nb
3. A → B : E k ( N b ) A \rightarrow B:E_k(Nb) AB:Ek(Nb)

2 基于公开密钥的认证协议

A要认证B,有以下两种方式:
(1)
1.A向B发送明文挑战(挑战因子/随机数)
2.B用私钥加密(签名),返回给A
3.A用B的公钥解密,比对,完成认证
(2)
1.A用B的公钥加密挑战因子(或随机数)发送给B
2.B用私钥解密,返回明文给A
3.A比对,完成认证

考点十四 Kerberos工作原理

Kerberos协议的认证过程分为三个阶段,六个步骤
第一阶段 身份验证服务交换:完成身份认证,获得访问TGS的票据
(1) C → A S : I D C ∣ ∣ I D t g s ∣ ∣ T S 1 C \rightarrow AS:ID_C||ID_{tgs}||TS_1 CAS:IDCIDtgsTS1
(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 ] AS\rightarrow C:E_{KC}[K_{C,tgs}||ID_{tgs}||TS_2||Lifetime_2||Ticket_{tgs}] ASC:EKC[KC,tgsIDtgsTS2Lifetime2Tickettgs]

注:步骤(1)为请求TGS票据
I D C : ID_C: IDC:Client C的用户标识
I D t g s : ID_{tgs}: IDtgs:用请求访问的TGS的标识
T S 1 : TS_1: TS1:让AS验证Client C的时钟是与AS的时钟是否同步的

步骤(2)为返回TGS票据
E K C : E_{KC}: EKC:基于用户口令的加密,使得AS和Client C可以验证口令,并保护消息
K C , t g s : K_{C,tgs}: KC,tgs:由AS产生,用于在TGS和Client C之间信息的安全交接
I D t g s : ID_{tgs}: IDtgs:确认这个ticket是为特定TGS制作的
T S 2 : TS_2: TS2:告诉用户该ticket签发的时间
L i f e t i m e 2 : Lifetime_2: Lifetime2:告诉用户该ticket的有效期
T i c k e t t g s : Ticket_{tgs}: Tickettgs:用户用来访问TGS的ticket,可重用,避免多次认证输入口令,其中, 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 ] Ticket_{tgs} = E_{Ktgs}[K_{C,tgs}||ID_c||AD_C||ID_{tgs}||TS_2||Lifetime_2] Tickettgs=EKtgs[KC,tgsIDcADCIDtgsTS2Lifetime2]

第二阶段 票据授予服务交换:获得访问应用服务器的票据。
(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 C \rightarrow TGS:ID_V||Ticket_{tgs}||Authenticator_C CTGS:IDVTickettgsAuthenticatorC
(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 ] TGS \rightarrow C:E_{K_{C,tgs}}[K_{C,V}||ID_V||TS_4||Ticket_V] TGSC:EKC,tgs[KC,VIDVTS4TicketV]

注:步骤(3)为请求应用服务器票据
I D V : ID_V: IDV:告诉TGS用户要访问应用服务器V
T i c k e t t g s : Ticket_{tgs}: Tickettgs:向TGS证实该用户已被AS认证
A u t h e n t i c a t o r C : Authenticator_C: AuthenticatorC:由用户生成,用于验证时效性
A u t h e n t i c a t o r C = E K C , t g s [ I D C ∣ ∣ A D C ∣ ∣ T S 3 ] Authenticator_C = E_{K_{C,tgs}}[ID_C||AD_C||TS_3] AuthenticatorC=EKC,tgs[IDCADCTS3]

步骤(4)为返回应用服务器票据
E K C , t g s [ ] : E_{K_{C,tgs}}[]: EKC,tgs[]:使用Client C和TGS共享的密钥加密,用以保护本消息
K C , V : K_{C,V}: KC,V:由TGS生成,用于Client C和Server V之间信息的安全交换;
I D V : ID_V: IDV:确认该ticket是签发给setcer V的
T S 4 : TS_4: TS4:告诉用户该ticket签发的时间
T i c k e t V : Ticket_V: TicketV:用户用以访问应用服务器V的ticket,其中, T i c k e t V = E K V [ K C , V ∣ ∣ I D C ∣ ∣ A D C ∣ ∣ I D V ∣ ∣ T S 4 ∣ ∣ L i f e t i m e 4 ] Ticket_V=E_{KV}[K_{C,V}||ID_C||AD_C||ID_V||TS_4||Lifetime_4] TicketV=EKV[KC,VIDCADCIDVTS4Lifetime4]
E K V [ ] : E_{K_V}[]: EKV[]:Ticket用只有TGS和Server V共享的密钥加密,以预防篡改

第三阶段 客户与服务器身份验证交换:获得服务
(5) C → V : T i c k e t V ∣ ∣ A u t h e n t i c a t o r C \rightarrow V:Ticket_V||Authenticator CV:TicketVAuthenticator
(6) V → C : E K C , V [ T S 5 + 1 ] ( f o r   m u t u a l   a u t h e n t i c a t i o n ) V \rightarrow C:E_{K_{C,V}}[TS_5+1](for~mutual~authentication) VC:EKC,V[TS5+1](for mutual authentication)

注:步骤(5)为向应用服务器发起服务请求。
T i c k e t V : Ticket_V: TicketV:向服务器证实该用户已被AS认证
A u t h e n t i c a t o r C : Authenticator_C: AuthenticatorC:由Client C生成用于验证时效性
A u t h e n t i c a t o r C = E K C , V [ I D C ∣ ∣ A D C ∣ ∣ T S 5 ] Authenticator_C=E_{K_{C,V}}[ID_C||AD_C||TS_5] AuthenticatorC=EKC,V[IDCADCTS5]
E K C , V [ ] : E_{K_{C,V}}[]: EKC,V[]:使用Clinet C和Server V的共享密钥加密,来验证身份并保护本信息

步骤(6)为服务器对客户机可选的身份认证
T S 5 + 1 : TS_5+1: TS5+1:向Client C证明这不是重放攻击的应答

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值