510 likes | 622 Views
CH19 資訊安全. 認識資訊安全與其重要性 了解傳統與公開金鑰密碼系統,以及基本的安全性觀念 了解訊息鑑別與雜湊函數 了解數位簽章法 了解憑證與公開金鑰基礎架構. 19-1 資訊安全簡介. 資訊安全 (Information Security). 資訊安全 就是防範受到保護的資料,遭受到未經允許的擷取與變更。 佐證 羅馬時代的凱薩加密器 (Caesar Ciphers) 。 第二次世界大戰時期,德國的 Enigma 密碼機與英美破解 Enigma 密碼機的研究。 網路上身 (The Net , 1995 年 ) 。
E N D
CH19資訊安全 認識資訊安全與其重要性 了解傳統與公開金鑰密碼系統,以及基本的安全性觀念 了解訊息鑑別與雜湊函數 了解數位簽章法 了解憑證與公開金鑰基礎架構
19-1資訊安全簡介 CH01 電腦基本架構
資訊安全(Information Security) • 資訊安全就是防範受到保護的資料,遭受到未經允許的擷取與變更。 • 佐證 • 羅馬時代的凱薩加密器(Caesar Ciphers)。 • 第二次世界大戰時期,德國的Enigma密碼機與英美破解Enigma密碼機的研究。 • 網路上身(The Net,1995年)。 • 全民公敵(Enemy of the State,1999年)。 CH01 電腦基本架構
電腦安全與網路安全 • 電腦安全(Computer Security)的目的是要保護儲存在電腦設備上資訊的安全。 • 網路安全(Network Security) 在於解決通訊傳輸時的所產生的安全問題。 • 電腦安全與網路安全的不清楚分界:病毒(Virus) • 電腦病毒能破壞儲存在電腦設備上資訊,所以屬於電腦安全範疇。 • 電腦病毒能透過網路散播,所以屬於網路安全的範疇。 CH01 電腦基本架構
資訊安全的三大基本安全需求 機密性 資訊安全 完整性 可用性 CH01 電腦基本架構
密碼學(Cryptography) 密碼學為一門研究如何安全地編碼機密或重要資訊的學問。 CH01 電腦基本架構
19-2傳統密碼系統 CH01 電腦基本架構
傳統密碼系統的示意圖 傳統密碼系統又稱單金鑰密碼系統(Single-Key Cryptosystems)、對稱式密碼系統(Symmetric Cryptosystems)、秘密金鑰密碼系統(Private-key Cryptosystems) CH01 電腦基本架構
設計傳統密碼系統的基本技術 • 取代加密器(Substitution Ciphers):一個明文字元會被另一個明文字元所取代。 • 凱薩加密器。 • 換位加密器(Transposition Ciphers):改變每個明文字元的原來位置。 CH01 電腦基本架構
凱薩加密器 取代加密器的一種,採用位移加密器的作法。 明文”THIS IS A CIPHER”加密後,密文就會變成”wklvlvdflskhu” 凱薩加密器的變形:加密規則變更成將任一個英文字元,以它的後k個英文字元所取代。k有25種選擇。 CH01 電腦基本架構
秘密金鑰K優點 單一套軟體或是硬體的設計。 多人可以共同使用相同的密碼系統。 CH01 電腦基本架構
傳統密碼系統的破解 • 理論上假設攻擊者能夠事先獲知加密與解密的演算法,明文與密文的長度與格式,以及可以獲知的密文。 • 唯一假設不被攻擊者獲知的資訊就是秘密金鑰。 • 攻擊目標 • 秘密金鑰k • 獲取某些密文的明文 CH01 電腦基本架構
暴力攻擊法(Bruce Force Attacks) 又稱地毯式搜尋法(Exhaustive Searches)。 使用任何一個可能的秘密金鑰k值,嘗試解密密文成明文,若是解密的明文式一個合理的明文,則該秘密金鑰k值就可能是真的秘密金鑰k值。 CH01 電腦基本架構
暴力攻擊法與凱薩加密器 密文”wklvlvdflskhu”。 CH01 電腦基本架構
防禦暴力攻擊 大量的秘密金鑰k的可能值,用暴力攻擊法攻擊時,也要花費非常大量的計算時間,才有可能猜中。 每回加密明文時,均換用隨機選取的不同秘密金鑰。 CH01 電腦基本架構
換位加密器 明文以”THISISACIPHER”當例子。 填寫的順序是列為主的填寫方式,輸出時,每一行有一個輸出順序的代號,輸出的順序是行為主的輸出方式。 密文如:”ICRHAETSHSIIP”。 CH01 電腦基本架構
有名的傳統密碼系統 • DES(Data Encryption Standard的簡稱) • AES (Advanced Encryption Standard的簡稱) • 比利時Rijmen與Daemen所設計的Rijndael ,於2000年成為AES。 • 每次加密128位元的明文區塊(Block),變成128位元的密文區塊。 • 秘密金鑰的長度有三種:128位元、192位元和256位元。 • 適用於32位元與8位元處理器的硬體平台。 CH01 電腦基本架構
傳統密碼系統與使用者鑑別 通訊雙方共同分享同一把的秘密金鑰。 收方使用分享同的秘密金鑰,解密出正確的明文,就可以確認送方也是擁有相同秘密金鑰的人。 CH01 電腦基本架構
傳統密碼系統的安全議題 • 秘密金鑰分配問題(Key Distribution Problems)。 • 系統有n個使用者,整個系統就需要n(n-1)/2把秘密金鑰。 • 改為臨時安全地讓雙方獲得相同秘密金鑰。 • 數位簽章(Digital Signatures)。 CH01 電腦基本架構
19-3訊息鑑別與雜湊函數 CH01 電腦基本架構
訊息鑑別(Message Authentication) • 訊息鑑別 • 訊息鑑別:確認資料完整性。 • 使用者鑑別:確認資料的來源。 • 兩種常用的函數 • 訊息驗證(Message Authentication Codes,簡稱MAC)函數。 • 雜湊函數(Hash Functions)。 CH01 電腦基本架構
訊息驗證函數用於訊息鑑別 事先擁有一把共同的秘密金鑰。 訊息驗證碼位元長度固定且遠短於輸入資料的位元長度。 CH01 電腦基本架構
雜湊函數 • 輸入為不限位元長度,輸出為一固定位元長度的訊息摘要(Message Digests)。 • 系統公開共用的函數。 • 安全特性 • 單向函數(One-way Functions) 。 • 弱防止碰撞(Weak Collision Resistant):給一組資料與摘要,難以找到另外不同的資料可以產生相同的摘要。 • 防止碰撞(Collision Resistant):難以找到兩個不同的資料會產生相同的摘要。 CH01 電腦基本架構
雜湊函數用於訊息鑑別 雙方須事先擁有一把共同的秘密金鑰。 CH01 電腦基本架構
常見攻擊雜湊函數的方法 • 暴力攻擊法 • 嘗試輸入不同的資料輸入,看是否會產生相同的訊息摘要。 • 輸出位元長度為m的雜湊函數,需要嘗試輸入2m-1種可能的資料。 CH01 電腦基本架構
常見攻擊雜湊函數的方法 • 生日攻擊法 • 「生日問題」-一年設為365天,需要多少人,才會有超過50%的可能性,會有兩人是同一天生日? • 只要21人,這個人數大約是365的平方根的值。 • 輸出位元長度為m的雜湊函數,就如同有2m天生日。 • 只要試2m/2,就有超過50%的可能性,有兩個輸入的訊息摘要一樣。 • 輸出位元長度為m的雜湊函數,需要嘗試輸入2m/2種可能的資料。 CH01 電腦基本架構
常見的雜湊函數 在1993年時,美國的NIST推出雜湊函數SHA-0。 在1995年,美國的NIST推出160位元的雜湊函數SHA-1。 在2002年,美國的NIST基於SHA-1 雜湊函數,又推出256位元的SHA-256、 384位元的SHA-384與512位元的SHA-512。 CH01 電腦基本架構
19-4公開金鑰密碼系統 CH01 電腦基本架構
公開金鑰密碼系統(Public-Key Cryptosystems)的緣起 • 1976年Diffie與Hellman提出公開金鑰密碼系統)的觀念。 • 動機:解決傳統密碼系統的 • 秘密金鑰分配問題。 • 數位簽章問題。 • 1978年Rivest、Shamir和Addleman提出知名的RSA公開金鑰密碼系統。 CH01 電腦基本架構
公開金鑰密碼系統的示意圖 CH01 電腦基本架構
實現公開金鑰密碼系統的兩個函數 • 單向函數 • 函數對電腦計算而言,是計算上容易完成的。 • 反函數對電腦計算而言,是計算上難以完成的。 • 單向暗門函數 • 是單向函數 • 當知道秘密暗門的時候,反函數對電腦計算而言,也是計算上容易完成的。 CH01 電腦基本架構
因數分解難題 難的是因數分解方法要花費多少電腦的計算時間。 MIPS年=一個每秒執行一百萬個指令的處理器,執行一年的計算量。 Intel的一個1 GHz Pentium處理器約是250MIPS年的機器。 在1999年八月,分解155位數 (約512位元)的正整數,需要8000MIPS年的計算量。 2005年,正整數的因數分解位數只延長到200位數(約664位元)。 CH01 電腦基本架構
RSA公開金鑰密碼系統 • 安全性架構在因數分解計算的難題上。 • 金鑰產生: • 選兩奇質數p= 13和 q=17。 • 計算n= pq= 1317= 221與(n)= (p-1)(q-1)= 1216= 192。 • 選與(n)= 192互質的正整數e= 7。 • 計算出一個正整數d= 55滿足ed mod (n)= 1。 • 公開金鑰為(e, n)= (7, 221),而秘密金鑰是(d, p, q)= (55, 13, 17)或是單獨d= 55。 CH01 電腦基本架構
RSA公開金鑰密碼系統 • 加密函數c= me mod n。 • 明文m= 3, 則密文為c= 37 mod 221= 198。 • 解密函數m= cd mod n • 解密過程為m= 3=19855 mod 221。 • RSA計算難題 • 在沒有秘密金鑰(d, p, q)前提下,從密文c = me mod n反推明文m。 • 尚未證明與因數分解難題一樣困難。 CH01 電腦基本架構
19-5數位簽章 CH01 電腦基本架構
數位簽章法 • 在1976年Diffie與Hellman也提出數位簽章法的觀念。 • 在1978年Rivest、Shamir和Addleman同時提出知名的RSA數位簽章法。 • 架構在因數分解的計算難題上。 CH01 電腦基本架構
數位簽章法的示意圖 CH01 電腦基本架構
RSA數位簽章法與範例 選兩個奇質數p= 13和 q=17。 計算n= pq= 1317= 221與Phi函數值(n)= (p-1)(q-1)= 1216= 192。 選擇一個與(n)= 192互質的正整數e= 7。 計算出一個正整數d= 55滿足條件ed mod (n)= 1。公開金鑰為(e, n)= (7, 221),而秘密金鑰是(d, p, q)= (55, 13, 17)或是單獨d= 55。 CH01 電腦基本架構
RSA數位簽章法與範例 簽章函數為s= md mod n,使用簽章者的秘密金鑰是(d, p, q)= (55, 13, 17)或是單獨d= 55。 對訊息m= 5,則數位簽章為s= 555 mod 221= 112。 驗證函數m= se mod n。 使用簽章者的公開金鑰是(e, n)= (7, 221),計算出的訊息是m= se mod n= 1127 mod 221=5。 訊息m的值必須小於n。 若訊息是有意義的,或是和原來簽署的訊息是一樣的,則數位簽章與訊息都是正確的,是來自於擁有公開金鑰的擁有者所簽署的。 CH01 電腦基本架構
RSA數位簽章法的缺點 • 1. 驗證數位簽章的時候,如何判定訊息是有意義的呢? • 2. RSA數位簽章法的弱點 • 先行選定數位簽章的值s • 再推算出訊息m= se mod n • 會滿足驗證函數m= se mod n。 CH01 電腦基本架構
RSA數位簽章法與雜湊函數 雜湊函數就必須具備的單項函數、弱防止碰撞與防止碰撞的三項安全特性。 CH01 電腦基本架構
19- 6憑證與公開金鑰基礎架構 CH01 電腦基本架構
公開金鑰憑證(Certificates) • 公開金鑰憑證可以建立公開金鑰與擁有者的”具公信力”關係。 • 公開金鑰憑證至少需要包含 • 公開金鑰 • 使用者身分相關的資料 • 註記憑證的用途與限制條件 • 有效期限 CH01 電腦基本架構
公開金鑰基礎架構(Public Key Infrastructure,簡稱PKI) CH01 電腦基本架構
憑證管理中心的功能 • 憑證的核發、更新和終止。 • 憑證的保管。 • 憑證的查詢與分送。 • 解決糾紛時的憑證查驗。 CH01 電腦基本架構
階層式憑證管理中心 最上層的憑證管理中心,稱為根憑證管理中心(Root CA)。 發行下層憑證管理中心的金開金鑰憑證。 是所有公信力的起點。 討論問題:如何認證根憑證管理中心的公信力? CH01 電腦基本架構
目錄伺服器 負責存放憑證管理中心發行的憑證。 存放憑證註銷串列(Certificate Revocation List,簡稱CRL),供使用者查詢使用。 CH01 電腦基本架構
政府公開金鑰基礎架構(Government Public Key Infrastructure, GPKI) • 依據九十到九十三年度「電子化政府推動方案」設立的。 • 按照ITU-T X. 509標準建置的階層式公開金鑰基礎架構。 • 為International Telecommunication Union (ITU)制定的憑證規格。 • 屬於X.500的一部分。 • 最新的版本是第三版。 • 政府憑證總管理中心(Government Root Certification Authority,簡稱GRCA) CH01 電腦基本架構
政府公開金鑰基礎架構(GPKI) CH01 電腦基本架構