密碼學與網路安全 第 13 章 數位簽章和認證協定

Post on 15-Mar-2016

75 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

密碼學與網路安全 第 13 章 數位簽章和認證協定. 數位簽章. 訊息認證能保護通訊的雙方防禦第三者,但卻無法防禦對方 傳訊雙方有好幾種爭議 在收發雙方無法完全信任彼此的情況下 光有認證功能還不夠 數位簽章才是解決這個問題的最佳方案 數位簽章的功能和手寫簽章很類似,必須具備以下特性: 必須能驗證簽章的所有者、日期、和時間 在簽章的同時,必須要能確認文件內容 為了避免紛爭,此簽章必須由第三者驗證 數位簽章的功能包括了認證功能. 數位簽章的必備條件. 數位簽章必須根據被簽署的訊息 數位簽章必須使用傳送者才有的資訊 才能避免偽造或否認 - PowerPoint PPT Presentation

Transcript

密碼學與網路安全密碼學與網路安全

第第 1313 章 數位簽章和認章 數位簽章和認證協定證協定

數位簽章數位簽章 訊息認證能保護通訊的雙方防禦第三者,但卻無法防禦對訊息認證能保護通訊的雙方防禦第三者,但卻無法防禦對方方

傳訊雙方有好幾種爭議傳訊雙方有好幾種爭議 在收發雙方無法完全信任彼此的情況下在收發雙方無法完全信任彼此的情況下

光有認證功能還不夠光有認證功能還不夠 數位簽章才是解決這個問題的最佳方案數位簽章才是解決這個問題的最佳方案

數位簽章的功能和手寫簽章很類似,必須具備以下特性:數位簽章的功能和手寫簽章很類似,必須具備以下特性: 必須能驗證簽章的所有者、日期、和時間必須能驗證簽章的所有者、日期、和時間 在簽章的同時,必須要能確認文件內容在簽章的同時,必須要能確認文件內容 為了避免紛爭,此簽章必須由第三者驗證 為了避免紛爭,此簽章必須由第三者驗證

數位簽章的功能包括了認證功能數位簽章的功能包括了認證功能

數位簽章的必備條件數位簽章的必備條件 數位簽章必須根據被簽署的訊息數位簽章必須根據被簽署的訊息 數位簽章必須使用傳送者才有的資訊數位簽章必須使用傳送者才有的資訊

才能避免偽造或否認才能避免偽造或否認 數位簽章的產生方式必須簡單 數位簽章的產生方式必須簡單 數位簽章的辨識和驗證必須簡單數位簽章的辨識和驗證必須簡單 數位簽章應該無法以計算的方式偽造數位簽章應該無法以計算的方式偽造

不論是針對既有的簽章來偽造新訊息或由訊息不論是針對既有的簽章來偽造新訊息或由訊息來偽造簽章來偽造簽章 數位簽章的副本必須實際保留在記憶體 數位簽章的副本必須實際保留在記憶體

直接式數位簽章直接式數位簽章 直接式數位簽章只需要傳訊雙方(傳送者、接收直接式數位簽章只需要傳訊雙方(傳送者、接收者)參與即可者)參與即可 假設接收者知道傳送者的公開金鑰假設接收者知道傳送者的公開金鑰 數位簽章是以傳送者的私密金鑰加密整個訊息或數位簽章是以傳送者的私密金鑰加密整個訊息或傳送者私密金鑰加密訊息的雜湊碼形成傳送者私密金鑰加密訊息的雜湊碼形成 進一步的以接收者的公開金鑰或雙方共有的金鑰進一步的以接收者的公開金鑰或雙方共有的金鑰加密整個訊息和數位簽章,就能提供機密性加密整個訊息和數位簽章,就能提供機密性 在發生爭議的情況下,公正的第三者必須同時檢在發生爭議的情況下,公正的第三者必須同時檢視訊息和簽章視訊息和簽章 目前所有直接式簽章的有效性是建立在傳送者私目前所有直接式簽章的有效性是建立在傳送者私密金鑰的安全性密金鑰的安全性

仲裁式數位簽章仲裁式數位簽章 仲裁者仲裁者 AA

AA 會測試訊息及簽章,藉以檢查來源和內容會測試訊息及簽章,藉以檢查來源和內容 接著訊息會被附上日期並傳送給接著訊息會被附上日期並傳送給 YY 這才表示訊息已通過仲裁者的檢查這才表示訊息已通過仲裁者的檢查

這類架構的仲裁者扮演了重要且關鍵的角這類架構的仲裁者扮演了重要且關鍵的角色,而且所有的參與者都必須信任仲裁架色,而且所有的參與者都必須信任仲裁架構能正確的運作構能正確的運作 可利用私密或公開金鑰演算法實作可利用私密或公開金鑰演算法實作 仲裁者不一定看得見訊息仲裁者不一定看得見訊息

