攻擊的種類:中斷(Interruption)(干擾)、截?。?/span>Interception) (偵聽)、修改(Modification)、偽造(Fabrication) 對(duì)稱密碼體制的優(yōu)缺點(diǎn) 優(yōu)點(diǎn):加密速度快 缺點(diǎn):密鑰需要謹(jǐn)慎保管,密鑰更新和交換困難、多人通信密鑰數(shù)量會(huì)出現(xiàn)爆炸性增長(zhǎng)、不易于實(shí)現(xiàn)數(shù)字簽名 非對(duì)稱密碼體制的優(yōu)缺點(diǎn) 優(yōu)點(diǎn):可以適用網(wǎng)絡(luò)的開放性要求,密鑰管理相對(duì)簡(jiǎn)單;群組通信下,N個(gè)用戶只需要N對(duì)密鑰;密鑰分配較為簡(jiǎn)單,不需要秘密信道和復(fù)雜協(xié)議傳送密鑰;可以實(shí)現(xiàn)數(shù)字簽名; 缺點(diǎn):加密速度慢,實(shí)現(xiàn)較為復(fù)雜;安全性建立在計(jì)算復(fù)雜性假設(shè)下,安全性相對(duì)較低 加密系統(tǒng)的安全分析 明文攻擊:從密文中得到的有關(guān)明文的信息;
密鑰攻擊:從密文和明文的分析中獲取密鑰信息 密鑰安全:從密文和明文的分析中獲取密鑰信息,和在沒有密文/明文情況下得到的是一樣的 語義安全的類型 唯密文攻擊:攻擊者只有密文串,想求出明文或密鑰。 已知明文攻擊:攻擊者知道明文串及對(duì)應(yīng)的密文串,想求出密鑰或解密變換。 選擇明文攻擊:攻擊者不僅知道明文串及其對(duì)應(yīng)密文串,而且可選擇用于加密的明文,想求出密鑰及解密變換。 選擇密文攻擊:攻擊者不僅知道明文串及對(duì)應(yīng)密文串,且密文串由攻擊者選擇,想求出密鑰及解密變換。 ECC的安全性基于橢圓曲線離散對(duì)數(shù)問題的難解性。 GF(p)域上的橢圓曲線是對(duì)于固定的a、b值,滿足形如方程Y^2 =X^3 +aX+b mod(p)的所有點(diǎn)的集合,外加一個(gè)零點(diǎn)或無窮遠(yuǎn)點(diǎn)。 橢圓曲線加密算法:略。 密鑰管理的內(nèi)容現(xiàn)代密碼系統(tǒng)的安全是由密鑰安全保證的 主密鑰(Main Key):又稱初始密鑰(Primary Key) 或用戶密鑰(User key),是參與或控制密碼變換,在一段時(shí)間內(nèi)不進(jìn)行更換的密鑰。 會(huì)話密鑰(Session Key):在一次通話或交換數(shù)據(jù)時(shí)使用的臨時(shí)密鑰。通常與主密鑰相結(jié)合對(duì)消息進(jìn)行加密,且一報(bào)一換。 密鑰分發(fā):通信一方將會(huì)話密鑰分發(fā)給另一方的過程 密鑰協(xié)商:通信雙方或多方共同形成會(huì)話密鑰的過程(保證計(jì)算結(jié)果的一致性和有效性) 交互式證明系統(tǒng):是一類計(jì)算模型,像其它計(jì)算模型一樣,我們的目標(biāo)是對(duì)一個(gè)語言類L,和一個(gè)給定的輸入x,判斷x 是否在L中。它的計(jì)算過程:給定了輸入x,通過驗(yàn)證者和證明者之間交換信息,最終,由驗(yàn)證者來根據(jù)證明者給出的信息,判斷給定的輸入是不是在語言L中。證明者與驗(yàn)證者之間滿足下面性質(zhì): 能力假設(shè):驗(yàn)證者具有多項(xiàng)式時(shí)間確定圖靈機(jī)的計(jì)算機(jī)能力,但是證明者具有無限大的計(jì)算能力; 運(yùn)行規(guī)則:博弈雙方共走m步,且由驗(yàn)證者(或證明者)先行;
NP-問題:在非確定圖靈機(jī)M 內(nèi)多項(xiàng)式時(shí)間可解決的問題;NP問題能夠轉(zhuǎn)化為確定圖靈機(jī)M'下的判定問題。 在交互協(xié)議中,如果證明者P與驗(yàn)證者V的交互過程中,任何一方不能學(xué)習(xí)到對(duì)方的"知識(shí)",那么被稱為對(duì)方是"零知識(shí)"的。"知識(shí)"是指具有解決某種問題的能力。如果在證明過程中,驗(yàn)證者能夠驗(yàn)證證明者的宣稱,但是不能獲得證明者所掌握的知識(shí),那么稱為零知識(shí)證明系統(tǒng)。如何驗(yàn)證協(xié)議是零知識(shí)證明系統(tǒng):模型檢驗(yàn)(主要通過顯式狀態(tài)搜索或隱式不動(dòng)點(diǎn)計(jì)算來驗(yàn)證有窮狀態(tài)并發(fā)系統(tǒng)的模態(tài)/命題性質(zhì)。) 數(shù)字認(rèn)證過程本質(zhì)是一個(gè)交互證明過程;交互證明過程需要滿足兩個(gè)屬性:完整性和完備性;交互證明過程可以在證明者具有無限計(jì)算能力下,依然不能進(jìn)行欺騙;而驗(yàn)證者只需很弱計(jì)算能力 消息認(rèn)證(有問題,看數(shù)字簽名一章):驗(yàn)證消息沒有被改變,即完整性認(rèn)證 Hash函數(shù)一般滿足以下幾個(gè)基本需求:1)輸入x可以為任意長(zhǎng)度;2)輸出數(shù)據(jù)長(zhǎng)度固定;3)容易計(jì)算,給定任何x,容易計(jì)算出x的Hash值H(x);4)單向函數(shù):即給出一個(gè)Hash值,很難反向計(jì)算出原始輸入;5)碰撞性:即難以找到兩個(gè)不同的輸入會(huì)得到相同的Hash輸出值(在計(jì)算上是不可行的)。 Hash函數(shù)的安全要求: • 單向性:已知y ,找出x,使得Hash k (x)=y 困難 • 弱碰撞:已知x ,找出x'≠x,使得Hash k (x')= Hash k (x) 困難 • 強(qiáng)碰撞:找出任意x'≠x,使得Hash k (x')= Hash k (x) 困難 • 困難性具有遞增關(guān)系 迭代壓縮解決無限輸入和有限輸出的問題 為什么SHA-1是80輪? • 每輪只進(jìn)行了32比特一個(gè)單元的混淆 • 每組5個(gè)單元,需要5次 • 每次壓縮為16分組,供需要16次才能將所有信息進(jìn)行處理 • 16*5=80輪 • 前16輪給SHA-1快速"填料",后64輪加速混淆
輸入空間有限的hash函數(shù)稱為壓縮函數(shù);輸入空間無限的hash函數(shù)由壓縮函數(shù)迭代而成。(鏈狀、樹狀) MAC:消息認(rèn)證碼帶密鑰的Hash函數(shù)用于消息完整性驗(yàn)證,不要機(jī)密性 通過Hash函數(shù)構(gòu)造的通常的方法:MAC key (M)=Hash(key||M) CBC-MAC:將任何工作于CBC模式的常規(guī)加密算法作為報(bào)文鑒別函數(shù),并將CBC模式產(chǎn)生的最后一個(gè)密文分組當(dāng)作MAC。例如DAA。 盲驗(yàn)證:指在驗(yàn)證者看不到數(shù)據(jù)情況下對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證的方法(交互式證明) 盲簽名:指在簽名者看不到數(shù)據(jù)情況下對(duì)數(shù)據(jù)進(jìn)行簽名的方法 數(shù)字簽名:實(shí)現(xiàn)用戶對(duì)消息的認(rèn)證 消息認(rèn)證:對(duì)信息系統(tǒng)中的數(shù)據(jù)或通信中的消息來源進(jìn)行認(rèn)證。完整性驗(yàn)證用以保護(hù)雙方之間交換數(shù)據(jù)不被修改,但它并不保證數(shù)據(jù)來源的真實(shí)性。消息認(rèn)證是認(rèn)證消息的確來源于某個(gè)實(shí)體,即消息來源的正確性。 數(shù)字簽名方案一般由兩部分組成:簽名算法、驗(yàn)證算法
• 選擇性偽造:給定x,計(jì)算y,使得Verify(x,y)=1 • 存在性偽造:產(chǎn)生(x,y),使得Verify(x,y)=1 基于單向陷門的簽名通常構(gòu)造(補(bǔ)充) 單向陷門f(m)=c是公開函數(shù);存在陷門鑰匙k,使得f -1 (k;c)=m 驗(yàn)證:如果存在r,使得H(m)=f(H(m)+r),r 是計(jì)算困難的 簽名:r=H(m)+ f -1 (k;H(m))就為簽名 基于身份的簽名(IBS):采用標(biāo)識(shí)身份的字符串來驗(yàn)證簽名的有效性;身份加密的本質(zhì)是群組密碼。簽名:σ=Sign(PP,M,Sk i ,ID i ) 驗(yàn)證:Verify(PP,M, σ,ID i )=1? RSA下的IBS方案: 盲簽名的兩個(gè)要求:待簽消息的內(nèi)容對(duì)簽名人是盲的;簽名接收者能將簽名轉(zhuǎn)化為普通的簽名。強(qiáng)盲簽名、弱盲簽名、部分盲簽名 盲簽名原理:盲化f-簽名-去盲g 盲簽名的性質(zhì):不可連接性(簽名者即使依靠保留的簽名時(shí)信息,也無法與具體的某次簽名過程相對(duì)應(yīng))、匿名性(如果是不可鏈接的,那么用戶可以做到匿名;弱匿名:如果僅給定給定m1和m2是不可鏈接的(一般盲性);強(qiáng)匿名:給定給定(m1,Sign(m1))和(m2,Sign(m2))是不可鏈接的;) RSA盲簽名:發(fā)送者A接收B關(guān)于盲消息的簽名 B的RSA公鑰和私鑰分別是(n, e)和d。k是A隨機(jī)選擇的秘密數(shù),且。 (盲化)A計(jì)算,將它發(fā)送給B (簽名)B計(jì)算,將它發(fā)送給A
代理簽名:是指原始簽名人授權(quán)他的簽名權(quán)給代理簽名人,然后讓代理簽名人代表原始簽名人生成有效簽名。安全性要求:不可偽造性:只有原始簽名者和指定的代理簽名者能夠產(chǎn)生有效的代理簽名。可驗(yàn)證性:從代理簽名中,驗(yàn)證者能夠相信原始的簽名者認(rèn)同了這份簽名消息。可識(shí)別性( 區(qū)分性):原始簽名者能夠從代理簽名中識(shí)別代理簽名者的身份。不可否認(rèn)性:代理簽名者不能否認(rèn)由他建立且被認(rèn)可的代理簽名。可跟蹤性:多個(gè)簽名者,應(yīng)該能夠區(qū)分不同簽名者的簽名。 完全代理簽名:代理者和委托者的簽名無法區(qū)分,完全授權(quán) 部分代理簽名:代理者和委托者的簽名可以區(qū)分 托管式代理簽名:委托者能夠偽造代理者的簽名 非托管式代理簽名:委托者不能夠偽造代理者的簽名 代理簽名的組成:1) 初始化過程:簽名體制的參數(shù)、用戶的密鑰等2) 權(quán)力委托過程:代理者的密鑰生成過程3) 代理簽名的生成過程:簽名4) 代理簽名的驗(yàn)證過程:驗(yàn)證 ElGamal的代理簽名:略。 基于Elgamal簽名函數(shù)如下定義: K-P-W代理簽名方案(非密鑰托管):略。 群簽名:群組內(nèi)每個(gè)人都可以簽名;多重?cái)?shù)字簽名:簽名需要一組內(nèi)一定數(shù)量的人都簽名;不可否認(rèn)數(shù)字簽名:需要簽名者在線幫助的簽名。 身份認(rèn)證也稱為實(shí)體認(rèn)證:一方(證明者A)向另一方(驗(yàn)證者B)證明其身份的過程。 身份認(rèn)證的要求:可驗(yàn)證性:A能向B證明身份,B成功的接受驗(yàn)證;不可假冒性:任何其他人C不能假冒A;不可傳遞性:B不能用A的身份證明過程進(jìn)行欺騙。 身份認(rèn)證的基礎(chǔ)是A所具有的可信任的事物,被稱為:信任根,信任憑證。認(rèn)證過程不能直接傳送"信任根",避免重放攻擊。對(duì)付重放攻擊的有效方法:•隨機(jī)數(shù):每次認(rèn)證采用不同隨機(jī)數(shù)•序列數(shù):采用序號(hào)作為時(shí)變參數(shù) •時(shí)間戳:采用時(shí)間作為時(shí)變參數(shù)。 安全令牌:每隔固定間隔產(chǎn)生一個(gè)基于同步序列的隨機(jī)數(shù) 證書定義:Cert={ID, PK, T, AS, Sign AS (ID,PK, T,AS)} 零知識(shí)證明協(xié)議通常分為三步: A??B:witness B??A:challenge A??B:response KERBEROS認(rèn)證系統(tǒng): OAUTH認(rèn)證協(xié)議 OAuth是一個(gè)開放標(biāo)準(zhǔn),允許用戶讓第三方應(yīng)用B訪問該用戶U在某網(wǎng)站A 上存儲(chǔ)的私密的資源,而無需將用戶名和密碼提供給第三方應(yīng)用。OAuth 為客戶端B提供了一種代表資源擁有者U訪問受限資源A的方法: 在客戶端B訪問受保護(hù)資源A之前,必須先從資源擁有者U獲取授權(quán)/訪問許可然后,用訪問許可交換訪問令牌;客戶端B通過向資源服務(wù)器A出示訪問令牌來訪問受保護(hù)資源。 1. 服務(wù)B向服務(wù)A請(qǐng)求臨時(shí)憑據(jù) 2.服務(wù)B將用戶的請(qǐng)求重定位到服務(wù)A,此時(shí)在服務(wù)A上提供用戶操作的明細(xì),并要求用戶輸入(用戶名-密碼),授權(quán)服務(wù)B對(duì)服務(wù)A上的用戶私有數(shù)據(jù)的訪問 3. 用戶授權(quán)應(yīng)用后,服務(wù)A會(huì)將請(qǐng)求重定向到服務(wù)B在之前設(shè)定的地址,重寫向后會(huì)提示用戶已經(jīng)完成了授權(quán)流程,可以開始訪問服務(wù)A上的數(shù)據(jù),與此同時(shí),服務(wù)B在收到oauth_verifier后,再向服務(wù)A請(qǐng)求令牌憑證,服務(wù)A對(duì)服務(wù)B的請(qǐng)求授權(quán)。 4. 服務(wù)B取得服務(wù)A上的令牌憑據(jù)后,就可以訪問用戶在服務(wù)A上的私有數(shù)據(jù),服務(wù)B可以一直使用憑據(jù)訪問服務(wù)A中的私有數(shù)據(jù),直到用戶吊銷憑據(jù)或超出授權(quán)期限。
|
|