• SSH里非對稱密鑰(公鑰,私鑰)及認證中心原理 聯系客服

    要了解ssh則需要理解現代密碼學當中的非對稱密鑰及認證中心處理機制等基礎概念。這里闡述一下我的理解。 首先說明一下處理機制:

    1.非對稱密鑰就是一對密鑰-公鑰和私鑰。

    2.私鑰由系統中每個人自己持有,一般保存在自己的電腦里或u盤里。

    3.公鑰則在網絡上傳遞,就是可以傳遞給通信中的對方,也就意味這可以被黑客截獲。 4.用某個人的私鑰加密的數據只有用那個人的公鑰解密,同樣用公鑰加密的數據也只有用私鑰解密。

    這樣我們在信息處理中的應用一般的流程可以是這樣: 假設我們有兩個消息方a和b

    1.a要b發消息,首先得到或者由b傳遞給a一個b的公鑰。 2.然后a用b的公鑰加密消息然后傳遞給b。 3.b用自己的私鑰解密消息得到明文。

    然而這個流程還是有一定的問題,首先對消息加密本身沒有問題,但是會被另一種攻擊,就是有一個人在中間截獲了消息后,然后自己用b的公鑰加密一個消息傳給b。 所以這樣就需要對身份認證的一個機制了,CA認證服務器就是通過給系統內的用戶發證書的形式來做身份認證。還要一種認證方式是通過消息摘要。一般流程如下:

    1.a要給b發消息,先對消息用不可逆加密算法(如md5算法)對消息生成一個消息摘要,對消息摘要用自己的私鑰加密。

    2.然后用b的公鑰對消息本身加密。然后連同消息摘要一起發給b。

    3.b可以用a的公鑰解密消息摘要,可以確定這個消息摘要是a的,然后在通過自己的私鑰去解密消息,然后通過md5算法生成消息摘要,如果和前面的消息摘要一樣,則可證明這個消息是a發的。

    當然,在真正的現實應用中流程可以會更復雜(要不怎么那么長時間呢,呵呵)。但是基本原理這樣。java對消息摘要和md5及私鑰公鑰都提供支持的。

    前段時間學習了數字認證方面的一些知識,對其有了一個初步的了解,作為備忘,現作一個小結。

    ? 認證原理

    有三個人,小張、小王、老劉,小張和小王都和老劉很熟,但小張與小王互不相識。如果小張寫一封信給小王,小王收到信后,就不能確定其內容的真假,但如果小張讓老劉在信上簽上老劉的名字,小王收到信后就可確定信件內容的真識性了。在這里老劉就充當了CA機構的角色。

    ? CA概念

    1. CA(Certification Authority)是認證機構的國際通稱,是指對數字證書申請者發

    放、管理、取消數字證書的機構

    2. CA的作用是檢查證書持有者身份的合法性,并簽發證書(證書上簽字),以防止證

    書被偽造或篡改

    ? 數字證書

    1. 數字證書就是標志網絡用戶身份信息的一系列數據,用來在網絡通訊中識別通訊各

    方的身份,即要在Internet 上解決“我是誰”的問題

    2. 數字證書是由權威公正的第三方機構即CA 中心簽發的,一串很長的包含有客戶基

    本信息及CA 簽字的數學編碼 3. 數字證書采用公鑰密碼體制

    ? 數字證書作用

    1. 信息的保密性 2. 交易者身份的確定性 3. 不可否認性

    ? 關鍵點

    1. 公鑰用于加密,私鑰用于解密與簽名 2. 個人證書有CA機構的簽名