認證協定認證協定 這類協定能讓通訊雙方相互識別並交換連這類協定能讓通訊雙方相互識別並交換連線金鑰線金鑰 可以是相互或單向認證可以是相互或單向認證 具認證功能的金鑰交換有兩項考量:具認證功能的金鑰交換有兩項考量:

機密性:保護連線金鑰機密性:保護連線金鑰 時效性:防止重送攻擊時效性:防止重送攻擊

公開的協定經常被找出漏洞而需要修改公開的協定經常被找出漏洞而需要修改

重送攻擊重送攻擊 重送攻擊的例子:重送攻擊的例子:

單純重送單純重送 能被記錄的重送能被記錄的重送 無法偵測的重送無法偵測的重送 回送未修改的訊息回送未修改的訊息

對付重送攻擊的方法:對付重送攻擊的方法: 流水號流水號 時戳時戳 盤查/回應盤查/回應

使用對稱式加密使用對稱式加密 如之前所提,兩個層級的對稱式加密金鑰,能在如之前所提,兩個層級的對稱式加密金鑰,能在分散式環境提供機密性的訊息交換分散式環境提供機密性的訊息交換 通常要利用可信任的金鑰分送中心(通常要利用可信任的金鑰分送中心( KDCKDC ))

每個通訊端都有一把與每個通訊端都有一把與 KDCKDC 共用的稱為主金鑰共用的稱為主金鑰 若兩端要傳訊,若兩端要傳訊, KDCKDC 會負責產生連線金鑰供雙方暫時會負責產生連線金鑰供雙方暫時使用使用 為了將連線金鑰安全分送到兩端,為了將連線金鑰安全分送到兩端, KDCKDC 在分送之前會在分送之前會先以主金鑰加密連線金鑰先以主金鑰加密連線金鑰

Needham-SchroederNeedham-Schroeder 協定協定原始的第三方金鑰分送協定原始的第三方金鑰分送協定 AA 、、 BB 雙方由雙方由 KDCKDC 協調協調 這個協定能歸納如下:這個協定能歸納如下:

1. 1. A->KDC: A->KDC: IDIDAA || || IDIDBB || || NN11

22. KDC -> A: E. KDC -> A: EKaKa[Ks[Ks || || IDIDBB || || NN11 || E || EKbKb[[KsKs||||IDIDAA] ]] ]

3. 3. A -> B: A -> B: EEKbKb[[KsKs||||IDIDAA]]

4. 4. B -> A: B -> A: EEKsKs[[NN22]]

5. 5. A -> B: A -> B: EEKsKs[f([f(NN22)])]

Needham-SchroederNeedham-Schroeder 協定協定 能讓能讓 AA 、、 BB 安全的分送通訊所需的新連線安全的分送通訊所需的新連線金鑰金鑰 但若雙方的舊金鑰已遭洩漏就可能遭受攻但若雙方的舊金鑰已遭洩漏就可能遭受攻擊擊

攻擊者只要重送步驟攻擊者只要重送步驟 33 的訊息給的訊息給 BB ,就能冒充,就能冒充AA 而騙而騙 BB 使用舊的連線金鑰使用舊的連線金鑰

為了克服這些缺點:為了克服這些缺點: 加入時戳( 加入時戳( DenningDenning )) 使用額外的隨意值(使用額外的隨意值( Neuman 93Neuman 93 ))

使用公開金鑰加密使用公開金鑰加密 利用公開金鑰加密來分送連線金鑰利用公開金鑰加密來分送連線金鑰 這個協定假設雙方都擁有對方的公開金鑰這個協定假設雙方都擁有對方的公開金鑰 在這種情況下,中央系統被稱為認證伺服在這種情況下,中央系統被稱為認證伺服器(器( ASAS ))

因為它並不實際負責分送連線金鑰,而是提供因為它並不實際負責分送連線金鑰,而是提供公開金鑰的憑證公開金鑰的憑證現有的數種協定使用時戳或隨意值現有的數種協定使用時戳或隨意值

DenningDenning 的的 ASAS 協定協定 Denning 81Denning 81 提供了一個利用時戳的協定:提供了一個利用時戳的協定:

1. 1. A -> AS: A -> AS: IDIDAA || || IDIDBB

2. 2. AS -> A: EAS -> A: EPRasPRas[[IDIDAA||PU||PUaa||T] || E||T] || EPRasPRas[[IDIDBB||PU||PUbb||T] ||T]

