李笛出乘
【摘要】 本文首先會介紹目前比較常見的幾種密碼,包括像字符串密碼,手勢密碼,指紋密碼等。然后從開發(fā)人員的角度,說明了兩種密碼保護方式,分別解釋了他們的相關(guān)原理。最后,本文提出了幾種未來可能會誕生的密碼,并且說明使用場景。本文旨在希望讀者能夠妥善的管理好自己的密碼,保護好自己的隱私。
【關(guān)鍵字】 便攜式設(shè)備 存儲
一、引言
隨著互聯(lián)網(wǎng)的不斷進步,大多數(shù)網(wǎng)站為了管理用戶的個人資料,都使用了“個人賬戶”這個概念。所謂個人賬戶,就是使用用戶名來標識一個用戶,并且能夠存儲用戶的其他信息的一個賬戶。那么,如何來辨識查看或者修改用戶信息的人是否是用戶本人呢?這里就要使用到密碼了。密碼和用戶名是對應(yīng)起來的,如果用戶在登陸的時候,能夠輸入正確的密碼,我們就相信訪問個人賬戶的是用戶本人,并且給予相應(yīng)的權(quán)限。但是,目前網(wǎng)絡(luò)中存在一些不法分子,他們會通過一些技術(shù)手段來盜取用戶的密碼,以獲得用戶的相關(guān)信息來謀取利益。大多數(shù)的用戶在沒有專業(yè)知識的情況下很難意識到自己的行為會帶來突破口。因此,本文從開發(fā)者的角度來介紹相關(guān)的密碼保護知識,并且也希望所有的互聯(lián)網(wǎng)用戶能夠在上網(wǎng)的時候盡可能的謹慎一些,不要輕易的將個人賬戶信息透露給其他人,保護好自己的隱私。
二、密碼的類型
首先我們將介紹目前使用的較為廣泛的幾種密碼,他們分別是:字符串密碼,手勢密碼和指紋密碼。
2.1 字符串密碼
字符串密碼也就是我們?nèi)粘I钪性诨ヂ?lián)網(wǎng)中接觸的最終的那種密碼,通常以一個字符串來表示。常見的密碼有:123456,qazwsx等。通常而言,使用字符串密碼的網(wǎng)站會要求用戶設(shè)置一些相對復雜的密碼,比如密碼長度大于6,必須包含字母和數(shù)字等。這些都是開發(fā)者保護用戶密碼不被盜取的手段,當然,這樣的手段還比較初級,僅僅用于防范那些偷看用戶輸密碼的人。有趣的是,2011年重慶晚報發(fā)表了中國網(wǎng)民設(shè)置最多的密碼,他們分別是:abc123, 123456, xiaoming, 12345678, iloveyou, admin, qq123456, taobao, root, wang1234??纯茨阌袥]有中槍?
2.2 手勢密碼
相對來說,收拾密碼更多的使用在了移動端上,發(fā)揮了移動端觸屏的優(yōu)勢。通常手勢密碼需要用戶在九個點中鏈接任意至少四個點構(gòu)成圖案,這個圖案就是用戶設(shè)置的手勢密碼。目前,手勢密碼因其簡單方便被廣泛的使用者使用。但是手勢密碼真的安全嗎?我們把手勢密碼和移動端的純數(shù)字密碼做一個比較。手勢密碼最少選擇4個點,最多選擇9個點,刨除那些不允許繞過的點,可能性一共有389112種,而6位密碼數(shù)字的可能組合有1000000種,比手勢密碼的可能性多了一倍還多。因此,手勢密碼并不一定完全安全。
2.3 指紋密碼
指紋密碼是在近年來被推廣出來的一種密碼,主要是利用了每個人的指紋都是不同的這個特性,來判斷使用者是否是正確的用戶。目前市面上,大多數(shù)的手機都已經(jīng)配備了指紋密碼,例如蘋果公司的TouchID。事實上,指紋密碼因為僅僅依賴人的生理器官,因此其可以被盜取的方式是更多的,包括像克隆指紋,高清照片替換指紋等。但是因為這樣盜取的方式本身成本也比較大,因此各手機廠商在商業(yè)利益,性能和安全之間做出了平衡才推廣了指紋密碼。
三、密碼保護
在這一節(jié)中,我們將介紹兩種互聯(lián)網(wǎng)密碼保護的手段。雖然上述我們說的密碼類型有三種而且看上去形式上都不一樣,但實際上在和服務(wù)器交互的時候,所有的密碼都會被轉(zhuǎn)換成一串字符的形式。因此在這里,我們僅僅以字符串密碼為例。
3.1 HTTPS保護密碼
在以前,我們在瀏覽器中輸入網(wǎng)址的時候,一般都是以http://開頭的。http的全稱是超文本傳輸協(xié)議,提供一種發(fā)布和接收HTML頁面的方法。但是,使用http協(xié)議在傳輸數(shù)據(jù)的時候,是沒有任何的加密過程的。也就是說,如果我們監(jiān)聽一個網(wǎng)站向后臺發(fā)送請求,我們可以得到該請求的所有內(nèi)容,包括用戶的賬號和密碼。
隨之,https誕生了。簡單來說,他是http的安全版。即在http下加入一層安全套接層(ssl)。ssl是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。我們規(guī)定用戶使用的瀏覽器為客戶端,網(wǎng)頁的后臺為服務(wù)器,在具體解釋https的工作流程之前,我們需要解釋一下公鑰和私鑰的概念,可以把他們想象成鎖頭和鑰匙,我們可以把重要的東西用鎖頭鎖起來,也就是加密,只有鑰匙才能夠解開鎖頭,也就是解密。要記住,公鑰和私鑰是一一對應(yīng)的,私鑰是只有服務(wù)器知道的。而公鑰,客戶端和服務(wù)器都知道。下面我們就來看看https的具體工作流程。
首先,客戶端發(fā)起一個https請求,把它一系列的加密算法告訴服務(wù)器。服務(wù)器接收到一系列加密算法后,從中選擇一種,以證書的形式返回給客戶端。證書中包含這公鑰,也就是鎖頭。
客戶端得到服務(wù)器發(fā)來的證書之后,先會去驗證證書的合法性。合法性可以通過下述三個方面來驗證。第一,驗證證書是否在有效期內(nèi),證書一般是帶有失效日期的,失效的證書是不能被認可的。第二,驗證證書是否被吊銷了。被吊銷的證書會被記錄在CRL(證書吊銷列表)中,我們只需要查表即可。此外,可以去OCSP(在線證書狀態(tài)協(xié)議)查詢證書即時的狀態(tài)。第三,驗證證書是否是上級CA(證書管理機構(gòu))頒發(fā)的,在驗證證書時,瀏覽器會對證書路徑中的所有證書都進行驗證,只有全部受信任,整個驗證的結(jié)果才是受信的。
一般而言,證書需要到相關(guān)的權(quán)威機構(gòu)去購買,這也是保證網(wǎng)站合法性的方法之一。如果驗證通過,客戶端會生成一個隨機數(shù),并且對這個隨機數(shù)使用公鑰進行加密,也就是用鎖頭把隨機數(shù)鎖住,然后將其傳給服務(wù)器。
服務(wù)器得到了加密后的隨機數(shù)之后,使用私鑰將其解鎖,得到了生成的隨機數(shù)。之后我們在客戶端與服務(wù)器之間所有的數(shù)據(jù)傳輸中都使用該隨機數(shù)進行加密,因為只有客戶端和服務(wù)器知道,所以數(shù)據(jù)就得到了很好的保護。
https加密已經(jīng)逐漸成為互聯(lián)網(wǎng)的主流。大多數(shù)的網(wǎng)站已經(jīng)拋棄原先的http而轉(zhuǎn)投向https的環(huán)抱中。但是,https的證書需要向一些權(quán)威機構(gòu)進行購買,如果只是一些個人的網(wǎng)頁,不涉及到商業(yè)的網(wǎng)頁,使用https似乎有一些小題大做。在這種情況下,我們要如何保護密碼呢?
3.2 JS加密
這里我們需要先介紹一下JS。JS,全稱是Javascript,是運行在瀏覽器前端的一種腳本,能夠執(zhí)行一些復雜的運算操作。對于一些安全要求不高的網(wǎng)站,使用JS加密也能夠得到很好的效果。由于一個網(wǎng)頁所用到的Javascript代碼都是暴露出來的,因此一般通過不可逆的加密算法來加密密碼。但是,加密的方法我們是知道的,因此只要使用暴力破解,能夠得到用戶密碼只是一個時間問題。
那么如何來驗證密碼呢?通常我們在客戶端中提交的密碼是加密過的,我們記作A(password)。服務(wù)器中存儲密碼的方式為B(salt+A(password))。salt是任意的一串字符串,防止不同的密碼在經(jīng)過A加密和B加密后得到相同的結(jié)果。這樣,客戶端傳送A(password)之后,在服務(wù)器中只要驗證B(salt+getFromClient)和B(salt+A(password))是否一致就可以了,如果一致,可以認為用戶輸入的密碼是正確的。
四、未來的密碼
雖然目前來看,指紋加密安全性還不夠強,但是不管怎么說,隨著科技的發(fā)展,未來生物識別技術(shù)一定會大放光芒。據(jù)報道,支付寶已經(jīng)正在秘密研發(fā)六大生物識別技術(shù):人臉、指紋、聲紋、掌紋、筆跡、和鍵盤敲擊。
比如,因為聲紋獲取成本低,不涉及,因此在基于網(wǎng)絡(luò)、電話的身份之別應(yīng)用中,聲紋識別有得天獨厚的優(yōu)勢。目前來看,聲紋識別的問題還在于如何識別原始聲音和錄音,消除背景音等。掌紋識別,因為其獲取難度比指紋要大,因此非常適合用戶身份識別,而且其具有唯一性和終身性。除此之外,其他的幾種加密方式都有其本身的優(yōu)缺點和使用場景。
雖然科技在一定程度上能夠保護我們的密碼不被不法分子所截獲,但是其實更為重要的一點是加強自己保護密碼的意識,從自身做起來保護自己的隱私。這,才是人類最為強大,最為有力的密碼保護方式。
參 考 文 獻
[1] Ivan Ristic. Bulletproof SSL and TLS Understanding and Deploying SSL/TLS and PKI to Secure Servers and Web Applications[M]. 人民郵電出版社, 2016.