SSl安全連線技術原理簡介

2021-06-16 06:39:03 字數 2460 閱讀 4235

ssl(secure sockets layer),中文直譯為安全插接層協議層,聽不明白?說白了就是在原有的協議上加上一層加密以及認證等東東,保證資訊保安。最簡單的,比如我給你發了一串資料,不用ssl,如果**的第三方將其截獲,就能看出我的意圖了,如果加上不帶認證的ssl,將資料加密了,即使被第三方得到了,他拿到的也是無法看懂的資料,如果破解不了,一點用都沒有。這只是乙個比較淺顯的比方,至於有人問:我把我要傳送的資料寫乙個加密演算法加密後再發出去,這算不算ssl呢,我無法回答。直接看下面的文字就行了。

ssl有兩個最核心的技術,乙個是加密,乙個是認證。認證是比較深層次的東西(至少我這麼認為),先按下不表,單說加密。

廣義上的ssl是包含只把資訊加密的這種作法的,只是從字面上說的。如果嚴格遵循ssl提出者寫的規範,這種加密的作法也是有限定的,用什麼樣的加密方法,是有規定的。那如果你問ssl用的是什麼加密演算法呢,我就會反問你,你知道多少種演算法呢?看著你茫然的眼神,我心裡暗暗笑了。開個玩笑,下面簡單介紹一下加密方面的知識。

加密大分為帶鑰匙加密和不帶鑰匙加密,這是我分的,呵呵,不帶鑰匙加密好理解,就是乙個演算法,不依賴於任何外部資料,這種演算法不好的地方是一旦被破解了,就不能用了,就相當於我知道你是用這種方法加密的,那麼你的資訊也就毫無安全可言了。這種演算法也就不好在網路連線這方面用了。另外一種是帶鑰匙加密,也就是說破解的人既要知道是什麼演算法也要知道鑰匙是什麼,只知道其一也不能破解。一旦破解了,我再換乙個鑰匙,還可以繼續用,這不挺好的嗎。這個鑰匙就是參與加密演算法的外部資料。那麼帶鑰匙加密的演算法又分為兩種,一種是對稱加密的演算法,另一種是不對稱加密的演算法。對稱是指加密用的什麼鑰匙,解密也得用這個鑰匙。不對稱加密是指加密用的是一種鑰匙,解密用的是另外一種鑰匙。ssl用的就是不對稱加密演算法。具體用的什麼,呵呵,好像還不止一種,有興趣的讀者可以自己去查一下資料,這裡只是簡介,把大概的原理介紹一下。

假如通訊雙方甲和乙,甲給乙發資訊,乙給甲發資訊,如何確保第三方看不到(或看不懂)他們之間傳送的資料呢,用不對稱加密。甲給乙發信,甲要給它加密,用乙個鑰匙加好了,現在發的內容是火星文了,誰也看不懂,那麼給乙傳送過去,乙接收了,要想知道是什麼內容,就得解密。前面說這是不對稱加密,一,乙必然要知道這個演算法,二,乙必然要知道解密所需要的鑰匙。這個鑰匙**來的,甲給的?不應該是。因為解密的鑰匙遠比加密的鑰匙重要得多,只能自己知道,別人,哪怕是甲方也不行,因為一旦你的解密鑰匙讓別人知道了,加密演算法又是公開的,那麼所有的發給你的資訊內容也就是公開的了,所以解密金鑰只能自己知道。由於不對稱加密的兩個金鑰是一對的,所以用什麼鑰匙解密,就得用相對應的鑰匙加密,這話雖然反過來說比較通順一點,但都是乙個意思。這麼說來,先前甲方加密資料所用的鑰匙和乙方解密資料所用的鑰匙是一對的,是由乙方來製作的。現在清楚了,乙方產生了乙個鑰匙對,把其中乙個告訴甲方,讓他用來加密,另乙個放在自家的保險櫃裡,只有自己知道,用來解密甲方傳來的資訊。甲給乙發信是這樣的,乙給甲發信也一樣,用甲給他的鑰匙加密,發給甲,甲再用自己的鑰匙解密。這就是乙個公鑰,乙個私鑰。公鑰發布出去,別人用來加密,私鑰自己拿著用來解密。

