?? rfc2409.txt
字號(hào):
同樣,如果ISAKMP的實(shí)現(xiàn)知道很快就需要SA時(shí)(例如,替換一個(gè)很快就到期的SA),就可
以在需要它之前建立一個(gè)新的SA。
基本的ISAKMP規(guī)范描述了協(xié)議的一方可以通知另一方一些活動(dòng)的條件——?jiǎng)h除安全聯(lián)盟或?qū)?一些錯(cuò)誤的響應(yīng),如簽名校驗(yàn)失敗或負(fù)載解密失敗。強(qiáng)烈建議這些信息交換在任何情況下都不要響
應(yīng)。否則會(huì)引致“通知之戰(zhàn)”——對(duì)一個(gè)消息的理解失敗則發(fā)出通知給對(duì)方,而對(duì)方又不能理解,
又發(fā)出自己的通知,但這仍然是不可理解的。
10.安全考慮
本文檔討論的是一種混合協(xié)議,將部分的Oakley以及部分的SKEME和ISAKMP相合并,用來(lái)
以一種安全和經(jīng)過驗(yàn)證的方式協(xié)商安全聯(lián)盟,并為之衍生密鑰材料。
機(jī)密性由使用協(xié)商的加密算法來(lái)保證。驗(yàn)證由使用協(xié)商的方法來(lái)保證:數(shù)字簽名算法;支持加
密的公鑰算法;或共享密鑰。交換的機(jī)密性和驗(yàn)證相當(dāng)于作為ISAKMP安全聯(lián)盟的一部分來(lái)協(xié)商的
屬性。
使用快速模式來(lái)不停的重新生成密鑰會(huì)消耗Diffie-Hellman共享秘密的信息量。實(shí)現(xiàn)者應(yīng)該注意
到這個(gè)事實(shí)并在相同冪期間限制快速模式的交換。
本協(xié)議是可以實(shí)現(xiàn)密鑰材料和身份的完全后繼保密(PFS)的,通過指定Diffie-Hellman組,并
在KE負(fù)載中傳遞公共值,ISAKMP雙方可以建立密鑰的PFS——而身份應(yīng)該由ISAKMP SA的
SKEYID_e來(lái)保護(hù),因此不需要由PFS來(lái)保護(hù)。如果密鑰和身份的PFS都需要,則ISAKMP雙方必
須對(duì)每個(gè)ISAKMP SA只建立一個(gè)非ISAKMP 安全聯(lián)盟(例如:IPsec安全聯(lián)盟)。密鑰和身份的PFS
通過在建立單個(gè)非ISAKMP SA基礎(chǔ)上刪除ISAKMP SA(可選的發(fā)出DELETE消息)來(lái)完成。這種
方式中,第一階段協(xié)商唯一的和單個(gè)第二階段協(xié)商相綁定,同時(shí)在第一階段協(xié)商中建立的ISAKMP
SA 就不再使用了。
從使用已定義的任何組的Diffie-Hellman交換中衍生出的密鑰的強(qiáng)度依靠于組本身的強(qiáng)度、使用
的指數(shù)的大小、以及使用的隨機(jī)數(shù)產(chǎn)生器提供的信息量。根據(jù)這些輸入很難確定任何定義組的密鑰
強(qiáng)度。缺省的Diffie-Hellman組(第一組)和一個(gè)強(qiáng)隨機(jī)數(shù)產(chǎn)生器以及不少于160比特的指數(shù)一起使
用時(shí),足夠用于DES了。第二組到第四組提供更強(qiáng)的安全性。實(shí)現(xiàn)中在建立策略和協(xié)商安全參數(shù)時(shí)
應(yīng)該考慮到這些保守的估計(jì)。
注意,這些限制是對(duì)Diffie-Hellman組自身的。IKE中沒有限制使用更強(qiáng)的組,也不會(huì)減弱從更
強(qiáng)組中得到的強(qiáng)度。事實(shí)上,IKE的可擴(kuò)展的框架支持定義更多的組;使用橢圓曲線組會(huì)大大的增
加使用更小的數(shù)字時(shí)的強(qiáng)度。
在已定義的組沒有提供足夠強(qiáng)度的情況下,可以使用新組模式來(lái)交換能提供必要強(qiáng)度的
Diffie-Hellman組。具體的實(shí)現(xiàn)有責(zé)任檢查提供的組的基本性質(zhì)并且能獨(dú)立的達(dá)到估計(jì)的強(qiáng)度。
總是假設(shè)交換中的Diffie-Hellman指數(shù)在使用過后就從內(nèi)存中刪除了。更為具體的,這些指數(shù)不
能從長(zhǎng)期存在的秘密,如偽隨機(jī)數(shù)產(chǎn)生器中的種子(seed)中衍生。
IKE交換維持不斷改變的初始向量(IV),即最后的消息的最后的密文塊就是下一個(gè)消息的IV。
為阻止重播(或有著有效cookie的偽造消息)引起同步IKE產(chǎn)生交換,實(shí)現(xiàn)中不能立即更新IV,除
非解密的消息通過了基本的完整性檢查并且被用于實(shí)際改變IKE狀態(tài)機(jī)——也就是說(shuō),這不是一個(gè)
重播消息。
雖然主模式的最后一個(gè)傳輸往返(以及積極模式可選的最后一個(gè)消息)是加密的,但嚴(yán)格的說(shuō),
它們并沒有驗(yàn)證。一個(gè)密文形式的主動(dòng)置換攻擊會(huì)導(dǎo)致負(fù)載損壞。如果這樣的攻擊破壞了強(qiáng)制性的
負(fù)載,它將會(huì)由于驗(yàn)證失敗而被發(fā)現(xiàn),但如果它破壞了任何可選的負(fù)載(例如鏈接到主模式交換中
最后一個(gè)消息前的通知負(fù)載),它就不會(huì)被發(fā)覺。
11.IANA考慮
本文檔包含許多由IANA維護(hù)的“幻數(shù)”。這一節(jié)解釋由IANA使用來(lái)在每一個(gè)列表中分配另外
的數(shù)字的標(biāo)準(zhǔn)。
11.1 屬性類
本協(xié)議中協(xié)商的屬性由它們的種類來(lái)識(shí)別。分配一個(gè)新種類的請(qǐng)求必須伴隨一個(gè)描述這些屬性
的使用的標(biāo)準(zhǔn)跟蹤RFC。
11.2 加密算法類
在本文檔中使用的加密算法種類的值定義了一個(gè)使用的加密算法。分配一個(gè)新加密算法值的請(qǐng)
求必須伴隨對(duì)一個(gè)標(biāo)準(zhǔn)跟蹤或信息RFC的參考,或?qū)γ枋鲞@個(gè)算法的已出版的密碼學(xué)書籍的參考。
11.3 hash算法
在本文檔中使用的hash算法中類的值定義了一個(gè)使用的hash算法。分配一個(gè)新hash算法值的
請(qǐng)求必須伴隨對(duì)一個(gè)標(biāo)準(zhǔn)跟蹤或信息RFC的參考,或?qū)γ枋鲞@個(gè)算法的已出版的密碼學(xué)書籍的參考。
由于在IKE中,密鑰衍生和密鑰擴(kuò)展使用hash算法的HMAC形式,分配一個(gè)新hash算法值的請(qǐng)求
必須考慮到hash算法自身的密碼的特性——例如它的抗沖突性。
11.4 組描述和組類型
組描述種類的值標(biāo)識(shí)在Diffie-Hellman交換中使用的組。組類型類的值定義組的類型。分配一個(gè)
新組的請(qǐng)求必須伴隨對(duì)一個(gè)描述這個(gè)組的標(biāo)準(zhǔn)跟蹤或信息RFC的參考。分配一個(gè)新組類型的請(qǐng)求必
須伴隨對(duì)一個(gè)標(biāo)準(zhǔn)跟蹤或信息RFC的參考,或?qū)γ枋鲞@個(gè)新類型的已出版的密碼學(xué)書籍或數(shù)學(xué)書籍
的參考。
11.5 存活期類型
存活期類型種類的值定義了ISAKMP安全聯(lián)盟中使用的存活期類型。分配新存活期類型的請(qǐng)求
必須伴隨一個(gè)對(duì)這個(gè)類型的單位和它的到期值的詳細(xì)的描述。
12. 鳴謝
本文檔是和Hugo Krawczyk,Douglas Maughan,Hilarie Orman, Mark Schertler, Mark Schneider,
以及Jeff Turner通過仔細(xì)榷商而得的。它依靠于由他們編寫的協(xié)議。如果沒有他們的興趣和貢獻(xiàn),
本文檔是不可能寫成的。
特別對(duì)Rob Adams,Cheryl Madson,Derrell Piper,Harry Varnis,和Elfed Weaver一直的技術(shù)支
持,鼓勵(lì)以及各種完整性檢查表示感謝。
我們也要感謝許多IPSec工作組的成員,他們?cè)谶^去的許多年里一直對(duì)本協(xié)議的發(fā)展做著貢獻(xiàn)。
13.參考
[CAST] Adams, C., "The CAST-128 Encryption Algorithm", RFC 2144,
May 1997.
[BLOW] Schneier, B., "The Blowfish Encryption Algorithm", Dr.
Dobb's Journal, v. 19, n. 4, April 1994.
[Bra97] Bradner, S., "Key Words for use in RFCs to indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[DES] ANSI X3.106, "American National Standard for Information
Systems-Data Link Encryption", American National Standards
Institute, 1983.
[DH] Diffie, W., and Hellman M., "New Directions in
Cryptography", IEEE Transactions on Information Theory, V.
IT-22, n. 6, June 1977.
[DSS] NIST, "Digital Signature Standard", FIPS 186, National
Institute of Standards and Technology, U.S. Department of
Commerce, May, 1994.
[IDEA] Lai, X., "On the Design and Security of Block Ciphers," ETH
Series in Information Processing, v. 1, Konstanz: Hartung-
Gorre Verlag, 1992
[KBC96] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-
Hashing for Message Authentication", RFC 2104, February
1997.
[SKEME] Krawczyk, H., "SKEME: A Versatile Secure Key Exchange
Mechanism for Internet", from IEEE Proceedings of the 1996
Symposium on Network and Distributed Systems Security.
[MD5] Rivest, R., "The MD5 Message Digest Algorithm", RFC 1321,
April 1992.
[MSST98] Maughhan, D., Schertler, M., Schneider, M., and J. Turner,
"Internet Security Association and Key Management Protocol
(ISAKMP)", RFC 2408, November 1998.
[Orm96] Orman, H., "The Oakley Key Determination Protocol", RFC
2412, November 1998.
[PKCS1] RSA Laboratories, "PKCS #1: RSA Encryption Standard",
November 1993.
[Pip98] Piper, D., "The Internet IP Security Domain Of
Interpretation for ISAKMP", RFC 2407, November 1998.
[RC5] Rivest, R., "The RC5 Encryption Algorithm", Dr. Dobb's
Journal, v. 20, n. 1, January 1995.
[RSA] Rivest, R., Shamir, A., and Adleman, L., "A Method for
Obtaining Digital Signatures and Public-Key Cryptosystems",
Communications of the ACM, v. 21, n. 2, February 1978.
[Sch96] Schneier, B., "Applied Cryptography, Protocols, Algorithms,
and Source Code in C", 2nd edition.
[SHA] NIST, "Secure Hash Standard", FIPS 180-1, National Institue
of Standards and Technology, U.S. Department of Commerce,
May 1994.
[TIGER] Anderson, R., and Biham, E., "Fast Software Encryption",
Springer LNCS v. 1039, 1996.
附錄A
下面是是DES的弱和半弱密鑰的列表。這些密鑰從[Sch96]中得來(lái)。所有的密鑰以16進(jìn)制列出。
DES 弱密鑰:
0101 0101 0101 0101
1F1F 1F1F E0E0 E0E0
E0E0 E0E0 1F1F 1F1F
FEFE FEFE FEFE FEFE
DES 半弱密鑰:
01FE 01FE 01FE 01FE
1FE0 1FE0 0EF1 0EF1
01E0 01E0 01F1 01F1
1FFE 1FFE 0EFE 0EFE
011F 011F 010E 010E
E0FE E0FE F1FE F1FE
FE01 FE01 FE01 FE01
E01F E01F F10E F10E
E001 E001 F101 F101
FE1F FE1F FE0E FE0E
1F01 1F01 0E01 0E01
FEE0 FEE0 FEF1 FEF1
屬性分配號(hào)碼
屬性定義在IPsec DOI中),除了在快速模式中包含一個(gè)臨時(shí)Diffie-Hellman交換時(shí)的組描述。屬性
類型可以是基本(B)或是變長(zhǎng)(V)。這些屬性的編碼在基本ISAKMP規(guī)范中定義為類型/值(基本)
和類型/長(zhǎng)度/值(變長(zhǎng))。
被描述為基本的屬性不能作為變長(zhǎng)來(lái)編碼。而如果變長(zhǎng)屬性的值在能裝在兩個(gè)字節(jié)的情況下,
可以作為基本屬性來(lái)編碼。在這種情況下,本協(xié)議的發(fā)起者提供的變長(zhǎng)(或基本)屬性可能作為基
本(或變長(zhǎng))返回給發(fā)起者。
屬性種類
種類 值 類型
-----------------------------------------------------------------------------------------
加密算法 1 B
Hash算法 2 B
驗(yàn)證方法 3 B
組描述 4 B
組類型 5 B
組素?cái)?shù)/不可約多項(xiàng)式 6 V
組產(chǎn)生器1 7 V
組產(chǎn)生器2 8 V
組曲線A 9 V
組曲線B 10 V
存活期類型 11 B
存活期長(zhǎng)度 12 V
PRF
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -