50
PKI原理與應用 交通大學 資訊工程系 曾文貴 1

交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

PKI原理與應用

交通大學資訊工程系曾文貴

1

Page 2: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

2

最早有關密碼的書--1920

Page 3: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

3

WWI 密碼室

Page 4: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

4

Enigma (WWII, 德國)

Page 5: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

5

Page 6: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

6

Big machine (WWII, 美國)

Page 7: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

7

聽不懂即可 (少數民族語言)

Page 8: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

8

新時代 (Cray-XMP)

Page 10: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

10

新時代(特殊IC)

Page 11: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

11

解碼成果(美國)

Page 12: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

安全需求

機密性 (privacy)

資料內容不外洩給非授權的人

完整性 (integrity)

資料未被竄改

驗證性 (authentication)

個人身份證明

資料來源證明

不可否認性 (non-repudiation)

無法否定送過的訊息

12

Page 13: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

紙本世界 vs 電子世界

13

紙本世界 電子世界

機密性 實體保護 加密

完整性 紙張特性 雜湊函數

驗證性 手寫簽名 數位簽章

不可否認性 紙張特性+簽名 數位簽章

Page 14: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

身份證明:紙本世界

身份證

參與的人來確認

不易仿冒

簽名

本人

驗簽

參與的人來確認

14

Page 15: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

身份證明:電子世界

電子憑證 (數位證書)

自動確認

易拷貝?

誰來確認電子憑證是真的?有效的?

簽名

如何做?

驗簽

如何做?

15

Page 16: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

電子憑證 (certificate)

16

X.509 v3

Page 17: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

17

如何相信這張憑證是 F1220XXXXX 的?

Page 18: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

PKI:公開金鑰基礎建設

PKI: Public Key Infrastructure

由主管單位、使用單位、使用者、政策、硬體、軟體、執行程序等單元組成

提供使用者在電子世界裡

取的合法的電子憑證,代表身份

確認他人電子憑證真確性的機制

數位簽章的機制

確認簽章的機制(驗章)

加密機制

解密機制

18

Page 19: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

PKI 模組

資訊安全政策

註冊管理中心 RA (Registration Authority)

憑證管理中心 CA(Certificate authority)

目錄服務系統 (Directory service)

PKI 應用程式

憑證申請程式

憑證驗證程式

簽章、驗章程式

加密、解密程式

19

Page 20: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

資訊安全政策

定義組織的最高資訊安全原則

資訊安全發展方向

憑證的處理方式

管理金鑰與機密資料方針

風險層級的定義

金鑰使用規範

20

Page 21: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

憑證的生命週期

21

使用

產生公布

註銷逾期

使用期限到期 遺失、收回 …

Page 22: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

憑證的申請

22

使用者

目錄服務X500/LDAP/

Website

RA (政府單位

、銀行 …)

CA

申請

登錄、註銷、查詢 、認證、…

Page 23: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

憑證的發行

使用者 U 透過前端應用程式向RA申請憑證

RA 確認 U 的身份與資格

U 透過前端應用程式產生

電子憑證所需資訊 (含公開金鑰 U-PK)

電子憑證相對的私密金鑰 U-SK(簽章或加密用),存入自己的電腦或智慧卡

RA 將傳給 CA

CA 產生 U 的電子憑證 U-Cert 傳給 RA

RA 將 U-Cert 給小明,並公布到目錄服務

23

Page 24: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

憑證的驗證

連到發行 U- Cert 的 CA 的目錄服務

確認憑證未過期與未被註銷

「拿到」 CA 的憑證 CA-Cert

利用應用程式及密碼演算法,驗證 U-Cert是否為U的憑證

如果為正確,使用之

否則,拒絕使用

24

Page 25: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

憑證的使用:驗章

U 對訊息 M 做簽章

利用密碼簽章法計算 =f1 (U-SK, M)

公布 (M, )

他人確認(M, )的正確性

拿到U的憑證 U-Cert

驗證 U-Cert

利用密碼驗章法計算 b=f2 (U-Cert, M, )

b=1 接受

b=0 拒絕

25

Page 26: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

26

簽章者 U 驗章者 A

目錄服務X500/LDAP/

Website

(U-Cert, M, )

U-CertRevoked?CA-Cert

Check:f2(CA-Cert, U-Cert) f2(U-Cert, M, )

Compute = f1(U-SK, M)

Page 27: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

憑證的使用:加密

他人加密訊息 M 給 U

拿到 U-Cert

驗證 U-Cert

利用密碼加密法計算 =g1 (U-Cert, M)

傳送 給 U

U 解密

利用密碼解密法計算 M=g2 (U-SK, M)

27

Page 28: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

28

接收者 U加密者 A

目錄服務X500/LDAP/

Website

(U, )

U-CertRevoked?CA-Cert

Check b=f2(CA-Cert, U-Cert) Compute =g1(U-Cert, M)

Compute M= g2(U-SK, )

Page 29: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

憑證的註銷

在 U-Cert 的使用期限到期前,因為某些原因,CA可以註銷之

CA在其目錄服務中有一「憑證廢止清冊」(Certificate Revocation List, CRL),供所有人查詢

