|
|
* 密碼學 Chapter 8 密碼學/安全性的實作
Practical Implementations of Cryptography/Security
|
|
|
|
實務上密碼學的實作
* Java密碼學
微軟密碼學
第三方組織之解決方案
|
|
|
|
使用 Java 來做密碼學
Java密碼學架構 (JCA) Java密碼學延伸 (JCE) Java密碼學 概括上來說,Java 密碼學架構有兩個主要的技術
Java密碼學架構 (JCA)
Java密碼學延伸 (JCE)
|
|
|
|
Java密碼學架構
Java Cryptography Architecture, JCA
JCA是預設的Java應用程式發展環境(JDK)的一部分
提供基本的密碼學功能
存取控制、許可、金鑰對、訊息摘要、數位簽章
Package
java.security
|
|
|
|
介面與實作
JCA設計的主要目標是將密碼學概念(Java的介面)與實際的演算法實作(Java的實作)分離
介面(interfaces)
定義什麼是介面可以執行的,也就是介面的行為
實作(implementation)
定義執行的細節,也就是如何被執行
|
|
|
|
引擎類別 (engine class)
JCA套件包含了很多類別,稱為引擎類別
引擎類別是密碼學功能的邏輯呈現
例如訊息摘要或數位簽章
提供者(provider)類別
執行演算法的實際實作
可由很多廠商提供
|
|
|
|
JCA中的金鑰管理
Java2 使用金鑰工具(Keytool)
將公開金鑰與私密金鑰分別儲存
儲存的資料庫稱為金鑰儲存(keystore)
簡單的電腦檔案,.keystore
金鑰工具提供的重要服務
建立金鑰對和自我簽署憑證
輸出憑證
在要求憑證時,發出憑證簽署要求(CSR)給憑證授權中心(CA)
輸入其他人的憑證做為簽章驗證
|
|
|
|
Java密碼學延伸
Java Cryptography Extension, JCE
密碼學政策
美國政府限制密碼學軟體的出口
JCA
訊息摘要與數位簽章
包含在JDK中
JCE
加密與解密
另外下載
|
|
|
|
JCE架構
JCE架構擁有與JCA相同的型態
基於引擎類別和提供者類別的概念
差異在於包含一個引擎類別的實作
昇陽公司提供的預設實作
|
|
|
|
JCA 和 JCE結論
JCA 和 JCE 都是很強大的密碼學架構。它們已經經過很小心地規劃和設計,因此允許其未來的延伸和供應商獨立發展。
優點
它是免費的
缺點
不像其他密碼學產品一樣複雜
|
|
|
|
使用微軟的密碼學方法
微軟密碼學應用程式介面
Microsoft Cryptography Application Programming Interface, MS-CAPI
微軟發展出的一個綜合的密碼學軟體
MS-CAPI是免費的
Windows作業系統的一部分
|
|
|
|
MS-CAPI
如同JCA/JCE的架構
使用引擎與提供者類別的方法
使用自有專門術語描述
密碼學服務提供者
Cryptographic Service Providers, CSP
等同JCA的提供者
提供一個共通CSP獨立的介面
提供一個預設的CSP實作
可由第三方組織的CSP時作取代
|
|
|
|
|
|
|
|
|
|
Copy the following code to your webpage or blog to embed this presentation:
<a href="http://www.slidefinder.net/u/unix_的存取控制/33005897" class="slidefinder">CryptographicCh08</a>
<script type="text/javascript" src="http://www.slidefinder.net/scripts/embedded.js"></script>
<a href="http://www.slidefinder.net/u/unix_的存取控制/33005897" class="slidefinder">CryptographicCh08</a>
Det3
<script type="text/javascript" src="http://www.slidefinder.net/scripts/embedded.js"></script>
Share this presentation:
Comments