3. 3. A -> B: EA -> B: EPRasPRas[[IDIDAA||PU||PUaa||T] || E||T] || EPRasPRas[[IDIDBB||PU||PUbb||T] || ||T] || EEPUbPUb[E[EPRasPRas[K[Kss||T]] ||T]]

連線金鑰是由連線金鑰是由 AA 選取並加密,因此沒有被選取並加密,因此沒有被ASAS 洩漏的風險洩漏的風險

時戳能防止外洩金鑰的重送時戳能防止外洩金鑰的重送

單向認證單向認證當傳送端和接收端並非同時通訊(例如電當傳送端和接收端並非同時通訊(例如電子郵件)就需要單向認證子郵件)就需要單向認證電子郵件訊息的「信封」或檔頭必須夠清電子郵件訊息的「信封」或檔頭必須夠清楚,楚, SMTPSMTP 或是或是 X.400X.400 的儲存轉寄協定才的儲存轉寄協定才能正確處理郵件能正確處理郵件 應該要加密電子郵件訊息,才能讓郵件處應該要加密電子郵件訊息,才能讓郵件處理系統不知道解密金鑰的情況下加密郵件理系統不知道解密金鑰的情況下加密郵件

使用對稱式加密使用對稱式加密 經過若干修改的經過若干修改的 KDCKDC 方法,就很適合用在加方法,就很適合用在加密的電子郵件:密的電子郵件:

1. 1. A->KDC: A->KDC: IDIDAA || || IDIDBB || || NN11

22. KDC -> A: E. KDC -> A: EKaKa[Ks[Ks || || IDIDBB || || NN11 || E || EKbKb[[KsKs||||IDIDAA] ]] ]

3. 3. A -> B: A -> B: EEKbKb[[KsKs||||IDIDAA] || E] || EKsKs[M][M] 此協定無法抵抗重送攻擊此協定無法抵抗重送攻擊

雖然加入時戳能改善這些弱點,但因為電子郵件在雖然加入時戳能改善這些弱點,但因為電子郵件在傳送過程可能有所延遲,因此這類時戳的效用有限傳送過程可能有所延遲,因此這類時戳的效用有限

使用公開金鑰加密使用公開金鑰加密 已經介紹過適用於電子郵件的公開金鑰加密方法已經介紹過適用於電子郵件的公開金鑰加密方法 如果機密性是主要考量,以下作法或許更有效率:如果機密性是主要考量,以下作法或許更有效率:

A->B: EA->B: EPUbPUb[Ks] || E[Ks] || EKsKs[M][M] 這個情況會以使用一次即丟的一次秘密金鑰來加密訊息這個情況會以使用一次即丟的一次秘密金鑰來加密訊息

如果認證是主要考量,可以使用數位簽章:如果認證是主要考量,可以使用數位簽章:A->B: M || EA->B: M || EPRaPRa[H(M)] || E[H(M)] || EPRasPRas[T||ID[T||IDAA||PU||PUaa] ] 這個方法保證這個方法保證 AA 無法否認曾經送出的訊息,但卻會製造無法否認曾經送出的訊息,但卻會製造另一種詐騙方式另一種詐騙方式

數位簽章標準數位簽章標準(( DSSDSS )) DSSDSS 是是 NISTNIST 聯邦資訊處理標準(聯邦資訊處理標準( FIPS FIPS

PUB 186PUB 186 ))首先是在首先是在 19911991 年由年由 NISTNIST 和和 NSANSA 所發展所發展 在在 19931993年根據各方回應而發佈修訂版本年根據各方回應而發佈修訂版本 19961996年發佈細部修改的新版本年發佈細部修改的新版本 20002000年發佈擴充版年發佈擴充版 FIP 186-2FIP 186-2 最新版本包含了以最新版本包含了以 RSARSA 和橢圓曲線加密法和橢圓曲線加密法為基礎的數位簽章演算法為基礎的數位簽章演算法

數位簽章演算法(數位簽章演算法( DSADSA )) 以以 512512 ~~ 10241024 位元建立位元建立 320320 位元簽章位元簽章 比比 RSARSA 小且快速小且快速 只具有數位簽章架構只具有數位簽章架構 安全性與計算離散對數的困難度有關安全性與計算離散對數的困難度有關 是由是由 ElGamalElGamal 和和 SchnorrSchnorr 和架構所衍生和架構所衍生

數位簽章演算法(數位簽章演算法( DSADSA ))

產生產生 DSADSA 金鑰金鑰

建立建立 DSADSA 簽署簽署

DSADSA 驗證驗證

總結總結 數位簽章數位簽章 認證協定(相互及單向)認證協定(相互及單向) 數位簽章演算法及標準數位簽章演算法及標準

top related