CA-CRL= (#1, #2, …, )

=f1 (CA-SK, #1, #2, …)

驗證 CA-CRL

取得 CA-Cert

驗章

29

Page 30: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

私密金鑰的管理

每一張憑證 U-Cert (內含 U 的公開金鑰 U-PK) 有一相對應的私密金鑰 U-SK

U-SK = 345a54bc648ffde398123afd……89eda36

thousands of bits

儲存

智慧卡 (suggested)

密碼計算在智慧卡裡執行

電腦檔案

需使用通行碼 (password) 保護

備份

30

Page 31: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

憑證的信賴架構

得到 U-Cert, 需要 CA-Cert 來驗證 U-Cert

如何驗證 CA-Cert ?

解決方法:X.500 憑證驗證架構

31

Page 32: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

X.509 Hierarchy

32

CA1

CA2

CA4 CA5

CA3

CA6

Alice: A-CertBob: B-CertCarol: C-Cert…

David: D-CertEve: E-Cert…

信賴起點

Page 33: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

33

每一 個CA 簽發憑證給其下的 CA

每一使用者擁有 CA1 的憑證

認證路徑 (validation path)

Alice 驗證 David 的憑證 D-Cert

CA1 CA3 CA6

Page 34: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

CA 互簽憑證

34

CA2CA1CA1-Cert

CA2-Cert

每一 CA 簽發憑證給其下的 CA 及其上的 CA

憑證路徑

Alice 擁有 CA4 的憑證

Alice 驗證 David 的憑證 D-Cert

CA4 CA2 CA1 CA3 CA6

Page 35: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

PKI的應用

身份認證與簽章 自然人憑證:由GCA所發 個人所得稅報稅

監理所資料查詢

金融憑證:由各金融單位所發 轉帳

外匯買賣

網路股票交易

訊息加密

電子商務

35

Page 36: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

應用實例: SSL/TLS

36

Transport Layer Security

建立client-server間的安全通道 身份認證

通道加密

應用範圍 Web browsing

Email

Instant messaging

SSL/TLS

Applications (HTTP, FTP, Telnet, SMTP, …)

IP

TCP

Page 37: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

37

Page 38: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

38

Page 39: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

39

Page 40: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

電子簽章法

40

2001年通過

為推動電子交易之普及運用,確保電子交易之安全,促進電子化政府及電子商務之發展,特制定本法。

Page 41: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

RSA公開金鑰簽章技術

參數選擇 p, q: large primes

N=pq, (N)=(p-1)(q-1)

公開金鑰 PK=(N, e), gcd(e, (N))=1

私密金鑰 SK=(N, d), de-1 (mod (N))

41

Page 42: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

RSA 簽章演算法

計算 = f1(SK, M) = h(M)d mod N

h(M): 雜湊 (hash) 函數

42

M

h h(M)e mod N

M||

SK=(N, d)

Page 43: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

RSA 驗章演算法

輸入:PK, M,

檢查 h(M) = e mod N

43

=?h

e mod N

M||

PK=(N, e)

M h(M)

accept/reject

Page 44: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

安全條件

無法分解 N

從公開金鑰 PK=(N, e), 無法計算 d

沒有SK=(N, d), 無法 計算 =h(M)d mod N

到目前為止,沒有人/實用機器可以破解

44

Page 45: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

RSA 原理

Euler’s Theorem: x(N) mod N=1, for x with gcd(x, N)=1

ed = k(N)+1

為何檢查 h(M) =? e mod N

e mod N = h(M)de mod N= h(M) k(N)+1 mod N= (h(M)(N))k h(M) mod N= 1k h(M) mod N= h(M) mod N= h(M)

45

Page 46: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

DSS 公開金鑰簽章標準

參數選擇

p=kq+1

p, q: large prime, |q|=160

g: a generator of the subgroupGq = {ak mod p | aZp

* }

y=gx mod p

公開金鑰 PK=(p, g, y)

私密金鑰 SK=(p, g, x)

46

Page 47: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

簽章演算法

Randomly choose k

Compute r=(gk mod p) mod q

Compute s=k-1 (h(M)+xr) mod q

簽章 =(r, s) --> 320 bit long only

驗章演算法

輸入 PK, M, (r, s)

Compute w=s-1 mod q

Compute v= ((gh(M)w yrw ) mod p) mod q

Accept if and only if v=r

47

Page 48: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

DSA 原理

為何檢查 v= ((gh(M)w yrw ) mod p) mod q

((gh(M)w yrw ) mod p) mod q= ((gh(M)w gxrw ) mod p) mod q= (gw(h(M)+xr) mod p) mod q= (gk mod p) mod q = r

48

Page 49: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

RSA公開金鑰加密技術

參數選擇

p, q: large primes

N=pq, (N)=(p-1)(q-1)

公開金鑰 PK=(N, e), gcd(e, (N))=1

私密金鑰 SK=(N, d), de-1 (mod (N))

RSA 加密演算法

計算 = g1(PK, M) = Me mod N

RSA 解密演算法

計算 M=g2(SK, ) = d mod N

49

Page 50: 交通大學 資訊工程系 曾文貴 - National Chiao Tung Universityrjchen/Crypto2008/PKI.pdf · Certificate Revocation List, CRL ,供所 有人查詢 CA-CRL= (#1, #2, …, )

結論

PKI 成功的因素

具備足夠的安全性

政府政策支持

容易使用

多樣的應用

互通性與彈性

密碼技術開發

更有效率的演算法

更安全的密碼演算法

創新性的應用

50