有人問公鑰別人知道了,會不會被人推算出私鑰來,我可以這麼回答,會,只是時間的問題。你說,時間不是問題,我可以等。我告訴你,問題是你沒那麼多時間等。

破解不對稱加密,可簡可繁,是根據金鑰的長短來決定的,金鑰越短,破解時間越短,金鑰越長,破解時間越長,乙個足夠長的金鑰,等破解出來要等到天荒地老了。這是現在的情況,也許過些年這種情況會有改觀。

說完加密,再說認證,認證相對加密來說會複雜一些,還可能說不太清楚,這裡一樣只是對原理做一些簡單介紹。

認證,打個比方說,你怎麼樣證明你的身份,用身份證,什麼?你用乙個假的身份證,那麼我再查你的電子身份證。等等,我來調查你的身份,這個過程就叫認證。認證是為了防止有人假冐成別人發資訊。

再回顧一下,甲和乙發資訊,甲先把公鑰發給乙,讓乙用來加密資訊,這時,如果有乙個第三方丙,截獲到了公鑰,則他就可以用甲的公鑰加密資訊,並且假冒成乙給甲發信了。如果甲在接收乙的公鑰時要求乙提供「身份證」,術語叫證書,這回丙就傻眼了。這種證書是由一些機構發給你的,這些機構被稱為證書頒發機構,這些機構是被人信任的,證書發給你時,還是經過這機構簽名的,就像微軟頒發給你mvp證書時上面有比爾蓋茨的簽名一樣。不同的是這裡是數字簽名,關於數字簽名,又是一套很複雜的理論,這裡就不說了。有了數字簽名之後,證書基本上就不能造假了。又有人問,如果證書頒發機構發給你乙個錯誤的證書怎麼辦?這是個很嚴肅的問題,責任要由證書頒發機構承擔。當甲方要求乙出示證書後,乙把證書提交了上去,上面有頒發機構的名字和簽名,也有乙的名字,這樣甲就可以放心地和乙交流了。這樣第三方就無從插足了。

甲和乙互發資訊,聊得火爆,第三方丙即使截獲了資訊也看不懂,但他不甘寂寞,使出最後一招,篡改。這是個損人不利已的活,對付這種搗蛋的人,可以使用雜湊值的辦法,俗稱電子摘要,固定的內容對應固定的電子摘要,當通訊內容被篡改後,接收方再計算一次電子摘要,生成出來的就和原來的對不上了,這不就發現內容被篡改了嗎。

總之ssl技術利用了很多對付監聽、偽造和篡改等行為的技術,來保障網路雙方安全地交流。目前隨著監聽與反監聽、偽造和反偽造、篡改與反篡改技術的不斷發展,ssl技術也在不斷發展中,兩方面是一對不可調和的矛盾,卻起到互相促進,共同發展的作用。表面上很平靜的網際網路,這裡的戰爭悄無聲息卻異常激烈。

ssl 原理簡介

要想弄明白ssl認證原理,首先要對ca有有所了解,它在ssl認證過程中有非常重要的作用。說白了,ca就是乙個組織,專門為網路伺服器頒發證書的,國際知名的ca機構有verisign symantec,國內的有globalsign。每一家ca都有自己的根證書,用來對它所簽發過的伺服器端證書進行驗證。如果...

使用安全SSL連線PostgreSQL資料庫

2020年4月8日15 29 47 今天主要是在postgresql資料庫上面遇到的乙個要求 配置ssl方式連線資料庫,連線後檢視版本正確。ssl 的英文全稱是 secure sockets layer 中文名為 安全套接層協議層 它是網景 netscape 公司提出的基於 web 應用的安全協議。...

SSL簡介(定義 功能 原理 優點 缺點)

它是netscape公司提出的基於web應用的安全套接層協議,它指定了一種在應用程式協議和tcpflp協議間提供資料安全性分層的機制,但常用於安全web應用的http協議。ssl為tcp ip連線提供資料加密 伺服器認證 訊息完整性以及可選的客戶機認證。是一種安全服務。機制 ssl採用rsa des...