java密碼學學習整理 PKI(公鑰基礎設)

2021-06-22 11:54:28 字數 2231 閱讀 4292

pki(public key infrastructure)公鑰基礎設施是提供公鑰加密和

數字簽名服務的系統或平台,目的是為了管理金鑰和證書。乙個機構通過採用pki 框架管理金鑰和證書可以建立乙個安全的

網路環境。pki 主要包括四個部分:x.509 格式的證書(x.509 v3)和證書廢止列表

crl(x.509 v2);ca 操作協議;ca 管理協議;ca 政策制定。乙個典型、完整、有效的pki 應用系統至少應具有以下五個部分; 

1) 認證中心ca ca 是pki 的核心,ca 負責管理pki 結構下的所有使用者(包括各種

應用程式)的證書,把使用者的公鑰和使用者的其他資訊**在一起,在網上驗證使用者的身份,ca 還要負責使用者證書的黑名單登記和黑名單發布,後面有ca 的詳細描述。 

2) x.500 

目錄伺服器 x.500 目錄伺服器用於發布使用者的證書和黑名單資訊,使用者可通過標準的

3) 具有高強度

4) web(安全通訊平台) web 有web client 端和web server 端兩部分,分別安裝在客戶端和伺服器端,通過具有高強度密碼演算法的ssl 協議保證客戶端和伺服器端資料的機密性、完整性、

身份驗證。 

5) 自開發安全應用系統 自開發安全應用系統是指各行業自開發的各種具體應用系統,例如銀行、**的應用系統等。完整的pki 包括認證政策的制定(包括遵循的

技術標準、各ca 之間的上下級或同級關係、安全策略、安全程度、服務物件、管理原則和框架等)、認證規則、運作制度的制定、所涉及的各方法律關係內容以及技術的實現等。

完整的pki系統必須具有權威

認證機構(ca)、數字證書庫、金鑰備份及恢復系統、證書作廢系統、應用介面(api)等基本構成部分,構建pki也將圍繞著這五大系統來著手構建。

pki的應用模式

上述pki提供的安全服務恰好能滿足電子商務、電子政務、網上銀行、網上**等金融業交易的安全需求,是確保這些活動順利進行必備的安全措施,沒有這些安全服務,電子商務、電子政務、網上銀行、網上**等都無法正常運作。

模式1:電子商務應用 

電子商務的參與方一般包括買方、賣方、銀行和作為中介的電子交易市場。買方通過自己的瀏覽器上網,登入到電子交易市場的web伺服器並尋找賣方。當買方登入伺服器時,互相之間需要驗證對方的證書以確認其身份,這被稱為雙向認證。 

在雙方身份被互相確認以後,建立起安全通道,並進行討價還價,之後向商場提交訂單。訂單裡有兩種資訊:一部分是訂貨資訊,包括商品名稱和**;另一部分是提交銀行的支付資訊,包括金額和支付賬號。買方對這兩種資訊進行"雙重數字簽名",分別用商場和銀行的證書

公鑰加密上述資訊。當商場收到這些交易資訊後,留下訂貨單資訊,而將支付資訊**給銀行。商場只能用自己專有的

私鑰解開訂貨單資訊並驗證簽名。同理,銀行只能用自己的私鑰解開加密的支付資訊、驗證簽名並進行劃賬。銀行在完成劃賬以後,通知起中介作用的電子交易市場、物流中心和買方,並進行商品配送。整個交易過程都是在pki所提供的安全服務之下進行,實現了安全、可靠、保密和不可否認性。

模式2:電子政務 

電子政務包含的主要內容有:網上資訊發布、辦公自動化、網上辦公、資訊資源共享等。按應用模式也可分為g2c、g2b、g2g,pki在其中的應用主要是解決身份認證、資料完整性、資料保密性和不可抵賴性等問題。 

例如,乙個保密檔案發給誰或者哪一級公務員有權查閱某個保密檔案等,這些都需要進行身份認證,與身份認證相關的還有訪問控制,即許可權控制。認證通過證書進行,而訪問控制通過屬性證書或訪問控制列表(acl)完成。有些檔案在網路傳輸中要加密以保證資料的保密性;有些檔案在網上傳輸時要求不能被丟失和篡改;特別是一些保密檔案的收發必須要有數字簽名等。只有pki提供的安全服務才能滿足電子政務中的這些安全需求。

模式3:網上銀行 

網上銀行是指銀行借助於網際網路技術向客戶提供資訊服務和金融交易服務。銀行通過網際網路向客戶提供資訊查詢、對賬、網上支付、資金劃轉、信貸業務、投資理財等金融服務。網上銀行的應用模式有b2c個人業務和b2b對公業務兩種。 

網上銀行的交易方式是點對點的,即客戶對銀行。客戶瀏覽器端裝有客戶證書,銀行伺服器端裝有伺服器證書。當客戶上網訪問銀行伺服器時,銀行端首先要驗證客戶端證書,檢查客戶的真實身份,確認是否為銀行的真實客戶;同時伺服器還要到ca的目錄伺服器,通過ldap協議查詢該客戶證書的有效期和是否進入"黑名單";認證通過後,客戶端還要驗證銀行伺服器端的證書。雙向認證通過以後,建立起安全通道,客戶端提交交易資訊,經過客戶的數字簽名並加密後傳送到銀行伺服器,由銀行後台資訊系統進行劃賬,並將結果進行數字簽名返回給客戶端。這樣就做到了支付資訊的保密和完整以及交易雙方的不可否認性。

模式4:網上**

加密

密碼學學習整理三

一.hash函式與訊息認證碼 hash函式 定義是乙個將任意長度的訊息對映成固定長度輸出的函式 hash函式是乙個具有壓縮功能的函式 安全性對hash函式的攻擊實際就是 尋找一對碰撞 的過程 如果hash函式 h 設計得 好 對給定x,要想求得相應的雜湊值,必須通過計算h x 才行。如果想繞過 h,...

CTF密碼學學習

例如 置換密碼 abcd bcda 替換密碼 abcd 1234 分組加密 abc def hij 123 456 789 流密碼 凱撒密碼 加密方式 將26個英文本母進行移位 解密方式 爆破 y x a mod 26 例如 明文本母 abcdefghijklmnopqrstuvwxyz 密文字母 ...

密碼學學習一 古典密碼學

使用固定資訊,將原文替換成密文 單錶替換的原文和密文是同一張表 如原文密文關係如下 a b b c c d d e e f 則bee的密文就是cff 多表替換的原文和密文存在多張表中 表1 a b b c c d d e e f 表2 a c b d c e d f e g 原文 bee 金鑰 12...