鄭士芹
(北京信息職業(yè)技術(shù)學(xué)院,北京 100081)
21世紀(jì)被稱為信息時代。與眾多新技術(shù)一樣,互聯(lián)網(wǎng)技術(shù)給人們生活帶來極大便利的同時,也帶來了隱私信息泄露的安全隱患。就目前來說,互聯(lián)網(wǎng)技術(shù)已經(jīng)深入到人們生活的方方面面,成為社會生產(chǎn)和生活中不可或缺的部分。但是,由于因特網(wǎng)基礎(chǔ)協(xié)議沒有充分考慮到信息安全因素,因此互聯(lián)網(wǎng)信息系統(tǒng)安全問題愈加突出。網(wǎng)絡(luò)賬號密碼盜取、黑客入侵以及假冒網(wǎng)站等互聯(lián)網(wǎng)安全問題嚴(yán)重影響著互聯(lián)網(wǎng)技術(shù)的應(yīng)用,成為制約互聯(lián)網(wǎng)服務(wù)安全的主要因素。同時,用戶信息泄露或被盜取事件時有發(fā)生,如索尼用戶信息的泄露、愛普生公司用戶信息的泄露以及美國銀行卡擁有者信息遭到泄露等。因此,利用信息安全理論,采取安全防護(hù)技術(shù),提升互聯(lián)網(wǎng)使用安全性成為社會焦點(diǎn)問題。
現(xiàn)階段,人們的生活中擁有各種互聯(lián)網(wǎng)商業(yè)網(wǎng)站。人們可以使用這些商業(yè)網(wǎng)站進(jìn)行購物、通信以及溝通等,提升了人們的生活質(zhì)量。但用戶在使用這些商業(yè)網(wǎng)站滿足各種服務(wù)需求的同時,也在這些商業(yè)網(wǎng)站中留下了私密信息,如用戶的購買記錄、消費(fèi)習(xí)慣以及好友范圍等。如果用戶的這些隱私信息被泄露,那么不法分子會利用用戶的隱私信息獲取不法利益,從而對用戶的生活造成不利影響[1]。在2011年,我國出現(xiàn)了系列網(wǎng)站賬號庫集中泄露事件,一定程度上反映出我國商業(yè)網(wǎng)站對用戶賬號密碼等隱私信息的儲存保護(hù)存在漏洞。為充分了解賬戶密碼安全現(xiàn)狀,2012年調(diào)查了30家知名商業(yè)網(wǎng)站的賬號密碼安全性。接受調(diào)查的網(wǎng)站基本上是目前我國網(wǎng)絡(luò)用戶常用的網(wǎng)站,涵蓋了生活、招聘、交友以及影音等各個方面。調(diào)查通過監(jiān)控用戶注冊賬號和用戶登錄過程,來查看這些商業(yè)網(wǎng)站是否采取了一定的安全技術(shù)來保證用戶登錄賬號與密碼安全。結(jié)果顯示,29家網(wǎng)站沒有采取任何的保護(hù)措施保護(hù)用戶所提交的賬戶與密碼,其中26家網(wǎng)站沒有采取任何防護(hù)措施保護(hù)客戶的登錄認(rèn)證過程,3家網(wǎng)站服務(wù)商采用的是明文密碼數(shù)據(jù)庫[2]。在2018年度對上述30家商業(yè)網(wǎng)站賬號密碼進(jìn)行安全性復(fù)查時,絕大多數(shù)網(wǎng)站已經(jīng)采用了安全防護(hù)措施,如采用HTTPS安全協(xié)議對網(wǎng)站注冊與登錄信息做了加密封裝,提升了信息安全性,但仍然存在極少數(shù)網(wǎng)站未進(jìn)行任何安全防護(hù)升級[3]。
綜合來看,用戶在登錄某一個網(wǎng)站時,可能會遭到的系統(tǒng)賬戶密碼安全問題包括DNS劫持、XSS漏洞竊取用戶信息數(shù)據(jù)以及密碼的存儲安全等問題[4]。網(wǎng)站訪問結(jié)構(gòu)如圖1所示。
DNS是網(wǎng)站服務(wù)器運(yùn)行維護(hù)中的一項(xiàng)重要內(nèi)容,當(dāng)一個用戶使用某一個瀏覽器訪問百度搜索引擎時,用戶所使用的瀏覽器會首先通過DNS服務(wù)器找出百度搜索引擎的IP地址,然后通過IP地址訪問服務(wù)器[5]。簡單來說,用戶通過瀏覽器訪問到的目標(biāo)信息是IP地址所在服務(wù)器提供的。域名解析流程如圖2所示。
從圖2中可以看出,用戶在使用互聯(lián)網(wǎng)獲取目標(biāo)信息的過程中,如果DNS將一個不存在的虛假IP地址傳輸至用戶,那么用戶會在不知情的情況下點(diǎn)擊進(jìn)入不法分子所設(shè)置的虛假網(wǎng)站,而且這個虛假網(wǎng)站不容易被用戶發(fā)覺。這種提供虛假IP地址,讓用戶在使用互聯(lián)網(wǎng)時不知情地掉入不法分子陷阱的情況就是DNS劫持。目前,一些小型的運(yùn)營商,通常會通過使用DNS劫持技術(shù)強(qiáng)制將用戶訪問目標(biāo)網(wǎng)站的請求劫持到運(yùn)營商的服務(wù)器上[6]。例如,在工作中常常見到的彈窗廣告等,就是通過截獲用戶賬戶密碼信息來給用戶計(jì)算機(jī)推送廣告的,此外在青島出現(xiàn)的聯(lián)通運(yùn)營商劫持百度搜索事件也是通過DNS劫持實(shí)現(xiàn)的。針對DNS劫持事件,需要借助政府力量,增強(qiáng)對運(yùn)營商的監(jiān)管力度。
XSS攻擊又叫做跨站腳本攻擊,是利用Web安全漏洞所進(jìn)行的一種網(wǎng)絡(luò)信息賬號密碼攻擊[7]。安全漏洞的出現(xiàn)使得攻擊者可以利用惡意代碼侵入Web用戶使用者。當(dāng)用戶點(diǎn)開攻擊者所發(fā)送的URL時,用戶計(jì)算機(jī)就會遭受到惡意代碼攻擊。資料顯示,XSS漏洞是目前互聯(lián)網(wǎng)中最多的漏洞之一,且自21世紀(jì)初期,XSS漏洞逐年上升,已經(jīng)成為當(dāng)下一種較大范圍網(wǎng)站所遭受到的問題。按照XSS漏洞的攻擊特性,可以將XSS漏洞分為持久性與非持久性兩種。
用戶在進(jìn)行網(wǎng)絡(luò)賬戶登錄的過程中,輸入的賬號和密碼等均存儲在網(wǎng)站數(shù)據(jù)庫服務(wù)器中。DBA和開發(fā)人員等可以輕易獲取這些信息,如果該網(wǎng)站在運(yùn)營過程中出現(xiàn)了安全漏洞,那么這些漏洞一旦被不法分子獲取,將會對網(wǎng)站和用戶等造成嚴(yán)重的隱私信息泄露安全事件,而采用明文存儲方式存在較大的安全隱患[9]。例如,2011年出現(xiàn)的某知名IT網(wǎng)站6×106名用戶明文密碼被泄露。對用戶賬戶和密碼等信息進(jìn)行加密處理,本質(zhì)上是為了提升網(wǎng)絡(luò)信息系統(tǒng)的安全性。目前,大多數(shù)網(wǎng)站通常會采用不可逆散列算法MD5存儲用戶的賬號和密碼等信息。表1為原始密碼與MD5對應(yīng)表,通過反查MD5之后的散列值就能夠查詢出原始密碼。
表1 原始密碼與MD5對應(yīng)表
為有效增強(qiáng)用戶網(wǎng)絡(luò)賬戶密碼的安全性與破解難度,運(yùn)營商開始通過增加鹽值的形式來增強(qiáng)用戶賬戶密碼等信息存儲的安全性。但通過增加鹽值并不表明用戶網(wǎng)絡(luò)賬戶密碼的安全性就萬無一失。資料顯示,網(wǎng)絡(luò)賬戶密碼使用率較高的密碼存在著較高的重合度,如數(shù)字123456789是用戶常用的排行前十的密碼。不法分子通過對MD5散列后密碼庫進(jìn)行概率統(tǒng)計(jì),并結(jié)合曝光出來的密碼庫,能夠較為容易地猜測出將那些采用使用率高的密碼作為自己賬戶密碼用戶的原始密碼[10]。因此,為提升用戶網(wǎng)絡(luò)賬戶密碼等信息儲存的安全性,一般不對原始密碼信息進(jìn)行存儲。即使不同用戶采用的網(wǎng)絡(luò)賬號密碼是一致的,在數(shù)據(jù)庫中所呈現(xiàn)的儲存特征也不一樣,可通過增加字典破解難度提升安全性。
分布式多層結(jié)構(gòu)是由傳統(tǒng)C/S與B/S模式演變而成的,結(jié)構(gòu)如圖3所示。
圖3 結(jié)構(gòu)示意圖
分布式多層結(jié)構(gòu)的工作模式在安全性提升方面有著明顯效果,其中客戶端不能直接訪問數(shù)據(jù)服務(wù)器,因此使得攻擊者不能通過客戶端直接攻擊數(shù)據(jù)服務(wù)器。
3.2.1 加密算法
分布式多層結(jié)構(gòu)應(yīng)用系統(tǒng)的客戶端用戶復(fù)雜,所以如果使用簽名機(jī)制算法不僅可以最大限度地提升密碼安全性,而且可以有效解決加密速度問題,因此常常使用RSA算法來對網(wǎng)絡(luò)用戶賬號密碼等信息作加密處理。RSA算法在實(shí)踐中存在著兩個明顯的缺點(diǎn):一是受到素?cái)?shù)產(chǎn)生影響,不能完全做到一次一秘;二是RSA算法中的密鑰長度過高,加密速度較慢。攻擊RSA的方法主要有選擇密文攻擊和公共模數(shù)攻擊兩種,其中選擇密文攻擊是攻擊者將攻擊信息通過一定的偽裝,采用欺騙的形式獲取實(shí)體簽署并獲取目標(biāo)信息,而公共模數(shù)攻擊是將公共模數(shù)進(jìn)行分解后通過計(jì)算獲取信息。在實(shí)踐中,為有效地規(guī)避RSA算法的缺點(diǎn),常常通過以下方案進(jìn)行優(yōu)化[11]。一是實(shí)現(xiàn)隨機(jī)素?cái)?shù),將生成的大量素?cái)?shù)存儲至系統(tǒng)數(shù)據(jù)庫,當(dāng)需要生成密鑰時,隨機(jī)地在數(shù)據(jù)庫中抽取一個記作a,并在生成的密鑰端將硬件參數(shù)特征進(jìn)行提取。二是產(chǎn)生較少的密鑰數(shù)據(jù),這也就保證了密鑰長度過長時依然可以保持較高的加密速度。三是選擇密文攻擊,通過實(shí)體公鑰同時加密兩個信息數(shù)據(jù),其中一個為實(shí)體需要的密碼數(shù)據(jù),另一個為標(biāo)識實(shí)體合法身份的信息數(shù)據(jù)。
3.2.2 實(shí)現(xiàn)流程
系統(tǒng)密碼主要包括網(wǎng)絡(luò)用戶登錄時發(fā)出的請求、用戶注冊或密碼變更以及權(quán)限的分配等。(1)用戶登錄請求。當(dāng)用戶通過瀏覽器客戶端向網(wǎng)絡(luò)服務(wù)終端發(fā)出登錄請求后,應(yīng)用服務(wù)器將從數(shù)據(jù)服務(wù)器中提取出一個特征素?cái)?shù),獲取相應(yīng)的本地硬件參數(shù),并將這些信息數(shù)據(jù)轉(zhuǎn)化成數(shù)字信息,基于數(shù)字信息計(jì)算得出距離最近的素?cái)?shù)p和q,生成密鑰。其中公鑰傳輸至客戶端,并加密用戶的登錄賬號和密碼等身份信息,之后將加密處理后的信息傳輸至應(yīng)用服務(wù)器進(jìn)行校驗(yàn)。(2)用戶權(quán)限分配。在身份信息校驗(yàn)后,用戶才能夠獲取相應(yīng)的授權(quán)。(3)用戶注冊及密碼變更。用戶通過瀏覽器客戶端向服務(wù)器終端發(fā)出注冊或者更換密碼請求信息,應(yīng)用服務(wù)器從數(shù)據(jù)服務(wù)器中提取出一個特征素?cái)?shù),獲取相應(yīng)的本地硬件參數(shù),并將這些信息數(shù)據(jù)轉(zhuǎn)化成數(shù)字信息,基于數(shù)字信息計(jì)算得出距離最近的素?cái)?shù)生成密鑰,對用戶身份信息進(jìn)行加密,之后將加密處理后的信息傳輸至應(yīng)用服務(wù)器進(jìn)行解密處理,確認(rèn)用戶身份信息。如果經(jīng)確認(rèn)用戶身份合法,那么更換使用其他算法進(jìn)行注冊加密或密碼變更,然后將經(jīng)加密處理后的信息依然存儲在數(shù)據(jù)服務(wù)器。在該過程中,為了最大限度地降低系統(tǒng)設(shè)計(jì)的復(fù)雜程度,在采用更換算法時不再使用簽名機(jī)制算法。
互聯(lián)網(wǎng)系統(tǒng)的開放性,導(dǎo)致眾多互聯(lián)網(wǎng)公司技術(shù)水平存在較大的差異。由于缺乏完全統(tǒng)一的安全標(biāo)準(zhǔn),而且沒有專門的互聯(lián)網(wǎng)安全檢驗(yàn)機(jī)構(gòu),導(dǎo)致用戶在使用互聯(lián)網(wǎng)技術(shù)時不可避免會遇到不安全現(xiàn)象。潛在的互聯(lián)網(wǎng)信息系統(tǒng)賬戶密碼安全問題不僅對每一個互聯(lián)網(wǎng)用戶產(chǎn)生了較大影響,而且還事關(guān)著每一個互聯(lián)網(wǎng)公司的自身安全,因此有必要研究互聯(lián)網(wǎng)信息系統(tǒng)的賬戶密碼安全技術(shù),為互聯(lián)網(wǎng)安全保駕護(hù)航。