SSL/TSL證書相關
數字簽名
註意這裏我們不直接對數據進行簽名算法的加密,而是先對數據進行hash。這樣做是為了效率。
數字簽名可以達到下面幾個作用:
消息認證(Message Authenctication)
數據完整性(Data Integrity)
不可否認性(Non-repudiation)
數字簽名具有,隱私,認證,完整性跟不可否認性的安全要素。
這裏有一個更進一步的安全話題,就是我還想保證信息的私密性。這樣我們希望把數據也加密起來。
在整個過程中就要有兩對 public/private密鑰。一對用來加密,一對用來簽名。
用來加密的一對,私鑰掌握在接受者手中,原因是這樣接收者只要發布他的public key,想要跟他秘密通信的人都可以用這個public key來跟接受這通信了。
用來簽名的一對的私鑰找我在發送者手中,這個事很好理解的。
有了這兩對密鑰之後,我們還得考錄一個問題,那就是先加密再簽名還是先簽名在加密。
我們一般不采用先簽名再加密,原因是,如果這樣接受這就可以冒充發送者把信息轉給第三方。做法就是受到信息後用自己的私鑰解開信息,得到簽名的數據,然後用第三方給的公鑰加密這些信息然後發給第三方。
所以我們采用先加密再簽名。
2. 證書
基於上面公鑰跟證書的描述,我們可以更進一步。我的公鑰是要發布出去的,為了避免公鑰的濫用,我們得有一套機制來管理。這裏就是要說到的PKI (Public key Infrastruct)。PKI的組件有:
證書 Public Key Certificate, commonly referred to as ‘digital certificate’.
私鑰令牌 Private Key tokens.
證書授權 Certification Authority.
註冊授權 Registration Authority.
證書管理系統 Certificate Management System.
這裏的重要概念就是證書, 實際就是X.509證書,證書是由CA頒發,CA會整個簽名信息。給到用戶的公鑰就存放在證書裏,除了公鑰,這裏還存放證書客戶信息,過期信息,發布者跟使用。
下面是證書頒發過程。
CA 是證書頒發機構
CA是有層次結構了,根CA的證書是自簽名的,下級證書是由上級簽名。
RA 驗證證書申請者的機構
Private Key Tokens 私鑰令牌 防止私鑰被盜,就算存放的機器被侵入,也有安全保證
3. 新的密碼技術
Elliptic Curve Cryptography
Quantum computation
SSL/TSL證書相關