版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
移動互聯(lián)網(wǎng)安全移動互聯(lián)網(wǎng)安全第1章移動互聯(lián)網(wǎng)安全入門第2章密碼學(xué)基礎(chǔ)知識第3章認證理論基礎(chǔ)第4章安全協(xié)議第5章移動通信網(wǎng)安全第6章無線局域網(wǎng)安全第7章移動終端安全第8章
移動應(yīng)用軟件安全第9章
基于移動互聯(lián)網(wǎng)的相關(guān)應(yīng)用安全第10章
移動云計算安全第11章
移動大數(shù)據(jù)安全第12章
移動互聯(lián)網(wǎng)的安全管理目錄
1.1移動互聯(lián)網(wǎng)簡介1.2移動互聯(lián)網(wǎng)架構(gòu)與關(guān)鍵技術(shù)1.3移動互聯(lián)網(wǎng)安全第1章移動互聯(lián)網(wǎng)安全入門
1.1.1移動互聯(lián)網(wǎng)的概念1.1.2移動互聯(lián)網(wǎng)的組成1.1.3移動互聯(lián)網(wǎng)的特點1.1移動互聯(lián)網(wǎng)簡介1.1.1移動互聯(lián)網(wǎng)的概念從狹義的角度來說,移動互聯(lián)網(wǎng)是一個以寬帶IP為技術(shù)核心,可同時提供語音、傳真、圖像、多媒體等高品質(zhì)電信服務(wù)的新一代開放的電信基礎(chǔ)網(wǎng)絡(luò)。而從廣義的角度來說,移動互聯(lián)網(wǎng)是指利用互聯(lián)網(wǎng)提供的技術(shù)、平臺、應(yīng)用以及商業(yè)模式,與移動通信技術(shù)相結(jié)合并用于實踐活動的統(tǒng)稱。1.1.2移動互聯(lián)網(wǎng)的組成移動互聯(lián)網(wǎng)由三部分組成:移動互聯(lián)網(wǎng)終端、移動通信網(wǎng)和互聯(lián)網(wǎng)。1.1.2移動互聯(lián)網(wǎng)的組成移動互聯(lián)網(wǎng)終端:移動互聯(lián)網(wǎng)終端是指通過無線通信技術(shù)接入互聯(lián)網(wǎng)的終端設(shè)備,例如智能手機、平板電腦等,其主要功能是移動上網(wǎng)。常見的移動互聯(lián)網(wǎng)終端有移動手機終端和平板電腦終端,移動手機終端主要以蘋果公司的iPhone系列手機和Android系統(tǒng)的手機為主,平板電腦主要以iPad系列平板與Android系統(tǒng)的平板為主,這兩種類型的終端也代表了當前移動互聯(lián)網(wǎng)終端的發(fā)展趨勢和方向。移動通信網(wǎng):人們熟知的移動互聯(lián)網(wǎng)接入網(wǎng)絡(luò)有GPRS、Wi-Fi、3G、4G和5G等互聯(lián)網(wǎng):互聯(lián)網(wǎng),是網(wǎng)絡(luò)與網(wǎng)絡(luò)之間串連形成的互聯(lián)網(wǎng)絡(luò)。這些網(wǎng)絡(luò)以一組通用的協(xié)議相連,形成邏輯上單一而巨大的全球性網(wǎng)絡(luò),在這個網(wǎng)絡(luò)中有交換機、路由器等網(wǎng)絡(luò)設(shè)備、各種不同的連接鏈路、種類繁多的服務(wù)器和計算機終端。移動性1.1.3移動互聯(lián)網(wǎng)的特點個性化私密性融合性移動終端體積小、重量輕、便于隨身攜帶,并且可以隨時隨地接入互聯(lián)網(wǎng)。
對于不同用戶群體和個人的不同愛好和需求,為他們量身定制出多種差異化的信息,并通過不受時空地域限制的渠道,隨時隨地傳送給用戶。移動通信與互聯(lián)網(wǎng)的結(jié)合使得每個用戶可以在其私有的移動終端上獲取互聯(lián)網(wǎng)服務(wù),因此移動互聯(lián)網(wǎng)業(yè)務(wù)也具有一定的私密性。
移動通信業(yè)務(wù)與互聯(lián)網(wǎng)業(yè)務(wù)的融合使得手機不僅僅只是移動話音業(yè)務(wù)的載體,也成為了其他各種功能的載體。例如,人們可以通過手機來進行查看天氣、網(wǎng)購、地圖導(dǎo)航等操作。
1.2.1移動互聯(lián)網(wǎng)的總體架1.2.2移動互聯(lián)網(wǎng)的關(guān)鍵技術(shù)1.2移動互聯(lián)網(wǎng)架構(gòu)與關(guān)鍵技術(shù)1.2.1移動互聯(lián)網(wǎng)的總體架構(gòu)移動互聯(lián)網(wǎng)是移動通信與互聯(lián)網(wǎng)融合的產(chǎn)物,移動互聯(lián)網(wǎng)繼承了移動通信隨時隨地接入的特點和互聯(lián)網(wǎng)分享、開放、互動的優(yōu)勢。移動互聯(lián)網(wǎng)因為是互聯(lián)網(wǎng)和移動通信網(wǎng)絡(luò)的結(jié)合,分層與互聯(lián)網(wǎng)略有不同,移動互聯(lián)網(wǎng)的體系架構(gòu)可分為4層:移動終端、移動子網(wǎng)、接入網(wǎng)、核心網(wǎng)。1.2.2移動互聯(lián)網(wǎng)的關(guān)鍵技術(shù)移動互聯(lián)網(wǎng)的關(guān)鍵技術(shù)包括:蜂窩移動通信技術(shù)、移動網(wǎng)絡(luò)接入技術(shù)、移動IP技術(shù)、IPv4與IPv6技術(shù)、智能終端技術(shù)。蜂窩移動通信技術(shù):蜂窩移動通信是采用蜂窩無線組網(wǎng)方式,在終端和網(wǎng)絡(luò)設(shè)備之間通過無線通道連接起來,進而實現(xiàn)用戶在移動中的相互通信。其主要特征是終端的移動性,并具有越區(qū)切換和跨本地網(wǎng)自動漫游功能。移動網(wǎng)絡(luò)接入技術(shù):移動互聯(lián)網(wǎng)的網(wǎng)絡(luò)接入技術(shù)主要包括:移動通信網(wǎng)絡(luò)、無線局域網(wǎng)、其他接入網(wǎng)絡(luò)技術(shù)。移動IP技術(shù):IP協(xié)議(InternetProtocol)要求所有參加互聯(lián)網(wǎng)的網(wǎng)絡(luò)節(jié)點要有一個統(tǒng)一格式的地址,簡稱IP地址。移動IP是移動通信和IP的深層融合,也是對現(xiàn)有移動通信方式的深刻變革,它將真正實現(xiàn)話音和數(shù)據(jù)的業(yè)務(wù)融合,它的目標是將無線話音和無線數(shù)據(jù)綜合到IP協(xié)議這個技術(shù)平臺上進行傳輸。1.2.2移動互聯(lián)網(wǎng)的關(guān)鍵技術(shù)IPv4和IPv6協(xié)議:互聯(lián)網(wǎng)采用的是TCP/IP協(xié)議簇,IP作為TCP/IP協(xié)議簇中的網(wǎng)絡(luò)層協(xié)議,是整個協(xié)議簇中的核心協(xié)議。IPv4是網(wǎng)際協(xié)議開發(fā)過程中的第四個版本,也是第一個被廣泛部署的版本。IPv4是互聯(lián)網(wǎng)的核心,也是最廣泛的網(wǎng)際協(xié)議版本。IPv6是IETF(TheInternetEngineeringTaskForce,國際互聯(lián)網(wǎng)工程任務(wù)組)設(shè)計的用于替代現(xiàn)行IPv4協(xié)議的下一代IP協(xié)議。IPv6簡化了報文首部格式,加快了報文轉(zhuǎn)發(fā),提高了吞吐量;身份認證和隱私保護是IPv6的主要特性,而且IPv6允許協(xié)議繼續(xù)增加新的功能,使之適應(yīng)未來的技術(shù)發(fā)展。智能終端技術(shù):移動智能終端搭載各種操作系統(tǒng),同時擁有接入互聯(lián)網(wǎng)的能力,可以根據(jù)用戶的需求定制各種功能。人們可以自行在移動終端上安裝所需的應(yīng)用軟件、游戲等第三方服務(wù)商提供的程序,通過此類程序來不斷對手機的功能進行擴充,并可以通過移動通信網(wǎng)絡(luò)來實現(xiàn)無線網(wǎng)絡(luò)接入,用戶可以隨時隨地訪問互聯(lián)網(wǎng)獲取所需的資源。1.3.1無線通信的歷史1.3.2無線通信基本技術(shù)1.3.3無線通信的研究機構(gòu)和組織1.3.4無線通信安全歷史1.3.5無線通信網(wǎng)的安全威脅1.3.6移動通信系統(tǒng)的安全要求1.3.7移動互聯(lián)網(wǎng)的安全架構(gòu)1.3移動互聯(lián)網(wǎng)安全1.3.1無線通信的歷史無線通信(WirelessCommunication)是通信技術(shù)的一個分支,是指多個節(jié)點間不經(jīng)由導(dǎo)體或纜線傳播進行的遠距離傳輸通訊。
無線通信已經(jīng)有一百多年的歷史。1895年,意大利人馬可尼首次成功收發(fā)無線電電報。四年后,他成功進行了英國至法國之間的電報傳送。1902年,他又首次以無線電進行橫跨大西洋的通訊。這一發(fā)明使雙方可以通過彼此發(fā)送用模擬信號編碼的字母數(shù)字符號來進行通信。一個世紀以來,無線技術(shù)的發(fā)展為人類帶來了無線電、電視、通信衛(wèi)星和移動電話,使得幾乎所有類型的信息都可以發(fā)送到世界的各個角落。1985年,第一代移動通信系統(tǒng)誕生。接著,GSM和IS-95技術(shù)標準開始流行。到2000年后,3G(第三代移動通信系統(tǒng))開始快速發(fā)展。2013年,4G(第四代移動通信系統(tǒng))正式商用并被人們熟知。2019年6月,工業(yè)和信息化部向中國電信、中國移動、中國聯(lián)通和中國廣電發(fā)放5G商用牌照,正式開啟了中國的5G商用服務(wù)1.3.2無線通信基本技術(shù)射頻技術(shù)射頻(RadioFrequency,RF)指的是可以輻射到空間并具有遠距離傳輸能力的高頻電磁波,頻率范圍為300KHz~30GHz。無線傳輸介質(zhì)傳輸介質(zhì)是連接通信設(shè)備,為通信設(shè)備之間提供信息傳輸?shù)奈锢硗ǖ?,是信息傳輸?shù)膶嶋H載體。從本質(zhì)上講,無線通信和有線通信中的信號傳輸,實際上都是電磁波在不同介質(zhì)中的傳輸過程。無線通信技術(shù)近距離無線通信技術(shù):近距離無線通信技術(shù)是指通信雙方通過無線電波傳輸數(shù)據(jù),并且傳輸距離在較近的區(qū)域內(nèi),其應(yīng)用范圍非常廣泛。遠距離無線傳輸技術(shù):GPRS/CDMA、擴頻微波通信、衛(wèi)星通信等。1.3.3無線通信的研究機構(gòu)和組織中國通信標準化協(xié)會(ChinaCommunicationsStandardsAssociation,CCSA)國際電信聯(lián)盟(InternationalTelecommunicationUnion,ITU)美國聯(lián)邦通信委員會(FederalCommunicationsCommission,F(xiàn)CC)歐洲郵電通信管理協(xié)會(ConferenceofEuropeanPostandTelecommunicationAdministrations,CEPT)美國電氣電子工程師學(xué)會(InstituteofElectricalandElectronicsEngineers,IEEE)Wi-Fi聯(lián)盟1.3.4無線通信安全歷史第一代移動通信系統(tǒng)幾乎沒有采取安全措施。第二代數(shù)字蜂窩移動通信系統(tǒng)采用了基于私鑰密碼算法的安全機制,通過系統(tǒng)對用戶進行鑒權(quán)來防止非法用戶使用網(wǎng)絡(luò),通過加密技術(shù)來防止無線信道遭到竊聽,但在身份認證及加密算法等方面仍然存在著許多安全隱患。3G(第三代移動通信系統(tǒng))加強了安全機制,支持雙向認證,提供數(shù)據(jù)和信息的完整性保護等。4G技術(shù)(第四代移動通信系統(tǒng))重點是增加數(shù)據(jù)和語音容量并提高整體體驗質(zhì)量。1.3.5無線通信網(wǎng)的安全威脅根據(jù)威脅的對象不同,還可以將移動通信系統(tǒng)面臨的威盼分為四類:對傳遞信息的威脅、對用戶的威脅、對通信系統(tǒng)的威脅、移動終端應(yīng)用的威脅。對傳遞信息的威脅對用戶的威脅對通信系統(tǒng)的威脅移動終端應(yīng)用的威脅竊聽抵賴篡改竊聽竊聽資源的非授權(quán)訪問拒絕服務(wù)惡意軟件1.3.6移動通訊系統(tǒng)的安全要求1、移動通信系統(tǒng)(包括3G、4G等)的基本安全需求一般包括:①通信系統(tǒng)應(yīng)能唯一地標識用戶。②通信系統(tǒng)應(yīng)能保密地傳輸數(shù)據(jù)、身份和控制信息,并確保信息的完整性。③通信系統(tǒng)應(yīng)提供雙向認證。既要確保只有合法用戶可以使用網(wǎng)絡(luò),又要確保用戶所訪問的網(wǎng)絡(luò)是值得信任的。④通信系統(tǒng)應(yīng)保證傳輸信息的不可否認性。2、通信系統(tǒng)一般都需要具有調(diào)度功能。通信系統(tǒng)的調(diào)度臺應(yīng)具有以下幾項功能:①認證功能:對調(diào)度臺用戶身份、組成員身份和連接鏈路進行認證。②保障通信機密性:確保組成員無法繞過安全模塊,從而保證本組通信的機密性,同時需要確保調(diào)度控制信息的機密性。③保障通信完整性:確保組成員無法繞過安全模塊,從而保證本組通信的完整性。1.3.7移動互聯(lián)網(wǎng)的安全架構(gòu)移動互聯(lián)網(wǎng)的安全依次包括:終端安全、網(wǎng)絡(luò)安全、業(yè)務(wù)和應(yīng)用安全、信息內(nèi)容安全,如圖:小結(jié)
本章從“移動互聯(lián)網(wǎng)是移動通信與互聯(lián)網(wǎng)技術(shù)的結(jié)合”這一概念出發(fā),介紹了移動互聯(lián)網(wǎng)的組成,分析總結(jié)了移動互聯(lián)網(wǎng)的移動性、個性化、私密性和融合性等主要特點,并闡述了移動互聯(lián)網(wǎng)的發(fā)展現(xiàn)狀和未來的發(fā)展趨勢。之后,在描述移動互聯(lián)網(wǎng)架構(gòu)的基礎(chǔ)上,總結(jié)了移動互聯(lián)網(wǎng)所采用的幾項關(guān)鍵技術(shù):蜂窩移動通信技術(shù)、移動網(wǎng)絡(luò)接入技術(shù)、移動IP技術(shù)、IPv4與IPv6協(xié)議和智能終端技術(shù)。隨后,本章講述了無線通信的發(fā)展歷史,從無線電報開始,隨著科學(xué)和工程技術(shù)的不斷進步,一直演進到今日廣泛普及的4G移動通信系統(tǒng)和即將到來的5G技術(shù)。在這一背景基礎(chǔ)上,本章羅列了無線通信的基本技術(shù)和主要的研究機構(gòu)和組織。最后,在講述了無線通信安全歷史之后,對無線通信網(wǎng)絡(luò)的主要安全威脅和移動通信系統(tǒng)的基本安全要求進行了總結(jié),并對移動互聯(lián)網(wǎng)安全進行了分析,構(gòu)建了基本的安全架構(gòu)。習題1.移動互聯(lián)網(wǎng)的基本組成是什么?2.移動互聯(lián)網(wǎng)使用的關(guān)鍵技術(shù)有哪些?3.移動互聯(lián)網(wǎng)具有哪些特點?4.移動通信系統(tǒng)面臨哪些安全威脅?請簡要說明。5.請簡述移動互聯(lián)網(wǎng)的總體架構(gòu)。6.根據(jù)移動互聯(lián)網(wǎng)的特點,如何對移動互聯(lián)網(wǎng)安全進行分類?
2.1密碼學(xué)的基本概念
2.2對稱密碼算法
2.3公鑰密碼算法第2章密碼學(xué)基礎(chǔ)知識2.1密碼學(xué)的基本概念
密碼學(xué)是一個非常龐大而復(fù)雜的信息處理系統(tǒng),涉及信息的機密性、完整性、認證性、不可否認性等許多方面。密碼學(xué)中加密和解密信息的主要目的是使得授權(quán)人員以外的人無法讀取信息。
被加密的消息稱為明文,明文經(jīng)過加密變換成為另一種形式,稱為密文。對明文進行加密操作時所采用的一組規(guī)則稱為加密算法,對密文進行解密操作時所采用的一組規(guī)則稱為解密算法。加密算法和解密算法都依賴于一組秘密參數(shù),分別稱為加密密鑰和解密密鑰。加密算法和解密算法統(tǒng)稱為密碼算法。
2.1.1保密通信模型2.1.2密碼算法分類2.1.3古典密碼簡介2.1.4密碼算法的安全性2.1密碼學(xué)的基本概念2.1.1保密通信模型
在不安全的信道上實現(xiàn)安全的通信是密碼學(xué)研究的基本問題。消息發(fā)送者對需要傳送的消息進行數(shù)學(xué)變換處理,然后可以在不安全的信道上進行傳輸,接收者在接收端通過相應(yīng)的數(shù)學(xué)變換處理可以得到信息的正確內(nèi)容,而信道上的消息截獲者,雖然可能截獲到數(shù)學(xué)變換后的消息,但無法得到消息本身。圖2-1展示了一個最基本的保密通信模型。2.1.2密碼算法分類密碼算法是否能進行可逆的加密變換對明文信息的處理方式不同按照密鑰的使用策略的不同單向函數(shù)密碼算法雙向函數(shù)密碼算法序列密碼算法分組密碼算法對稱密碼算法非對稱密碼算法2.1.3古典密碼簡介密碼學(xué)的發(fā)展歷史大致分為三個階段:古典密碼時期、近代密碼時期和現(xiàn)代密碼時期。古典密碼歷史悠久,主要分為替換密碼和換位密碼兩種。替換密碼,即明文中每一個字符被替換成密文中的另外一個字符。換位密碼也稱為置換密碼,即明文的字母保持不變,但打亂其順序。我們將舉例介紹兩種典型的古典密碼:凱撒密碼置換密碼2.1.3古典密碼簡介凱撒密碼基本思想是:通過把字母移動一定的位數(shù)來實現(xiàn)加密和解密比如,Alice要將明文“mobileinternetsecurity”加密成密文,傳送給Bob。為了運算方便,先把字母進行數(shù)字化。圖2-2展示了字母與數(shù)字的映射關(guān)系。2.1.3古典密碼簡介加密過程如下:Alice先將明文“mobileinternetsecurity”中的字母根據(jù)圖2-2的映射關(guān)系轉(zhuǎn)換為數(shù)字:(12,14,1,8,11,4,8,13,19,4,17,13,4,19,18,4,2,20,17,8,19,24)。加密之前,雙方需要協(xié)商一個密鑰。于是Alice與Bob商定加密方式為明文字母后移6位,即加密密鑰及解密密鑰同為K=6。開始加密:將明文字母映射得到的數(shù)字代入加密函數(shù)E(m)=m+6(mod26)中計算得到:(18,20,7,14,17,10,14,19,25,10,23,19,10,25,24,10,8,0,23,14,25,4),然后把這些數(shù)字根據(jù)圖2-2的映射關(guān)系替換成字母即可得到密文“s,u,h,o,r,k,o,t,z,k,x,t,k,z,y,k,i,a,x,o,z,e”。這就是加密后的結(jié)果。2.1.3古典密碼簡介解密過程如下:解密其實就是上述加密過程的逆過程:Bob收到密文“suhorkotzkxtkzykiaxoze”,然后將密文按照圖2-2的映射關(guān)系轉(zhuǎn)換為:(18,20,7,14,17,10,14,19,25,10,23,19,10,25,24,10,8,0,23,14,25,4)。使用解密函數(shù)D(c)=c-6(mod26)將密文轉(zhuǎn)換后的數(shù)字代入計算,得到(12,14,1,8,11,4,8,13,19,4,17,13,4,19,18,4,2,20,17,8,19,24),即可還原出明文“mobileinternetsecurity”。2.1.3古典密碼簡介2.置換密碼置換密碼是通過簡單的換位來達成加密比如,Alice想用置換密碼來加密與Bob傳遞信息,事先約定密鑰為一串字母“KEYWORD”。如圖2-3所示,把A到Z中前面的字母用KEYWORD替換,后面又補充了A到Z(去掉了KEYWORD中重復(fù)的字母)。這樣就形成了加解密的字母置換表,實際中A到Z可以置換成任意的字母。這個字母置換的過程其實就是加密。相應(yīng)地,解密過程的字母置換表就如圖2-4所示,將A替換成H,B替換成I,依此類推即可實現(xiàn)解密。2.1.4密碼算法的安全性對于所有的密碼算法,安全性都是其最重要的評價標準。這里所說的“安全性”,是指該密碼系統(tǒng)對于破譯攻擊的抵抗力強度。目前評價密碼算法安全性的方法有兩種:無條件安全和有條件安全,無條件安全又稱為理論上安全,有條件安全又稱為實際安全性。很多密碼算法的安全性并沒有在理論上得到嚴格證明,只是在算法思想得到實現(xiàn)之后,經(jīng)過眾多密碼專家多年來的攻擊都沒有發(fā)現(xiàn)其弱點,沒有找到破譯它的有效方法,從而認為它在實際上是安全的。2.1.4密碼算法的安全性密碼算法還有一種安全稱為“計算上是安全的”,即指破解此密碼系統(tǒng)是可行的,但是使用已知的算法和現(xiàn)有的計算工具不可能完成攻擊所需的計算量。計算安全性是將密碼算法的安全性問題與公認的數(shù)學(xué)難題掛鉤,例如,密鑰求解問題和某個NP問題。在實際場景中考慮密碼算法安全性時,還需考慮破解一個密碼系統(tǒng)所花費的成本不能超過被加密信息本身的價值,且破譯的時間不能超過被加密信息的有效生命周期。
2.2.1分組密碼2.2.2序列密碼2.2.3密碼的工作模式2.2對稱密碼算法2.2.1分組密碼
分組密碼(BlockCipher),也稱塊密碼,是將明文消息編碼表示后的數(shù)字序列劃分成固定大小的分組,然后在密鑰的控制下對各組分別進行加密變換,從而獲得等長的二進制序列的一類算法。在現(xiàn)代分組密碼中,兩個最重要的思想就是擴散和混亂。擴散,是指要將算法設(shè)計成明文中每一比特的變化盡可能多地影響到密文輸出序列的變化,以便隱藏明文的統(tǒng)計特性,我們可以形象地將其描述為“雪崩效應(yīng)”?;靵y,是指在加解密變換過程中明文、密鑰以及密文之間的關(guān)系要盡可能地復(fù)雜化,以防密碼破譯者通過建立并求解一些方程來進行破譯。2.2.1分組密碼分組密碼的加密過程如下:①將明文分成m個明文組M1,M2,…,Mi,…,Mm。②對每個明文分組分別作相同的加密變換,從而生成m個密文組C1,C2,…,Ci,…,Cm。在上圖所示的加密過程中,分組密碼以32位為一個分組對明文進行劃分,明文單詞“this”經(jīng)過加密變換后得到密文“}kc{”。這些加密算法是對整個明文進行操作的,即除了其中的文字以外,還包括空格、標點符號和特殊字符等。2.2.1分組密碼分組密碼的解密過程和加密過程類似,進行的操作和變換也只是對應(yīng)于加密過程的逆變換。首先將收到的密文分成m個密文分組C1,C2,…,Ci,…,Cm,在相同的密鑰作用下,對每個分組執(zhí)行一個加密的逆變換,解密得到對應(yīng)的明文分組M1,M2,…,Mi,…,Mm。2.2.1分組密碼典型的分組密碼算法:DES算法AES算法IDEA算法有興趣的讀者可翻閱相關(guān)密碼學(xué)書籍查看分組密碼的詳細設(shè)計2.2.2序列密碼
序列密碼又稱為流密碼,它的起源可以追溯到20世紀20年代的Vernam密碼,是對稱密碼算法的一種。
序列密碼將明文消息字符串在密鑰流的控制下逐位進行加密和解密,所以具有加解密速度快、實現(xiàn)簡單、便于硬件實施、沒有或只有有限的錯誤傳播的特點。
因此,在實際應(yīng)用中,特別是在專用或機密機構(gòu)中,序列密碼保持著一定的優(yōu)勢。序列密碼典型的應(yīng)用領(lǐng)域包括無線通信、外交通信。2.2.2序列密碼序列密碼一般包含以下幾個組成部分:明文序列mi、密鑰序列ki、用于控制密鑰序列產(chǎn)生器的種子密鑰K密文序列ci。在序列密碼中,加解密運算是簡單的模2加運算,其安全性強度主要取決于密鑰序列的隨機性。序列密碼的加解密過程如圖2-6所示。2.2.2序列密碼在圖2-6中,KG是密鑰流生成器,它主要分為兩部分:驅(qū)動部分:驅(qū)動部分一般使用線性反饋移位寄存器(LinearFeedbackShiftRegister,LFSR),用于產(chǎn)生控制生成器的狀態(tài)序列,并控制生成器的周期和統(tǒng)計特性。組合部分:組合部分主要負責對驅(qū)動部分的各個輸出序列進行非線性組合。2.2.2序列密碼移位寄存器用來存儲數(shù)據(jù),當受到脈沖驅(qū)動時,移位寄存器中所有位右移一位,最右邊移出的位是輸出位,最左端的一位由反饋函數(shù)的輸出來填充,此過程稱為進動一拍。反饋函數(shù)f(a1,…,an)是n元(a1,…,an)的布爾函數(shù)。如圖2-7所示,移位寄存器根據(jù)需要不斷地進動m拍,便有m位的輸出,形成輸出序列o1
o2…om。2.2.2序列密碼圖2-8是一個n級線性反饋移位寄存器的模型,移位寄存器中存儲器的個數(shù)稱為移位寄存器的級數(shù),移位寄存器存儲的數(shù)據(jù)是寄存器的狀態(tài),狀態(tài)的順序從左到右依次為從最高位到最低位。在所有狀態(tài)中,叫初態(tài),并且從左到右依次稱為第一級、第二級、…、第n級,也稱為抽頭1、抽頭2、抽頭3、….、抽頭n。n級線性反饋移位寄存器主要是用來產(chǎn)生周期大、統(tǒng)計性能好的序列,可以產(chǎn)生2n-1個有效狀態(tài).2.2.2序列密碼
非線性組合部分主要是增加密鑰流的復(fù)雜程度,使密鑰流能夠抵抗各種攻擊。以線性反饋移位寄存器產(chǎn)生的序列為基序列,經(jīng)過不規(guī)則采樣、函數(shù)變換等操作(即非線性變換),就可以得到安全又實用的密鑰流。
不規(guī)則采樣是在控制序列作用下,對被采樣序列進行采樣輸出,得到的序列稱為輸出序列??刂菩蛄械目刂品绞接戌娍胤绞胶统槿》绞降龋瘮?shù)變換有前饋變換和有記憶變換等。
2.2.2序列密碼下面簡單介紹兩種具有代表性的序列模型。
鐘控模型圖2-9展示了一種鐘控發(fā)生器的模型。當LFSR-1輸出1時,時鐘信號被采樣,即能通過“與門”,并驅(qū)動LFSR-2進動一拍;當LFSR-1輸出0時,時鐘信號不被采樣,即不能通過“與門”,此時LFSR-2不進動,重復(fù)輸出前一位。
2.2.2序列密碼前饋模型Geffe發(fā)生器是前饋序列的一種典型模型,如圖2-10所示,其前饋函數(shù)g(x)=(x1x2)⊕(x2x3)為非線性函數(shù),即當LFSR-2輸出1時,g(x)的輸出位是LFSR-1的輸出位;當LFSR-2輸出0時,g(x)的輸出位是LFSR-3的輸出位。
2.2.2序列密碼序列密碼通常分為兩類:同步序列密碼:若密鑰序列的產(chǎn)生獨立于明文消息和密文消息,這樣的序列密碼稱為同步序列密碼。自同步序列密碼:若密鑰序列的產(chǎn)生是密鑰及固定大小的以往密文位的函數(shù),這樣的序列密碼稱為自同步序列密碼或非同步序列密碼.2.2.2序列密碼同步序列密碼:如圖2-11所示,ki表示密鑰流,ci
表示密文流,mi表示明文流。在同步序列密碼中,密鑰流的產(chǎn)生完全獨立于消息流(明文流或密文流)。在這種工作方式下,如果傳輸過程中丟失一個密文字符,發(fā)送方和接收方就必須使他們的密鑰生成器重新進行同步,這樣才能正確地加/解密后續(xù)的序列,否則加/解密將失敗。2.2.2序列密碼自同步序列密碼:如圖2-12所示,自同步流密碼的每一個密鑰字符是由前面n個密文字符參與運算推導(dǎo)出來的,其中n為定值。如果在傳輸過程中丟失或更改了一個字符,那么這一錯誤就要向前傳播n個字符。因此,自同步流密碼會出現(xiàn)錯誤傳播現(xiàn)象。不過,在收到n個正確的密文字符之后,密碼自身會實現(xiàn)重新同步。2.2.2序列密碼A5算法是GSM系統(tǒng)中主要使用的序列密碼加密算法,用于加密移動終端與基站之間傳輸?shù)男畔ⅰT撍惴梢悦枋鰹橛?2bit長的參數(shù)(幀號碼,F(xiàn)n)和64bit長的參數(shù)(會話密鑰,Kc)生成兩個114bit長的序列(密鑰流)的黑盒子。這樣設(shè)計的原因是GSM會話每幀含228bit,通過與A5算法產(chǎn)生的228bit密鑰流進行異或來達到保密。典型的序列密碼算法:A5算法2.2.2序列密碼A5算法是一種典型的基于線性反饋移位寄存器的序列密碼算法,構(gòu)成A5加密器主體的LFSR有三個,組成了一個集互控和停走于一體的鐘控模型。其主體部分由三個長度不同的線性移位寄存器(A,B,C)組成,其中A有19位,B有22位,C有23位,它們的移位方式都是由低位移向高位。每次移位后,最低位就要補充一位,補充的值由寄存器中的某些抽頭位進行異或運算的結(jié)果來決定,比如:運算的結(jié)果為“1”,則補充“1”,否則補充“0”。在三個LFSR中,A的抽頭系數(shù)為:18,17,16,13;B的抽頭系數(shù)為:21,20,16,12;C的抽頭系數(shù)為:22,21,18,17。三個LFSR輸出的異或值作為A5算法的輸出值。A5加密器的主體部分如圖2-13所示。典型的序列密碼算法:A5算法2.2.2序列密碼2.2.2序列密碼在圖2-13中,A的生成多項式為
fA(x)=x19+x18+x17+x14+1B的生成多項式為
fB(x)=x22+x21+x17+x13+1C的生成多項式為
fC(x)=x23+x22+x19+x18+1三個線性反饋移存器的生成多項式均為本原多項式。這三個加密器的移位是由時鐘控制的,且遵循“服從多數(shù)”的原則,即從每個寄存器中取出一個中間位(圖2-13中的x,y,z,位置分別為A,B,C的第9,11,11位)并進行判斷,若在取出的三個中間位中至少有兩個為“1”,則為“1”的寄存器進行一次移位,而為“0”的不進行移位。反之,若三個中間位中至少有兩個為“0”,則為“0”的寄存器進行一次移位,而為“1”的不進行移位。顯然,這種機制保證了每次至少有兩個LFSR被驅(qū)動移位。2.2.3密碼的工作模式分組密碼算法每次加密的明文數(shù)據(jù)的大小是固定的。通常明文的長度會超過分組密碼的分組長度,此時就需要對分組密碼算法進行迭代,迭代的方法就稱為分組密碼的工作模式。常用的分組密碼的工作模式有五種:電子密碼本模式密文分組鏈接模式密文反饋模式輸出反饋模式計數(shù)器模式2.2.3密碼的工作模式電子密碼本模式(ElectronicCodeMode,ECB)在該模式下,每個分組獨立進行加解密運算,一次處理一組明文塊,每次使用相同的密鑰進行加密,不同分組間沒有任何關(guān)聯(lián)。而且這種方式不必按次序進行,可以先加密中間的分組,然后是尾部分組,最后再加密最開始的分組。2.2.3密碼的工作模式密文分組鏈接模式(CipherBlockChaining,CBC)初始向量為IV,密鑰為K。第一個明文分組被加密后,其結(jié)果被存儲在反饋寄存器中,在下一明文分組進行加密之前,它將與保存在反饋寄存器中的前一個分組的密文進行異或并作為下一次加密的輸入。同樣地,加密后的結(jié)果仍然保存在反饋寄存器中,直到最后一個分組加密后直接輸出。由此可見,每一分組的加密都依賴于所有前面的分組。在解密時,每個密文組分別進行解密,再與上一分組進行異或就可以恢復(fù)出明文。2.2.3密碼的工作模式密文反饋模式(CipherFeedbackBlock,CFB)若設(shè)分組長度為n位,初始向量為IV(n位),密鑰為K,則j比特位的CFB模式下(j在1~n之間),加密過程如下:設(shè)一個n位長的隊列,隊列初始值為IV,并把明文消息分成M個j位的比特塊;依次對每個j位比特塊明文Pj進行以下操作:用密鑰K加密隊列,把該密文最左端的j位與j位比特塊明文Pj進行異或,即可獲得其j位比特塊的密文Cj;然后把該j位比特塊密文Cj放入隊列的最右端,并丟棄隊列最左端的j位;最后把全部j位比特塊密文C1…CM依次連起來,即可得到消息密文C。2.2.3密碼的工作模式輸出反饋模式(OutputFeedback,OFB)通過將明文分組和密碼算法的輸出進行異或來產(chǎn)生密文分組,但OFB是將前一個j比特輸出分組送入隊列最右邊位置。解密是加密的一個逆過程。在OFB模式的加解密過程中,分組算法都以加密模式使用。由于反饋機制獨立于明文和密文,這種方法有時也被稱為“內(nèi)部反饋”。2.2.3密碼的工作模式計數(shù)器模式(CounterMode,CTR)采用與明文分組相同的長度來加密不同的明文組。在該模式中,分組密碼沒有直接被用來加密明文,而是用于加密計數(shù)器的輸出。計數(shù)器首先被初始化為一個值,然后隨著消息塊的增加,計數(shù)器的值會依次遞增1,計數(shù)器加1后與明文分組進行異或得到密文分組。
2.3.1公鑰密碼基本概念2.3.2RSA密碼算法2.3.3橢圓曲線密碼算法2.3.4NTRU公鑰密碼2.3公鑰密碼算法2.3.1公鑰密碼基本概念
對稱密碼算法在密鑰分配方面面臨著管理和分發(fā)的困難,而且對稱加密算法無法實現(xiàn)抗抵賴的要求,公鑰密碼算法的出現(xiàn)解決了這一難題。1976年,Diffie和Hellman首次提出了公開密鑰加密算法,在密碼學(xué)的發(fā)展史上具有里程碑式的意義。
常見的公鑰密碼算法有:RSA、ElGamal公鑰密碼算法、橢圓曲線公鑰密鑰算法(ECC)、NTRU公鑰加密算法和Rabin公鑰加密算法等。2.3.1公鑰密碼基本概念
公鑰密碼算法解決了密鑰的管理和分發(fā)問題,每個用戶都可以公開自己的公鑰,并由用戶自己保存私鑰,不被他人獲取。A加密:X->Y:Y=E(PuB(X))A用B的公鑰PuB對明文X進行加密得到Y(jié)B解密:Y->X:X=D(PrB(Y))B用自己的私鑰PrB對密文Y進行解密獲得X上式中,X表示明文,Y表示加密后的密文,E表示加密,D表示解密。PuB是B的公鑰,該密鑰是公開的,A使用此密鑰加密數(shù)據(jù)傳給B;PrB是B的私鑰,由B保存且不能被外人所知,B使用此密鑰解密A用PuB加密過的數(shù)據(jù)。PuB和PrB是相互關(guān)聯(lián)的,而且是成對出現(xiàn)的。2.3.2RSA密碼算法RSA密碼算法的安全性是基于大數(shù)分解的困難性。RSA算法的密鑰產(chǎn)生和加解密過程如下所述。其中,m表示明文,c和s表示密文。密鑰的產(chǎn)生過程如下:獨立選取兩個大素數(shù)p和q(各100~200位十進制數(shù)字,根據(jù)需要的密鑰長度進行選擇);計算n=p*q,其歐拉函數(shù)值φ(n)=(p-1)(q-1);隨機選取一個整數(shù)e,滿足1≤e<φ(n),并使最大公約數(shù)gcd(φ(n),e)=1;在模φ(n)下,計算e的逆:d=e-1mod(p-1)(q-1);以n,e為公鑰,d為私鑰(p,q不再需要,可以銷毀)。2.3.2RSA密碼算法RSA算法用于加密和解密:加密過程:c=me
modn
解密過程:m=cd
modnRSA算法用于數(shù)字簽名和驗證:簽名過程:s=md
modn驗證過程:m=se
modn2.3.3橢圓曲線密碼算法假設(shè)發(fā)送方為A,接收方為B,A需要將消息加密后傳送給B。那么,首先需要考慮如何用橢圓曲線來生成用戶B的公私密鑰對,可以分為以下三步:
構(gòu)造橢圓群設(shè)E:y2=x3+ax+b(modp)是GF(p)上的一個橢圓曲線(p>3),首先構(gòu)造一個群Ep(a,b)。挑選生成元挑選Ep(a,b)中的一個生成元點G=(x0,y0),G應(yīng)滿足使nG=O成立的最小的n是一個大素數(shù)。選擇公私密鑰選擇整數(shù)kB(k<n)作為私鑰,然后產(chǎn)生其公鑰PB=kBG,則B的公鑰為(E,n,G,PB),私鑰為kB。2.3.3橢圓曲線密碼算法下面介紹如何利用公私密鑰對進行加解密的運算(以下的運算都是在modp下進行的)。1.加密過程(1)發(fā)送方A將明文消息編碼成一個數(shù)m<p,并在橢圓群
Ep(a,b)中
選擇一點Pt=(xt,yt);(2)發(fā)送方A計算密文:C=mxt+yt;(3)發(fā)送方A選取一個保密的隨機數(shù)r(0<r<n),并計算rG;(4)依據(jù)接收方B的公鑰PB,計算Pt+rPB;(5)發(fā)送方A對m進行加密,得到數(shù)據(jù)Cm={rG,Pt+rPB,C}。2.解密過程接收方B在收到A發(fā)來的加密數(shù)Cm={rG,Pt+rPB,C}之后,進行如下操作:(1)使用自己的私鑰kB計算:Pt+rPB-kB(rG)=Pt+r(kBG)-kB(rG)=Pt(2)接收方B計算:m=(C-yt)/xt,得到明文m。2.3.4NTRU公鑰密碼NTRU是1995年由J.Hoffstein,J.Pipher和J.Silverman發(fā)明的一種密碼算法。在數(shù)學(xué)上,NTRU比RSA或ElGamal密碼還要復(fù)雜。由于它的復(fù)雜性和出現(xiàn)的時間相對較短,國內(nèi)外密碼學(xué)界針對NTRU的安全性研究仍在繼續(xù)。2.3.4NTRU公鑰密碼NTRU密碼算法的工作過程如下:密鑰生成
在NTRU公鑰密碼算法中,接收方需要生成一組公/私密鑰對。具體步驟如下:①選擇公開參數(shù)。選擇正整數(shù)參數(shù)N,p,q,其中p,q不必為素數(shù),但是它們必須互素,且滿足gcd(N,pq)=1。②選擇多項式f(x)和g(x)。由接收方選擇兩個小系數(shù)多項式f和g,其中模q的隨機多項式的系數(shù)一般隨機地分布在區(qū)間[0,q]上,而所謂的小系數(shù)多項式的系數(shù)相對于模q的隨機多項式要小得多。接收方需要對多項式f(x)和g(x)保密,因為任何一個多項式信息泄露都可能導(dǎo)致密文被破解。2.3.4NTRU公鑰密碼③計算逆元Fp(x)和Fq(x)。接收方計算多項式f(x)在模p和模q時的逆元Fp(x)和Fq(x),即Fp(x)*f(x)=1(modp,modxN-1)和Fq(x)*f(x)=1(modq,modxN-1)。如果f(x)的逆元不存在,接收方需要重新選取f(x)。④計算公鑰。計算h(x)=Fq(x)*g(x)(modq,modxN-1),多項式f(x)和Fp(x)為私鑰,h(x)作為公鑰。2.3.4NTRU公鑰密碼2.加密過程假設(shè)發(fā)送者發(fā)送一條明文消息m(x)給接收者,m(x)是次數(shù)為N-1的多項式,具有模p約簡的系數(shù)(可以理解為系數(shù)的范圍在(-p/2,p/2)內(nèi))。發(fā)送方隨機選擇一個次數(shù)為N-1的多項式r(x)進行計算得到c(x)=pr(x)*h(x)+m(x)(modq,modxN-1)然后將其發(fā)送給接收方。3.解密過程假設(shè)接收者收到加密消息c,首先計算多項式a(x):a(x)=f(x)*c(x)(modq,modxN-1)接著計算:d(c)=Fp(x)*a(x)(modp,modxN-1)d(c)就是解密后的明文。小結(jié)
移動互聯(lián)網(wǎng)是無線通信與互聯(lián)網(wǎng)的結(jié)合,所以移動互聯(lián)網(wǎng)安全也必然涉及到兩者的安全體系。網(wǎng)絡(luò)的安全體系涉及的保密性和有效性等基本要求都是建立在密碼學(xué)原理之上的。因此,本章對密碼學(xué)的相關(guān)知識進行了介紹。
根據(jù)密鑰策略的不同,密碼體系可以分為對稱密碼算法和非對稱密碼算法。對稱密碼算法的加解密過程采用相同的密鑰,可以由其中的一個推導(dǎo)出另一個。而在非對稱密碼算法中,加密密鑰是公開的而且不能推導(dǎo)出解密密鑰。非對稱密碼算法簡化了密鑰的分發(fā)和管理過程。在公鑰密碼算法中,常見的算法有:RSA、ElGamal公鑰密碼算法、橢圓曲線公鑰密碼算法(ECC)和NTRU公鑰加密算法。由于移動互聯(lián)網(wǎng)的移動、快速等性能需求,具有效率高、算法簡單、系統(tǒng)開銷小、適合加密大量數(shù)據(jù)等優(yōu)點的對稱密碼算法被應(yīng)用于移動互聯(lián)網(wǎng)領(lǐng)域。對稱密碼算法又可分為分組密碼和序列密碼。序列密碼將明文消息字符串在密鑰流的控制下逐位進行加密和解密,所有具有實現(xiàn)簡單、加解密速度快、便于硬件實施以及沒有或只有有限的錯誤傳播等特點。因此,序列密碼在無線通信等領(lǐng)域得到了廣泛的應(yīng)用。習題1.根據(jù)公鑰和私鑰是否可以互相推導(dǎo),可以將密碼算法分為哪幾類?2.密碼學(xué)的發(fā)展可以分為哪幾個階段?3.常見的分組密碼算法主要有哪些?請列舉。4.常見的序列密碼算法主要有哪些?請列舉。5.在無線通信網(wǎng)絡(luò)中常用的序列密碼屬于哪一類密碼算法?6.常見的公鑰密碼算法有哪些?
3.1認證的概念3.2Hash函數(shù)3.3消息認證函數(shù)
3.4數(shù)字簽名3.5移動互聯(lián)網(wǎng)中使用的認證技術(shù)第3章認證理論基礎(chǔ)
3.1認證的概念
網(wǎng)絡(luò)系統(tǒng)安全要考慮兩個方面。一方面,用密碼保護傳送的信息使其不被破譯;另一方面,是防止對手對系統(tǒng)進行主動攻擊,如偽造、篡改信息等。
認證(Authentication)就是一種防止主動攻擊的重要技術(shù),它對于開放網(wǎng)絡(luò)中的各種信息系統(tǒng)的安全性有重要作用。認證的主要目的有兩個:第一是實體認證,即驗證信息的發(fā)送者是真的,而不是冒充的,這包括信源、信宿等的認證和識別;第二是消息認證,即驗證信息的完整性,確保數(shù)據(jù)在傳輸或存儲過程中沒有被篡改、重放或延遲。
3.1.1認證系統(tǒng)的模型圖3-1展示了一個認證系統(tǒng)的模型。在這個系統(tǒng)中,發(fā)送方通過一個安全信道將消息發(fā)送給接收方,接收方不僅想收到消息本身,而且還要驗證消息是否來自合法的發(fā)送方以及消息是否被篡改過。信宿D(zhuǎn)對信源S進行實體認證的目的是S要讓D相信“他是S”,那么雙方需要做到:
①雙方在誠實的情況下,S能夠讓D成功地識別自己,即在協(xié)議完成時D接受了S的身份;②D不能重新使用自己與S識別過程中的通信信息來偽裝成S,并向第三方T證明自己是S;
③除了S以外的第三方T以S的身份執(zhí)行該協(xié)議,不能讓D相信T是S。
3.1.1認證系統(tǒng)的模型消息認證的目的在于如何讓接收報文的接收方來鑒別報文的真?zhèn)?,消息認證的內(nèi)容應(yīng)包括:證實消息報文的信源和信宿;報文內(nèi)容是否遭到過篡改;報文的序號和時間欄沒有錯誤。消息認證只在通信雙方之間進行,不允許第三方進行上述認證,而且認證不一定是實時的。
3.2.1Hash函數(shù)的概念3.2.2MD4和MD5算法3.2.3安全Hash算法(SHA)3.2Hash函數(shù)3.2.1Hash函數(shù)的概念Hash函數(shù)的輸入長度是可變的,返回一個固定長度串,這個串也被稱為輸入信息的Hash值,也稱為消息摘要。計算給定輸入內(nèi)容的Hash值是簡單的,但給定某個Hash值,求其輸入內(nèi)容是比較困難的,即Hash函數(shù)是單向函數(shù)。Hash函數(shù)H一般滿足下列性質(zhì):函數(shù)H是公開的,其輸入內(nèi)容可為任意長度;函數(shù)H的輸出長度固定;不同的輸入內(nèi)容不能產(chǎn)生相同的函數(shù)值(即無碰撞性);無法根據(jù)函數(shù)值推導(dǎo)出輸入的內(nèi)容。Hash值的長度由具體的Hash函數(shù)確定,例如MD4算法的輸出為128比特,SHA-1的輸出為160比特。3.2.1Hash函數(shù)的概念Hash函數(shù)的基本用法:Hash函數(shù)與對稱加密算法、公鑰加密算法以及數(shù)字簽名算法結(jié)合使用,可以實現(xiàn)有效的保密與認證等安全功能。一、可以實現(xiàn)保密性和認證,發(fā)送方A將消息M與其Hash值H(M)連接,用對稱密碼算法加密后發(fā)送至接收方B。接收方用與發(fā)送方共享的密鑰K對密文解密后得到M'和H(M),而后計算M'的Hash值H(M'),通過比較H(M)和H(M')來完成對消息M的認證。3.2.1Hash函數(shù)的概念二、提供了認證,未對消息M進行保密,只對消息的Hash值進行了加解密變換。三、發(fā)送方A采用公鑰密碼算法,用A自己的私鑰PRa對消息M的Hash值進行簽名得到E(PRa,H(M)),而后與M連接后發(fā)出,接收方B用A的公鑰PUa對E(PRa,H(M))進行解密得到H(M),再與B自己由接收消息M'計算得到的H(M')進行比較來實現(xiàn)認證。3.2.1Hash函數(shù)的概念四、發(fā)送方A發(fā)送給接收方B的信息是E(K,[M||E(PRa,H(M))]),是在三的方案基礎(chǔ)上增加了對稱密鑰加密保護,可提供認證、數(shù)字簽名和保密性。五、在哈希運算H中增加了通信雙方共享的秘密值S,加大了對手攻擊的困難性。但是,它僅僅提供了認證。3.2.1Hash函數(shù)的概念六、在五的方案基礎(chǔ)上增加了對稱密鑰加密保護,可以提供保密性和認證。3.2.1Hash函數(shù)的概念針對Hash函數(shù)的攻擊方法
目前,對Hash函數(shù)最有效的攻擊方法是生日攻擊和中途相遇攻擊,這兩種方法對Hash值為128比特的Hash函數(shù)在理論上是有效的,但是當Hash值超過160比特時,在計算上就是不可行的,所以目前使用Hash值大于160比特以上的Hash函數(shù)是較為安全的。
下面將介紹這兩種針對Hash函數(shù)的攻擊方法。3.2.1Hash函數(shù)的概念生日攻擊
生日攻擊是指為了尋找到能夠發(fā)生碰撞的消息而在消息空間中進行搜索的一種攻擊方式。它適用于任何Hash函數(shù),并被作為衡量一個Hash函數(shù)安全與否的重要參考。它來源于概率論上著名的生日悖論問題,即在一個教室中至少需要有多少個學(xué)生才能保證有兩個學(xué)生的生日相同的概率不小于1/2。若從某些人中指定一個人,則他與其他人的生日相同的概率為365-1,但是如果不指定某個日期,從這些人里面找到生日相同的人,成功的概率就大得多。
將生日問題推廣到消息的集合中,就可以得到在生日攻擊的成功概率盡量低的情況下所需的Hash值長度。按照現(xiàn)在的計算條件,要想使一個Hash函數(shù)比較安全,其輸出的Hash值長度不應(yīng)小于128bit。3.2.1Hash函數(shù)的概念2.中間相遇攻擊
中間相遇攻擊的思路與生日攻擊類似,但這種攻擊只適合于具有分組鏈接結(jié)構(gòu)的Hash函數(shù)。這種攻擊也是通過不斷的搜索和計算,在消息集合中尋找能夠產(chǎn)生碰撞的消息。在進行中間相遇攻擊時,攻擊者首先隨意選出若干個消息分組,將它們分為兩部分。然后對其中的第一部分從初值開始進行迭代,到中間的某一步結(jié)束,得到I個輸出;第二部分從Hash值(任意選定)開始用逆函數(shù)進行反向迭代,也是到中間的某一步結(jié)束,得到J個輸出。最后,對這兩部分的輸出進行比較,如果能得到相同的輸出值,就可以得到一對碰撞消息。
類似于生日攻擊,可以通過計算得到為了獲得對應(yīng)的碰撞消息概率所需的消息數(shù)I+J的大小。通過研究發(fā)現(xiàn),為了能夠抵抗選擇明/密文攻擊,需要分組加密函數(shù)的分組長度不小于128bit,同時函數(shù)還需要具有偽隨機置換的性質(zhì)。
3.2.2MD4和MD5算法一、算法簡介
美國麻省理工學(xué)院教授RonaldRivest分別于1990年和1991年設(shè)計出了MD4和MD5兩種信息摘要算法。MD5是在MD4的基礎(chǔ)上發(fā)展而來的,雖然比MD4稍微慢一些,但更加安全。
MD4算法是一種用來測試信息完整性的Hash算法。它是通過32位操作數(shù)的位操作來實現(xiàn)的,所以適用在32位字長的處理器上并用高速軟件進行實現(xiàn)。它的安全性并不是基于大數(shù)分解這樣的數(shù)學(xué)難題,有人很快就用分析和差分的方法成功攻擊了MD4算法三輪變換中的兩輪,證明了它并不像期望的那樣安全。于是,Rivest對MD4算法進行了改進,從而發(fā)明了MD5算法。
3.2.2MD4和MD5算法二、MD5算法消息首先被拆成若干個512位的分組,其中最后一個分組是“消息尾部+1和0組成的填充字節(jié)+64位消息長度”,以確保不同長度的消息在填充后不相同。之后,MD5將每一個512位分組又劃分為16個32位子分組。每個512位消息分組就以16個32位字的形式進入算法的主循環(huán),512位消息分組的個數(shù)決定了循環(huán)的次數(shù)。如圖3-4所示,MD5的主循環(huán)有四輪,每輪進行16次操作,每一輪的操作過程相似。每次操作對a,b,c,d中的3個做一次非線性函數(shù)運算,并將所得結(jié)果加上第4個變量、一個子分組和一個常數(shù)。再將所得結(jié)果向右循環(huán)移動一位,并加上a,b,c,d中的一個。最后,用該結(jié)果取代a,b,c,d其中的一個。MD5算法的輸出由四個32位分組組成,將它們級聯(lián)形成一個128位的Hash值。
3.2.2MD4和MD5算法3.2.3安全Hash算法(SHA)一、安全Hash算法的發(fā)展過程1993年,美國國家標準與技術(shù)研究院(NIST)公布了安全散列算法SHA-0。1995年,NIST又公布了改進后的版本SHA-1,其設(shè)計上模仿了MD5算法,接受任意長度的輸入消息,但生成的是160比特的消息摘要,抗窮舉搜索的能力更強。2001年,NIST公布SHA-2作為聯(lián)邦信息處理標準,包含SHA-224、SHA-256、SHA-384、SHA-512等6個算法,分別生成224比特、256比特、384比特和512比特的Hash值。2008年,NIST啟動了安全Hash函數(shù)SHA-3的評選。2012年10月,GuidoBertoni,JoanDaemen,MichaelPeeters和GillesVanAssche設(shè)計的密碼學(xué)函數(shù)族Keccsk被選中,被公布為新的Hash函數(shù)標準。3.2.3安全Hash算法(SHA)二、SHA-1算法SHA-1算法首先將消息填充為512位的整數(shù)倍。填充方法與MD5完全一樣。SHA-1算法有五個32位變量(而MD5僅有四個),先對它們進行初始化:h0=0x67452301,h1=0xEFCDAB89,h2=0x98BADCFE,h3=0x10325476,h4=0xC3D2E1F0。完成初始化之后,將這五個變量復(fù)制到另外的變量中:h0到a,h1到b,h2到c,h3到d,h4到e。然后開始算法的主循環(huán)部分。它一次可以處理512位消息,循環(huán)的次數(shù)是消息中512位分組的數(shù)目。主循環(huán)有四輪,每輪有20次操作(MD5有四輪,每輪有16次操作)。如圖3-5所示,每次操作選取a,b,c,d,e中的3個進行一次非線性運算,然后進行與MD5中類似的移位和加運算。3.2.3安全Hash算法(SHA)之后,a,b,c,d,e分別加上h0,h1,h2,h3,h4,然后讓下一個消息分組繼續(xù)運行算法。最后,SHA-1算法的輸出結(jié)果由h0,h1,h2,h3和h4級聯(lián)而成。3.2.3安全Hash算法(SHA)三、針對SHA系列算法的攻擊進展1997年,王小云首次使用“比特追蹤法”分析SHA-0算法,并在理論上攻破了SHA-0算法。在2004年CRYPTO的Rump會議上,王小云、馮登國、來學(xué)嘉和于紅波宣布了攻擊MD5、SHA-0和其它Hash函數(shù)的初步結(jié)果。2005年2月,王小云和殷益群、于紅波等人發(fā)表了攻破SHA-0的算法,只需要239次計算就能找到碰撞,對SHA-1的攻擊只需要269次計算就能找到一組碰撞。在2005年8月的CRYPTO會議接近尾聲時,王小云、姚期智、姚儲楓再次發(fā)表了攻破SHA-1的算法,可以通過263次計算找到碰撞。目前,針對SHA-2的攻擊算法也已經(jīng)出現(xiàn),這里不做詳細介紹,有興趣的讀者可查閱相關(guān)資料。
3.3.1消息加密函數(shù)3.3.2消息認證碼MAC3.3消息認證函數(shù)3.3消息認證函數(shù)消息認證函數(shù)可分為以下三類:
消息加密函數(shù)。它是用整個消息加密后的密文作為對消息的認證。消息認證碼(MAC)。它是一個對信源消息進行編碼并用生成的定長值作為認證符的函數(shù)。Hash函數(shù)。它是公開的,可以將任意長的消息映射成具有固定長度的信息,并以該信息作為認證符。3.3.1消息加密函數(shù)消息加密本身提供了一種認證手段,即在認證中主要采用消息加密函數(shù)。下面介紹四種采用消息加密函數(shù)的認證過程。A為發(fā)送方,B為接收方。B接收到消息后,通過解密來判斷消息是否來自A、消息是否完整以及有無篡改。使用了對稱密碼算法。當只有A和B知道密鑰K時,因為沒有其他人能夠解密出報文的明文,該過程即提供了保密性。3.3.1消息加密函數(shù)使用了公鑰密碼算法,提供了保密性,但不能提供認證,因為任何第三方都可以使用B的公鑰PUb來加密報文,并謊稱報文是來自A的。讓A使用它自己的私鑰PRa對報文進行加密,并讓B用A的公鑰PUa進行解密。3.3.1消息加密函數(shù)A可以先用自己的私鑰PRa對報文進行加密,即可提供數(shù)字簽名,然后再用B的公鑰PUb來加密,以此來提供保密性。3.3.2消息認證碼MACMAC(MessageAuthenticationCode,消息認證碼)是一種實現(xiàn)消息認證的方法,利用密鑰來生成一個固定長度的小段信息并附加在消息之后,可以用來防止攻擊者惡意篡改或偽造消息。在這種方法中,若發(fā)送方A準備向接收方B發(fā)送消息,則A就計算MAC,它是消息和密鑰的函數(shù),即MAC=C(K,M)上式中,M是輸入消息,C是MAC函數(shù),K是僅由收發(fā)雙方共享的密鑰,MAC為消息認證碼。3.3.2消息認證碼MACMAC函數(shù)類似于加密函數(shù),但不需要可逆性。下面介紹三種用法。只提供了對消息的認證,發(fā)送方A先對消息M進行加密,然后根據(jù)密文計算認證碼,并將認證碼與消息密文進行連接后發(fā)送給接收方B。B根據(jù)接收到的消息密文計算認證碼并進行比較,如果相同,則可以確認消息來自于發(fā)送方A,然后對消息進行解密;否則,說明消息并不是來自于發(fā)送方A,就無須對消息進行解密。3.3.2消息認證碼MAC發(fā)送方A在K1的作用下先生成了對M的認證碼C(K1,M),然后將明文M與它的認證碼C(K1,M)連接,再用K2進行加密。接收方B接收到消息后,先用K2對消息進行解密,然后計算M的認證碼,再與接收到的認證碼進行比較,如果兩個認證碼相等則說明消息M確實來自于發(fā)送方A。3.3.2消息認證碼MAC發(fā)送方A先對消息M進行加密,然后根據(jù)密文計算認證碼,并將認證碼與消息密文進行連接后發(fā)送給接收方B。B根據(jù)接到的消息的密文計算出認證碼,并與從A發(fā)來的報文中提取的認證碼進行比較,如果二者相同,則說明消息確實來自于發(fā)送方A,然后再對消息進行解密;否則,說明消息并不是來自于發(fā)送方A,就無須對消息進行解密。
3.4.1基本概念3.4.2常用數(shù)字簽名技術(shù)3.4數(shù)字簽名3.4.1基本概念數(shù)字簽名(又稱公鑰數(shù)字簽名)類似于寫在紙上的普通物理簽名,但使用了公鑰加密領(lǐng)域的技術(shù)進行實現(xiàn)。簽名信息是采用一套規(guī)則和一系列參數(shù)通過某種運算得到的,通過它可以鑒別認證簽名者的身份并驗證電子文檔或數(shù)據(jù)的完整性。3.4.1基本概念
為了滿足在網(wǎng)絡(luò)環(huán)境中身份認證、數(shù)據(jù)完整性和不可否認性等安全需求,數(shù)字簽名必須具有以下幾個重要特性:可信性。即簽名的接收方可以方便地并有效地通過一個專門的驗證算法來驗證出簽名的真?zhèn)?;不可偽造性。即除了合法的簽名者之外,任何人都無法偽造出這一簽名;不可復(fù)制性。即對于某一條消息的簽名,任何一方都不能將此簽名用作對另一條消息的簽名;不可抵賴性。即簽名一旦生成并被發(fā)送出去,簽名的生成者將不能否認自己的簽名,因為接收方可以向別人出示簽名來證明消息的來源;不可修改性。即簽名一旦完成,則對被簽名消息的任何修改都能夠被輕易發(fā)現(xiàn)。3.4.1基本概念采用公鑰加密體制的數(shù)字簽名的具體運行過程如下:①發(fā)送端首先對所要發(fā)送的消息數(shù)據(jù)采用Hash函數(shù)進行運算并獲得其消息摘要,然后使用私鑰對這段摘要進行加密,將加密結(jié)果作為數(shù)字簽名附在所要發(fā)送的消息數(shù)據(jù)之后一同發(fā)出;②接收端通過一個可信的第三方——證書機構(gòu)(CertificationAuthority,CA)獲得發(fā)送端的公鑰,對接收到的數(shù)字簽名進行解密,得到摘要1;③接收端采用相同的Hash函數(shù)計算并獲得消息數(shù)據(jù)的摘要2,然后將摘要1與摘要2進行比較,以判斷簽名是否有效。3.4.2常用數(shù)字簽名技術(shù)目前,數(shù)字簽名主要采用的是公鑰密碼算法,其中比較典型的有兩個:RSA簽名算法和ElGamal簽名算法。一、RSA數(shù)字簽名方案具體過程如下:(1)初始化任意選取兩個大素數(shù)p和q,計算乘積n=pq以及歐拉函數(shù)值φ(n)=(p-1)(q-1);再隨機選取一個整數(shù)e,滿足1<e<φ(n),而且e與φ(n)互素;然后計算整數(shù)d,使得ed≡1modφ(n)。最后,公開n,e的值作為公鑰,而p,q和d保密。(2)簽名過程設(shè)需要簽名的消息為x(x∈Zn),選擇一個安全的Hash函數(shù),發(fā)送方的私鑰為d,計算SigK≡h(x)dmodn則SigK即為對消息x的簽名。3.4.2常用數(shù)字簽名技術(shù)(3)驗證過程設(shè)接收方收到的簽名消息為y,利用發(fā)送方的公鑰e對簽名進行驗證:VerK(x,y)=TRUE?h(x)modn≡yemodn,其中x,y∈Zn若VerK(x,y)=TRUE,則簽名有效;否則簽名無效。3.4.2常用數(shù)字簽名技術(shù)二、ElGamal數(shù)字簽名方案ElGamal數(shù)字簽名方案的基本元素是素數(shù)q和a,其中a是q的原元。用戶A通過如下步驟產(chǎn)生公鑰和私鑰:生成隨機整數(shù)XA,使得1<XA<q-1;計算YA=aXAmodq;則A的私鑰是XA;A的公鑰是{q,a,YA}。
為了對消息M進行簽名,用戶A首先計算M的Hash值m=H(M),這里m是滿足0≤m≤q-1的整數(shù)。然后A通過如下步驟產(chǎn)生數(shù)字簽名:選擇隨機整數(shù)K,滿足1≤K≤q-1以及gcd(K,q-1)=1,即K與q-1互素;計算S1=a
Kmodq;計算K-1mod(q-1),即計算K模q-1的逆;3.4.2常用數(shù)字簽名技術(shù)二、ElGamal數(shù)字簽名方案計算S2=K-1(m-XAS1)mod(q-1);簽名包括(S1,S2)對。任意用戶B都能通過如下步驟驗證簽名:計算V1=am
modq;計算V2=(YA)S1(S1)S2modq。如果V1=V2,則說明簽名合法。
3.5.1WPKI技術(shù)3.5.2雙因子認證技術(shù)3.5移動互聯(lián)網(wǎng)中使用的認證技術(shù)3.5.1WPKI技術(shù)WPKI即“無線公開密鑰體系”,它是將互聯(lián)網(wǎng)電子商務(wù)中的PKI(PublicKeyInfrastructrue,公鑰基礎(chǔ)設(shè)施)安全機制引入到無線網(wǎng)絡(luò)環(huán)境中的一套遵循既定標準的密鑰及證書管理體系。PKI是利用公鑰理論和技術(shù)建立的提供信息安全服務(wù)的基礎(chǔ)設(shè)施,它是國際公認的互聯(lián)網(wǎng)電子商務(wù)的安全認證機制。WPKI可以對移動網(wǎng)絡(luò)環(huán)境中使用的公開密鑰和數(shù)字證書進行管理,并有效地建立起一個安全和值得信賴的無線網(wǎng)絡(luò)環(huán)境。3.5.1WPKI技術(shù)WPKI系統(tǒng)也必須具有以下幾部分:PKI客戶端、注冊機構(gòu)(RA)、認證機構(gòu)(CA)和證書庫以及應(yīng)用接口等基本組成部分:認證機構(gòu)(CA)是PKI的信任基礎(chǔ),負責分發(fā)和驗證數(shù)字證書,規(guī)定證書的有效期,發(fā)布證書的廢除列表。注冊機構(gòu)(RA)為用戶和CA之間提供一個接口,它是CA的校驗者,需要在數(shù)字證書分發(fā)給請求者之前對證書進行驗證。數(shù)字證書庫用于存儲已經(jīng)簽發(fā)的數(shù)字證書和公鑰,用戶可以由此獲得所需的其他用戶的證書及公鑰。應(yīng)用接口系統(tǒng)是一個完整的WPKI系統(tǒng)必須提供的。一個良好的應(yīng)用接口系統(tǒng)可以使各種應(yīng)用能夠以安全、一致、可信的方式與WPKI進行交換,確保安全網(wǎng)絡(luò)環(huán)境的完整性和便捷性。3.5.2雙因子認證技術(shù)
雙因子認證,又稱為雙因素認證,是一種安全認證方法。在這一認證過程中,需要用戶提供兩種不同的認證因素來證明自己的身份,從而更好地保護用戶證書和可訪問的資源。雙因子認證比基于單因子的驗證方式提供了一種更高級別的保證。在單因子認證中,用戶只需提供一種認證因子,一般是密碼或者口令。雙因子認證不僅需要用戶提供密碼,而且還需要用戶提供第二個因子,通常情況下這一因子可能是一個安全令牌或生物特征標志(如指紋或面部)。3.5.2雙因子認證技術(shù)一、身份認證的因素認證因素在認證過程中被采用和計算的一般順序如下:認證因素:指用戶所知道的事物,如密碼、PIN碼或其它類型的共享密鑰。持有物因素:指用戶擁有的東西,如身份證、安全令牌、智能手機或其它移動設(shè)備。特征因素:指用戶自身固有的特性,如指紋、面部、語音等。未知因素:指認證時所處的位置,可以用特定位置的特定設(shè)備來強制限定認證,最常見的方式是跟蹤認證來源的IP地址或來源于移動電話或其它設(shè)備的地理信息。時間因素:限制用戶在特定的時間窗口內(nèi)進行認證登錄,并在該時間段之外限制對系統(tǒng)的訪問。3.5.2雙因子認證技術(shù)二、移動設(shè)備的雙因子認證
目前,移動設(shè)備采用的雙因子認證是一種應(yīng)用了時間同步技術(shù)的系統(tǒng),使用基于時間、事件和密鑰三種因素而產(chǎn)生的一次性密碼來代替?zhèn)鹘y(tǒng)的靜態(tài)密碼。每個動態(tài)密碼卡都有一個唯一的密鑰,該密鑰同時存放在服務(wù)器端。每次認證的時候,動態(tài)密碼卡與服務(wù)器分別根據(jù)同樣的密鑰、同樣的隨機參數(shù)(時間、事件)與同樣的算法計算出認證的動態(tài)密碼,從而確保密碼的一致性,并實現(xiàn)用戶的認證。由于每次認證使用的隨機參數(shù)不同,每次產(chǎn)生的動態(tài)密碼也會不同。正是因為每次計算時參數(shù)的隨機性保證了每次密碼的不可預(yù)測性,從而在最基本的密碼認證這一環(huán)節(jié)上保證了系統(tǒng)的安全性。這一認證系統(tǒng)可以消除因為口令欺詐而導(dǎo)致?lián)p失的安全隱患,防止人為惡意破壞,解決由口令泄露導(dǎo)致的入侵問題。小結(jié)
保密和認證是信息系統(tǒng)安全的兩個方面。其中,認證是用于鑒別通信雙方身份的真?zhèn)巍⒎乐顾酥鲃庸舻囊环N重要技術(shù)。在開放的網(wǎng)絡(luò)環(huán)境中,認證的主要目的有兩個:驗證消息發(fā)送者的身份和驗證消息的完整性。哈希函數(shù)能將任意長的消息映射成一個定長的短字串,這一特性使其在消息完整性校驗方面得到了廣泛的應(yīng)用,并衍生出MD4、MD5和SHA系列等算法。數(shù)字簽名作為一種用于確保信息滿足可認證性、完整性、不可否認性等安全要求的重要技術(shù)手段,在通信網(wǎng)絡(luò)安全的密鑰分發(fā)、認證以及電子商務(wù)系統(tǒng)中都發(fā)揮了極其重要的作用。認證和數(shù)字簽名技術(shù)共同保障了信息傳輸過程的真實性和安全性。習題Hash函數(shù)可能受到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度生態(tài)園區(qū)沉降監(jiān)測與可持續(xù)發(fā)展合同范本4篇
- 2025年度瓷磚品牌形象設(shè)計與廣告投放合同3篇
- 2024石料運輸合同違約責任范本3篇
- 2025年度政府機構(gòu)公務(wù)出差協(xié)議書模板4篇
- 2025年度智慧家居SAAS解決方案銷售服務(wù)合同3篇
- 2024版?zhèn)€人之間借款合同書
- 2025年度幼兒園廚房設(shè)備租賃及運營管理合同4篇
- 2024門窗行業(yè)綠色認證與環(huán)保評估合同3篇
- 2025年度智能設(shè)備品牌代理授權(quán)合同協(xié)議4篇
- 2025年度智能交通系統(tǒng)出資股東協(xié)議范本4篇
- 2025年中國高純生鐵行業(yè)政策、市場規(guī)模及投資前景研究報告(智研咨詢發(fā)布)
- 湖北省黃石市陽新縣2024-2025學(xué)年八年級上學(xué)期數(shù)學(xué)期末考試題 含答案
- 2022-2024年浙江中考英語試題匯編:完形填空(學(xué)生版)
- 2025年廣東省廣州市荔灣區(qū)各街道辦事處招聘90人歷年高頻重點提升(共500題)附帶答案詳解
- 中試部培訓(xùn)資料
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報告
- 央視網(wǎng)2025亞冬會營銷方案
- 北師大版數(shù)學(xué)三年級下冊豎式計算題100道
- 計算機網(wǎng)絡(luò)技術(shù)全套教學(xué)課件
- 《無砟軌道施工與組織》 課件 第十講雙塊式無砟軌道施工工藝
- 屋頂分布式光伏發(fā)電項目施工重點難點分析及應(yīng)對措施
評論
0/150
提交評論