您好,欢迎访问三七文档
11密碼學Chapter8密碼學/安全性的實作PracticalImplementationsofCryptography/Security2實務上密碼學的實作•Java密碼學•微軟密碼學•第三方組織之解決方案23使用Java來做密碼學•概括上來說,Java密碼學架構有兩個主要的技術–Java密碼學架構(JCA)–Java密碼學延伸(JCE)Java密碼學架構(JCA)Java密碼學延伸(JCE)Java密碼學4Java密碼學架構•JavaCryptographyArchitecture,JCA•JCA是預設的Java應用程式發展環境(JDK)的一部分•提供基本的密碼學功能–存取控制、許可、金鑰對、訊息摘要、數位簽章•Package–java.security5介面與實作•JCA設計的主要目標是將密碼學概念(Java的介面)與實際的演算法實作(Java的實作)分離•介面(interfaces)–定義什麼是介面可以執行的,也就是介面的行為•實作(implementation)–定義執行的細節,也就是如何被執行6介面與實作7引擎類別(engineclass)•JCA套件包含了很多類別,稱為引擎類別•引擎類別是密碼學功能的邏輯呈現–例如訊息摘要或數位簽章•提供者(provider)類別–執行演算法的實際實作–可由很多廠商提供8引擎類別和提供者類別之間的關係9JCA引擎類別和提供者10JCA中的金鑰管理•Java2使用金鑰工具(Keytool)•將公開金鑰與私密金鑰分別儲存•儲存的資料庫稱為金鑰儲存(keystore)–簡單的電腦檔案,.keystore•金鑰工具提供的重要服務–建立金鑰對和自我簽署憑證–輸出憑證–在要求憑證時,發出憑證簽署要求(CSR)給憑證授權中心(CA)–輸入其他人的憑證做為簽章驗證11Java中使用JCA建立訊息摘要的例子12Java密碼學延伸•JavaCryptographyExtension,JCE•密碼學政策–美國政府限制密碼學軟體的出口–JCA•訊息摘要與數位簽章•包含在JDK中–JCE•加密與解密•另外下載13JCE架構•JCE架構擁有與JCA相同的型態•基於引擎類別和提供者類別的概念•差異在於包含一個引擎類別的實作–昇陽公司提供的預設實作14Java中使用JCE加密的例子15JCA和JCE結論•JCA和JCE都是很強大的密碼學架構。它們已經經過很小心地規劃和設計,因此允許其未來的延伸和供應商獨立發展。•優點–它是免費的•缺點–不像其他密碼學產品一樣複雜16使用微軟的密碼學方法•微軟密碼學應用程式介面•MicrosoftCryptographyApplicationProgrammingInterface,MS-CAPI•微軟發展出的一個綜合的密碼學軟體•MS-CAPI是免費的•Windows作業系統的一部分17MS-CAPI•如同JCA/JCE的架構–使用引擎與提供者類別的方法•使用自有專門術語描述•密碼學服務提供者–CryptographicServiceProviders,CSP–等同JCA的提供者•提供一個共通CSP獨立的介面•提供一個預設的CSP實作•可由第三方組織的CSP時作取代18MS-CAPI和CSP的關係19MS-CAPI方法和CSP20使用MS-CAPI建立的數位簽章21MS-CAPI結論•完全免費•IE與Windows作業系統的一部分•非常受到歡迎的密碼學軟體22密碼學工具•很多公司專注在提供密碼學工具(cryptographictoolkits)–RSADataSecurityInc–Entrust–Baltimore•不同的工具會提供不同的密碼學功能,需要中間層確保其可相互運作23安全性和作業系統•對象–UNIX的安全性–Windows2000的安全性•討論–存取控制–使用者鑑別24UNIX的存取控制•UNIX一開始被設計成多使用者的作業系統•需要確保許多使用者可同時存取作業系統服務–需要高度的安全性與隱私性•標示所有檔案、程序、資源–UID(使用者身份識別碼)–GID(群組身份識別碼)25UNIX檔案存取權限的例子26UNIX的使用者鑑別•使用者的密碼取得訊息摘要後儲存在使用者資料庫•使用salt避免字典攻擊法27UNIX密碼產生程序28Windows2000的安全特徵29SID•在Windows2000中,每個使用者與群組都被指定一個唯一的SID•程序和其執行序是在使用者的SID下執行•所有程序都有一個存取符記,包含SID和其他資訊•每個資源都有一個與它相關的安全性描述符號,描述這個SID被允許做什麼活動30Windows2000的使用者鑑別•使用Kerberos來作使用者鑑別•支援WindowsNT的挑戰/回應機制–NTLAN管理者(NTLM)–基於挑戰/回應機制,避免使用者密碼明文傳送31WindowsNTLM鑑別程序32章節總結•Java密碼學方法是以Java密碼學架構和Java密碼學延伸為基礎。•JCA將介面和實作分離出來。•JCA提供即插即用架構。•JCA是由引擎類別和提供者類別所組成。•由於美國限制密碼學軟體出口,因此JCE從JCA中被獨立建立出來。•先前的JCE要求授權,現在則不必。33章節總結•微軟密碼學應用程式介面是微軟的密碼學軟體。•IE和Windows作業系統中免費附贈MS-CAPI。•MS-CAPI的架構與JCE類似。•密碼學工具也可以用在密碼學中。•密碼學工具非常穩固且已經驗證,但可能非常昂貴。3434TheEnd
本文标题:密码学安全性的实作
链接地址:https://www.777doc.com/doc-1261345 .html