網(wǎng)絡(luò)與信息安全安全基礎(chǔ)四1.ppt_第1頁(yè)
網(wǎng)絡(luò)與信息安全安全基礎(chǔ)四1.ppt_第2頁(yè)
網(wǎng)絡(luò)與信息安全安全基礎(chǔ)四1.ppt_第3頁(yè)
網(wǎng)絡(luò)與信息安全安全基礎(chǔ)四1.ppt_第4頁(yè)
網(wǎng)絡(luò)與信息安全安全基礎(chǔ)四1.ppt_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

網(wǎng)絡(luò)與信息安全 安全基礎(chǔ) (四),潘愛(ài)民,北京大學(xué)計(jì)算機(jī)研究所 /InfoSecCourse,內(nèi)容,SSL/TLS協(xié)議 授權(quán)和訪問(wèn)控制 安全基礎(chǔ)部分小結(jié),SSL/TLS協(xié)議,1994年Netscape開(kāi)發(fā)了SSL(Secure Socket Layer)協(xié)議,專(zhuān)門(mén)用于保護(hù)Web通訊 版本和歷史 1.0,不成熟 2.0,基本上解決了Web通訊的安全問(wèn)題 Microsoft公司發(fā)布了PCT(Private Communication Technology),并在IE中支持 3.0,1996年發(fā)布,增加了一些算法,修改了一些缺陷 TLS 1.0(Transport Layer Security, 也被稱(chēng)為SSL 3.1),1997年IETF發(fā)布了Draft,同時(shí),Microsoft宣布放棄PCT,與Netscape一起支持TLS 1.0 1999年,發(fā)布RFC 2246(The TLS Protocol v1.0),SSL/TLS協(xié)議,協(xié)議的設(shè)計(jì)目標(biāo) 為兩個(gè)通訊個(gè)體之間提供保密性和完整性(身份認(rèn)證) 互操作性、可擴(kuò)展性、相對(duì)效率 協(xié)議的使用,SSL/TLS概況,協(xié)議分為兩層 底層:TLS記錄協(xié)議 上層:TLS握手協(xié)議、TLS密碼變化協(xié)議、TLS警告協(xié)議 TLS記錄協(xié)議 建立在可靠的傳輸協(xié)議(如TCP)之上 它提供連接安全性,有兩個(gè)特點(diǎn) 保密性,使用了對(duì)稱(chēng)加密算法 完整性,使用HMAC算法 用來(lái)封裝高層的協(xié)議 TLS握手協(xié)議 客戶(hù)和服務(wù)器之間相互認(rèn)證 協(xié)商加密算法和密鑰 它提供連接安全性,有三個(gè)特點(diǎn) 身份認(rèn)證,至少對(duì)一方實(shí)現(xiàn)認(rèn)證,也可以是雙向認(rèn)證 協(xié)商得到的共享密鑰是安全的,中間人不能夠知道 協(xié)商過(guò)程是可靠的,SSL/TLS協(xié)議棧,為上層協(xié)議提供安全性 保密性 身份認(rèn)證和數(shù)據(jù)完整性,TLS會(huì)話(huà),(TLS Session)定義: 指客戶(hù)和服務(wù)器之間的一個(gè)關(guān)聯(lián)關(guān)系。通過(guò)TLS握手協(xié)議創(chuàng)建session,它確定了一組密碼算法的參數(shù)。Session可以被多個(gè)連接共享,從而可以避免為每個(gè)連接協(xié)商新的安全參數(shù)而帶來(lái) 昂貴的開(kāi)銷(xiāo)。 TLS Session都有一個(gè)當(dāng)前狀態(tài) TLS connection 與底層協(xié)議的點(diǎn)對(duì)點(diǎn)連接相關(guān)聯(lián) 每個(gè)connection都與一個(gè)session相關(guān)聯(lián) 連接是短暫的,TLS會(huì)話(huà)狀態(tài),實(shí)際上是一組參數(shù),包括 Session identifier,字節(jié)序列,由服務(wù)器產(chǎn)生,用來(lái)標(biāo)識(shí)一個(gè)會(huì)話(huà)狀態(tài) Peer certificate(可以為NULL),對(duì)方的X.509 v3證書(shū) Compression method,壓縮數(shù)據(jù)的算法 Cipher spec,指定數(shù)據(jù)加密算法和用于HMAC的散列算法,以及算法的有關(guān)參數(shù) Master secret, 客戶(hù)和服務(wù)器之間共享的48字節(jié)的數(shù)據(jù) Is resumable,標(biāo)記是否這個(gè)會(huì)話(huà)可以被用來(lái)初始化一個(gè)新的連接,TLS連接的狀態(tài),連接狀態(tài)也包含一組參數(shù) Server and client random,客戶(hù)和服務(wù)器為每個(gè)連接選擇的字節(jié)序列 Server write MAC secret,服務(wù)器在發(fā)送數(shù)據(jù)的時(shí)候,用于MAC運(yùn)算的key Client write MAC secret ,客戶(hù)在發(fā)送數(shù)據(jù)的時(shí)候,用于MAC運(yùn)算的key Server write key,服務(wù)器加密數(shù)據(jù)的密鑰,以及客戶(hù)解密數(shù)據(jù)的密鑰 Client write key,客戶(hù)加密數(shù)據(jù)的密鑰,以及服務(wù)器解密數(shù)據(jù)的密鑰 Initialization vectors,在CBC模式中用到的IV,最初由握手協(xié)議初始化,以后,每一個(gè)記錄的最后一個(gè)密文塊被用作下一個(gè)記錄的IV Sequence numbers,每一個(gè)連接都需要維護(hù)一個(gè)序 列號(hào),當(dāng)密碼參數(shù)變化時(shí),重置為0,TLS記錄協(xié)議 TLS Record Protocol,操作過(guò)程示意圖,TLS記錄協(xié)議中的操作,第一步,fragmentation 上層消息的數(shù)據(jù)被分片成214字節(jié)大小的塊,或者更小 第二步,compression(可選) 必須是無(wú)損壓縮,如果數(shù)據(jù)增加的話(huà),則增加部分的長(zhǎng)度不超過(guò)1024字節(jié) 第三步,計(jì)算消息認(rèn)證碼(MAC) 計(jì)算公式: HMAC_hash(MAC_write_secret, seq_num | TLSCompressed.type | TLSCompressed.version | TLSCompressed.length | TLSCompressed.fragment),TLS記錄協(xié)議中的操作(續(xù)),第四步,encryption 采用CBC,算法由cipher spec指定 數(shù)據(jù)長(zhǎng)度不超過(guò)214+2048字節(jié),包括 加密之后的數(shù)據(jù)內(nèi)容 HMAC padding, 共padding_length,每個(gè)字節(jié)的值也是padding_length padding_length IV,初始協(xié)商指定,以后,前后記錄連接起來(lái) 說(shuō)明:如果是流密碼算法,則不需要padding,TLS記錄協(xié)議的處理結(jié)果,結(jié)果如下: struct ContentType type; 8位,上層協(xié)議類(lèi)型 ProtocolVersion version; 16位,主次版本 uint16 length; 加密后數(shù)據(jù)的長(zhǎng)度, 不超過(guò)214+2048字節(jié) EncryptedData fragment; 密文數(shù)據(jù) TLSCiphertext;,length,TLS密碼變化協(xié)議 Change Cipher Spec Protocol,它位于TLS記錄協(xié)議之上 所以,它用到了TLS記錄協(xié)議的處理過(guò)程 ContentType = 20 協(xié)議只包含一條消息,一個(gè)字節(jié) 1 用途:切換狀態(tài) 把密碼參數(shù)設(shè)置為當(dāng)前狀態(tài) 在握手協(xié)議中,當(dāng)安全參數(shù) 協(xié)商一致后,發(fā)送此消息 這條消息使得接收方改變當(dāng) 前狀態(tài)讀參數(shù),使得發(fā)送方 改變當(dāng)前狀態(tài)寫(xiě)參數(shù),TLS警告協(xié)議 Alert Protocol,位于TLS記錄協(xié)議之上 所以,也用到了TLS記錄協(xié)議的處理過(guò)程 ContentType = 21 協(xié)議數(shù)據(jù)包含兩個(gè)字節(jié) 第一個(gè)字節(jié)為level: 分別為warning(1)和 fatal(2)兩種情況 第二個(gè)字節(jié)為情況說(shuō)明 Fatal類(lèi)型的alert消息導(dǎo)致 連接立即終止,此時(shí),對(duì)應(yīng) 該會(huì)話(huà)的其他連接可以繼續(xù), 但是會(huì)話(huà)標(biāo)識(shí)符無(wú)效,以免 利用此失敗的連接來(lái)建立新 的連接,Alert Protocol第二字節(jié)說(shuō)明,close_notify(0), unexpected_message(10), bad_record_mac(20),* decryption_failed(21),* record_overflow(22), * decompression_failure(30),* handshake_failure(40),* bad_certificate(42), unsupported_certificate(43), certificate_revoked(44), certificate_expired(45), certificate_unknown(46), illegal_parameter(47),* unknown_ca(48), *,access_denied(49), decode_error(50),* decrypt_error(51), export_restriction(60), * protocol_version(70), * insufficient_security(71), * internal_error(80), * user_canceled(90), # no_renegotiation(100), #,說(shuō)明: 1 * 表示該消息往往是fatal級(jí)別 2 # 表示該消息往往是warning級(jí)別 3 對(duì)于其他的錯(cuò)誤情況,發(fā)送方可以根據(jù)情況決定是warning還是fatal,對(duì)于warning消息,接收方可以自行決定如何處理,如果是fatal消息,則一定要當(dāng)作fatal消息來(lái)對(duì)待,TLS握手協(xié)議 TLS Handshake Protocol,位于TLS記錄協(xié)議之上 也用到了TLS記錄協(xié)議的處理過(guò)程 ContentType = 22 協(xié)議格式 用途: 當(dāng)TLS客戶(hù)和服務(wù)器開(kāi)始通訊的時(shí)候,它們要通過(guò)協(xié)商,在以下信息方面獲得一致: 協(xié)議版本、密碼算法、是否認(rèn)證對(duì)方、 用什么技術(shù)來(lái)產(chǎn)生共享秘密數(shù)據(jù),等等,TLS握手協(xié)議的流程,交換Hello消息,對(duì)于算法、交換隨機(jī)值等協(xié)商一致 交換必要的密碼參數(shù),以便雙方得到統(tǒng)一的premaster secret 交換證書(shū)和相應(yīng)的密 碼信息,以便進(jìn)行身份認(rèn)證 產(chǎn)生master secret 把安全參數(shù)提供給TLS記錄層 檢驗(yàn)雙方是否已經(jīng)獲得同樣的安全參數(shù),TLS握手協(xié)議使用的消息,第一階段:建立起安全能力屬性,客戶(hù)發(fā)送一個(gè)client_hello消息,包括以下參數(shù): 版本、隨機(jī)數(shù)(32位時(shí)間戳+28字節(jié)隨機(jī)序列)、會(huì)話(huà)ID、客戶(hù)支持的密碼算法列表(CipherSuite)、客戶(hù)支持的壓縮方法列表 然后,客戶(hù)等待服務(wù)器的server_hello消息 服務(wù)器發(fā)送server_hello消息,參數(shù): 客戶(hù)建議的低版本以及服務(wù)器支持的最高版本、服務(wù)器產(chǎn)生的隨機(jī)數(shù)、會(huì)話(huà)ID、服務(wù)器從客戶(hù)建議的密碼算法中挑出一套、服務(wù)器從客戶(hù)建議的壓縮方法中挑出一個(gè),關(guān)于會(huì)話(huà)ID(Session ID),客戶(hù)方 客戶(hù)指定的會(huì)話(huà)ID如果不等于0,則表示它希望基于這個(gè)會(huì)話(huà)來(lái)更新已有連接的安全參數(shù),或者創(chuàng)建一個(gè)新的連接 如果會(huì)話(huà)ID等于0,則表示客戶(hù)希望在一個(gè)新的會(huì)話(huà)上建立一個(gè)新的連接 服務(wù)器 或者同意客戶(hù)指定的會(huì)話(huà)ID,需要檢查cache中的會(huì)話(huà)狀態(tài) 或者返回一個(gè)新的會(huì)話(huà)ID,CipherSuite,第一個(gè)元素指定了密鑰交換的方法,TLS支持以下一些方法: RSA,要求服務(wù)器提供一個(gè)RSA證書(shū) DH(Diffie-Hellman),要求服務(wù)器的證書(shū)中包含了由CA簽名的DH公開(kāi)參數(shù)。客戶(hù)或者在證書(shū)中提供DH公開(kāi)參數(shù),或者在密鑰 交換消息中提供此參數(shù) EDH(Ephemeral Diffie-Hellman),產(chǎn)生臨時(shí)的密鑰,DH公開(kāi)參數(shù)由發(fā)送者的私鑰進(jìn)行簽名,接收者用對(duì)應(yīng)的公鑰進(jìn)行驗(yàn)證 匿名的DH,不加認(rèn)證。會(huì)受到中間人攻擊 然后,指定以下信息 加密算法,和類(lèi)型(流還是分組密碼算法) HMAC算法,MD5還是SHA-1 是否可出口 HashSize Key Material IV Size,第二階段:服務(wù)器認(rèn)證和密鑰交換,服務(wù)器發(fā)送自己的證書(shū),消息包含一個(gè)X.509證書(shū),或者一條證書(shū)鏈 除了匿名DH之外的密鑰交換方法都需要 服務(wù)器發(fā)送server_key_exchange消息 可選的,有些情況下可以不需要。只有當(dāng)服務(wù)器的證書(shū)沒(méi)有包含必需的數(shù)據(jù)的時(shí)候才發(fā)送此消息 消息包含簽名,被簽名的內(nèi)容包括兩個(gè)隨機(jī)數(shù)以及服務(wù)器參數(shù) 服務(wù)器發(fā)送certificate_request消息 非匿名server可以向客戶(hù)請(qǐng)求一個(gè)證書(shū) 包含證書(shū)類(lèi)型和CAs 服務(wù)器發(fā)送server_hello_done, 然后等待應(yīng)答,第三階段:客戶(hù)認(rèn)證和密鑰交換,客戶(hù)收到server_done消息后,它根據(jù)需要檢查服務(wù)器提供 的證書(shū),并判斷server_hello的參數(shù)是否可以接受,如果都沒(méi)有問(wèn)題的話(huà),發(fā)送一個(gè)或多個(gè)消息給服務(wù)器 如果服務(wù)器請(qǐng)求證書(shū)的話(huà),則客戶(hù)首先發(fā)送一個(gè)certificate消息,若客戶(hù)沒(méi)有證書(shū),則發(fā)送一個(gè)no_certificate警告 然后客戶(hù)發(fā)送client_key_exchange消息,消息的內(nèi)容取決于密鑰交換的類(lèi)型 最后,客戶(hù)發(fā)送一個(gè)certificate_verify消息,其中包含一個(gè)簽名,對(duì)從第一條消息以來(lái)的所有握手消息的HMAC值(用master_secret)進(jìn)行簽名,第四階段:結(jié)束,第四階段建立起一個(gè)安全的連接 客戶(hù)發(fā)送一個(gè)change_cipher_spec消息,并且把協(xié)商得到的CipherSuite拷貝到當(dāng)前連接的狀態(tài)之中 然后,客戶(hù)用新的算法、密鑰參數(shù)發(fā)送一個(gè)finished消息,這條消息可以檢查密鑰交換和認(rèn)證過(guò)程是否已經(jīng)成功。其中包括一個(gè)校驗(yàn)值,對(duì)所有以來(lái)的消息進(jìn)行校驗(yàn)。 服務(wù)器同樣發(fā)送change_cipher_spec消息和finished消息。 握手過(guò)程完成,客戶(hù)和服務(wù)器可以交換應(yīng)用層數(shù)據(jù)。,密鑰交換算法,TLS記錄協(xié)議需要:CipherSuite, master secret, and the client and server random values 在hello消息中,交換隨機(jī)數(shù)以及各種算法 對(duì)于各種密鑰交換算法,從pre_master_secret計(jì)算得到master_secret,然后從內(nèi)存中刪除,公式: master_secret = PRF(pre_master_secret, “master secret”, ClientHello.random + ServerHello.random)047 * PRF(secret, label, seed)為偽隨機(jī)函數(shù) Master_secret總是48字節(jié)長(zhǎng),而pre_master_secret長(zhǎng)度不定,取決于密鑰交換算法 兩類(lèi)密鑰交換算法: RSA,客戶(hù)產(chǎn)生一個(gè)48字節(jié)的pre_master_secret,然后通過(guò)服務(wù)器的公鑰傳遞給服務(wù)器 Diffie-Hellman,雙方協(xié)商得到的密鑰被用作pre_master_secret,重用一個(gè)TLS會(huì)話(huà),客戶(hù)和服務(wù)器在交換hello消息中,客戶(hù)要求重用已有的TLS會(huì)話(huà),服務(wù)器同意使用cache中的會(huì)話(huà) * session id 跳過(guò)第二第三階段,直接把TLS會(huì)話(huà)中的參數(shù)傳遞給TLS記錄層,偽隨機(jī)函數(shù)PRF(secret, label, seed),P_hash(secret, seed) = +HMAC_hash(secret, A(1) + seed) +HMAC_hash(secret, A(2) + seed) +HMAC_hash(secret, A(3) + seed) + . 這里A()定義如下: A(0) = seed A(i) = HMAC_hash(secret, A(i-1) 偽隨機(jī)函數(shù) PRF(secret, label, seed) = P_MD5(S1, label + seed) XOR P_SHA-1(S2, label + seed); 這里,S1和S2為secret的各一半,如果secret為奇數(shù)個(gè)字節(jié),則S1和S2共享一個(gè)字節(jié),TLS/SSL安全性分析,針對(duì)一些常見(jiàn)的攻擊手法 針對(duì)密鑰算法的破解 取決于算法的強(qiáng)度,協(xié)商過(guò)程 利用明文模式的攻擊 上層協(xié)議中常常有一些固定的模式可以參考,比如http協(xié)議中g(shù)et字節(jié)串 構(gòu)造字典(密文-密鑰對(duì)),查字典 TLS辦法:用長(zhǎng)密鑰,使得不可能構(gòu)造這樣的字典 重放攻擊 TLS中的nonce有32字節(jié)(包含時(shí)間戳),可用于避免重放攻擊 會(huì)話(huà)ID標(biāo)識(shí)了一個(gè)完整的會(huì)話(huà),要重放部分會(huì)話(huà)需要知道私鑰 中間人攻擊 通過(guò)證書(shū)來(lái)認(rèn)證對(duì)方 對(duì)于雙方都是匿名的模式,中間人攻擊也是成立的,歷史上針對(duì)SSL/TLS的攻擊,PRNG Million-message attack 其它,SSL: PRNG攻擊,Netscape v1.1版本中存在,利用隨機(jī)數(shù)發(fā)生器的弱點(diǎn) 先看隨機(jī)數(shù)發(fā)生器,global variable seed; RNG_CreateContext() (seconds, microseconds) = time of day; /* Time elapsed since 1970 */ pid = process ID; ppid = parent process ID; a = mklcpr(microseconds); b = mklcpr(pid + seconds + (ppid 1); (待續(xù)),SSL: PRNG攻擊(續(xù)),種子關(guān)聯(lián):pid, ppid, seconds, microseconds Seconds往往可以獲得,microseconds未知 如果在目標(biāo)機(jī)器上有賬號(hào),則pid和ppid可以獲得 否則,可以尋找pid和ppid的。 對(duì)于大多數(shù)UNIX平臺(tái),pid+(ppid 12)只有27位,global variable challenge, secret_key; RNG_GenerateRandomBytes() x = MD5(seed); seed = seed + 1; return x; create_key() RNG_CreateContext(); tmp = RNG_GenerateRandomBytes(); tmp = RNG_GenerateRandomBytes(); challenge = RNG_GenerateRandomBytes(); secret_key = RNG_GenerateRandomBytes();,PRNG的啟示,PRNG并不是SSL協(xié)議本身的缺陷,而是實(shí)現(xiàn)上導(dǎo)致的缺陷 隨機(jī)數(shù)對(duì)于安全協(xié)議或者安全系統(tǒng)的重要性 源碼開(kāi)放的另一層含義 關(guān)鍵的代碼接受公眾的審視,Reference: Ian Goldberg and David Wagner, “Randomness and the Netscape Browser”, January 1996 Dr. Dobbs Journal,SSL: Million-message attack,在RSA算法作加密運(yùn)算的時(shí)候,首先對(duì)明文消息進(jìn)行編碼,其格式為,假設(shè)密文C,攻擊者可以產(chǎn)生一系列整數(shù)S并計(jì)算C = C*(Se) mod n,在解密的時(shí)候,每一個(gè)C對(duì)應(yīng)于一個(gè)M。 大多數(shù)的M不會(huì)滿(mǎn)足上面的格式,但是有2-16的概率會(huì)產(chǎn)生這樣的結(jié)果(因?yàn)榍皟蓚€(gè)字節(jié)是確定的)。攻擊者可以找到一系列滿(mǎn)足條件的S,然后推斷出密文C對(duì)應(yīng)的明文M。這個(gè)過(guò)程大約需要220個(gè)消息和應(yīng)答。 攻擊實(shí)施依賴(lài)于 需要一個(gè)可以提供解密準(zhǔn)確性判斷的服務(wù)器稱(chēng)為oracle SSL實(shí)現(xiàn)是否能夠精確地告知明文格式不正確? 只能得到一個(gè)消息的明文,無(wú)法得到私鑰,MMA的啟示,實(shí)現(xiàn)SSL的時(shí)候 對(duì)待錯(cuò)誤消息如何響應(yīng)? Contiune? 會(huì)不會(huì)招致DOS? 返回精確的錯(cuò)誤 充分利用明文模式 隨機(jī)數(shù)填充,References 1 RFC 3218 2 Bleichenbacher D. , “Chosen Ciphertext Attacks against Protocols Based on RSA Encryption Standard PKCS #1“ in Advances in Cryptology - CRYPTO98, LNCS vol. 1462, pages: 1-12, 1998.,針對(duì)SSL的其他攻擊,Export ciphers and distributed cracking 舉例: 40位RC4,/date/1995/07/msg00052.html downgrade attacks 往SSL的低版本退化 密碼算法的退化,SSL實(shí)現(xiàn),OpenSSL, 最新0.9.6c, 實(shí)現(xiàn)了SSL(2,3), TLS(1.0) Openssl a command line tool. ssl(3) the OpenSSL SSL/TLS library. crypto(3) the OpenSSL Crypto library. URL: SSLeay .au/ftp/Crypto/ Microsoft Win2k SSL implementation,Microsoft IE中SSL/TLS的一個(gè)漏洞,IE處理內(nèi)嵌在HTTP頁(yè)面中的HTTPS對(duì)象存在一個(gè)漏洞 它只檢查HTTPS服務(wù)器的證書(shū)是否由可信的CA簽名的,而完全忽略該證書(shū)是否有適當(dāng)?shù)拿?,以及是否已?jīng)過(guò)期。 對(duì)于當(dāng)前這個(gè)頁(yè)面而言,其實(shí)并不危險(xiǎn) 問(wèn)題在于 IE會(huì)把這個(gè)證書(shū)緩存起來(lái),并標(biāo)記為可信任的,一直到瀏覽器的會(huì)話(huà)結(jié)束 這意味著,假如說(shuō),IE客戶(hù)在訪問(wèn)一個(gè)HTTP頁(yè)面時(shí),如果該頁(yè)面被插入一個(gè)包含指向有問(wèn)題的SSL server的HTTPS對(duì)象(比如說(shuō)一個(gè)image)的話(huà),IE不會(huì)警告遇到一個(gè)非法的證書(shū),只要這個(gè)證書(shū)確實(shí)是被可信CA簽名的,IE中SSL/TLS的漏洞的情形,假如說(shuō)中間人在服務(wù)器返回的頁(yè)面上加上一句話(huà) HTTPS部分顯示的是一個(gè)被偷來(lái)的或者過(guò)期的的證書(shū),這個(gè)證書(shū)是有效簽名的,但是IE并不檢查證書(shū)中的名字和過(guò)期情況 如果客戶(hù)通過(guò)HTTPS連接到y(tǒng)oursite網(wǎng)站上,IE將認(rèn)為這是可信的站點(diǎn),而不再進(jìn)一步檢查 參考:ttp://archives/vulnwatch/2001-q4/0077.html /archives/vulnwatch/2001-q4/0080.html,Win2k中的SSL,與Kerberos的關(guān)系 Kerberos是服務(wù)器認(rèn)證客戶(hù)的身份 SSL的通常用法是客戶(hù)認(rèn)證服務(wù)器的身份 如果客戶(hù)提供證書(shū),則可以建立雙向認(rèn)證 服務(wù)器認(rèn)證客戶(hù)往往用“用戶(hù)名+口令”方式 如何與授權(quán)過(guò)程結(jié)合起來(lái),授權(quán)(Authorization)和訪問(wèn)控制,訪問(wèn)控制定義 資源的所有者或者控制者準(zhǔn)許其他人訪問(wèn)這種資源,防止未授權(quán)的訪問(wèn) 對(duì)于進(jìn)入系統(tǒng)的控制機(jī)制 幾種安全需求(安全服務(wù)) 信息安全的基本定義包括 保密性、完整性、可用性 系統(tǒng)安全 保密性、身份認(rèn)證、訪問(wèn)控制 訪問(wèn)控制模型:Reference Monitor 解釋了主體和客體之間實(shí)施訪問(wèn)控制的機(jī)制,基本模型:Reference Monitor,Reference Monitor,主體,客體,控制規(guī)則庫(kù),訪問(wèn)控制策略,在系統(tǒng)安全策略層次上定義授權(quán),直接通過(guò)系統(tǒng)組件實(shí)施控制 最終的結(jié)果可以表示成一個(gè)訪問(wèn)矩陣 實(shí)際應(yīng)用中較少使用,訪問(wèn)控制策略(續(xù)),兩種類(lèi)型 自主式策略(DAC, discretionary access controls) 為特定的用戶(hù)提供訪問(wèn)信息。這種授權(quán)關(guān)系可能會(huì)在運(yùn)行過(guò)程中發(fā)生變化,例如,一個(gè)主體可以把授權(quán)關(guān)系傳遞給另一個(gè)主體。 訪問(wèn)信息的決定權(quán)在于信息的創(chuàng)建者 強(qiáng)制式策略(MAC, mandatory access controls) 對(duì)一個(gè)安全區(qū)域的強(qiáng)制式策略被最終的權(quán)威機(jī)構(gòu)采用和執(zhí)行,它基于能自動(dòng)實(shí)施的規(guī)則。將主體和客體分為不同的級(jí)別 所有對(duì)信息的控制權(quán)都由系統(tǒng)管理員來(lái)決定 基于角色的訪問(wèn)控制策略(RBAC, Role Based Access Control),基于身份的策略:基于個(gè)人的策略,對(duì)于一個(gè)目標(biāo)(客體),用戶(hù)(主體)是否具有讀、寫(xiě)、修改、管理等等的權(quán)限 結(jié)果等價(jià)于訪問(wèn)矩陣的一行(中的一格) 基礎(chǔ)(前提):一個(gè)隱含的、或者顯式的缺省策略 例如,全部權(quán)限否決,在此基礎(chǔ)上定義個(gè)人的策略 最小特權(quán)原則:要求一個(gè)最大限度地限制每個(gè)用戶(hù)為實(shí)施授權(quán)任務(wù)所需要的許可集合 在不同的環(huán)境下,缺省策略不盡相同,例如,在公開(kāi)的布告板環(huán)境中,所有用戶(hù)都可以得到所有公開(kāi)的信息 對(duì)于特定的用戶(hù),有時(shí)候需要提供顯式的否定許可 例如,對(duì)于違紀(jì)的內(nèi)部員工,禁止訪問(wèn)內(nèi)部一些信息,基于身份的策略:基于組的策略,一組用戶(hù)對(duì)于一個(gè)目標(biāo)具有同樣的訪問(wèn)許可。是基于身份的策略的另一種情形 相當(dāng)于,把訪問(wèn)矩陣中同一列中多個(gè)格壓縮為一格 實(shí)際使用時(shí) 先定義組的成員 對(duì)用戶(hù)組授權(quán) 同一個(gè)組可以被重復(fù)使用 組的成員可以改變,基于規(guī)則的訪問(wèn)控制,屬于強(qiáng)制式策略 多級(jí)策略 給每個(gè)目標(biāo)分配一個(gè)密級(jí) 密級(jí)形成一個(gè)層次 每個(gè)用戶(hù)被分配一個(gè)相應(yīng)的級(jí),反映了該用戶(hù)的最基礎(chǔ)的可信賴(lài)度 兩種訪問(wèn)控制關(guān)系: 下讀/上寫(xiě) 保密性 上讀/下寫(xiě) 完整性 這種模型常用于政府機(jī)密部門(mén) 基于間隔的策略 時(shí)間粒度上的控制,基于身份的控制&基于規(guī)則的控制,基于身份的控制 配置的粒度小 配置的工作量大,效率低 基于規(guī)則的控制 配置的粒度大 缺乏靈活性,基于角色的策略,與現(xiàn)代的商業(yè)環(huán)境相結(jié)合的產(chǎn)物 同時(shí)具有基于身份策略的特征,也具有基于規(guī)則的策略的特征 可以看作是基于組的策略的變種。根據(jù)用戶(hù)所屬的角色作出授權(quán)決定 角色的定義: 每個(gè)角色與一組用戶(hù)和有關(guān)的動(dòng)作相互關(guān)聯(lián),角色中所屬的用戶(hù)可以有權(quán)執(zhí)行這些操作 角色與組的區(qū)別 組:一組用戶(hù)的集合 角色:一組用戶(hù)的集合 + 一組操作權(quán)限的集合,RBAC的優(yōu)勢(shì),增加一層間接性帶來(lái)了靈活性 便于管理員賦予最小權(quán)限 便于職責(zé)分擔(dān) 便于目標(biāo)分級(jí) 低的管理代價(jià),舉例:COM+中基于角色的控制,其他的訪問(wèn)控制,與目標(biāo)的內(nèi)容相關(guān)的訪問(wèn)控制 動(dòng)態(tài)訪問(wèn)控制 多用戶(hù)訪問(wèn)控制 當(dāng)多個(gè)用戶(hù)同時(shí)提出請(qǐng)求時(shí),如何做出授權(quán)決定 基于上下文的控制 在做出對(duì)一個(gè)目標(biāo)的授權(quán)決定時(shí)依賴(lài)于外界的因素,比如時(shí)間、用戶(hù)的位置等,目標(biāo)的粒度和策略的結(jié)合,在設(shè)計(jì)一個(gè)安全系統(tǒng)時(shí),授權(quán)粒度代表了控制的粒度和能力 比如,有的數(shù)據(jù)庫(kù)只能控制對(duì)一張表的整體訪問(wèn)或者禁止,而有的可以對(duì)一個(gè)字段進(jìn)行控制 多種策略的結(jié)合 如何協(xié)調(diào)這些策略 規(guī)定策略的優(yōu)先級(jí) 否定策略的優(yōu)先級(jí),訪問(wèn)控制機(jī)制:訪問(wèn)控制表(ACL, Access Control List),訪問(wèn)控制列表 對(duì)應(yīng)于訪問(wèn)控制矩陣中的一列內(nèi)容 基于身份的訪問(wèn)控制策略和基于角色的訪問(wèn)控制策略都可以用ACL來(lái)實(shí)現(xiàn) 優(yōu)點(diǎn): 控制粒度比較小 適用于被區(qū)分的用戶(hù)數(shù)比較小的情況,并且這些用戶(hù)的授權(quán)情況相對(duì)比較穩(wěn)定的情形,其他訪問(wèn)控制機(jī)制,訪問(wèn)能力表 授權(quán)機(jī)構(gòu)針對(duì)每個(gè)限制區(qū)域,都為用戶(hù)維護(hù)它的訪問(wèn)控制能力 與ACL相比較:在每個(gè)受限制的區(qū)域,都維護(hù)一個(gè)ACL表 安全標(biāo)簽 發(fā)起請(qǐng)求的時(shí)候,附屬一個(gè)安全標(biāo)簽,在目標(biāo)的屬性中,也有一個(gè)相應(yīng)的安全標(biāo)簽。在做出授權(quán)決定時(shí),目標(biāo)環(huán)境根據(jù)這兩個(gè)標(biāo)簽決定是允許還是拒絕訪問(wèn) 常常用于多級(jí)訪問(wèn)策略 基于口令的機(jī)制,一般化的訪問(wèn)控制機(jī)制,對(duì)于一個(gè)reference monitor訪問(wèn)控制模型,可以設(shè)想在發(fā)起方(主體)有一些附屬的安全屬性信息,在目標(biāo)方(客體)也有一個(gè)附屬的安全屬性信息 授權(quán)機(jī)構(gòu)根據(jù)這些信息做出授權(quán)決定,Reference Monitor,主體,客體,控制規(guī)則庫(kù),安全屬性,安全屬性,Windows平臺(tái)上有關(guān)訪問(wèn)控制的幾個(gè)概念,SID 是一個(gè)可變長(zhǎng)度的結(jié)構(gòu),用來(lái)唯一地描述一個(gè)用戶(hù)或者組 可以轉(zhuǎn)化為字符串形式 SD 包含了與一個(gè)安全對(duì)象有關(guān)的安全信息 Security identifiers (SIDs) for the owner and primary group of an object DACL(discretionary access-control list) SACL(system access-control list) 以及一組控制標(biāo)記 數(shù)據(jù)結(jié)構(gòu)ACL、ACE Access token 此對(duì)象描述了一個(gè)進(jìn)程或者線(xiàn)程的安全環(huán)境 包括SID,以及用戶(hù)所屬的組的SIDs, logon SID,Windows NT/2000的安全策略,安全基礎(chǔ)部分小結(jié)密碼學(xué)基礎(chǔ),對(duì)稱(chēng)加密算法 DES Feistel結(jié)構(gòu) 分組

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論