信息安全基礎--加解密和數字簽名

信息安全已經是這個時代強烈注重的問題,所以,不管時個人還是企業,在設計自己的系統時,一定會加上信息安全的機制。

先說說基礎:

1.什麼是對稱加密?

簡言之,對於消息的加密和解密,都是用同樣的密鑰,密鑰越大,加密越強,但是加解密過程就越慢。

2.什麼是非對稱加密?

非對稱加密,有一對密鑰(公鑰和私鑰),一個密鑰加密,另一個密鑰就可以解密。因爲公鑰是發給很多人的,若用來解密就會不安全,即遵從私鑰解密,公鑰加密。私鑰只能一方保管,公鑰可以發給任何需要請求他的人。私鑰可以用來表示個人身份的證明。

如銀行,銀行把公鑰給我們,我們用公鑰把信息加密後發給銀行,銀行可以用私鑰解密,如果消息被人劫持,那也打不開。但是打不開,他可以給消息添加一些病毒或是其他惡意消息啊,這時候就需要驗證發來的消息是否完整,是不是對的消息。這就需要用到信息摘要。

3.什麼是信息摘要?

信息摘要,就是將消息用Hash函數生成一個固定長度的唯一字符串,這個生成的字符串就是信息摘要,此過程不可逆。不同的信息,生成的字符串是不同的,即摘要是唯一的。信息摘要可以用來驗證信息的完整性,解決上述問題。

4.什麼是數字簽名呢?

信息要安全,必須保證:1.信息來源的身份認證  2.信息的完整性。數字簽名的作用是爲了認證用戶身份的,做法是將信息生成的摘要用發件人的私鑰加密,發送給對方,對方通過發件人給他的公鑰來驗證。如果用公鑰解開了,說明就是發件人本人發出的。解決了身份認證的問題。

具體的保證信息安全的做法(兩套非對稱算法):

A和B通信,A發消息給B,爲保證B收到的信息 1是A發的,2信息是完整的。具體操做如下(引用別人的圖):


完整流程:

A:將明文進行摘要運算後得到摘要(消息完整性),再將摘要用A的私鑰加密(身份認證),得到數字簽名,將密文和數字簽名一塊發給B。

B:收到A的消息後,先將密文用自己的私鑰解密,得到明文。將數字簽名用A的公鑰進行解密後,得到正確的摘要(解密成功說明A的身份被認證了)。

對明文進行摘要運算,得到實際收到的摘要,將兩份摘要進行對比,如果一致,說明消息沒有被篡改(消息完整性)。

疑問:

摘要使用A的私鑰加密,如果被擁有A的公鑰的第三者截獲,不就可以獲取到摘要了麼?會不會對安全造成威脅。

不會。因爲摘要是不可逆推出原文的。

解讀:1.A用B的公鑰加密消息,保證只有B才能打開。但是還要驗證信息的身份來源和信息的完整性,就繼續如下。

2.A對消息進行摘要算法,B對解密後的明文也進行摘要算法,如兩者的摘要一致,保證B收到的是正確的信息。但還要加上身份認證,即

3.A再對生成的摘要用自己的私鑰加密,生成數字簽名發給B,B如果用A的公鑰解密成功,說明是A發出的,A的身份得到證明








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章