2021-03-19 分類: 網站建設
上過網的朋友都知道,網絡是非常不安全的。尤其是公共場所很多免費的wifi,或許只是攻擊者的一個誘餌。還有大家平時喜歡用的萬能鑰匙,等等。那我們平時上網可能會存在哪些風險呢?
1、泄密,個人隱私、賬戶密碼等信息可能會被盜取。
2、篡改,收到的數(shù)據(jù)可能被第三方修改過,或被植入廣告等。
3、假冒,訪問的站點非目標服務器站點。如域名欺騙、域名劫持、釣魚網站等。
可能住你隔壁穿人字拖、說話都略顯羞澀的小王,一到夜深人靜的時候就開始偷窺你的一舉一動!陪你一起看91某社區(qū)的電影還好,萬一竊取了各購物網站或其他站點的登錄信息就……是不是想想有些害怕呢!
為什么別人能獲取你上網的數(shù)據(jù)呢?有過一定網絡基礎的朋友多少都對TCP/IP有些了解,對各種握手揮手早已背得滾瓜爛俗,對http協(xié)議也早了然于心。http是應用層的協(xié)議,位于TCP/IP參考模型的最上層。用戶數(shù)據(jù)經過應用層、傳輸層、網絡層、鏈路層的層層封裝后經過物理層發(fā)送到目標機器。在這幾層中,數(shù)據(jù)都沒有經過加密處理,所以一旦別人獲取到你的數(shù)據(jù)包,就能輕易的獲取到數(shù)據(jù)的信息。
為了保護數(shù)據(jù)隱私,讓數(shù)據(jù)不再“裸奔”。對需要傳輸?shù)臄?shù)據(jù)進行加密處理就很有必要了。目前而言,就SSL證書能做到這一點。
我們生活中有各種證,有能證明自己是個有身份的人的身份證,有能證明自己讀了幾年書的畢業(yè)證。這些證都是由某些權威機關認證、無法偽造的,能證明自己身份的憑據(jù)。那服務器是不是也能有個類似身份證的東西,在與服務器進行通信的時候證明自己確實是目標服務器而不是小王偽造的呢?在生活中這些證件都是事實在在能看得見摸得著的,而計算機中的證書是虛擬的,看得見但是摸不著,是數(shù)據(jù)形式記錄的,所以叫SSL證書!
客戶端第一次與服務器進行通信的時候,服務器需要出示自己的SSL證書,證明自己的身份以及自己的公鑰,類似如下(實際上就是一堆數(shù)據(jù),這里為了直觀)
那這個SSL證書怎么產生的呢?總不能是服務器自己造一個吧?上面說到了我們生活中的證書是由權威機構頒發(fā)的、無法偽造的,比如身份證就是由派出所發(fā)證、畢業(yè)證由教育部發(fā)證,如果需要驗證真假,只需要上相關的系統(tǒng)輸入編號查詢就能查到了!那我們SSL證書也應該有這兩個特性-權威機構頒發(fā)、防偽!
CA機構就是SSL證書頒發(fā)的權威機構,負責頒發(fā)證書以及驗證證書的合法性。如果服務器需要做個有身份的服務器,就需要向CA機構提交申請,當然有錢才好辦事,交錢才能給你辦證……
服務器向CA機構提交申請,需要提交站點的信息如域名、公司名稱、公鑰等等,CA審批無誤之后就可以給服務器頒發(fā)證書了!
客戶端在拿到服務器的證書后,就需要驗證證書編號是否能在對應的CA機構查到,并且核對證書的基本信息如證書上的域名是否與當前訪問的域名一致等等,還可以拿到證書中服務器的公鑰信息用于協(xié)商對稱密鑰!
證書頒發(fā)了,可是又怎么防止偽造,怎么保證在傳輸過程中不被篡改呢?萬一小王截獲到SSL證書,把公鑰改成自己的那不是依然無法保證安全了么?這就需要數(shù)字簽名了!
與公司簽過勞動合同的朋友應該都知道,在合同信息的填寫中,是不能有涂改的,否則需要重新填寫!并且在最后需要甲方和乙方簽名并且蓋章。一旦簽名蓋章后的合同就具有了法律的效力,合同就不能再修改。簽名和蓋章操作就是防止合同偽造,規(guī)定不能修改就防止了合同被篡改!
在實際生活中簽名、蓋章操作是實實在在的動作,作用在具體某個物體上的!但是我們的SSL證書本身就是虛擬的,怎么去給一個虛擬的證書簽名蓋章呢?數(shù)字簽名又是什么機制呢?
我們在做權限系統(tǒng)的時候,存儲用戶密碼的時候都會經過MD5計算摘要后存儲,在登錄的時候計算用戶填寫的密碼的MD5摘要與數(shù)據(jù)庫存儲的摘要進行對比,如果一致則密碼正確,否則登錄失敗!MD5是不可逆的,且不同的數(shù)據(jù)計算出來的摘要是不一樣的(當然也有極小的概率會hash碰撞),基于這個特性,就有了數(shù)字簽名的思路。
服務器提交自己的基本信息想CA機構提出申請,CA機構在給服務器頒發(fā)證書的時候,會連同SSL證書以及根據(jù)證書計算的摘要一同發(fā)送給服務器,且這個摘要是需要經過CA機構自己的私鑰進行加密的。申請流程如下:
啥?不夠直觀?那我們再來個直觀點的!通過下圖我們能看到,CA給服務器頒發(fā)的證書是有自己專屬的“公章”的。
哪些CA機構對于客戶端來說是權威或者說是認可的呢?我們打開IE瀏覽器能看到客戶端內置的CA機構的信息,包含了CA的公鑰、簽名算法、有效期等等...
服務器在與客戶端通信的時候,就會將SSL證書和數(shù)字簽名出示給客戶端了??蛻舳四玫絊SL證書和數(shù)字簽名后,先通過操作系統(tǒng)或者瀏覽器內置信任的CA機構找到對應CA機構的公鑰對數(shù)字簽名進行解密,然后采用同樣的摘要算法計算SSL證書的摘要,如果自己計算的摘要與服務器發(fā)來的摘要一致,則證書是沒有被篡改過的!這樣就防止了篡改!第三方拿不到CA機構的私鑰,也就無法對摘要進行加密,如果是第三方偽造的簽名自然也在客戶端也就無法解密,這就防止了偽造!所以數(shù)字簽名就是通過這種機制來保證SSL證書被篡改和被偽造。具體流程如下:
這里需要注意一點,一個是CA的公鑰,內置在客戶端,用來解密數(shù)字簽名!另一個是目標服務器的公鑰,在SSL證書內容里,用來協(xié)商對稱密鑰!
其實HTTPS=HTTP+SSL,在HTTP層和TCP之間加了一個SSL/TLS層,如下圖:
SSL(Secure Sockets Layer)中文叫“安全套接層”,后來由于廣泛應用,SSL標準化之后就改名為TLS(Transport Layer Security)了,其實HTTPS就是通過上面說到的那些手段來解決網絡上可能存在的數(shù)據(jù)泄密、篡改、假冒的這些問題,保證網絡傳輸?shù)陌踩睦玻?br /> 寫到這,打一波廣告,購買SSL證書可以點擊右側QQ咨詢,當然除了網站加密,網站防護、加速、安全等各類問題也可以聯(lián)系我。
分享題目:看完這后,我奶奶都懂SSL證書啦!
文章地址:http://m.rwnh.cn/news11/105461.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化、域名注冊、外貿網站建設、定制網站、自適應網站、面包屑導航
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容