電子商務安全整體架構 吳宗成 教授兼系主任 國立台灣科技大學管理學院資訊管理系暨研究所 國立台灣科技大學管理學院電子商務研究中心 tcwu@cs.ntust.edu.tw Tel: (02) 27376780 or (02) 27376763 台灣科大資訊安全實驗室
大綱 系統安全威脅 密碼系統 使用者識別與訊息鑑別 通訊安全協定 系統安全控管 應用領域與所需安全技術 通訊安全協定運作模式 個體鑑別協定 加解密運作模式 數位簽章模式 憑證與CA 使用者識別與訊息鑑別 使用者識別 通行碼確認演算法 訊息鑑別與資料真確性 通訊安全協定 通訊安全協定運作模式 個體鑑別協定 金鑰交換協定 不可否認性協定 系統安全控管 防火牆 存取控制 機密共享 應用領域與所需安全技術 台灣科大資訊安全實驗室
資訊系統安全三大目標 機密性(confidentiality) – 資料 真確性、完整性(integrity) – 資料與系統 提供資料之秘密性與維護使用者之隱私性 真確性、完整性(integrity) – 資料與系統 資料真確性:防制人為刻意竄改或自然雜訊干擾 系統完整性:防制假冒或未授權方式存取系統資源進行資料之處理或更改 可取用性(availability) – 系統服務 對合法之使用者或個體不能阻絕服務 提供及時回應與系統服務 台灣科大資訊安全實驗室
安全威脅類別(I) 中斷(interruption) 使系統資源遺失、不可取用、不堪使用 惡意破壞硬體設備、刪除程式或資料檔、使作業系統阻絕服務(denial of services) A B 台灣科大資訊安全實驗室
安全威脅類別(II) 截取(interception) 未授權者能非法接取系統資源 非法拷貝程式或資料、網路截聽 A B C 台灣科大資訊安全實驗室
安全威脅類別(III) 更改(modification) 未授權者能更改系統資源 更改儲存或傳輸資料之數值、更改程式以執行額外運算 A B 台灣科大資訊安全實驗室
安全威脅類別(IV) 仿造(fabrication) 未授權者仿造資料,使得資料使用者無法分辨真偽 插入額外的交易訊息、增加資料記錄 A B (Act as A) 台灣科大資訊安全實驗室
系統資源所面臨之安全威脅 系統主要資源 系統資源所面臨的可能威脅 硬體、軟體、資料 硬體:中斷(denial of services) 、截取(theft) 軟體:中斷(deletion) 、截取(copy)、更改(logic bomb, Trojan horse, virus, trapdoor, information leaks) 資料:中斷(lost) 、截取(theft, copy)、更改(change)、仿造(forgery) 台灣科大資訊安全實驗室
加解密模式 明文 密文 明文 加密 解密 加密金鑰 解密金鑰 台灣科大資訊安全實驗室
數位簽章模式 訊息 簽章 訊息 簽署 驗證 (訊息+簽章) (成功與否) 簽署金鑰 驗證金鑰 台灣科大資訊安全實驗室
數位簽章特性 以數值型態存在 不易偽造(屬於計算上不可行的數學難題) 簽章與簽署者、簽署訊息、簽署時間有關 一個簽署者在不同時間簽署相同的訊息將會產生不同的簽章(機率式密碼系統),亦即簽章具備不可重用性 可用於證明簽署者、訊息與簽章的唯一關係(可驗證性) 簽署者不能否認曾經簽署該訊息(不可否認性 台灣科大資訊安全實驗室
對稱密碼系統 (symmetric cryptosystem) 大多為加解密系統 加密與解密金鑰均需保持秘密, 稱為密鑰(secret key) 加密金鑰與解密金鑰相同,又稱為私密金鑰系統(private key system)或單鑰系統(one-key system) 速度較快、適合大量資料處理 適用於保護個人檔案及傳輸資料 台灣科大資訊安全實驗室
非對稱密碼系統 (asymmetric cryptosystem) 可為加解密或數位簽章系統 加密或驗證金鑰是公開的,稱為公鑰 (public key) 解密或簽署金鑰是私密的,稱為私鑰 (private key) 公鑰與私鑰不同,又稱為公開金鑰系統(public key system)或雙鑰系統(two-key system) 公鑰與私鑰必須成對(key pair)存在,但由公鑰去推導私鑰為計算上不可行 速度較慢、適合少量資料處理,大多用來傳送對稱演算法所需的密鑰或產生數位簽章 適用於網路系統環境 台灣科大資訊安全實驗室
憑證與CA (certification & CA) 由一個憑證機構(certification authority, CA)針對使用者的個人身分資料及其選定的公鑰加以簽署後所作成的一個數位憑證,該憑證主要用來證明所出示的公鑰及所對應的使用者是否正確 憑證的內容包含:版本及格式、流水號、CA名稱、CA所用之密碼演算法、有效期限、使用者名稱及身分資料、使用者公鑰、CA的簽章等(詳細內容可參考X.509標準) 台灣科大資訊安全實驗室
使用憑證的正確觀念 憑證不是網路身分證,一個使用者可以擁有多張憑證,取決於其所擁有的公鑰數目 使用公鑰之前必須先驗證其有效性,而驗證公鑰之前必須先驗證憑證的有效性 憑證可以由使用者自行保存(存於硬碟或IC卡)或存於CA所管理的資料庫中 欲進行身分識別時,需先擷取對方的憑證,驗證載於憑證中之公鑰的有效性後,再利用該公鑰來執行一個身分鑑別協定(identification protocol) 台灣科大資訊安全實驗室
單向雜湊函數 單向雜湊函數(one-way hash function) 金鑰式雜湊函數(keyed hash function) 具壓縮性,可將不定長度的訊息壓縮成固定長度(通常為128-bit or 160-bit)的訊息彙記(message digest) 具不可逆性,亦即由訊息彙記無法還原出原來訊息 產生碰撞(collision)的機率相當小(低於10-6) 金鑰式雜湊函數(keyed hash function) 除了訊息之外,函數的輸入尚包含金鑰(可能為密鑰或私鑰) 只有握有金鑰的人才能執行函數運算 台灣科大資訊安全實驗室
訊息鑑別與資料真確性 訊息鑑別碼(Message Authentication Code , MAC ) 其他應用(具附件的數位簽章技術) 利用單向雜湊函數或金鑰式雜湊函數所產生的訊息彙記即為該訊息的訊息鑑別碼 單向雜湊函數所產生的訊息鑑別碼只能用於證明該訊息在傳輸過程的正確性(correctness),無法達成真確性 金鑰式雜湊函數所產生的訊息鑑別碼可達成該訊息的真確性;若再加上使用時變參數(time-variant)則可防制重送攻擊(replay),但無法達成訊息擁有者的不可否認性 其他應用(具附件的數位簽章技術) 對訊息彙記進行簽署所得的簽章,可證明訊息及其擁有者的真確性與不可否認性 台灣科大資訊安全實驗室
使用者識別 基於使用者知識 基於使用者持有物 基於使用者生理特徵 一個身分識別系統必須結合上述至少兩種方法以上才能達到實務應用之安全需求 只有使用者知道的特定訊息,例如通行碼(password) 、口令、江湖切口等 基於使用者持有物 特殊且很難複製的身分識別物件,例如鑰匙、權杖、Token 卡、 IC卡等 基於使用者生理特徵 使用者獨有且與生俱來的生理特質,例如指紋、掌紋、視網膜紋路等 一個身分識別系統必須結合上述至少兩種方法以上才能達到實務應用之安全需求 台灣科大資訊安全實驗室
通行碼的使用原則(I) 通行碼的產生 通行碼的長度 亂數產生器產生:安全性高但不容易記憶 使用者自行選取:方便性高但容易遭受猜測或破解 建議以4至8個字元英數混合為原則 用於安全性要求較高之系統則通行碼長度愈長愈好 台灣科大資訊安全實驗室
通行碼的使用原則(II) 通行碼的週期 通行碼的傳遞 每隔固定時間週期或有破解之虞時須強制更換 具重要或敏感性質之系統應針對不同的時段設定多重通行碼或單次通行碼(one-time pad passwords) 通行碼的傳遞 以密文或加密過的形式傳送,以確保其機密性 利用機密分割(knowledge splitting)的策略,並以不同性質的通訊管道進行傳遞,以分散被截取的風險 台灣科大資訊安全實驗室
一個在實務上兼具安全與易記之通行碼產生方式 Knuth: Randomness is the best secrecy 亂數就是最好的安全性 利用一個亂數函數將易記的通行碼轉換 f(x)=ax+i mod n 其中gcd(a,n)=1 ,i為動態選擇 例子:f(x)=3x+i mod 10 ,i為字元位置 27376780→73253718 (i=1,2,3,4,5,6,7,8) 533422123455553342213551→??????????????????????? 台灣科大資訊安全實驗室
通訊安全協定運作模式 (communication cryptographic protocol) 1. 仲介協定(arbitrated protocol) 2. 仲裁協定(adjudicated protocol) TTP TTP A B A B 證據 ADJ 3. 自我施行協定(self-enforcing protocol) A B 台灣科大資訊安全實驗室
個體鑑別協定(I) (entity authentication) 鑑別演算法 直接鑑別(direct authentication) 個體利用所持有的秘密參數對身分碼產生鑑別訊息(或簽章) 驗證者直接證明身分碼的有效性 間接鑑別(indirect authentication) 個體利用所持有的秘密參數對任一資訊產生鑑別訊息 驗證者可以藉由證明該鑑別訊息的有效性來間接鑑別個體身分 台灣科大資訊安全實驗室
個體鑑別協定(II) (entity authentication) 鑑別演算法執行方式 單向鑑別(one-way authentication) 某一個體向另一個體證明其身分 雙向鑑別(two-way authentication) 通訊個體彼此證明身分 三向鑑別(three-way authentication) 需在仲裁者或公正第三者的見證之下, 通訊個體彼此證明身分,並存下可供日後解決糾紛的證據 台灣科大資訊安全實驗室
金鑰交換協定 (key exchange) 通訊雙方利用對稱或非對稱演算法交換一把密鑰或交談金鑰(session key) 配合使用之密碼機制 加解密演算法(保護欲交換金鑰的機密性) 數位簽章演算法(證明欲交換金鑰的真確性) 個體鑑別機制(驗證金鑰交換者彼此身分) 整合式協定 個體鑑別協定+金鑰交換協定(ISO 9798) 節省通訊與計算成本 台灣科大資訊安全實驗室
不可否認性 (non-repudiation) 防制通訊雙方或轉送者之間彼此否認曾經接收或傳送訊息 利用訊息鑑別碼或數位簽章機制產生證據,以達成資料的真確性 透過執行不可否認協定以產生不可否認證據,使得公正的仲裁者可以利用這些證據來解決糾紛 電子公文、電子商務或安全交易應用中為防制交易糾紛必備的安全機制! 台灣科大資訊安全實驗室
不可否認證據 來源不可否認(non-repudiation of origin, NRO) 送方不能否認曾經送過訊息 收悉不可否認(non-repudiation of delivery, NRD) 收方不能否認已收悉轉送者所送來的訊息 投件不可否認(non-repudiation of submission, NRS) 轉送者不能否認收到送方的投件 送達不可否認(non-repudiation of transport, NRT) 轉送者不能否認已將訊息送達收方 台灣科大資訊安全實驗室
不可否認協定示意圖 (ISO 13888) NRD, ack 送方 收方 NRO, msg msg +NRO NRT msg +NRO 直接通訊 NRD, ack 送方 收方 NRO, msg msg +NRO NRT msg +NRO NRS, ack ack +NRD 轉送者 台灣科大資訊安全實驗室
防火牆封包過濾模式 (firewall) 建置於閘道(gateway)上 大多裝設在網路層與資料連接層 亦可提供電腦病毒或木馬程式(Trajon horse)的偵測功能 每一筆通過防火牆的封包(packet)必須經過封包過濾模組檢查,符合安全原則或身分識別的封包才能通過 封包過濾模組 網際網路 封包 封包 內部網路 防火牆系統 Internet Intranet 台灣科大資訊安全實驗室
系統存取控制 access control matrix(Graham & Denning, 1972) Subject: 主動之電腦實體(使用者、處理器等) Object: 被動之物件(檔案、I/O裝置等) OBJ1 OBJ2 OBJ3 OBJ4 OBJ5 SUB1 write read read, write SUB2 read SUB3 own delete SUB4 execute 台灣科大資訊安全實驗室
系統存取控制實作 IBM capability-oriented system Catalog of U1 Object Capability Identification Table A Object A Capabi- litiy name User’s Password B U1 P1 Object B U2 P2 Catalog of U2 Object Capability Object C B C 台灣科大資訊安全實驗室
機密共享(I) 機密分割(knowledge splitting) 方法一(連接運算) : A = B ||C 子秘密之資料長度愈分割愈小 若子秘密之資料長度太小,縱使缺少某些子秘密,仍是可能猜測出整個秘密(拼圖遊戲) 方法二 (邏輯運算): A = B C 秘密與子秘密之資料長度大小一樣 運算後產生歸零的子秘密可能無用 方法三 (算術運算): A = B + C or A = B C 若運算式存在線性關係,則有些子秘密可能無用 台灣科大資訊安全實驗室
機密共享(II) 門檻策略(threshold scheme) 一般化機密共享機制 應用 將秘密分成n個相同大小的子秘密, 收集超過t個子秘密即可重建該秘密,少於t個子秘密則無法得知共享的秘密 例子:{A, B, C, D}之(2, 4)門檻策略 {A, B}, {A, C}, {A, D}, {B, C}, {B, D}, {C, D} 一般化機密共享機制 限定某些子秘密或持有人方可重建該秘密 例子:{A, B, C, D}之一般化機密共享子集合 {A, B}, {A, C, D}, {B, C, D} 應用 分享作業系統supervisor權力 分享資料庫或網路管理者權力 台灣科大資訊安全實驗室
門檻策略機制 設計理念之簡例 (t, n) 通式解 兩點決定一條直線→(2, n) 三點不共線決定一圓→(3, n) 利用內插法求得(t, n)門檻多項式(Shamir, 1979) f(x) = S + a1x + a2x2 + … + at-1xt-1 f(i) = si (每人所分持之子秘密) 內插t個點(i, si)可還原f(x) 台灣科大資訊安全實驗室
網路系統運作與所需安全機制 傳輸或儲存資料保護 系統安全控管 公平交易環境之建立 加解密、數位簽章模組(含單向雜湊函數)、訊息鑑別碼 個體鑑別協定、金鑰交換協定 機密共享(資料或文件保全) 系統安全控管 使用者識別、防火牆 存取控制 機密共享(系統權力分享) 公平交易環境之建立 不可否認協定 台灣科大資訊安全實驗室
結語 電子商務成功關鍵四部曲 NO SECURITY NO TALK!! 沒有安全就沒有信任 沒有信任就沒有公平 沒有公平就沒有交易 沒有交易就沒有金錢 所以… NO SECURITY NO TALK!! 台灣科大資訊安全實驗室