S/Key:物美價(jià)廉的身份驗(yàn)證解決方案
身份認(rèn)證,是任何網(wǎng)絡(luò)安全方案的一個(gè)基礎(chǔ)。如在大部分情況下,需要認(rèn)證的實(shí)體是通信的發(fā)送者,即需要確定訪(fǎng)問(wèn)者的合法性問(wèn)題。在特定的情況下,還需要對(duì)接收者進(jìn)行認(rèn)證,即要被訪(fǎng)問(wèn)者的真實(shí)性問(wèn)題。在安全性
身份認(rèn)證,是任何網(wǎng)絡(luò)安全方案的一個(gè)基礎(chǔ)。如在大部分情況下,需要認(rèn)證的實(shí)體是通信的發(fā)送者,即需要確定訪(fǎng)問(wèn)者的合法性問(wèn)題。在特定的情況下,還需要對(duì)接收者進(jìn)行認(rèn)證,即要被訪(fǎng)問(wèn)者的真實(shí)性問(wèn)題。在安全性級(jí)別比較高的時(shí)候,往往需要進(jìn)行雙向認(rèn)證。同時(shí),還要考慮只認(rèn)證終端設(shè)備即可,還是需要在認(rèn)證終端設(shè)備的時(shí)候,同時(shí)去認(rèn)證用戶(hù)的合法性問(wèn)題。這些都牽涉到身份驗(yàn)證方案。
現(xiàn)在可行的身份驗(yàn)證方案有很多。如基于安全口令的身份驗(yàn)證或者基于數(shù)字證書(shū)的身份驗(yàn)證等等。不過(guò)有些方案要么過(guò)于簡(jiǎn)單,存在比較多的漏洞。如雖然很多人喜歡利用口令來(lái)作為用戶(hù)認(rèn)證或者設(shè)備證明,但是如果口令設(shè)置很簡(jiǎn)單,或者不經(jīng)常更改的話(huà),甚至以明文形式在網(wǎng)絡(luò)上傳輸,則很容易被人破解。另外一些解決方案就是過(guò)濾復(fù)雜,實(shí)施成本比較高。如基于數(shù)字證書(shū)的身份驗(yàn)證,則實(shí)施起來(lái)有一定的難度。
筆者現(xiàn)在在企業(yè)中部署的是一種物美價(jià)廉的身份驗(yàn)證解決方案。其也許不是一種最安全的身份驗(yàn)證方法,但是它是一種性?xún)r(jià)比比較高的解決方法。它就是S/Key一次性口令系統(tǒng)。
S/Key一次性口令系統(tǒng)是一個(gè)基于MD4 和MD5的一次性口令生成方案。他可以對(duì)訪(fǎng)問(wèn)者的身份與設(shè)備進(jìn)行綜合驗(yàn)證。S/Key協(xié)議的操作時(shí)基于客戶(hù)端/服務(wù)器端模式。客戶(hù)端可以是任何設(shè)備,如普通的PC或者是有移動(dòng)商務(wù)功能的手機(jī)。而服務(wù)器一般都是運(yùn)行Unix系統(tǒng)。
筆者之所以向大家推薦這個(gè)解決方案,主要有兩個(gè)方面的原因。一是這個(gè)身份認(rèn)證解決方案,可以有效解決重放攻擊。重放攻擊是指攻擊者通過(guò)某種方式在網(wǎng)絡(luò)連接中獲取他人的登陸賬戶(hù)與口令,然后利用它多某個(gè)網(wǎng)絡(luò)資源的訪(fǎng)問(wèn)權(quán)限。而現(xiàn)在S/Key協(xié)議分配給訪(fǎng)問(wèn)者的口令每次都不同,所以,就可以有效解決口令泄漏問(wèn)題。因此,可以避免重放攻擊。
其次,現(xiàn)在有不少基于這個(gè)解決方案的免費(fèi)工具,也非常的實(shí)用。所以,有一定基礎(chǔ)的安全管理人員,可以非常方便的掌握這個(gè)解決方案。如此的話(huà),這個(gè)S/Key解決方案對(duì)于企業(yè)來(lái)說(shuō),可能是免費(fèi)的?;蛘咧恍枰砑右恍┯布矫娴耐顿Y即可。
一、三步實(shí)現(xiàn)S/Key身份認(rèn)證。
其實(shí)從理論上說(shuō),S/Key身份認(rèn)證很容易實(shí)現(xiàn),只要通過(guò)三個(gè)步驟就可以輕易實(shí)現(xiàn)。
第一步:連接請(qǐng)求人在客戶(hù)端上,往往就是用戶(hù)自己的主機(jī),輸入賬戶(hù)名。若利用S/Key的專(zhuān)業(yè)術(shù)語(yǔ),這個(gè)用戶(hù)名又叫做通行短語(yǔ)。當(dāng)用戶(hù)打開(kāi)這個(gè)客戶(hù)端,S/Key服務(wù)器也同時(shí)傳送過(guò)來(lái)一個(gè)種子。這個(gè)種子往往是以明文的形式傳輸。
第二步:客戶(hù)端會(huì)多次應(yīng)用安全哈希函數(shù),產(chǎn)生一個(gè)64位的安全性口令。通常情況下,客戶(hù)端會(huì)進(jìn)行多達(dá)98次的哈希函數(shù)運(yùn)算,以提高口令的安全性,增加其破譯難度。哈希是一種加密校驗(yàn)和或消息完整性代碼 (MIC) ,每一方都必須通過(guò)計(jì)算才能驗(yàn)證消息。例如,發(fā)送計(jì)算機(jī)使用哈希函數(shù)和共享密鑰計(jì)算消息的校驗(yàn)和,并在數(shù)據(jù)包中將其包含進(jìn)來(lái)。接收計(jì)算機(jī)必須對(duì)接收的消息和共享密鑰執(zhí)行同樣的哈希函數(shù),并將其與原始消息(包含在發(fā)送方的數(shù)據(jù)包中)加以比較。如果消息已經(jīng)在傳輸過(guò)程中更改,哈希值會(huì)不同,將拒收數(shù)據(jù)包。所以,哈希運(yùn)算本身就是一種安全的口令計(jì)算方法。若通過(guò)98次的運(yùn)算而得出的口令,可以說(shuō),其安全程度是非常高的。
第三步:輸出函數(shù)會(huì)把這個(gè)64位的一次性口令以明文的形式顯示給用戶(hù)。然后用戶(hù)在登陸界面中輸入這個(gè)一次性口令。登陸程序就會(huì)把這個(gè)口令傳遞給登陸服務(wù)器,服務(wù)器就會(huì)對(duì)此進(jìn)行驗(yàn)證。若一致的話(huà),用戶(hù)則就可以進(jìn)行正常的訪(fǎng)問(wèn)。否則的話(huà),服務(wù)器就會(huì)拒絕用戶(hù)登陸。不過(guò)讓用戶(hù)手工輸入64位的密碼可能會(huì)比較吃力。所以,有些S/Key工具,提供了直接復(fù)制粘貼的功能,避免了用戶(hù)手工輸入的麻煩。
二、缺陷:需要手工進(jìn)行初始化。
一般在S/KEY服務(wù)器上有一個(gè)文件,它存儲(chǔ)著每個(gè)用戶(hù)上一次成功登陸的一次性口令。服務(wù)器端在進(jìn)行驗(yàn)證的時(shí)候,會(huì)把接收到的一次性口令輸入到安全哈希函數(shù)中進(jìn)行運(yùn)算。如果運(yùn)算出來(lái)的結(jié)果跟上一次的一次性口令一致的話(huà),認(rèn)證就成功了。然后服務(wù)器就會(huì)把這個(gè)一次性口令存入到這個(gè)表中,等待下一次驗(yàn)證。
但是,當(dāng)用戶(hù)沒(méi)進(jìn)行一次登陸,則客戶(hù)端執(zhí)行哈希函數(shù)應(yīng)用程序的個(gè)數(shù)就會(huì)減少一個(gè)。也就是說(shuō),在客戶(hù)端上生成的一次性口令是有限的,而不是無(wú)限制的。S/Key就是通過(guò)這種方式保證口令的唯一性??墒?,這也會(huì)造成用戶(hù)的困擾,如當(dāng)一次性口令用完時(shí),就需要用戶(hù)對(duì)S/Key服務(wù)進(jìn)行初始化,以避免用戶(hù)不能夠重復(fù)登陸的情況。
當(dāng)在客戶(hù)端計(jì)算一次性口令時(shí),客戶(hù)端通行短語(yǔ)可以是任意長(zhǎng)度,不過(guò)為了安全起見(jiàn),我們建議最好長(zhǎng)度超過(guò)8個(gè)字符。這些內(nèi)容都可以在初始化的時(shí)候進(jìn)行設(shè)置。若要把設(shè)備認(rèn)人證與身份認(rèn)證結(jié)合,則可以把設(shè)備的一個(gè)序列好,如MAC地質(zhì)等當(dāng)作通行短語(yǔ)。如此的話(huà),就只有在特定的設(shè)備上才能夠登陸企業(yè)的某個(gè)網(wǎng)絡(luò)應(yīng)用。
三、建議:根據(jù)企業(yè)的安全需求選擇不同的商業(yè)化產(chǎn)品。
以上只是S/Key 的基本解決方案。若采用免費(fèi)產(chǎn)品的話(huà),基本上只能夠?qū)崿F(xiàn)如上的一些基本功能。企業(yè)若在安全方面還有比較高的要求,則可以購(gòu)買(mǎi)一些商業(yè)化的產(chǎn)品,來(lái)強(qiáng)化S/Key一次性口令在企業(yè)中的使用價(jià)值。
如有時(shí)候管理員會(huì)覺(jué)得每次要輸入一次性口令會(huì)比較麻煩,而且也不想通過(guò)復(fù)制占鐵的方式。則企業(yè)就可以購(gòu)買(mǎi)一些商業(yè)的軟件,他們可以實(shí)現(xiàn)自動(dòng)登陸。也就是說(shuō),會(huì)自動(dòng)把這個(gè)哈希函數(shù)計(jì)算所得的長(zhǎng)達(dá)64位的一次性口令輸入登陸框中,以減少用戶(hù)輸入的工作量。這在實(shí)際應(yīng)用中,是很受歡迎的一個(gè)功能。
另外,根據(jù)使用頻率的不同,每次都需要手工的對(duì)客戶(hù)端進(jìn)行初始化,也是一件很讓人懊惱的事情。在一些商業(yè)的S/Key解決方案中,也實(shí)現(xiàn)了客戶(hù)端的自動(dòng)初始化功能。如可以每隔一個(gè)月或者半年,讓系統(tǒng)自動(dòng)進(jìn)行初始化。這個(gè)頻率就要企業(yè)根據(jù)自己的使用情況來(lái)確定。當(dāng)然,也可以讓系統(tǒng)在一次性密碼用完之后自動(dòng)初始化。
現(xiàn)在可行的身份驗(yàn)證方案有很多。如基于安全口令的身份驗(yàn)證或者基于數(shù)字證書(shū)的身份驗(yàn)證等等。不過(guò)有些方案要么過(guò)于簡(jiǎn)單,存在比較多的漏洞。如雖然很多人喜歡利用口令來(lái)作為用戶(hù)認(rèn)證或者設(shè)備證明,但是如果口令設(shè)置很簡(jiǎn)單,或者不經(jīng)常更改的話(huà),甚至以明文形式在網(wǎng)絡(luò)上傳輸,則很容易被人破解。另外一些解決方案就是過(guò)濾復(fù)雜,實(shí)施成本比較高。如基于數(shù)字證書(shū)的身份驗(yàn)證,則實(shí)施起來(lái)有一定的難度。
筆者現(xiàn)在在企業(yè)中部署的是一種物美價(jià)廉的身份驗(yàn)證解決方案。其也許不是一種最安全的身份驗(yàn)證方法,但是它是一種性?xún)r(jià)比比較高的解決方法。它就是S/Key一次性口令系統(tǒng)。
S/Key一次性口令系統(tǒng)是一個(gè)基于MD4 和MD5的一次性口令生成方案。他可以對(duì)訪(fǎng)問(wèn)者的身份與設(shè)備進(jìn)行綜合驗(yàn)證。S/Key協(xié)議的操作時(shí)基于客戶(hù)端/服務(wù)器端模式。客戶(hù)端可以是任何設(shè)備,如普通的PC或者是有移動(dòng)商務(wù)功能的手機(jī)。而服務(wù)器一般都是運(yùn)行Unix系統(tǒng)。
筆者之所以向大家推薦這個(gè)解決方案,主要有兩個(gè)方面的原因。一是這個(gè)身份認(rèn)證解決方案,可以有效解決重放攻擊。重放攻擊是指攻擊者通過(guò)某種方式在網(wǎng)絡(luò)連接中獲取他人的登陸賬戶(hù)與口令,然后利用它多某個(gè)網(wǎng)絡(luò)資源的訪(fǎng)問(wèn)權(quán)限。而現(xiàn)在S/Key協(xié)議分配給訪(fǎng)問(wèn)者的口令每次都不同,所以,就可以有效解決口令泄漏問(wèn)題。因此,可以避免重放攻擊。
其次,現(xiàn)在有不少基于這個(gè)解決方案的免費(fèi)工具,也非常的實(shí)用。所以,有一定基礎(chǔ)的安全管理人員,可以非常方便的掌握這個(gè)解決方案。如此的話(huà),這個(gè)S/Key解決方案對(duì)于企業(yè)來(lái)說(shuō),可能是免費(fèi)的?;蛘咧恍枰砑右恍┯布矫娴耐顿Y即可。
一、三步實(shí)現(xiàn)S/Key身份認(rèn)證。
其實(shí)從理論上說(shuō),S/Key身份認(rèn)證很容易實(shí)現(xiàn),只要通過(guò)三個(gè)步驟就可以輕易實(shí)現(xiàn)。
第一步:連接請(qǐng)求人在客戶(hù)端上,往往就是用戶(hù)自己的主機(jī),輸入賬戶(hù)名。若利用S/Key的專(zhuān)業(yè)術(shù)語(yǔ),這個(gè)用戶(hù)名又叫做通行短語(yǔ)。當(dāng)用戶(hù)打開(kāi)這個(gè)客戶(hù)端,S/Key服務(wù)器也同時(shí)傳送過(guò)來(lái)一個(gè)種子。這個(gè)種子往往是以明文的形式傳輸。
第二步:客戶(hù)端會(huì)多次應(yīng)用安全哈希函數(shù),產(chǎn)生一個(gè)64位的安全性口令。通常情況下,客戶(hù)端會(huì)進(jìn)行多達(dá)98次的哈希函數(shù)運(yùn)算,以提高口令的安全性,增加其破譯難度。哈希是一種加密校驗(yàn)和或消息完整性代碼 (MIC) ,每一方都必須通過(guò)計(jì)算才能驗(yàn)證消息。例如,發(fā)送計(jì)算機(jī)使用哈希函數(shù)和共享密鑰計(jì)算消息的校驗(yàn)和,并在數(shù)據(jù)包中將其包含進(jìn)來(lái)。接收計(jì)算機(jī)必須對(duì)接收的消息和共享密鑰執(zhí)行同樣的哈希函數(shù),并將其與原始消息(包含在發(fā)送方的數(shù)據(jù)包中)加以比較。如果消息已經(jīng)在傳輸過(guò)程中更改,哈希值會(huì)不同,將拒收數(shù)據(jù)包。所以,哈希運(yùn)算本身就是一種安全的口令計(jì)算方法。若通過(guò)98次的運(yùn)算而得出的口令,可以說(shuō),其安全程度是非常高的。
第三步:輸出函數(shù)會(huì)把這個(gè)64位的一次性口令以明文的形式顯示給用戶(hù)。然后用戶(hù)在登陸界面中輸入這個(gè)一次性口令。登陸程序就會(huì)把這個(gè)口令傳遞給登陸服務(wù)器,服務(wù)器就會(huì)對(duì)此進(jìn)行驗(yàn)證。若一致的話(huà),用戶(hù)則就可以進(jìn)行正常的訪(fǎng)問(wèn)。否則的話(huà),服務(wù)器就會(huì)拒絕用戶(hù)登陸。不過(guò)讓用戶(hù)手工輸入64位的密碼可能會(huì)比較吃力。所以,有些S/Key工具,提供了直接復(fù)制粘貼的功能,避免了用戶(hù)手工輸入的麻煩。
二、缺陷:需要手工進(jìn)行初始化。
一般在S/KEY服務(wù)器上有一個(gè)文件,它存儲(chǔ)著每個(gè)用戶(hù)上一次成功登陸的一次性口令。服務(wù)器端在進(jìn)行驗(yàn)證的時(shí)候,會(huì)把接收到的一次性口令輸入到安全哈希函數(shù)中進(jìn)行運(yùn)算。如果運(yùn)算出來(lái)的結(jié)果跟上一次的一次性口令一致的話(huà),認(rèn)證就成功了。然后服務(wù)器就會(huì)把這個(gè)一次性口令存入到這個(gè)表中,等待下一次驗(yàn)證。
但是,當(dāng)用戶(hù)沒(méi)進(jìn)行一次登陸,則客戶(hù)端執(zhí)行哈希函數(shù)應(yīng)用程序的個(gè)數(shù)就會(huì)減少一個(gè)。也就是說(shuō),在客戶(hù)端上生成的一次性口令是有限的,而不是無(wú)限制的。S/Key就是通過(guò)這種方式保證口令的唯一性??墒?,這也會(huì)造成用戶(hù)的困擾,如當(dāng)一次性口令用完時(shí),就需要用戶(hù)對(duì)S/Key服務(wù)進(jìn)行初始化,以避免用戶(hù)不能夠重復(fù)登陸的情況。
當(dāng)在客戶(hù)端計(jì)算一次性口令時(shí),客戶(hù)端通行短語(yǔ)可以是任意長(zhǎng)度,不過(guò)為了安全起見(jiàn),我們建議最好長(zhǎng)度超過(guò)8個(gè)字符。這些內(nèi)容都可以在初始化的時(shí)候進(jìn)行設(shè)置。若要把設(shè)備認(rèn)人證與身份認(rèn)證結(jié)合,則可以把設(shè)備的一個(gè)序列好,如MAC地質(zhì)等當(dāng)作通行短語(yǔ)。如此的話(huà),就只有在特定的設(shè)備上才能夠登陸企業(yè)的某個(gè)網(wǎng)絡(luò)應(yīng)用。
三、建議:根據(jù)企業(yè)的安全需求選擇不同的商業(yè)化產(chǎn)品。
以上只是S/Key 的基本解決方案。若采用免費(fèi)產(chǎn)品的話(huà),基本上只能夠?qū)崿F(xiàn)如上的一些基本功能。企業(yè)若在安全方面還有比較高的要求,則可以購(gòu)買(mǎi)一些商業(yè)化的產(chǎn)品,來(lái)強(qiáng)化S/Key一次性口令在企業(yè)中的使用價(jià)值。
如有時(shí)候管理員會(huì)覺(jué)得每次要輸入一次性口令會(huì)比較麻煩,而且也不想通過(guò)復(fù)制占鐵的方式。則企業(yè)就可以購(gòu)買(mǎi)一些商業(yè)的軟件,他們可以實(shí)現(xiàn)自動(dòng)登陸。也就是說(shuō),會(huì)自動(dòng)把這個(gè)哈希函數(shù)計(jì)算所得的長(zhǎng)達(dá)64位的一次性口令輸入登陸框中,以減少用戶(hù)輸入的工作量。這在實(shí)際應(yīng)用中,是很受歡迎的一個(gè)功能。
另外,根據(jù)使用頻率的不同,每次都需要手工的對(duì)客戶(hù)端進(jìn)行初始化,也是一件很讓人懊惱的事情。在一些商業(yè)的S/Key解決方案中,也實(shí)現(xiàn)了客戶(hù)端的自動(dòng)初始化功能。如可以每隔一個(gè)月或者半年,讓系統(tǒng)自動(dòng)進(jìn)行初始化。這個(gè)頻率就要企業(yè)根據(jù)自己的使用情況來(lái)確定。當(dāng)然,也可以讓系統(tǒng)在一次性密碼用完之后自動(dòng)初始化。
責(zé)任編輯:和碩涵
免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與本站無(wú)關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
我要收藏
個(gè)贊
-
發(fā)電電力輔助服務(wù)營(yíng)銷(xiāo)決策模型
2019-06-24電力輔助服務(wù)營(yíng)銷(xiāo) -
電力線(xiàn)路安全工作的組織措施和技術(shù)措施分別是什么?
-
兩會(huì)保電進(jìn)行時(shí)丨陜西電力部署6項(xiàng)重點(diǎn)任務(wù)
-
電力線(xiàn)路安全工作的組織措施和技術(shù)措施分別是什么?
-
兩會(huì)保電進(jìn)行時(shí)丨陜西電力部署6項(xiàng)重點(diǎn)任務(wù)
-
山東特高壓首次完成帶電消缺 確保電力安全穩(wěn)定迎峰度冬
-
發(fā)電電力輔助服務(wù)營(yíng)銷(xiāo)決策模型
2019-06-24電力輔助服務(wù)營(yíng)銷(xiāo) -
繞過(guò)安卓SSL驗(yàn)證證書(shū)的四種方式
-
網(wǎng)絡(luò)何以可能
2017-02-24網(wǎng)絡(luò)
-
Windows 10首發(fā) 四大安全提升
-
超級(jí)安卓漏洞 “寄生獸”影響數(shù)千萬(wàn)手機(jī)應(yīng)用
-
航空公司首出現(xiàn)操作系統(tǒng)被黑
2015-06-23航空公司
-
“企業(yè)應(yīng)急響應(yīng)和反滲透”之真實(shí)案例分析
-
攜程恢復(fù)正常 安全,我們準(zhǔn)備好了嗎?
2015-05-29攜程 -
一張圖讀懂《2014年消費(fèi)者個(gè)人信息網(wǎng)絡(luò)安全報(bào)告》