內容簡介
《信息安全技術叢書:密碼旁路分析原理與方法》較為全麵地介紹瞭密碼旁路分析的基本原理和方法,以幫助讀者係統地掌握典型密碼旁路分析的研究現狀、數學基礎、基本原理、分析方法和應用實例,為深入理解其技術內涵和開展相關領域研究奠定基礎。
《信息安全技術叢書:密碼旁路分析原理與方法》共包括9章和附錄。第1章概要介紹密碼學的相關知識和密碼旁路分析的研究現狀。第2章和第3章分彆介紹密碼旁路分析的數學基礎、旁路泄露與旁路分析建模。第4~7章分彆闡述計時分析、功耗/電磁分析、Cache分析、差分故障分析4種經典的密碼旁路分析原理與方法。第8章和第9章分彆描述代數旁路分析、旁路立方體分析兩種傳統數學分析和經典旁路分析的組閤分析方法。附錄給齣《信息安全技術叢書:密碼旁路分析原理與方法》涉及的典型密碼算法設計規範。
目錄
前言
縮略詞錶
第1章 緒論
1.1 密碼學基礎
1.1.1 密碼編碼學
1.1.2 傳統密碼分析學
1.2 密碼旁路分析概述
1.2.1 發展曆程
1.2.2 基本原理
1.2.3 發展動因
1.2.4 方法分類
1.2.5 威脅分析
1.2.6 研究熱點
1.3 本書的章節安排
第2章 數學基礎
2.1 代數學
2.1.1 數論
2.1.2 代數
2.2 信息論
2.2.1 信息和熵
2.2.2 互信息
2.3 計算復雜性
2.3.1 算法與問題
2.3.2 算法的計算復雜性
2.3.3 問題的計算復雜性
2.4 概率論
2.4.1 事件與概率
2.4.2 期望與方差
2.4.3 概率分布
2.4.4 中心極限定理
2.5 數理統計
2.5.1 參數估計
2.5.2 假設檢驗
2.6 注記與補充閱讀
第3章 旁路泄露與旁路分析建模
3.1 密碼算法設計與實現
3.1.1 密碼設計
3.1.2 密碼實現
3.2 旁路泄露
3.2.1 泄露特性
3.2.2 泄露分類
3.2.3 泄露模型
3.3 泄露分析策略
3.4 旁路分析建模
3.4.1 術語與定義
3.4.2 分析框架
3.4.3 分析模型
3.4.4 評估模型
3.5 注記與補充閱讀
第4章 計時分析
4.1 時間泄露
4.1.1 泄露來源
4.1.2 采集方法
4.1.3 預處理方法
4.2 計時分析原理
4.3 模冪運算計時分析
4.3.1 模冪運算時間差異
4.3.2 計時信息分析方法
4.3.3 RSA計時攻擊實例
4.4 乘法運算計時分析
4.4.1 乘法運算時間差異
4.4.2 計時信息分析方法
4.4.3 AES計時攻擊實例
4.5 注記與補充閱讀
第5章 功耗/電磁分析
5.1 功耗/電磁泄露
5.1.1 泄露機理
5.1.2 泄露采集
5.1.3 泄露模型
5.1.4 統計特性
5.2 旁路信號預處理方法
5.2.1 信號對齊方法
5.2.2 有效點選取方法
5.3 基於功耗/電磁旁路信號的密鑰恢復問題描述
5.4 簡單分析
5.4.1 簡單功耗分析方法
5.4.2 RSA簡單分析攻擊實例
5.5 相關性分析
5.5.1 相關性分析方法
5.5.2 相關性係數計算方法
5.5.3 DES相關性分析攻擊實例
5.6 模闆分析
5.6.1 模闆分析方法
5.6.2 常用判彆分析方法
5.6.3 RC4模闆分析攻擊實例
5.7 注記與補充閱讀
第6章 Cache分析
6.1 Cache訪問泄露
6.1.1 Cache工作原理
6.1.2 Cache命中與失效
6.1.3 命中與失效泄露分析
6.1.4 Cache命中與失效采集
6.2 時序驅動Cache分析
6.2.1 基本原理
6.2.2 Cache碰撞計時分析方法
6.2.3 Cache計時模闆分析方法
6.2.4 AES時序驅動攻擊實例
6.3 訪問驅動Cache分析
6.3.1 基本原理
6.3.2 查找錶在Cache中分布分析
6.3.3 查找錶在Cache中地址定位方法
6.3.4 Cache訪問地址分析方法
6.3.5 AES訪問驅動攻擊實例
6.4 蹤跡驅動Cache分析
6.4.1 基本原理
6.4.2 基於Cache命中與失效蹤跡的分組密碼密鑰分析方法
6.4.3 基於平方和乘法蹤跡的公鑰密碼冪指數分析方法
6.4.4 AES蹤跡驅動攻擊實例
6.4.5 RSA蹤跡驅動攻擊實例
6.5 注記與補充閱讀
第7章 差分故障分析
7.1 密碼運行故障
7.1.1 故障注入
7.1.2 故障模型
7.2 故障分析原理
7.3 通用的差分故障分析方法
7.4 分組密碼差分故障分析方法與攻擊實例
7.4.1 按塊擴散SPN結構分組密碼分析
7.4.2 按位擴散SPN結構分組密碼分析
7.4.3 平衡Feistel結構分組密碼分析
7.5 公鑰密碼差分故障分析方法與攻擊實例
7.5.1 基於操作步驟故障的RSA密碼分析
7.5.2 基於參數故障的RSA密碼分析
7.5.3 基於乘法器故障的RSA密碼分析
7.5.4 基於符號變換故障的ECC密碼分析
7.6 注記與補充閱讀
第8章 代數旁路分析
8.1 基本原理
8.1.1 代數分析
8.1.2 代數旁路分析原理
8.2 多推斷代數旁路分析方法
8.2.1 問題提齣
8.2.2 符號與定義
8.2.3 多推斷代數旁路分析
8.2.4 開銷分析
8.2.5 適用性分析
8.3 AES漢明重量代數功耗攻擊實例
8.3.1 漢明重量推斷與錶示
8.3.2 數據復雜度評估方法
8.3.3 實驗結果與分析
8.4 AES訪問驅動代數Cache攻擊實例
8.4.1 兩種泄露模型
8.4.2 密碼訪問Cache地址推斷與錶示
8.4.3 數據復雜度評估方法
8.4.4 實驗結果與分析
8.5 AES蹤跡驅動代數Cache攻擊實例
8.5.1 密碼Cache訪問事件序列推斷與錶示
8.5.2 數據復雜度評估方法
8.5.3 實驗結果與分析
8.6 多種密碼代數故障攻擊實例
8.6.1 故障方程構建方法
8.6.2 密碼攻擊實例
8.6.3 其他應用
8.7 注記與補充閱讀
第9章 旁路立方體分析
9.1 基本原理
9.1.1 立方體分析
9.1.2 旁路立方體分析
9.2 擴展的旁路立方體分析方法
9.2.1 非綫性旁路立方體分析
9.2.2 分而治之旁路立方體分析
9.2.3 迭代旁路立方體分析
9.2.4 黑盒旁路立方體分析
9.3 密碼旁路立方體攻擊實例
9.3.1 單比特泄露模型分析
9.3.2 漢明重量泄露模型分析
9.3.3 漢明重量泄露模型攻擊實驗
9.4 注記與補充閱讀
附錄
附錄A RSA公鑰密碼算法設計
附錄B ECC公鑰密碼算法設計
附錄C AES分組密碼算法設計
附錄D DES分組密碼算法設計
附錄E Camellia分組密碼算法設計
附錄F PRESENT分組密碼算法設計
附錄G EPCBC分組密碼算法設計
附錄H LED分組密碼算法設計
附錄I Piccolo分組密碼算法設計
附錄J GOST分組密碼算法設計
附錄K RC4序列密碼算法設計
附錄L Helix序列密碼算法設計
參考文獻
索引
精彩書摘
《信息安全技術叢書:密碼旁路分析原理與方法》:
第1章 緒論
隨著計算機和通信技術的發展,人類社會在經曆瞭機械化時代和電氣化時代後,已經進入一個嶄新的信息化時代。信息的獲取、存儲、傳輸、處理和安全保障能力已成為一個國傢綜閤實力的重要組成部分。信息安全已成為影響國傢安全、社會穩定和經濟發展的重要因素之一,也是人們在信息化時代中生存與發展的重要保證。著名未來學傢阿爾夫·托夫勒曾說過:“在信息化時代,誰掌握瞭信息,控製瞭網絡,誰就將擁有整個世界。”[1]作為信息安全技術的核心,密碼學在最近二十多年來越來越受到人們的重視。
密碼學主要包括兩個分支:密碼編碼學和密碼分析學。密碼編碼學主要研究對信息進行變換的密碼算法,以保護信息在傳遞過程中不被敵方竊取、解讀和利用;而密碼分析學則與密碼編碼學相反,主要研究如何分析和破解密碼算法或密鑰,達到信息竊取、解讀和利用等目的。兩者之間既相互對立又相互促進,一方麵,針對已有的密碼分析手段,密碼編碼者總希望設計齣可以抵抗所有已知分析方法的密碼算法,各種深思熟慮的設計給密碼算法分析提齣瞭嚴峻的挑戰;另一方麵,針對已有的密碼算法,密碼分析者總希望可以找到密碼算法的某些安全缺陷,密碼分析方法的發展為密碼算法的設計提供瞭源源不斷的動力和新鮮思想。這兩方麵的研究共同推動瞭密碼學的發展。本書主要麵嚮密碼分析學。
傳統密碼分析學[2-5]主要關注密碼算法的設計安全性,通過分析密碼算法的輸入和輸齣,利用強力攻擊、數學分析等方法進行密碼分析。隨著密碼編碼水平的不斷提高,應用傳統密碼分析學方法對密碼算法分析的計算復雜度越來越高,已經難以對其實際安全性構成現實威脅。近年來,有研究者提齣[6],密碼算法在設備(密碼芯片①)上的實現安全性(或物理安全性)並不等價於密碼算法設計方麵的理論安全性,其實現過程中會産生執行時間、功率消耗、電磁輻射、故障輸齣等信息泄露,稱為旁路泄露(side channel leakage)。密碼分析者可利用旁路泄露結閤密碼算法的輸入、輸齣和設計細節進行密碼分析,此類方法稱為旁路攻擊(Side Channel Attack)或旁路分析(Side Channel Analysis,SCA)②,又稱為“側信道分析”[7],本書主要沿用旁路分析的稱謂。當前,旁路分析已對各類密碼算法在設備上的實現安全性構成現實威脅[8],本書主要研究密碼旁路分析的原理與方法。
1.1 密碼學基礎
1.1.1 密碼編碼學
密碼技術是一門古老的技術,自人類社會齣現戰爭以來即産生瞭密碼。密碼技術的基本思想是隱藏秘密信息,隱藏就是對數據進行一種可逆的數學變換。隱藏前的數據稱為明文,隱藏後的數據稱為密文,隱藏的過程稱為加密,根據密文恢復明文的過程稱為解密。加解密一般要在密鑰的控製下進行,將數據以密文的形式在計算機和網絡中進行存儲或者傳輸,而且隻給閤法用戶分配密鑰。這樣,即使密文被非法竊取,攻擊者由於未授權得到密鑰從而不能得到明文,達到提供數據機密性的目的。同樣,未授權者沒有密鑰無法構造相應的明密文,如果對數據進行刪減或者篡改,則必然被發現,進而達到提供數據完整性和真實性的目的。
1.通信環境下的密碼係統
首先給齣通信環境下的密碼係統相關術語。
術語1-1 發送者
指在雙方通信中作為信息閤法傳送者的實體,通常用Alice錶示。
術語1-2 接收者
指在雙方通信中作為信息預定接收者的實體,通常用Bob錶示。
術語1-3 攻擊者
指既非發送者又非接收者的實體,可以是通信係統中的閤法用戶或非法用戶,試圖攻擊保證發送者和接收者信息安全的服務,通常用Eve錶示。
術語1-4 明文
指原始的需要為發送者和接收者所共享而不為攻擊者所知的信息,通常用P錶示。
術語1-5 密文
指加密後的消息,提供給接收者,也可能為攻擊者所知,通常用C錶示。
術語1-6 密鑰
指一種參數,是在明文轉換為密文或將密文轉換為明文的算法中輸入的數據。密鑰分為加密密鑰和解密密鑰,通常分彆用和來錶示。
術語1-7 加密
指將明文使用密鑰轉換到密文的一種映射,通常用錶示。
術語1-8 解密
指將密文使用密鑰轉換到明文的一種映射,是加密的反過程,通常用 錶示。
理想通信環境下的密碼係統模型如圖1-1所示,主要由明文、密文、密鑰(包括加密密鑰和解密密鑰)、加密算法、解密算法五元組構成。發送者將明文、加密密鑰作為加密算法的輸入得到密文並發送給接收者,接收者解密密文後得到明文。
圖1-1體現瞭理想通信環境下的密碼係統安全性確保假設,攻擊者隻能截獲公開信道上傳輸的消息,結閤密碼算法設計進行密鑰分析,這也是傳統密碼分析學方法的共性假設前提。
2.密碼學發展曆程
在戰爭年代,密碼技術主要用於傳遞情報和指揮作戰。在和平時期,尤其是人類進入信息社會的今天,密碼技術已滲透到人們生活的方方麵麵,常用於提供機密性的信息,即保護傳輸和存儲的信息。除此之外,密碼技術還可用於消息簽名、身份認證、係統控製、信息來源確認,以提供信息的完整性、真實性、可控性和不可否認性,是構建安全信息係統的核心基礎。密碼學的發展經曆瞭由簡單到復雜,由古典到近代的發展曆程。縱觀密碼學發展曆史,可將其發展曆程主要歸納為以下4個階段[9]。
(1)科學密碼學的前夜發展時期。從古代到1948年,這一時期的密碼技術可以說是一種藝術,而不是一種科學,密碼學專傢常憑直覺和信念來進行密碼設計和分析,而不是推理和證明。在遠古時代,加密主要通過手工方法來完成,典型加密方法包括公元前5世紀古希臘戰爭中斯巴達人的換位密碼算法、公元前1世紀高盧戰爭中凱撒人的單字母替代密碼算法、公元16世紀晚期法國的多錶加密替代密碼算法等。在近代,加密逐漸轉嚮機械方法,如第二次世界大戰時期美國發明的Sigaba密碼機、英國發明的Typex密碼機、德國發明的Enigma密碼機、瑞典發明的Hagelin密碼機、日本發明的九七式密碼機等。
(2)對稱密碼學的早期發展時期。從1949年到1975年,這一時期的最具代錶性工作是Shannon於1949年發錶的論文《保密係統的通信理論》[10],該文對信息源、密鑰、加解密和密碼分析進行瞭數學分析,用“不確定性”和“唯一解距離”來度量密碼體製的安全性,闡明瞭“密碼體製、完美保密、純密碼、理論保密和實際保密”等重要概念,使密碼編碼置於堅實的數學基礎上,為對稱密碼學建立瞭理論基礎,標誌著密碼學作為一門獨立學科的形成,從此密碼學成為一門科學。
然而對於對稱密碼算法,通信雙方必須約定使用相同的密鑰,而密鑰的分配隻能通過專用的安全途徑,如派專門信使等。對於一個具有n個用戶的計算機網絡,如果使用對稱密碼確保任意兩個用戶都可進行保密通信,則共需 種不同的密鑰進行管理。當n較大時,密鑰管理的開銷是十分驚人的,密鑰管理的難度也隨著密鑰的經常産生、分配、更換變得越發睏難。因此,對稱密碼在密鑰分配上的睏難成為其在計算機網絡中廣泛應用的主要障礙。
(3)現代密碼學的發展時期。從1976年到1996年,這一時期密碼學得到瞭快速發展,最有影響的兩個大事件的發生標誌著現代密碼學的誕生。這一時期密碼學無論從深度還是從廣度上都得到瞭空前的發展。
一是Diffie和Hellman於1976年發錶瞭論文《密碼編碼學新方嚮》[11],提齣瞭公鑰密碼的概念,引發瞭密碼學上的一場革命,他們首次證明瞭在發送者和接收者之間無密鑰傳輸的保密通信是可能的,從而開創瞭公鑰密碼學的新紀元。公鑰密碼算法從根本上剋服瞭對稱密碼算法在密鑰分配上的睏難,特彆適閤計算機網絡應用,而且容易實現數字簽名。在計算機網絡中將公鑰密碼算法和對稱密碼算法相結閤已經成為網絡加密的主要形式,目前國際上應用廣泛的公鑰密碼算法主要有:基於大整數因子分解睏難性的RSA密碼算法[12]、基於有限域上離散對數問題睏難性的ELGamal密碼算法[13]和基於橢圓麯綫離散對數問題睏難性的橢圓麯綫密碼算法(Eliptic Curves Cryptography,ECC)[14]。
……
前言/序言
信息安全技術叢書:密碼旁路分析原理與方法 下載 mobi epub pdf txt 電子書