《密碼編碼學(xué)與網(wǎng)絡(luò)安全》復(fù)習(xí)題答案課件(總13頁(yè))
《密碼編碼學(xué)與網(wǎng)絡(luò)安全》復(fù)習(xí)題
1. 信息安全(計(jì)算機(jī)安全)目標(biāo)是什么?
機(jī)密性(confidentiality):防止未經(jīng)授權(quán)的信息泄漏
完整性(integrity):防止未經(jīng)授權(quán)的信息篡改
可用性(avialbility):防止未經(jīng)授權(quán)的信息和資源截留
抗抵賴(lài)性、不可否認(rèn)性、問(wèn)責(zé)性、可說(shuō)明性、可審查性(accountability):
真實(shí)性(authenticity):驗(yàn)證用戶(hù)身份
2. 理解計(jì)算安全性(即one-time pad的理論安全性)
使用與消息一樣長(zhǎng)且無(wú)重復(fù)的隨機(jī)密鑰來(lái)加密信息,即對(duì)每個(gè)明文每次采用不同的代換表不可攻破,因?yàn)槿魏蚊魑暮腿魏蚊芪拈g的映射都是隨機(jī)的,密鑰只使用一次
3. 傳統(tǒng)密碼算法的兩種基本運(yùn)算是什么?
代換和置換
前者是將明文中的每個(gè)元素映射成另外一個(gè)元素;后者是將明文中的元素重新排列。
4. 流密碼和分組密碼區(qū)別是什么?各有什么優(yōu)缺點(diǎn)?
分組密碼每次處理一個(gè)輸入分組,對(duì)應(yīng)輸出一個(gè)分組;流密碼是連續(xù)地處理輸入元素,每次輸出一個(gè)元素
流密碼Stream: 每次加密數(shù)據(jù)流的一位或者一個(gè)字節(jié)。連續(xù)處理輸入分組,一次輸出一個(gè)元素,速度較快。
5. 利用playfair密碼加密明文bookstore,密鑰詞是(HARPSICOD),所得的密文是什么?
I/JD RG LR QD HG
HARPS bo ok st or ex I/JD DG PU GO GV
I/JCODB
EFGKL
MNQTU
VWXYZ
6. 用密鑰詞cat實(shí)現(xiàn)vigenere密碼,加密明文vigenere coper,所得的密文是什么?
XIZGNXTEVQPXT
Key: catca t ca tcatcatcat
Plaintext: vigenere coper
Chipertext: XIZGNXTE VQPXT
7. 假定有一個(gè)密鑰2431的列置換密碼,則明文can you understand的密文是多少?
YNSDCODTNURNAUEA
Key: 2 4 3 1
Plaintext: c a n y
o u u n
d e r s
t a n d
Chipertext: YNSDCODTNURNAUEA
8. 什么是乘積密碼?
多步代換和置換,依次使用兩個(gè)或兩個(gè)以上的基本密碼,所得結(jié)果的密碼強(qiáng)度將強(qiáng)與所有單個(gè)密碼的強(qiáng)度.
9. 混淆和擴(kuò)散的區(qū)別是什么?
擴(kuò)散(Diffusion):明文的統(tǒng)計(jì)結(jié)構(gòu)被擴(kuò)散消失到密文的,使得明文和密文之間的統(tǒng)計(jì)關(guān)系盡量復(fù)雜.即讓每個(gè)明文數(shù)字盡可能地影響多個(gè)密文數(shù)字
混淆(confusion):使得密文的統(tǒng)計(jì)特性與密鑰的取值之間的關(guān)系盡量復(fù)雜,阻止攻擊者發(fā)現(xiàn)密鑰
10. Feistel密碼中每輪發(fā)生了什么樣的變化?
將輸入分組分成左右兩部分。
以右半部數(shù)據(jù)和子密鑰作為參數(shù),對(duì)左半部數(shù)據(jù)實(shí)施代換操作。
將兩部分進(jìn)行互換,完成置換操作。
11. S-Box的概念
S盒用在DES算法中,每個(gè)s盒都由6位輸入產(chǎn)生4位輸出,所有說(shuō),s盒定義了一個(gè)普通的可逆代換。相當(dāng)程度上,DES的強(qiáng)度取決于s盒的設(shè)計(jì),但是,s盒的構(gòu)造方法是不公開(kāi)的
12. AES每輪變化中設(shè)計(jì)的基本操作有哪些?
每輪包括4個(gè)階段:字節(jié)代換、行移位、列混淆、輪密鑰加
13. DES、AES和RC4之間的比較(建議比較分組大小、密鑰長(zhǎng)度、相對(duì)速度、安全強(qiáng)度、輪數(shù)、是否Feistel體制、基本操作等若干方面)*
算法
DES
AES
RC4
分組長(zhǎng)度(bit)
64
128
流密碼
密鑰長(zhǎng)度
56
128/196/256
不少于128
相對(duì)速度
較快
慢
很快
安全強(qiáng)度
2^55(窮舉)
很難
輪數(shù)
16
10/12/14
-
是否Feistel體制
是
不是
?
14. AES與DES相比有優(yōu)點(diǎn)?3DES與DES相比的變化有哪些?什么是2DES中的中間相遇攻擊?
(1) AES更安全。
(2) 3DES增加了1到2個(gè)密鑰,進(jìn)行多輪DES,安全性更高。
(3) C = EK2(EK1(P)) ? X = EK1(P) = DK2(C)
Ø 給定明文密文對(duì)(P,C)
l 對(duì)所有256個(gè)密鑰,加密P,對(duì)結(jié)果按X排序與T中
l 對(duì)所有256個(gè)密鑰,解密C,解密結(jié)果與T中的值比較
l 找出K1,K2使得EK1(P) = DK2(C)
l 用k1和k2對(duì)P加密,若結(jié)果為C,則認(rèn)定這兩個(gè)密鑰為正確的密鑰
15. 分組密碼的工作模式有哪些?及優(yōu)缺點(diǎn)?
A. ECB,電碼本模式,一次處理64位明文,每次使用相同的密鑰加密。任何64位的明文組都有唯一的密文與之對(duì)應(yīng),有“結(jié)構(gòu)化”的缺點(diǎn)。
B. CBC,密碼分組連接模式,克服了ECB中“結(jié)構(gòu)化”的缺點(diǎn),同樣的明文變成密文之后就不同了,而且加密必須從頭到尾
C. CFB,密碼反饋模式.一次處理M位,上一個(gè)分組的密文產(chǎn)生一個(gè)偽隨機(jī)數(shù)輸出的加密算法的輸入,該輸出與明文的異或,作為下一個(gè)分組的輸入。
D. OFB,輸出反饋模式,與CFB基本相同,只是加密算法的輸入是上一次DES的輸出。
E. 計(jì)數(shù)器模式,計(jì)數(shù)器被初始化為某個(gè)值,并隨著消息塊的增加其值加1,在于明文組異或得到密文組。也可用于流密碼。
16. RSA算法中密鑰的生成和加密解密過(guò)程。
生成過(guò)程
Ø RSA的加解密為:
Ø 給定消息M = 88 ( 88<187)
Ø 加密:
C = 887 mod 187 = 11
Ø 解密:
M = 1123 mod 187 = 88
17. RSA算法計(jì)算實(shí)例(給定p,q,e,m/c,計(jì)算n, ,d,c/m)
1. 選擇素?cái)?shù): p=17 & q=11
2. 計(jì)算n = pq =17×11=187
3. 計(jì)算ø(n)=(p–1)(q-1)=16×10=160
4. 選擇e : gcd(e,160)=1; 選擇e=7
5. 確定d: de=1 mod 160 and d < 160, d=23
因?yàn)?3×7=161= 1×160+1
6. 公鑰KU={7,187}
7. 私鑰KR={23,17,11}
18. 描述Diffie-Hellman密鑰交換機(jī)制。
算法:
A. 雙方選擇素?cái)?shù)p以及p的一個(gè)原根a
B. 用戶(hù)A選擇一個(gè)隨機(jī)數(shù)Xa < p,計(jì)算Ya=aXa mod p
C. 用戶(hù)B選擇一個(gè)隨機(jī)數(shù)Xb < p,計(jì)算Yb=aXb mod p
D. 每一方保密X值,而將Y值交換給對(duì)方
E. 用戶(hù)A計(jì)算出K=YbXa mod p
F. 用戶(hù)B計(jì)算出K=YaXb mod p
G. 雙方獲得一個(gè)共享密鑰(aXaXbmod p)
素?cái)?shù)p以及p的原根a可由一方選擇后發(fā)給對(duì)方
19. 描述Diffie-Hellman算法(DH算法)中中間人攻擊發(fā)生的過(guò)程。
中間人攻擊
1 雙方選擇素?cái)?shù)p以及p的一個(gè)原根a(假定O知道)
2 A選擇Xa<p,計(jì)算Ya=aXa mod p, AàB: Ya
3 O截獲Ya,選Xo,計(jì)算Yo=aXo mod p,冒充AàB:Yo
4 B選擇Xb<p,計(jì)算Yb=aXb mod p, BàA: Yb
5 O截獲Yb,冒充BàA:Yo
6 A計(jì)算: (Xo)Xa≡(aXo)Xa≡aXoXa mod p
7 B計(jì)算: (Xo)Xb≡(aXo)Xb≡aXoXb mod p
8 O計(jì)算: (Ya)Xo≡aXaXo mod p, (Yb)Xo≡aXbXo mod p
O無(wú)法計(jì)算出aXaXb mod p
O永遠(yuǎn)必須實(shí)時(shí)截獲并冒充轉(zhuǎn)發(fā),否則會(huì)被發(fā)現(xiàn)
20. 如何使用公鑰密碼實(shí)現(xiàn)數(shù)據(jù)的保密性、完整性和數(shù)據(jù)源認(rèn)證(簽名)?
發(fā)送方用其私鑰對(duì)消息“簽名”??梢酝ㄟ^(guò)對(duì)整條消息加密或者對(duì)消息的一個(gè)小的數(shù)據(jù)塊(消息認(rèn)證碼/摘要)加密來(lái)產(chǎn)生。
E(K,[M||E(PRa,H(M))]) 其中K為PUb
解密時(shí),第一步解密使用B的私鑰,然后使用A的公鑰。
21. 對(duì)比對(duì)稱(chēng)算法和公鑰算法?(建議從用途,速度和效率等方面)
對(duì)稱(chēng)算法:速度快,主要用于數(shù)據(jù)加密,只有一個(gè)密鑰。
公鑰算法:速度較慢,主要用于數(shù)字簽名和密鑰交換,有兩個(gè)密鑰
22. 對(duì)稱(chēng)密鑰分配有哪些方法?(注意和重放攻擊相結(jié)合)
對(duì)于參與者A和B,密鑰分配有以下幾種:
A. 密鑰由A選擇,并親自交給B
B. 第三方選擇密鑰后親自交給A和B
C. 如果A和B以前或最近使用過(guò)某密鑰,其中一方可以用它加密一個(gè)新密鑰后在發(fā)送給另一方。
D. A和B與第三方均有秘密渠道,則C可以將一密鑰分別發(fā)送給A和B
別人卷子上的分配方式:
傳統(tǒng)加密方法Needham/Schroeder Protocol [1978]
Ø 1、A ® KDC:IDA||IDB||N1
Ø 2、KDC ® A:EKa[Ks||IDB||N1||EKb[Ks||IDA]]
Ø 3、A ® B: EKb[Ks||IDA]
Ø 4、B ® A: EKs[N2]
Ø 5、A ® B: EKs[f(N2)]
保密密鑰Ka和Kb分別是A和KDC、B和KDC之間共享的密鑰。
本協(xié)議的目的就是要安全地分發(fā)一個(gè)會(huì)話密鑰Ks給A和B。
A在第2步安全地得到了一個(gè)新的會(huì)話密鑰,第3步只能由B解密、并理解。第4步表明B已知道Ks了。第5步表明B相信A知道Ks并且消息不是偽造的。
第4,5步目的是為了防止某種類(lèi)型的重放攻擊。特別是,如果敵方能夠在第3步捕獲該消息,并重放之,這將在某種程度上干擾破壞B方的運(yùn)行操作。
上述方法盡管有第4,5步的握手,但仍然有漏洞
假定攻擊方C已經(jīng)掌握A和B之間通信的一個(gè)老的會(huì)話密鑰。C可以在第3步冒充A利用老的會(huì)話密鑰欺騙B。除非B記住所有以前使用的與A通信的會(huì)話密鑰,否則B無(wú)法判斷這是一個(gè)重放攻擊。如果C可以中途截獲第4步的握手信息,則可以冒充A在第5步響應(yīng)。從這一點(diǎn)起,C就可以向B發(fā)送偽造的消息而對(duì)B來(lái)說(shuō)認(rèn)為是用認(rèn)證的會(huì)話密鑰與A進(jìn)行的正常通信。
Denning Protocol [1982] 改進(jìn)(加入時(shí)間戳):
1、A ® KDC:IDA||IDB
2、KDC ® A:EKa[Ks||IDB||T||EKb[Ks||IDA||T]]
3、A ® B: EKb[Ks||IDA||T]
4、B ® A: EKs[N1]
5、A ® B: EKs[f(N1)]
| Clock - T | < Dt1 + Dt2
其中: Dt1 是KDC時(shí)鐘與本地時(shí)鐘(A或B)之間差異的估計(jì)值;
Dt2 是預(yù)期的網(wǎng)絡(luò)延遲時(shí)間。
23. 公鑰算法中公鑰的分配和管理有哪些方法?
公鑰的分配
A. 公開(kāi)發(fā)布
B. 公開(kāi)可訪問(wèn)目錄
C. 公鑰授權(quán)
D. 公鑰證書(shū)
24. 消息認(rèn)證碼的概念和基本用途?(237頁(yè)圖)
MAC(Message Authentication Code),消息認(rèn)證碼,也是一種認(rèn)證技術(shù),它利用密鑰來(lái)產(chǎn)生一個(gè)固定長(zhǎng)度的短數(shù)據(jù)塊,并將數(shù)據(jù)塊附加在消息之后,格式如:MAC(M)|| M。消息和MAC一起發(fā)送到接受方。從而,接受方可以知道消息沒(méi)有經(jīng)過(guò)篡改,真正來(lái)自發(fā)送方(MAC的密鑰)和消息的時(shí)效性(如果MAC中包含序列號(hào))。從這個(gè)層面來(lái)說(shuō),hash是沒(méi)有密鑰的MAC
25. 什么是散列函數(shù)的基本用途有哪些?(239頁(yè)圖)
保密、認(rèn)證和簽名
26. 安全散列函數(shù)有哪些特性? 什么是碰撞?找到一個(gè)碰撞意味著什么?代價(jià)是多大?生日悖論和生日攻擊。
Hash算法的特點(diǎn)有
l 輸入變長(zhǎng)的分組,輸出是一定長(zhǎng)的分組;
l 任意x,計(jì)算H(x)容易,軟件和硬件都可以實(shí)現(xiàn)
l 已知H(x)= h,求x是不可行的,只是在計(jì)算上不可行(單向性)
l 任意x,找到y(tǒng),使H(x)=H(y)計(jì)算上不可行(抗弱碰撞性)
l 找到滿足H(x)=H(y)的(x,y)計(jì)算上不可行(抗強(qiáng)碰撞性)
碰撞指的是散列值相同而原值不同。找到一個(gè)碰撞意味著可以替換原來(lái)的消息。
單向 2^n
弱無(wú)碰撞 2^n
強(qiáng)無(wú)碰撞 2^n/2
生日問(wèn)題:一個(gè)教室中,最少應(yīng)有多少學(xué)生,才使至少有兩人具有相同生日的概率不小于1/2?
概率結(jié)果與人的直覺(jué)是相違背的. 實(shí)際上只需23人,即任找23人,從中總能選出兩人具有相同生日的概率至少為1/2。
根據(jù)生日攻擊原理,對(duì)長(zhǎng)度為m位的散列碼,共有2^m個(gè)可能的散列碼,若要使任意的x,y 有H(x)=H(y)的概率為0.5,只需k=2m/2
27. 消息認(rèn)證碼和散列函數(shù)有哪些區(qū)別?
散列函數(shù)(Hash):將任意長(zhǎng)度的消息變換為定長(zhǎng)的消息摘要,并加以認(rèn)證。
消息認(rèn)證碼(MAC):依賴(lài)公開(kāi)的函數(shù)(密鑰控制下)對(duì)消息進(jìn)行處理,生成定長(zhǎng)的認(rèn)證標(biāo)識(shí),并加以認(rèn)證。
28. HMAC的原理
hash是沒(méi)有密鑰的MAC,所以不可以直接將hash算法(MD5,SHA1)直接用在MAC上,所以,HMAC實(shí)現(xiàn)的目標(biāo)就是將密鑰加入到hash函數(shù)中,簡(jiǎn)單的說(shuō),就是“帶密鑰的hash”。
29. 安全hash碼的基本結(jié)構(gòu)(Merkle提出的)?
30. MD5和SHA-1間的差異?(建議從輸入、輸出、輪數(shù)、強(qiáng)度和速度等幾個(gè)方面比較)
MD5 SHA-1
摘要長(zhǎng)度 128位 160位
基本處理單位 512位 512位
步數(shù) 64(4 of 16) 80(4 of 20)
最大消息長(zhǎng)度 無(wú)限 264-1位
基本邏輯函數(shù) 4 4
加法常數(shù) 64 4
Endianness Little-endian Big-endian
性能 32.4 Mbps 14.4Mbps
31. 什么是數(shù)字簽名?如何理解RSA私鑰運(yùn)算結(jié)果做為數(shù)字簽名?
【提示:最簡(jiǎn)單的數(shù)字簽名是:EKRa( M) 即用a的私鑰(KRa)加密消息M,接受方b用a的公鑰解密,得到M,b就可以認(rèn)為M來(lái)自a,因?yàn)槠渌瞬豢赡苡衋的私鑰;而且消息沒(méi)有經(jīng)過(guò)修改,因?yàn)樾薷暮蟮拿匚牟荒苡胊的公鑰解開(kāi),從而實(shí)現(xiàn)了數(shù)字簽名。】
32. 如何實(shí)現(xiàn)用簽名進(jìn)行身份和消息認(rèn)證?【提示:上面算法的改進(jìn)算法就可以實(shí)現(xiàn)用簽名進(jìn)行身份和報(bào)文鑒別:EKRa( H(M))||M 。先將消息M用hash算法(MD5 or SHA1)算出mac(消息認(rèn)證碼),然后,用a的私鑰加密此認(rèn)證碼,最后和原始的消息并在一起,發(fā)送到接受方b。b首先用a的公鑰KPa解密前面部分,然后用同樣的hash算法對(duì)M進(jìn)行hash操作,比較兩個(gè)結(jié)果是否相等。從而實(shí)現(xiàn)身份和消息認(rèn)證。
33. 數(shù)字簽名的作用是什么
當(dāng)通信雙方發(fā)生了下列情況時(shí),數(shù)字簽名技術(shù)必須能夠解決引發(fā)的爭(zhēng)端:
(1) 否認(rèn),發(fā)送方不承認(rèn)自己發(fā)送過(guò)某一報(bào)文。
(2) 偽造,接收方自己偽造一份報(bào)文,并聲稱(chēng)它來(lái)自發(fā)送方。
(3) 冒充,網(wǎng)絡(luò)上的某個(gè)用戶(hù)冒充另一個(gè)用戶(hù)接收或發(fā)送報(bào)文。
(4) 篡改,接收方對(duì)收到的信息進(jìn)行篡改。
34. 公鑰算法RSA、DH和DSS算法的用途是什么?
RSA——加密/解密、數(shù)字簽名、密鑰交換
DH——密鑰交換
DSS——數(shù)字簽名
35. 實(shí)體認(rèn)證(身份認(rèn)證)和消息認(rèn)證的區(qū)別是什么?
身份認(rèn)證是驗(yàn)證主體的真實(shí)身份與其所聲稱(chēng)的身份是否符合的過(guò)程。消息認(rèn)證是是一個(gè)證實(shí)收到的消息來(lái)自可信的源點(diǎn)且未被篡改的過(guò)程。即驗(yàn)證收到的消息確實(shí)是來(lái)自真正的發(fā)送方且未被修改的消息,也驗(yàn)證消息的順序和及時(shí)性。是為了確認(rèn)被認(rèn)證的實(shí)體與一些特定數(shù)據(jù)項(xiàng)有著靜態(tài)的聯(lián)系,而身份認(rèn)證主要是在連接建立或者在數(shù)據(jù)傳送階段的某些時(shí)刻使用的。
36. 什么是消息重放?有哪些方法可以抵御消息的重放攻擊,各有什么特點(diǎn)?
消息重放:攻擊者發(fā)送一個(gè)目的主機(jī)已接收過(guò)的包,來(lái)達(dá)到欺騙系統(tǒng)的目的。
對(duì)付重放攻擊的一種方法是在認(rèn)證交換中使用一個(gè)序列號(hào)來(lái)給每一個(gè)消息報(bào)文編號(hào)。僅當(dāng)收到的消息序數(shù)順序合法時(shí)才接受之。但這種方法的困難是要求雙方必須保持上次消息的序號(hào)。
兩種更為一般的方法是:
時(shí)間戳:A接受一個(gè)新消息僅當(dāng)該消息包含一個(gè)時(shí)間戳,該時(shí)間戳在A看來(lái),是足夠接近A所知道的當(dāng)前時(shí)間;這種方法要求不同參與者之間的時(shí)鐘需要同步。
挑戰(zhàn)/應(yīng)答方式。(Challenge/Response)A期望從B獲得一個(gè)新消息,首先發(fā)給B一個(gè)臨時(shí)值(challenge),并要求后續(xù)從B收到的消息(response)包含正確的這個(gè)臨時(shí)值。
Ø 挑戰(zhàn)問(wèn)/應(yīng)答方法不適應(yīng)非連接性的應(yīng)用,因?yàn)樗笤趥鬏旈_(kāi)始之前先有握手的額外開(kāi)銷(xiāo),這就抵消了無(wú)連接通信的主要特點(diǎn)。
37. 對(duì)稱(chēng)密鑰分配方式中有什么問(wèn)題,如何避免?(針對(duì)消息重放攻擊)
當(dāng)采用傳統(tǒng)對(duì)稱(chēng)加密方式時(shí),發(fā)送者不能根據(jù)內(nèi)容區(qū)分是發(fā)送的消息還是接收的消息,這種攻擊是可能的。
加入時(shí)間戳。
38. Kerberos系統(tǒng)適合什么樣環(huán)境中的認(rèn)證服務(wù)?它采用了什么方法來(lái)防止攻擊者竊取并使用票據(jù)?kerberos系統(tǒng)的認(rèn)證過(guò)程,每個(gè)步驟的作用?
分布式服務(wù)器C/S環(huán)境
AS用安全方式向用戶(hù)和TGS各自提供一個(gè)秘密信息,然后用戶(hù)也以安全方式向TGS出示該秘密來(lái)證明自己的身份。這個(gè)秘密就是會(huì)話密鑰。
認(rèn)證服務(wù)交換:獲得票據(jù)許可票據(jù)
(1)C ® AS : IDC || IDtgs || TS1
(2)AS ® C : EKC[Kc,tgs || IDtgs || TS2 || Lifetime2 || Tickettgs]
Tickettgs = EKtgs [Kc,tgs || IDC || ADC || IDtgs || TS2 || Lifetime2]
客戶(hù)端收到消息(2)后,輸入口令,生成kC,解密獲得Tickettgs,及AS產(chǎn)生的tgs和客戶(hù)共享密鑰Kc,tgs
票據(jù)許可服務(wù)交換:獲得服務(wù)許可票據(jù)
(3) C ® TGS : IDV || Tickettgs || Authenticatorc
接收方tgs接收Tickettgs,驗(yàn)證票據(jù),獲取Kc,tgs,并用該密鑰解密客戶(hù)端發(fā)來(lái)的認(rèn)證符Authenticatorc ,驗(yàn)證客戶(hù)端身份
Tickettgs = EKtgs[Kc,tgs|| IDC|| ADC|| IDtgs || TS2 || Lifetime2]
Authenticatorc = EKc,tgs[IDc||ADc||TS3]
為被請(qǐng)求的服務(wù)器生成服務(wù)授權(quán)票據(jù)Ticketv ,并發(fā)送給客戶(hù)端
(4) TGS ® C : EKc,tgs[Kc,v || IDV || TS4 || Ticketv]
Ticketv = EKV[Kc,v||IDC||ADC|| IDv||TS4||Lifetime4]
當(dāng)客戶(hù)端收到tgs發(fā)送的該消息后,使用Kc,tgs,解密獲得Ticketv,及tgs產(chǎn)生的客戶(hù)和服務(wù)器共享的密鑰Kc,v
39. 什么是證書(shū)和CA?X.509證書(shū)包含哪些內(nèi)容?
證書(shū):CA頒發(fā)的一種數(shù)字介質(zhì)(文件),用來(lái)對(duì)證書(shū)主體的身份進(jìn)行鑒別和認(rèn)證。證書(shū)的內(nèi)容包含證書(shū)主體的信息,公鑰,以及CA的簽名等等。
CA: CA是PKI的核心執(zhí)行機(jī)構(gòu),是PKI的主要組成部分,它是數(shù)字證書(shū)的申請(qǐng)注冊(cè)、證書(shū)簽發(fā)和管理機(jī)構(gòu).
CA的主要職責(zé)是:
l 驗(yàn)證并標(biāo)識(shí)證書(shū)申請(qǐng)者的身份。
l 確保CA用于簽名證書(shū)的公鑰的質(zhì)量和安全性。
l 管理證書(shū)信息資料。(CRL,LDAP等等)
主要內(nèi)容
Ø 版本:標(biāo)識(shí)不同版本的證書(shū);
Ø 序列號(hào):標(biāo)識(shí)證書(shū)唯一性的整數(shù);
Ø 簽名算法標(biāo)識(shí)符:標(biāo)識(shí)簽名算法及參數(shù);
Ø 頒發(fā)者名字:創(chuàng)建和簽名該證書(shū)的CA的X.500名字;
Ø 有效期:兩個(gè)日期組成:起始時(shí)間和結(jié)束時(shí)間;
Ø 主體名:證書(shū)提及的用戶(hù)名;
Ø 主體的公鑰信息:主體的公鑰及這個(gè)密鑰使用算法的標(biāo)識(shí)符,和算法的相關(guān)參數(shù);
40. PKI公鑰基礎(chǔ)設(shè)施是基于證書(shū)的認(rèn)證體系結(jié)構(gòu)。它包含哪些基本元素?【提示:包含認(rèn)證機(jī)構(gòu)CA、證書(shū)和證書(shū)庫(kù)(X.509標(biāo)準(zhǔn))、密鑰備份及恢復(fù)、密鑰和證書(shū)的更新(CRL)、交叉認(rèn)證(證書(shū)鏈或者信任樹(shù)的概念)
41. 安全電子郵件
(1) SMTP/POP3的安全問(wèn)題?
SMTP(simple mail transfer protocal)簡(jiǎn)單郵件傳輸協(xié)議和POP3(post office protocal)郵局協(xié)議用于Internet上的郵件傳輸和發(fā)送,協(xié)議設(shè)計(jì)的本身沒(méi)有安全性的,郵件在傳輸?shù)倪^(guò)程中容易被偷聽(tīng)或者篡改。
1)垃圾郵件包括廣告郵件、騷擾郵件、連鎖郵件、反動(dòng)郵件等。垃圾郵件會(huì)增加網(wǎng)絡(luò)負(fù)荷,影響網(wǎng)絡(luò)傳輸速度,占用郵件服務(wù)器的空間。
2)詐騙郵件通常指那些帶有惡意的欺詐性郵件。利用電子郵件的快速、便宜,發(fā)信人能迅速讓大量受害者上當(dāng)。
3)郵件炸彈指在短時(shí)間內(nèi)向同一信箱發(fā)送大量電子郵件的行為,信箱不能承受時(shí)就會(huì)崩潰。
4)通過(guò)電子郵件傳播的病毒通常用VBScript編寫(xiě),且大多數(shù)采用附件的形式夾帶在電子郵件中。當(dāng)收信人打開(kāi)附件后,病毒會(huì)查詢(xún)他的通訊簿,給其上所有或部分人發(fā)信,并將自身放入附件中,以此方式繼續(xù)傳播擴(kuò)散。
端到端的安全電子郵件技術(shù),保證郵件從被發(fā)出到被接收的整個(gè)過(guò)程中,內(nèi)容保密、無(wú)法修改、并且不可否認(rèn)。目前的Internet上,有兩套成型的端到端安全電子郵件標(biāo)準(zhǔn):PGP和S/MIME。它一般只對(duì)信體進(jìn)行加密和簽名, 而信頭則由于郵件傳輸中尋址和路由的需要,必須保證原封不動(dòng)。
(2) PGP的原理
發(fā)送方首先使用md5實(shí)現(xiàn)對(duì)明文的完整性認(rèn)證,然后使用私鑰對(duì)散列值進(jìn)行數(shù)字簽名,再對(duì)簽名散列值以及明文消息拼接,對(duì)該拼接結(jié)果進(jìn)行壓縮,利用隨機(jī)產(chǎn)生的密鑰對(duì)壓縮結(jié)果進(jìn)行加密,增加了加密速度,實(shí)現(xiàn)消息的保密性。該隨機(jī)密鑰用接收方公鑰加密,將加密后的密鑰與密文拼接,實(shí)現(xiàn)密鑰的保密性。再經(jīng)過(guò)基64位變換,得到ascII文本在網(wǎng)絡(luò)中傳輸。當(dāng)數(shù)據(jù)到達(dá)接收方時(shí),通過(guò)私鑰解密對(duì)稱(chēng)密鑰,然后對(duì)密文解密,進(jìn)行壓縮逆變換,得到明文消息和用發(fā)送方私鑰簽名的明文消息的散列值,通過(guò)公鑰解密驗(yàn)證發(fā)送方簽名,獲得消息的散列值,并對(duì)明文消息做通用的變換,對(duì)比,驗(yàn)證消息的完整性。總之PGP實(shí)現(xiàn)了消息的機(jī)密性和完整性,以及發(fā)送方不可否認(rèn)(源認(rèn)證)、并通過(guò)壓縮提高了加密的速度。
42. 設(shè)計(jì)一種報(bào)文安全交換方案,要求機(jī)密性、完整性和不可抵賴(lài)性??梢允褂霉€算法、對(duì)稱(chēng)算法和Hash函數(shù)。[參考安全電子郵件PGP的設(shè)計(jì)原理即可]
發(fā)送方發(fā)送Eks(M||ERa(H(M)))|| EUb(Eks),發(fā)方通過(guò)私鑰簽名消息的認(rèn)證碼,實(shí)現(xiàn)對(duì)消息完整性和自己身份的證明,并將結(jié)果與M一起用會(huì)話密鑰Eks加密,在將Eks用收方公鑰加密。實(shí)現(xiàn)消息和密鑰的保密性。
接收方私鑰機(jī)密DRb(EUb(Eks))獲得ks,然后使用ks解密,Dks(Eks(M||ERa(H(M)))),獲得M||ERa(H(M)),然后計(jì)算H(M),并與DUa(ERa(H(M))解密后的H(M),對(duì)比驗(yàn)證消息完整性。
43. IP安全性
(1) VPN & IPSec & Tunnel
l Vpn
Vpn,virture private net,虛擬專(zhuān)用網(wǎng),終結(jié)了租用專(zhuān)線的年代。通訊雙方可以通過(guò)建立一條虛擬的通信線路(隧道)的方式實(shí)現(xiàn)數(shù)據(jù)的加密傳輸,可以提供安全的遠(yuǎn)程訪問(wèn)、分布式辦公、電子商務(wù)、EDI等,主要的協(xié)議有:PPTP和L2TP。原理圖如下
F1
F2
Addition
源IP
目的IP
數(shù)據(jù)
F1是發(fā)送方防火墻的IP,F(xiàn)2 是接受方防火墻的IP 后面3段實(shí)現(xiàn)了加密
l Ipsec
多服務(wù),多算法,多粒度的框架,位于ip層,主要的服務(wù)是保密性,數(shù)據(jù)完整性及針對(duì)重放攻擊的保護(hù),有兩種模式:傳輸模式和隧道模式。
l Tunnel
要點(diǎn)是:加密整個(gè)IP分組,并放在一個(gè)新的IP分組的有效載荷部分
(2) IPSec提供哪些服務(wù)?
IPSec在IP層提供安全服務(wù),使得系統(tǒng)可以選擇所需要的安全協(xié)議,確定該服務(wù)所用的算法,并提供安全服務(wù)所需任何加密密鑰
(3) 指出IPSec中傳輸模式和隧道模式的區(qū)別?
l 傳輸模式:不改變IP地址,插入一個(gè)AH
l 隧道模式:生成一個(gè)新的IP頭,把AH和原來(lái)的整個(gè)IP包放到新IP包的凈荷數(shù)據(jù)中
(4)IPsec與VPN的關(guān)系
IPsec的應(yīng)用方式之一——路由到路由(router-router):路由設(shè)備之間的安全通信,常用于在兩個(gè)網(wǎng)絡(luò)之間建立虛擬私有網(wǎng)(VPN)。
44. Web安全-SSL
(1) SSL包含哪些協(xié)議?是如何工作的?
協(xié)議分為兩層
底層:SSL記錄協(xié)議
上層:SSL握手協(xié)議、SSL修改密碼規(guī)范協(xié)議、SSL警報(bào)協(xié)議
SSL記錄協(xié)議中的操作
第一步,fragmentation分段
第二步,compression(可選)壓縮
第三步,MAC 計(jì)算
第四步, 加密, 可供選擇的加密算法
第五步, 添加SSL記錄頭部
SSL握手協(xié)議流程
Ø 交換Hello消息,對(duì)于算法、交換隨機(jī)值等協(xié)商一致
Ø 交換必要的密碼參數(shù),以便雙方得到統(tǒng)一的premaster secret
Ø 交換證書(shū)和相應(yīng)的密碼信息,以便進(jìn)行身份認(rèn)證
Ø 產(chǎn)生master secret
Ø 把安全參數(shù)提供給SSL記錄層
Ø 檢驗(yàn)雙方是否已經(jīng)獲得同樣的安全參數(shù)
(2) SSL提供哪些服務(wù)?
SSL被設(shè)計(jì)用來(lái)使用TCP提供一個(gè)可靠的端到端安全服務(wù),為兩個(gè)通訊個(gè)體之間提供保密性和完整性(身份認(rèn)證)
45. 防火墻優(yōu)缺點(diǎn)/類(lèi)型、工作原理,
優(yōu)點(diǎn):(1)易用和靈活性
(2)安全性
缺點(diǎn): (1)不能抵抗源自?xún)?nèi)部的攻擊
(2)不能太指望防火墻識(shí)別和過(guò)濾文件中的病毒
(3) 防火墻不能監(jiān)控旁路流量
(4)容易造成性能瓶頸
類(lèi)型
l 包過(guò)濾型防火墻
l 靜態(tài)包過(guò)濾防火墻
l 狀態(tài)監(jiān)測(cè)(動(dòng)態(tài)包過(guò)濾)防火墻
l 代理型防火墻
l 應(yīng)用級(jí)網(wǎng)關(guān)防火墻
l 電路級(jí)網(wǎng)關(guān)防火墻
網(wǎng)關(guān)實(shí)現(xiàn):
編寫(xiě)代理軟件
l 代理軟件一方面是服務(wù)器軟件
但是它所提供的服務(wù)可以是簡(jiǎn)單的轉(zhuǎn)發(fā)功能
l 另一方面也是客戶(hù)軟件
對(duì)于外面真正的服務(wù)器來(lái)說(shuō),是客戶(hù)軟件
l 針對(duì)每一個(gè)服務(wù)都需要編寫(xiě)模塊或者單獨(dú)的程序
l 實(shí)現(xiàn)一個(gè)標(biāo)準(zhǔn)的框架,以容納各種不同類(lèi)型的服務(wù)
軟件實(shí)現(xiàn)的可擴(kuò)展性和可重用性
客戶(hù)軟件
l 軟件需要定制或者改寫(xiě)
l 對(duì)于最終用戶(hù)的透明性
協(xié)議對(duì)于應(yīng)用層網(wǎng)關(guān)的處理
l 協(xié)議設(shè)計(jì)時(shí)考慮到中間代理的存在,特別是在考慮安全性,比如數(shù)據(jù)完整性的時(shí)候
46. 入侵檢測(cè)系統(tǒng)分為哪三類(lèi)?異常檢測(cè)和誤用檢測(cè)的區(qū)別是什么?
Ø 基于主機(jī)
安全操作系統(tǒng)必須具備一定的審計(jì)功能,并記錄相應(yīng)的安全性日志
Ø 基于網(wǎng)絡(luò)
IDS可以放在防火墻或者網(wǎng)關(guān)的后面,以網(wǎng)絡(luò)嗅探器的形式捕獲所有的對(duì)內(nèi)對(duì)外的數(shù)據(jù)包
Ø 分布式入侵檢測(cè)系統(tǒng)
檢測(cè)的數(shù)據(jù)也是來(lái)源于網(wǎng)絡(luò)中的數(shù)據(jù)包,不同的是,它采用分布式檢測(cè)、集中管理的方法。
異常檢測(cè)(anomaly detection)
l 也稱(chēng)為基于行為的檢測(cè)
l 首先建立起用戶(hù)的正常使用模式,即知識(shí)庫(kù)
l 標(biāo)識(shí)出不符合正常模式的行為活動(dòng)
誤用檢測(cè)(misuse detection)
l 也稱(chēng)為基于特征的檢測(cè)
l 建立起已知攻擊的知識(shí)庫(kù)
l 判別當(dāng)前行為活動(dòng)是否符合已知的攻擊模式