為您解碼網(wǎng)站建設的點點滴滴
發(fā)表日期:2015-12 文章編輯:小燈 瀏覽次數(shù):2194
互聯(lián)網(wǎng)黃金時代的到來,讓人們享受到了各種各樣的便利,最大的功臣當然是計算機軟硬件以及互聯(lián)網(wǎng)通信技術(shù)的飛速發(fā)展,當然背后也有一些默默奉獻的無名者,今天的文章的便是關(guān)于其中一位,我把它比喻為互聯(lián)網(wǎng)大陸的守夜人 (The Night Watch)——信息加密技術(shù)。它就像美劇 Game of Thrones 里面的守夜人一樣,默默無聞地保衛(wèi)著互聯(lián)網(wǎng)這片大陸不受 “異鬼” 的侵襲。
一、數(shù)據(jù)加密淺談
為了使文章不那么枯燥,先從幾個故事講起。
古代運用加密技術(shù)進行通信的著名案例是凱撒密碼。凱撒是古代一位軍事將領,他率先將加密技術(shù)應用于軍事通信,他的基本思想是:通過把字母移動一定的位數(shù)來實現(xiàn)加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一個固定數(shù)目進行偏移后被替換成密文。例如,當偏移量是 3 的時候,所有的字母 A 將被替換成 D,B 變成 E,以此類推 X 將變成 A,Y 變成 B,Z 變成 C。由此可見,位數(shù)就是凱撒密碼加密和解密的密鑰。
顯然,這太簡單了,拉丁字母只有 26 個,人腦即可輕松破譯。另外,通過統(tǒng)計學知識,只要文章夠長,每個字母在一篇文章中出現(xiàn)的概率是特定的,例如字母 e 在英文中出現(xiàn)的幾率最大,那么只要對密文略加統(tǒng)計,即可得出,密文中出現(xiàn)最多的字母對應的就是 e,其他以此類推。
后來人們經(jīng)過一番改進,增加了密鑰的長度或者復雜度,只要保證密鑰夠復雜,并且密鑰只被通信雙方知道,便沒那么容易被破解。這種使用單個密鑰的加密技術(shù)叫做對稱加密,特點是雙方使用預共享密鑰 (Pre-Shared Key)。
后來,這種加密技術(shù)廣泛應用到后來的戰(zhàn)爭中,二戰(zhàn)時有一個著名的關(guān)于密碼的故事:考文垂大轟炸。由阿蘭圖靈領導的團隊破解了德國的密碼系統(tǒng),得知德國將實行月光奏鳴曲計劃對考文垂進行毀滅式轟炸。英國為了不讓自己的破解系統(tǒng)暴露于德國之前,故而沒有對城內(nèi)居民做出警告,也沒有采取非常規(guī)防御措施,最終被夷為平地。這個故事暴露了預共享密鑰的缺陷:算法再復雜、密鑰再長,也有被破譯的可能;并且密鑰必須是預共享的 (Pre-Shared),如何安全地傳送密鑰也是一個難題。
而太平洋戰(zhàn)場的美國就比較聰明一些了。有一部 Nicolas Cage 主演的講述太平洋戰(zhàn)爭的電影叫做《風語者》(Windtalkers)。故事里面,美軍征了大量納瓦霍族人并訓練成通訊兵,使用一種基于納瓦霍語的密碼傳遞軍事情報,日軍要是想破譯密碼,就必須抓到通訊兵。Cage 的任務就是在戰(zhàn)場上保護其中一個通訊兵不被日軍抓到,萬一不幸被抓,Cage 必須親手殺死通訊兵以保護密碼。
這里通訊員就相當于一個"物理"形式的密鑰,它的好處是,物理密鑰被別人竊取才有可能進行破譯,這就極大增加了安全性。現(xiàn)實生活中最常用的場景就是銀行申請網(wǎng)銀的時候都要配一個 USB KEY,網(wǎng)上大額支付的時候需要在電腦上插入 USB KEY,相對于純密碼更安全一些。
后來人類發(fā)明了一樣偉大的東西——計算機,并且經(jīng)過不斷改進,計算能力越來越強,人們開始使用計算機進行信息的加密解密,當然劍是雙刃的,好處是我們可以使用更長更復雜的密鑰或者算法來快速進行加密,壞處是,壞人也會用利用它更快地進行破解,將來可能還會出現(xiàn)更強大的計算機技術(shù)如量子計算機技術(shù),也許當前理論上幾百年才能破解的密文,未來只需幾秒即可解密;而且預共享密鑰的加密方法,密鑰的安全傳遞始終是一個漏洞。于是一種更完美的加密技術(shù)應運而生——非對稱加密技術(shù)。
非對稱加密技術(shù)的基本原理是:生成一對密鑰,一個叫公鑰,是可以公開被所有人知道的;另外一個叫私鑰,只有密鑰的主人持有,其他任何人都不能得到;公鑰加密的密文只有私鑰才能解密,私鑰加密的密文只有公鑰才能解密。舉個栗子:
如圖所示,Alice 要想給 Bob 發(fā)送私密數(shù)據(jù),那么 Bob 先把公鑰公開,Alice 用 Bob 的公鑰加密自己的數(shù)據(jù),然后發(fā)送給 Bob,Bob 用自己的私鑰進行解密;反過來,如果 Bob 要給 Alice 發(fā)送非私密但是必須真實的數(shù)據(jù),Alice 為了確定收到的數(shù)據(jù)確實是 Bob 發(fā)的而沒有中間人篡改,她可以用 Bob 的公鑰進行解密,如果能正常解密則證明消息確實是 Bob 發(fā)送,因為除了 Bob 以外其他人無法生成可以用該公鑰解密的數(shù)據(jù)。
因此非對稱加密技術(shù)廣泛應用于通信加密、數(shù)字證書、數(shù)字簽名、身份認證等等。
二、OpenSSL
去年,發(fā)生了一個震驚整個互聯(lián)網(wǎng)的漏洞—心臟滴血 (Heartbleed),讓 OpenSSL 這個默默無聞的卻承擔保護全世界網(wǎng)民信息安全的隱形 “衛(wèi)士” 現(xiàn)身到大眾面前。OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協(xié)議,并提供豐富的應用程序和類庫。全世界的網(wǎng)站大都在使用 OpenSSL 這個開源工具保護他們的信息安全,這么偉大的項目卻窮的才幾個程序員,而且分布在世界各地,通過網(wǎng)絡彼此溝通協(xié)作,一直靠捐贈維持生計,捐贈者包括諾基亞、華為、甲骨文等知名企業(yè)。
那么問題來了,OpenSSL 是如何保護我們的?
我們的互聯(lián)網(wǎng)是通過千千萬萬通信設備 (路由設備、交換設備) 以及線纜 (電纜、光纜) 連接到一起的,當我們的數(shù)據(jù)在這些設備、線纜中傳輸?shù)臅r候,很容易被人通過各種手段例如軟件抓包、信號竊聽等設備截取到,并根據(jù)傳輸協(xié)議進行解碼獲取敏感信息,如下圖。
好在我們有加密技術(shù)保護。拿 WEB 服務來說,我們可以通過部署 SSL 證書來啟用 HTTPS 協(xié)議,這樣在客戶端瀏覽器與服務端 webserver 之間傳輸?shù)娜魏涡畔⒍际敲芪模覀兲峤坏谋韱沃械馁~號和密碼,以及服務端返回的包含個人信息的網(wǎng)頁都被安全加密。下面簡要解析一下其中原理。
由于篇幅有限,關(guān)于 SSL 如何加密解密原理這里不贅述,可以參考前面的非對稱加密原理。當然實際過程會更復雜一些:非對稱加密傳遞密鑰,對稱加密算法數(shù)據(jù)加密,消息摘要做完整性校驗,并且每種加密方式還有多種算法供選擇,具體使用哪種算法哪些參數(shù)是瀏覽器端跟服務端協(xié)商決定的。這里重點介紹一下證書的信任問題。
以我大點融網(wǎng)站為例:
點融網(wǎng)主站的證書是向特定的證書機構(gòu) (Certificate Authority,以下簡稱 CA) 付費申請的,申請時需要提交自己的域名以及企業(yè)信息,證書機構(gòu)審核通過給予頒發(fā),證明我大點融是受信任的企業(yè),所以瀏覽器訪問點融網(wǎng)時,地址欄會顯示一個綠色小鎖標志,如下圖所示:
點融網(wǎng)使用了安全度更高的增強型的 EV SSL 證書 (Extended Validation SSL Certificate),不僅顯示綠色小鎖,還能顯示包含完整公司名稱的綠色條狀標識:
證書也可以自己制作,叫做自簽名證書,不過首先也得自建一個 CA。既然可以自己做,為何還要花錢求別人頒發(fā)?原因是,自建 CA 并不被其他用戶的瀏覽器所信任,其他用戶訪問你部署自簽名證書的網(wǎng)站時,瀏覽器會紅色警告提示這不是一個合法 CA 頒發(fā)的證書。反面教材:12306.cn
為何買的證書瀏覽器就認為合法,而自簽名的證書瀏覽器就認為不合法呢?原因是,瀏覽器內(nèi)置了一部分合法 CA 的根證書,如果你的證書是這些 CA 之一簽發(fā)的,那瀏覽器就認為是合法的,否則就不合法,除非把自建 CA 的根證書也安裝到瀏覽器,讓瀏覽器信任。
具體的證書信任驗證過程如下:
證書以證書鏈的形式組織,在頒發(fā)證書的時候首先要有根 CA 機構(gòu)頒發(fā)的根證書,再由根 CA 機構(gòu)頒發(fā)一個中級 CA 機構(gòu)的證書,最后由中級 CA 機構(gòu)頒發(fā)具體的 SSL 證書。在驗證證書的時候,瀏覽器會對證書路徑中的所有證書一級一級往上進行驗證,只有路徑中所有的證書都是受信任的,最后結(jié)果才是受信任的。如下圖所示:
三、SSL 發(fā)展趨勢
早在 2011年Google 就已經(jīng)開始啟用全站 SSL 加密,百度也在 2014年 底開始測試全站加密,SSL 的時代已經(jīng)到來,媽媽再也不用擔心我賬號被盜、頁面被運營商強插廣告、中間人攻擊等困擾了。
在中國,SSL 的普及之路還很遙遠,個人認為主要障礙有如下幾個:
1. 安全意識薄弱,很多網(wǎng)站負責人只關(guān)注內(nèi)容、流量,不出安全事故,意識不到信息安全的重要性;
2. 加密帶來大量額外計算資源開銷,訪問性能會降低,手持設備會更耗電,影響用戶體驗,因此很多網(wǎng)站默認不加密;
3. 增加成本,SSL 證書通常需要向特定機構(gòu)申請購買;
4. 額外技術(shù)成本,例如網(wǎng)站功能兼容性,瀏覽器兼容性,手機 APP 兼容性等等。
隨著金融互聯(lián)網(wǎng)和電子商務的蓬勃發(fā)展,使得信息安全顯得越來越重要,加密早已成了必備技術(shù),相信終有一天,互聯(lián)網(wǎng)會徹底拋棄 HTTP,進入全面 HTTPS 時代。
那么,最后一個問題,作為群眾的我如何科學地使用加密技術(shù)來保護個人信息?
在這里舉幾個我能想到的例子吧:
1. 本文主要講 SSL 加密,當然是在訪問任何網(wǎng)站尤其是 P2P、支付、交易等相關(guān)網(wǎng)站的時候,如果默認沒有使用 https,可以嘗試手動在 http 后面冒號前面加一個 s 來訪問加密的服務;
2. 除了 Web 服務,還有例如郵件客戶端配置加密的 pop3、imap、smtp 協(xié)議和端口 (具體方法參考郵件服務商的幫助頁面) ;
3. 網(wǎng)站眾多,賬號眾多,記密碼很頭疼,但是千萬不要用 txt 文件保存明文密碼,推薦使用密碼管理軟件,如蘋果系統(tǒng)的 keychain,Win 系統(tǒng)的 Keepass 等工具;
4. 千萬千萬千萬 (重要事情說三遍) 盡量避免連接公共場合的開放的 WiFi (尤其是不加密的);如果非連不可,請不要訪問跟錢相關(guān)的網(wǎng)站; 如果非要訪問,請記得使用加密方式訪問。WiFi 無線信號是空間內(nèi)廣播的,只要筆記本電腦裝個軟件即可監(jiān)聽所有連到該熱點的設備之間的通信。
【本文轉(zhuǎn)自微信公眾號點融黑幫,轉(zhuǎn)載請注明來自威客安全】
日期:2018-04 瀏覽次數(shù):6763
日期:2017-02 瀏覽次數(shù):3438
日期:2017-09 瀏覽次數(shù):3659
日期:2017-12 瀏覽次數(shù):3529
日期:2018-12 瀏覽次數(shù):4819
日期:2016-12 瀏覽次數(shù):4584
日期:2017-07 瀏覽次數(shù):13647
日期:2017-12 瀏覽次數(shù):3508
日期:2018-06 瀏覽次數(shù):4267
日期:2018-05 瀏覽次數(shù):4446
日期:2017-12 瀏覽次數(shù):3558
日期:2017-06 瀏覽次數(shù):3984
日期:2018-01 瀏覽次數(shù):3945
日期:2016-12 瀏覽次數(shù):3915
日期:2018-08 瀏覽次數(shù):4428
日期:2017-12 瀏覽次數(shù):3708
日期:2016-09 瀏覽次數(shù):6406
日期:2018-07 瀏覽次數(shù):3208
日期:2016-12 瀏覽次數(shù):3232
日期:2018-10 瀏覽次數(shù):3386
日期:2018-10 瀏覽次數(shù):3482
日期:2018-09 瀏覽次數(shù):3580
日期:2018-02 瀏覽次數(shù):3600
日期:2015-05 瀏覽次數(shù):3521
日期:2018-09 瀏覽次數(shù):3308
日期:2018-06 瀏覽次數(shù):3435
日期:2017-02 瀏覽次數(shù):3874
日期:2018-02 瀏覽次數(shù):4337
日期:2018-02 瀏覽次數(shù):4176
日期:2016-12 瀏覽次數(shù):3573
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.