930 likes | 1.19k Views
計算機概論. 第 十七 章 資訊安全. 陳維魁 / 陳邦治 旗標出版社. 本章重點. 戰爭除了會使用傳統武器及人力來做為工具之外,有時也會使用一些較特殊的技術或發明 第一次世界大戰毒氣被廣泛使用 毒氣是化學家發明的 有人說第一次世界大戰是化學家的之間戰爭 第二次世界大戰則是美國在 1945 年 8 月 6 日及 9 日分別在日本的廣島及長崎投下原子彈而結束了該次戰爭 第二次世界大戰是靠物理學家才結束的戰爭. 本章重點 (cont.).
E N D
計算機概論 第十七章 資訊安全 陳維魁/陳邦治 旗標出版社
本章重點 • 戰爭除了會使用傳統武器及人力來做為工具之外,有時也會使用一些較特殊的技術或發明 • 第一次世界大戰毒氣被廣泛使用 • 毒氣是化學家發明的 • 有人說第一次世界大戰是化學家的之間戰爭 • 第二次世界大戰則是美國在1945年8月6日及9日分別在日本的廣島及長崎投下原子彈而結束了該次戰爭 • 第二次世界大戰是靠物理學家才結束的戰爭
本章重點(cont.) • 由於現代人對於「資訊技術」的仰賴程度愈來愈深,幾乎不可能擺脫得了「資訊技術」對我們生活的影響。如果有一天(只要一天),總統府、行政院、國防部、銀行業、證券公司、機場、高鐵、捷運甚至家裡電腦中的資訊系統無法提供服務,所造成的影響可能會比幾年前桃園地區大停水十幾天還要可怕 • 許多人預言,來來如果發生第三次世界大戰,這場戰爭可能是場「資訊戰」,如何避免「資訊戰」可能造成的傷害,就必須注意「資訊安全」的重要性
電腦犯罪 惡意軟體 基礎密碼學知識 數位簽章 數位信封 憑證管理 公開金鑰基礎建設 防火牆 數位浮水印技術 網路安全 系統安全 資訊安全管理 大綱 4 4
資訊安全的廣義解釋 • 秘密性(privacy) • 防止明文被非法的接收者得到 • 鑑定性(authenticity ) • 確定資訊確實來自發送方 • 完整性(integrity) • 防止資料被非法更改 • 不可否認性(non-repudiation) • 防止發送方否認傳送過資料
電腦犯罪(computer crime) • 電腦犯罪是指利用電腦及網路技術來從事犯罪並可能從中獲得不法利益 • 若程式設計或執行過程中缺乏人員監督或程式設計瑕疵都可能產生漏洞讓有意犯罪者有機可趁 • 電腦犯罪三項特性 • 從事電腦犯罪者往往不在犯罪現場。 • 數位證據容易銷毀且不易取得。 • 容易跨國犯罪
利用通訊網路從事非法活動,如販賣毒品、槍枝或盜版光碟等利用通訊網路從事非法活動,如販賣毒品、槍枝或盜版光碟等 入侵系統盜取機密資料並販賣圖利 入侵系統竄改電腦內部的資料 竊取在網路上傳輸的資料 竄改在網路上傳輸的資料 盜用電腦系統資源的使用權 系統合法使用者,利用系統管理權限執行違法動作 破壞實體系統 利用電子商務協定之漏洞獲得非法之利益 利用通訊網路散播電腦病毒 利用通訊網路誹謗他人 常見的電腦犯罪類型
電腦犯罪預防 • 利用加解密技術,避免非法入侵者竊取資料或資料在網路上傳輸時被竊取 • 慎選系統管理人員 • 系統管理人員應彼此監督,工作分權負責且應遵循資訊安全規範 • 應管制通行碼
惡意軟體(malicious software) • 惡意軟體指所有不懷好意的軟體 • 比如說企圖利用系統安全漏洞來入侵系統或對系統有不良意圖,甚至企圖影響系統正常運作的軟體都可稱為是惡意軟體 • 惡意軟體通常可以依「是否需要宿主程式」而分為二類 • 需要宿主程式,無法獨立存在 • 可獨立執行的程式
需要宿主程式的惡意軟體 • 常見的需要宿主程式的惡意軟體有以下四種 • 電腦病毒(computer viruses) • 暗門(trapdoors) • 邏輯炸彈(logic bombs) • 特洛伊木馬(Trojan horses)
電腦病毒 • 電腦病毒是指一種具有破壞能力軟體,通常具有自我啟動性、複製性、傳染性、寄居性及常駐性等特性 • 不同的電腦病毒擁有不同病毒碼(virus pattern),目前防毒軟體對電腦病毒的處理方式便是利用病毒碼來辨別病毒種類並據以清除該種病毒 • 防毒軟體僅能針對既有的電腦病毒進行隔離或清除等動作,對於新種或變種的電腦病毒便束手無策 • 設計防毒軟體的公司便必須根據新種或變種的電腦病毒特性提供「病毒碼更新」服務,讓使用者的電腦得到周全的保護
電腦病毒的生命週期 • 潛伏階段(dormant phase) • 電腦病毒處於潛伏階段時,宿主程式可以正常執行。在此階段電腦病毒是在等待觸發她執行的特定事件發生。但並非所有的電腦病毒都有潛伏階段 • 繁殖階段 (propagation phase) • 電腦病毒會開始自我複製的動作,但不一定會對宿主程式造成影響 • 觸發階段(triggering phase) • 電腦病毒等待特定事件發生,以便被啟動執行 • 執行階段(execution phase) • 代表電腦病毒已經發作,也就是電腦病毒程式已經被執行
暗門 • 暗門有時也稱為後門(back doors) • 通常暗門是程式設計師在開發程式的過程中為了要方便程式的除錯與測試所允許的特殊功能 • 利用暗門可不經正常的安全認證程序便取得系統控制權 • 有時當系統設計完成後,程式設計師忘了將暗門功能移除,導致暗門被駭客用來當作入侵系統的捷徑
啟動暗門的方式 • 設計成特定順序輸入啟動暗門 • 以特定使用者帳號啟動暗門 • 利用一些少見的事件啟動暗門
邏輯炸彈 • 邏輯炸彈會隱藏在正常的軟體中,當某些特定的事件發生時,就會「引爆」該炸彈。特定的事件可能是某個特定的日期或時間
特洛伊木馬 • 特洛伊木馬通常是某些看似正常的程式,但程式內部卻暗藏了會造成傷害或是侵犯隱私功能的木馬程式 • 較常見的特洛伊木馬之功能為側錄使用者的密碼,或是在系統中開啟一道後門來作為駭客日後入侵的管道,甚至是將不知情的使用者之電腦當成日後入侵他人電腦系統的跳板
可獨立執行的惡意軟體 • 可獨立執行的惡意軟體是指不需要宿主程式即可獨立執行的程式 • 常見的可獨立執行的惡意軟體 • 間諜程式(spyware) • 蠕蟲(worms) • 殭屍(zombie)
間諜程式 • 「間諜程式」是指在未經使用者許可的情況下搜集使用者個人資訊的電腦程式 • 「間諜程式」蒐集的資料範圍很廣泛,從使用者平日瀏覽的網站,到使用者名稱、密碼等個人資料都是被蒐集的對象 • 鍵盤錄製程式(key logger) 就是常見的「間諜程式」。入侵者會利用「間諜程式」蒐集使用者的密碼資訊以侵佔使用者的財產
蠕蟲惡意軟體 • 「蠕蟲」具有自我複製能力,系統一旦感染「蠕蟲」,不需透過其他程式便會自動蔓延,因此「蠕蟲」比電腦病毒的感染力還大
殭屍惡意軟體 • 「殭屍」惡意軟體是一種會暗中控制網路上其他電腦的程式 • 使用者瀏覽網頁時,在不知情的情況下連線到惡意網頁,被植入惡意程式,由於感染殭屍病毒多數沒有徵兆,一般受害者通常並不知道電腦已經遭受遠端控制 • 只有在控制者要對特定對象發動攻擊時,惡意程式才會在多數電腦中被啟動並同時發動聯合攻擊
殭屍惡意軟體 (cont.) • 殭屍網路主要的攻擊是發送偽造封包或者是垃圾數據封包,使預定攻擊目標癱瘓並「拒絕服務」 • 由於此類攻擊是透過被「殭屍」惡意軟體控制的電腦來對其他電腦發動攻擊,因此要追查此類攻擊的來源並不容易 • 本類惡意軟體經常被用於在阻斷服務攻擊(Denial-of-Service; DoS)
基礎密碼學知識 • 秘密金鑰系統 • 公開金鑰系統 • 單向雜湊函數
秘密金鑰系統(secret-key cryptography) • 在「秘密金鑰系統」中,加密(encrypt)及解密(decrypt)動作利用同一把金鑰來處理,又稱為對稱式密碼系統(symmetric cryptography) E是加密程序,EK(M)代表利用加密程序E並配合秘密金鑰K的使用可將明文M加密成密文C。D是解密程序,DK(C)代表利用解密程序D並配合秘密金鑰K的使用可將密文C解密成明文M
秘密金鑰系統(cont.) • 重要限制 • 加/解密所使用的金鑰必需保密不可讓第三者知道 • 優點 • 加/解密速度較公開金鑰系統快 • 缺點 • 金鑰必須利用安全通道(secure channel)來分配 • 金鑰數目可能過大 • 不具不可否認特性 • 常被使用的秘密金鑰系統有DES及AES等方法
範例 • 若採用秘密金鑰系統,當系統有n人時,則每人均必需保管(n-1)把金鑰,所以共有n×(n-1)/2把不同的金鑰需被妥善保管 • 假如系統內有100人則每人均必需保管99把金鑰,共有100×99/2=4950把不同的金鑰需被妥善保管
公開金鑰系統(public-key cryptography) • 加密及解密動作利用二把不同的金鑰來處理,又稱為非對稱式密碼系統(asymmetric cryptography) • 「公開金鑰系統」的觀念是由Diffie 和 Hellman 在1976 年所共同提出,但是當時並未建構出真實的系統
公開金鑰系統(cont.) • Rivest、 Shamir 及 Adleman 於 1978 年根據分解大整數的難題,設計出第一個公開金鑰密碼系統 — RSA • 「公開金鑰系統」的運作機制 E是加密程序,EK1(M)代表利用加密程序E並配合加密金鑰K1的使用可將明文M加密成密文C。D是解密程序,DK2(C)代表利用解密程序D並配合解密金鑰K2的使用可將密文C解密成明文M。使用公開金鑰密碼方法有一項重要特性就是加密所使用的金鑰K1 (public key)可公開,而解密所使用的金鑰K2(secret key)則必需保密
編碼及解碼規則 • 在「公開金鑰系統」中的每一對公鑰與私鑰皆唯一成對,任何兩個金鑰對不會共用同一把公鑰或私鑰 • 編碼及解碼規則如下 • 使用某一把公鑰編碼過的資料唯有使用其相對應的私鑰才能解碼。(用於加解密) • 使用某一把私鑰編碼過的資料唯有使用其相對應的公鑰才能解碼。(用於數位簽章) • 公鑰與私鑰具有數學上的對應關係,但其產生方法具「不可逆」特性,也就是說,無法由公鑰推算得到其相對應的私鑰
公開金鑰系統特性 • 優點 • 金鑰分配問題被簡化 • 具不可否認性 • 任何人均可對明文加密,但只有持有解密金鑰者始可解密 • 缺點 • 加解密運算過程較秘密金鑰系統複雜及速度較慢 • 最有名的範例是 RSA
單向雜湊函數(one-way hash function) • 對某些資料執行數位簽章動作前,通常會先將資料交由單向雜湊函數處理後再對單向雜湊函數的輸出結果進行數位簽章動作
單向函數(one-way function) • 若f為單向函數則對於任何屬於 f 之域(domain)的任一 x,可以很容易算出f(x)=y • 對於幾乎所有屬於 f 之範圍(range)的任一 y,在計算上不可能求出x使得 y =f(x)
雜湊函數(hash function) • 「雜湊函數」的特性有以下二點 • 輸入可為任意長度的訊息 • 輸出必須為固定長度的訊息摘要(message digest)
單向雜湊函數定義 • 「單向雜湊函數」是指兼具單向函數及雜湊函數特性之函數,主要特性有以下五點 • 單向函數 • 輸入可為任意長度的訊息 • 輸出必須為固定長度的訊息摘要 • 抗碰撞(collision resistance) • 快速計算 在上圖中一個長度較長的訊息原文經過單向雜湊函數處理後,得到了長度較短的訊息摘要輸出。單向雜湊函數主要的作用就是將原訊息「濃縮」成長度較短的訊息摘要
數位簽章 (digital signature) • 「數位簽章」為一串數位資料(bit string) • 利用公開金鑰密碼系統之技術對數位文件進行類似手寫簽章之動作 • 簽署者使用自己的私鑰產生簽章,驗證者則是使用簽署者的公鑰辨認簽章的真偽 • 相同文件由不同簽署者簽署時,簽章不會相同,相同簽署者簽署不同文件時,簽章也不會相同 • 簽章檢驗工作十分容易,可由任意第三者來執行 • 主要使用在電子現金、電子契約 、電子支票及軟體防偽等應用上
數位簽章金鑰 • 數位簽章使用的公鑰必須被公開,而私鑰必須保密,因此通常會將私鑰存入磁片或IC卡中以方便保存
數位簽章的處理過程 • 1. 簽章者產生數位簽章 • 2. 簽章者將文件及數位簽章傳送驗證者
數位簽章的處理過程(cont.) • 3. 驗證者驗證數位簽章 • (1)將文件經由雜湊函數運算得到固定長度的訊息M • (2)利用簽章者之公開金鑰及驗證簽章演算法對數位簽章S做運算得到M’ • (3)比較M是否等於M’,若相等則代表數位簽章為真,反之則代表數位簽章是偽造的
數位簽章的特性 • 真實性(authentic) • 不可偽造性(unforgeability) • 數位簽章是不可偽造的 • 不可重複使用性(non-reuse) • 數位簽章與被簽署之文件的內容相關,不可將數位簽章由被簽署之文件中單獨取出並使用在另一份不同之文件中 • 不可更改性 • 被簽署之文件,在文件被簽署後其內容不可改變 • 不可否認性 • 簽署者不可在事後否認簽署過文件
數位信封 (digital envelope) • 已知公開金鑰密碼系統加解密的速度較慢,因此通常在實際使用密碼系統時會搭配公開金鑰密碼系統及秘密金鑰密碼系統來對訊息作加解密,以兼顧安全與效率 • 這種結合公開金鑰密碼系統及秘密金鑰密碼系統而成的一種機制便稱為「數位信封」
數位信封作法--發文者端工作 • 發文者在每次通訊前首先必須隨機產生一把私鑰,這個私鑰通常稱為「交談金鑰」(session key),每次通訊所使用的「交談金鑰」都應不同以確保安全 • 利用「交談金鑰」將對訊息明文加密成為密文 • 利用收文者的公開金鑰將「交談金鑰」加密 • 送出訊息密文及加密後之「交談金鑰」給收文者
數位信封作法--收文者端工作 • 收到發文者傳送的訊息密文及加密後之「交談金鑰」後,執行之工作依序如下 • 使用收文者的私鑰將加密後的「交談金鑰」解密得到原來的「交談金鑰」 • 利用「交談金鑰」將訊息密文解密即可得到訊息明文
數位信封機制特性 • 由於「交談金鑰」通常會比訊息原文小很多,因此使用公開金鑰密碼系統對「交談金鑰」執行加解密動作應該不會花費太多時間,而對於訊息明文執行加密及對訊息密文執行解密的動作則是採用秘密金鑰密碼系統機制來運作,效率會比較好
數位信封與數位簽章結合之應用 • 在實際應用上,通常會將數位簽章與數位信封搭配一起使用 • 若有發文者要傳送訊息原文及發文者對該訊息原文簽署所產生的數位簽章給收文者則對應的工作如下 • 發文者端應執行之工作如下 • 首先發文者必須使用自己的私鑰對訊息原文簽署數位簽章 • 利用收文者的公鑰將訊息原文及數位簽章一起加密成密文後傳送給收文者 • 收文者端收到收文者傳送的密文後,應執行之工作如下 • 首先使用自己的私鑰將密文解密得到訊息原文及數位簽章 • 利用發文者的公鑰來檢驗數位簽章
數位信封與數位簽章結合機制示意圖 採用本法可達到訊息的機密性、完整性、身分鑑定及不可否認等特性
公開金鑰系統特性 • 公開金鑰系統中通訊雙方可不事先交換金鑰便可進行秘密通訊,這是一項十分重要的優點 • 「公開金鑰系統」也可實現「數位簽章」的想法,因此「公開金鑰系統」被普遍使用 • 但是「公開金鑰系統」的運作必須有一項前提 通訊雙方能夠取得對方正確的公鑰
公開金鑰系統可能遭受的攻擊 • 如果無法取得對方正確的公鑰,便可能使重要訊息外洩漏或收到偽造的訊息而誤以為真 駭客切斷了Alice與Bob的正常通訊管道,對Alice假冒自己是Bob,對Bob假冒自己是Alice,並以駭客自己的公鑰假冒為Alice、Bob的公鑰。在這種情形下,Alice與Bob間原本應保持機密的通訊資料不知不覺中便外洩了
解決方案 • 為了避免以上的攻擊,必須藉由通訊雙方都信任之公正第三者經由一定程序來驗證通訊者身分資料及金鑰對,然後由公正第三者簽發憑證(certificate),利用憑證來證明通訊者擁有公鑰的真實性 • 簽發憑證的公正第三者被稱為「憑證管理中心」(Certification Authority;CA)