Kerberos協(xié)議和DES加密算法在電子郵件服務(wù)認(rèn)證設(shè)計(jì)與實(shí)現(xiàn)中的應(yīng)用
【摘要】 電子郵件以其快速、便捷、有效、可信的特點(diǎn),成為現(xiàn)代社會(huì)信息溝通重要方式。但電子郵件傳輸信息的過(guò)程中,常發(fā)生電子郵件信息泄密、欺詐或攜帶木馬病毒的事件。這些事件已嚴(yán)重威脅到電子郵件服務(wù)器系統(tǒng)的正常運(yùn)行和服務(wù),對(duì)用戶形成了極大的信息安全隱患,甚至造成了嚴(yán)重的經(jīng)濟(jì)損失。因此,很有必要通過(guò)研究電子郵件傳輸過(guò)程中的脆弱性和威脅點(diǎn),來(lái)有效避免上述情況發(fā)生。本文通過(guò)對(duì)Kerberos協(xié)議和DES加密算法的研究,在深入分析電子郵件傳輸過(guò)程和Kerberos協(xié)議的基礎(chǔ)上,提出并設(shè)計(jì)一種新的Kerberos協(xié)議實(shí)現(xiàn)的模型算法,并通過(guò)將這種新的Kerberos協(xié)議模型算法導(dǎo)入電子郵件傳輸過(guò)程中,確保電子郵件在傳輸信息過(guò)程中的有效性和安全性。本文主要做了如下工作:1.研究Kerberos協(xié)議內(nèi)容要求及其實(shí)現(xiàn)方法,提出并實(shí)現(xiàn)了一個(gè)新的Kerberos算法。在該算法模型中加入時(shí)間戳和有效期管控因子,以保證在電子郵件服務(wù)過(guò)程中的信息不被冒用或抵賴否認(rèn)。2.研究并實(shí)現(xiàn)了Kerberos認(rèn)證過(guò)程中信息流的加解密模塊。通過(guò)對(duì)比分析對(duì)稱加密算法和非對(duì)稱加密算法的優(yōu)缺點(diǎn),選擇已經(jīng)過(guò)國(guó)際安全性驗(yàn)證的DES算法作為實(shí)現(xiàn)認(rèn)證過(guò)程中信息流加解密模塊的算法。3.研究Kerberos數(shù)據(jù)輸入輸出的格式規(guī)范化設(shè)計(jì)問(wèn)題,提出通過(guò)采用ASN.1基本編碼規(guī)則中的TLV格式來(lái)對(duì)本文中所要加密的數(shù)據(jù)信息流進(jìn)行格式化處理,以消除在加解密過(guò)程中可能出現(xiàn)的錯(cuò)誤情況。4.研究基于Kerberos協(xié)議和DES加密算法的電子郵件服務(wù)認(rèn)證模擬實(shí)現(xiàn)的過(guò)程,主要包括身份認(rèn)證階段的流程實(shí)現(xiàn)、票據(jù)授權(quán)階段流程實(shí)現(xiàn)和電子郵件服務(wù)階段流程實(shí)現(xiàn)等過(guò)程。本文最終設(shè)計(jì)出一個(gè)新的Kerberos協(xié)議算法實(shí)現(xiàn)模型,成功將其應(yīng)用到了電子郵件系統(tǒng)進(jìn)行身份認(rèn)證及票據(jù)授權(quán),并通過(guò)DES加解密算法對(duì)身份認(rèn)證及通信數(shù)據(jù)進(jìn)行加解密,圓滿完成了本文所要達(dá)成的目標(biāo)。
第一章 緒 論
1.1 本文研究的背景及意義
隨著計(jì)算機(jī)技術(shù)的出現(xiàn),給人們?nèi)粘I詈凸ぷ鲙?lái)了巨大的便利和影響。特別是進(jìn)入 20 世紀(jì) 90 年代以后,伴隨著科學(xué)技術(shù)理論發(fā)展、特種高新材料的應(yīng)用、精密電子元器件以及印制電路制造技術(shù)的高速發(fā)展,世界計(jì)算機(jī)技術(shù)有了突飛猛進(jìn)的發(fā)展和進(jìn)步[1]。計(jì)算機(jī)技術(shù)發(fā)展的同時(shí),也帶動(dòng)了通信技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展;ヂ(lián)網(wǎng)從最初的軍方和校園實(shí)驗(yàn)室中,發(fā)展到如今各個(gè)國(guó)家互聯(lián)在一起的國(guó)際性綜合互聯(lián)網(wǎng)絡(luò)。
最初的互聯(lián)網(wǎng)絡(luò)系統(tǒng)中主要是以單機(jī)形式存在的,網(wǎng)絡(luò)模式采用的是集中式分布網(wǎng)絡(luò)。而隨著技術(shù)不斷進(jìn)步,以及教育科研機(jī)構(gòu)對(duì)計(jì)算機(jī)和網(wǎng)絡(luò)的需要不斷提高,逐漸產(chǎn)生了分布式網(wǎng)絡(luò)系統(tǒng)。分布式網(wǎng)絡(luò)系統(tǒng)相比于集中式的網(wǎng)絡(luò)系統(tǒng),具有非常明顯的優(yōu)勢(shì)。分布式網(wǎng)絡(luò)系統(tǒng)具有性能高效、實(shí)時(shí)控制、通信快捷、資源共享和風(fēng)險(xiǎn)分散等優(yōu)點(diǎn),反映了當(dāng)今信息社會(huì)計(jì)算機(jī)系統(tǒng)網(wǎng)絡(luò)的發(fā)展趨勢(shì)。隨著分布式網(wǎng)絡(luò)系統(tǒng)被更多的機(jī)構(gòu)和個(gè)人使用,人們也同時(shí)發(fā)現(xiàn)了一些存在于分布式網(wǎng)絡(luò)系統(tǒng)中的安全問(wèn)題。這些問(wèn)題主要集中在如何保障分布式網(wǎng)絡(luò)系統(tǒng)中各個(gè)主機(jī)的信息安全?如何保障網(wǎng)絡(luò)通訊過(guò)程中信息流的保密性、完整性和可用性?
上述的安全問(wèn)題產(chǎn)生的根本原因是,在分布式網(wǎng)絡(luò)設(shè)計(jì)和創(chuàng)建的過(guò)程中,人們只是單純的考慮到如何保障網(wǎng)絡(luò)通訊過(guò)程中更加快速、更加便捷的問(wèn)題,而沒(méi)有考慮到分布式網(wǎng)絡(luò)系統(tǒng)中存在哪些安全漏洞?這些安全漏洞容易遭受哪些方面的惡意滲透或攻擊。由于這些問(wèn)題遲遲沒(méi)有得到有效解決,造成了分布式網(wǎng)絡(luò)系統(tǒng)被頻繁惡意攻擊的次數(shù)越來(lái)越多。一旦這些分布式系統(tǒng)遭受惡意攻擊,無(wú)論這些攻擊是來(lái)自外部還是內(nèi)部,都會(huì)對(duì)分布式網(wǎng)絡(luò)系統(tǒng)本身的安全以及用戶的隱私和信息安全帶來(lái)極大的影響和損失。
隨著現(xiàn)代科學(xué)技術(shù)的不斷發(fā)展,信息技術(shù)也在不斷的發(fā)展和應(yīng)用,從更深層次的廣度和寬度影響和改變著人類對(duì)信息技術(shù)的認(rèn)知。同樣,信息安全的問(wèn)題也在被越來(lái)越多的安全專家和學(xué)者所重視。而信息安全的內(nèi)涵,也從最開(kāi)始的只是注重信息的保密性,進(jìn)而發(fā)展到關(guān)注信息的可用性和完整性。同時(shí),在信息安全體系推進(jìn)和發(fā)展的過(guò)程中,人們通過(guò)實(shí)踐進(jìn)一步提出,信息安全的可追溯性、不可抵賴性、通訊雙方的身份驗(yàn)證等問(wèn)題,也是信息安全領(lǐng)域需要重視的問(wèn)題。通過(guò)對(duì)理論和實(shí)踐的不斷研究,人們總結(jié)了許多關(guān)于信息安全領(lǐng)域的“攻(攻擊)、防(防范)、測(cè)(檢測(cè))、控(控制)、管(管理)、評(píng)(評(píng)估)”等多方面的基礎(chǔ)理論和實(shí)施技術(shù)[2]。同時(shí)世界上主要的安全廠商也都針對(duì)于分布式網(wǎng)絡(luò)系統(tǒng)中信息安全問(wèn)題研發(fā)了對(duì)應(yīng)的安全產(chǎn)品,這些產(chǎn)品主要包括信息加密、入侵檢測(cè)、防病毒、身份認(rèn)證等各個(gè)方面和領(lǐng)域。
結(jié)合信息安全管理理論和保障信息系統(tǒng)通訊安全的技術(shù)發(fā)展來(lái)看,身份認(rèn)證技術(shù)(Authentication Technology)是保護(hù)分布式網(wǎng)絡(luò)系統(tǒng)通訊過(guò)程中非常重要的安全手段之一。目前所有的分布式網(wǎng)絡(luò)通訊過(guò)程建立連接的前提是,需要所有的通訊方身份進(jìn)行合法性驗(yàn)證,從而保障通訊過(guò)程中的信息保密和網(wǎng)絡(luò)安全性。
因此,應(yīng)用身份認(rèn)證技術(shù)的主要目的,就是要驗(yàn)證分布式網(wǎng)絡(luò)通訊過(guò)程中所有通訊方的身份信息,防止網(wǎng)絡(luò)通訊過(guò)程中傳輸?shù)男畔⒈环欠ㄓ脩魫阂獾母`取和攻擊。正式基于此作用,身份認(rèn)證技術(shù)已經(jīng)成為最重要的,也是最基本的分布式網(wǎng)絡(luò)系統(tǒng)通訊服務(wù)之一。
正式基于上述的重要作用,身份認(rèn)證系統(tǒng)一旦其本身遭遇安全威脅或惡意攻擊,又或者是身份認(rèn)證技術(shù)本身的實(shí)現(xiàn)技術(shù)和理論存在重大安全隱患,那么我們所使用的系統(tǒng)及網(wǎng)絡(luò)通訊的所有安全措施將形同虛設(shè),毫無(wú)安全性可言。因此,身份認(rèn)證技術(shù)本身的安全設(shè)計(jì)強(qiáng)度決定了分布式系統(tǒng)中網(wǎng)絡(luò)通訊過(guò)程的安全強(qiáng)度。
電子郵件應(yīng)用是自互聯(lián)網(wǎng)大規(guī)模商用之后最早的網(wǎng)絡(luò)通訊應(yīng)用之一。雖然網(wǎng)絡(luò)通訊技術(shù)日新月異,網(wǎng)絡(luò)通訊軟件及應(yīng)用如雨后春筍般不斷涌現(xiàn),但是電子郵件應(yīng)用仍被公認(rèn)為最有效、最便捷的網(wǎng)絡(luò)通訊應(yīng)用之一。隨著網(wǎng)絡(luò)通訊技術(shù)的發(fā)展和電子郵件開(kāi)發(fā)商的不斷努力,目前電子郵件的功能越來(lái)越豐富,世界上使用電子郵件的人數(shù)也越來(lái)越多。據(jù) 2012 年 CNNIC 的調(diào)查結(jié)果顯示,我國(guó)全部互聯(lián)網(wǎng)用戶已經(jīng)超過(guò) 5 億,而電子郵箱賬戶已超過(guò) 8 億。也就是說(shuō),我國(guó)平均每個(gè)互聯(lián)網(wǎng)用戶擁有 1.6 個(gè)電子郵箱[3]。時(shí)至今日,電子郵件已經(jīng)發(fā)展成為政府、教育、金融、服務(wù)等行業(yè)最基本、最普遍的網(wǎng)絡(luò)通訊工具。
.............................
1.2 當(dāng)前身份認(rèn)證的研究與應(yīng)用
在進(jìn)行本文深入探討主題之前,我們有必要了解一下什么是身份認(rèn)證,有哪些身份認(rèn)證的技術(shù)和實(shí)現(xiàn)方式,當(dāng)前世界對(duì)于身份認(rèn)證及其技術(shù)的研究和應(yīng)用已經(jīng)發(fā)展到什么樣的程度。
身份認(rèn)證從本質(zhì)上講,就是通訊的雙方必須對(duì)彼此的身份合法性進(jìn)行驗(yàn)證,確保通訊雙方就是彼此需要進(jìn)行信息傳輸和交互的對(duì)象。身份認(rèn)證要保證在網(wǎng)絡(luò)中進(jìn)行傳輸?shù)男畔⒉槐凰朔欠ǐ@取和攻擊,從技術(shù)實(shí)現(xiàn)角度來(lái)看就是要需要進(jìn)行認(rèn)證的一方能夠采取有效的途徑和方法,使得認(rèn)證授權(quán)的一方確認(rèn)他確實(shí)擁有那些信息。
身份認(rèn)證技術(shù)是應(yīng)用系統(tǒng)安全的第一道關(guān)口,是所有安全的基礎(chǔ)。目前身份認(rèn)證技術(shù)可以分為三大類:基于口令的身份認(rèn)證技術(shù),基于信物的身份認(rèn)證技術(shù)和基于生物特征的身份認(rèn)證技術(shù)[5]。
基于口令的身份認(rèn)證技術(shù)主要是根據(jù)你所知道的信息來(lái)證明你的身份(whatyou know;即,你知道什么?);例如你自己的口令密碼、設(shè)置的問(wèn)題答案等等信息。這種身份認(rèn)證形式,也就是我們常說(shuō)的“基于口令的認(rèn)證方式”。
(2)根據(jù)你所擁有的東西來(lái)證明你的身份(what you have;即,你有什么?);假設(shè)某一件東西只有你本人擁有,如 IC 卡、USB-Key、單位數(shù)字證書(shū)等,通過(guò)出示這個(gè)東西也可以確認(rèn)你的身份。這種身份認(rèn)證形式,也就是我們常說(shuō)的“基于信物的認(rèn)證方式”。
(3)直接根據(jù)獨(dú)一無(wú)二的身體特征來(lái)證明你的身份(who you are;即,你是誰(shuí)?),比如指紋、面貌等。這種身份認(rèn)證形式,也就是我們常說(shuō)的“基于生物特征的認(rèn)證方式”。
下面就這三種主要身份認(rèn)證形式進(jìn)行理解和闡述:
(1)基于口令的認(rèn)證方式——
在日常工作和生活中使用最多的身份認(rèn)證技術(shù),就是基于口令的認(rèn)證技術(shù)。例如 A 和 B(A 表示被認(rèn)證的對(duì)象;B 表示提供服務(wù)的認(rèn)證方),當(dāng) A 要求訪問(wèn)系統(tǒng)時(shí),B 則要求 A 出具正確的系統(tǒng)登陸所必須的賬號(hào)口令。B 收到 A 提交的賬號(hào)口令以后,將其與自己賬號(hào)口令數(shù)據(jù)庫(kù)中的賬號(hào)口令進(jìn)行一致性比對(duì),如果兩者比對(duì)相符,則 B 就認(rèn)為 A 就是合法的用戶。這種基于口令的認(rèn)證方式的有點(diǎn)顯而易見(jiàn),主要是簡(jiǎn)單、快捷、便于用戶操作和接受。
但是基于口令的認(rèn)證方式也存在較大的安全隱患。在上述的舉例中,一旦 A的賬號(hào)口令被有意或無(wú)意的泄露,或者是 B 系統(tǒng)數(shù)據(jù)庫(kù)被攻擊導(dǎo)致賬號(hào)口令被人非法竊取,那么這種認(rèn)證方式的安全性就被徹底破壞和失效。而且這種方式的認(rèn)證是單向的,而非雙向認(rèn)證,F(xiàn)在我們假設(shè)有一個(gè)攻擊者仿冒成 B 系統(tǒng),其要求A 向其提交賬戶和密碼,理由是要對(duì) A 進(jìn)行身份驗(yàn)證;但是 A 卻無(wú)法對(duì)攻擊者進(jìn)行身份驗(yàn)證。在這種情況下,一旦 A 將賬戶口令提交給攻擊者,那么攻擊者就可以使用 A 的賬戶口令去訪問(wèn)真正的 B 系統(tǒng)來(lái)獲取 A 的數(shù)據(jù)信息,從而造成 A 的數(shù)據(jù)信息外泄[6]。
基于口令的身份認(rèn)證技術(shù)因?yàn)槭褂煤?jiǎn)單、便捷,從而得到了廣泛應(yīng)用。但是隨著網(wǎng)絡(luò)技術(shù)和應(yīng)用的不斷變化和深入,攻擊者所使用的攻擊水平越來(lái)越高,攻擊手段也越來(lái)越多樣,傳統(tǒng)的基于口令的身份認(rèn)證技術(shù)已經(jīng)不能滿足現(xiàn)有的身份安全認(rèn)證的需要[7]。這也迫使基于口令的身份認(rèn)證技術(shù)必須保持發(fā)展和更新。目前比較典型的代表就是靜態(tài)口令技術(shù)和動(dòng)態(tài)口令技術(shù)。
................................
第二章 背景知識(shí)
2.1 Kerberos 協(xié)議簡(jiǎn)介
Kerberos 身份認(rèn)證服務(wù)協(xié)議最早是由美國(guó)麻省理工學(xué)院(MIT)組織開(kāi)發(fā)的一個(gè)項(xiàng)目。經(jīng)過(guò)人們對(duì)該協(xié)議的不斷應(yīng)用和實(shí)踐,至今 Kerberos 協(xié)議已經(jīng)歷過(guò)幾次重大的換版更新。Kerberos 協(xié)議本身是一種應(yīng)用于開(kāi)放式網(wǎng)絡(luò)環(huán)境,基于可信任第三方的 TCP/IP(Transmission Control Protocol 傳輸控制協(xié)議/Internet Protocol 網(wǎng)際協(xié)議)網(wǎng)絡(luò)安全認(rèn)證協(xié)議,其認(rèn)證模型基于 Needham-Schroeder,以加密為基礎(chǔ),對(duì)用戶及網(wǎng)絡(luò)連接進(jìn)行認(rèn)證,提供增強(qiáng)網(wǎng)絡(luò)安全的服務(wù)。
麻省理工學(xué)院最早為 Kerberos 協(xié)議開(kāi)發(fā)過(guò)一套計(jì)算機(jī)網(wǎng)絡(luò)安全系統(tǒng)。這個(gè)Kerberos 系統(tǒng)采用了用戶端+系統(tǒng)服務(wù)器的結(jié)構(gòu),同時(shí)使用了 DES 加密技術(shù),并且能夠它們之間可以進(jìn)行相互認(rèn)證,即用戶端和系統(tǒng)服務(wù)器都可以要求對(duì)雙方的身份進(jìn)行認(rèn)證。這種雙向的身份認(rèn)證模式可以用于需要進(jìn)行防止竊聽(tīng)、replay 攻擊和保護(hù)數(shù)據(jù)完整性等場(chǎng)合。而在加密技術(shù)的使用上,Kerberos 安全系統(tǒng)使用的是一種應(yīng)用對(duì)稱密鑰體制進(jìn)行密鑰管理的系統(tǒng)。當(dāng)然,Kerberos 安全系統(tǒng)也可以使用公開(kāi)密鑰加密模式,以滿足對(duì)更高安全級(jí)別的身份認(rèn)證需求。
目前 Kerberos 協(xié)議共有五個(gè)協(xié)議版本,而版本 1-3 都只有麻省理工內(nèi)部發(fā)行。第四版本的 Kerberos 協(xié)議發(fā)布于 1980 年,其協(xié)議的主要設(shè)計(jì)者是 Steve Miller 和Clifford Neuman。第五版本的 Kerberos 協(xié)議發(fā)布于 1993 年,其協(xié)議的主要設(shè)計(jì)者是 John Kohl 和 Clifford Neuman,由 RFC 1510 頒布。第五版本的 Kerberos 協(xié)議主要是從模型設(shè)計(jì)上解決了第四版本的 Kerberos 協(xié)議的局限性和安全隱患。
麻省理工學(xué)院于 2007 年組織成立了一個(gè) Kerberos 協(xié)會(huì),目的是不斷推動(dòng)Kerberos 協(xié)議在世界范圍內(nèi)的應(yīng)用和持續(xù)發(fā)展。
Windows2000 和后續(xù)的操作系統(tǒng)都默認(rèn) Kerberos 為其最基本和標(biāo)準(zhǔn)的認(rèn)證方法。而 RFC 3244 則記錄和整理了 Microsoft 的一些對(duì) Kerberos 協(xié)議軟件包的添加。蘋果的 Mac OS X,以及 Red Hat Enterprise Linux4 和后續(xù)的操作系統(tǒng),也都使用了第五版本的 Kerberos 協(xié)議,以增強(qiáng)其在身份認(rèn)證過(guò)程中的安全性。
IETF 的工作小組在 2005 年對(duì) Kerberos 協(xié)議做了更新后的說(shuō)明規(guī)范,最近的更新包括:“加密和校驗(yàn)和細(xì)則”(RFC 3961),以及“針對(duì) Kerberos 版本 5 的高級(jí)加密算法(AES)加密”(RFC 3962)[22]。
Kerberos 協(xié)議在設(shè)計(jì)之初,就已經(jīng)考慮到在分布式網(wǎng)絡(luò)通訊傳輸過(guò)程中對(duì)信息安全的保密問(wèn)題。經(jīng)過(guò)前五代版本的發(fā)展和更新,最新版本的 Kerberos 協(xié)議在對(duì)用戶訪問(wèn)系統(tǒng)服務(wù)前的身份驗(yàn)證、提供通訊各方共享密鑰服務(wù)等方面,都提供了很強(qiáng)大的安全保護(hù)措施和控制機(jī)制。一個(gè)優(yōu)秀的 Kerberos 協(xié)議實(shí)現(xiàn)過(guò)程,必須要保證通訊各方及所有通訊數(shù)據(jù)的安全性、可靠性、操作透明性以及系統(tǒng)可擴(kuò)充性。
本文將重點(diǎn)研究 Kerberos 身份認(rèn)證協(xié)議在電子郵件服務(wù)通訊傳輸過(guò)程中的安全性分析、安全性設(shè)計(jì)、安全性論證,并對(duì)其進(jìn)行模擬實(shí)現(xiàn)。
.............................
2.2 郵件服務(wù)器工作模式
互聯(lián)網(wǎng)(Internet)中基于 TCP/IP 協(xié)議的電子郵件系統(tǒng)采用的是客戶端/服務(wù)器工作模式[28]。整個(gè)系統(tǒng)的核心是電子郵件服務(wù)器,在電子郵件服務(wù)器提供服務(wù)過(guò)程中,需要運(yùn)行各種郵件傳輸協(xié)議。下面我們兩個(gè)電子郵件收發(fā)者 Lu 和 Wan 通過(guò)互聯(lián)網(wǎng)傳輸電子郵件的過(guò)程為例,來(lái)說(shuō)明電子郵件系統(tǒng)是如何工作的,需要使用到哪些協(xié)議。
如圖 2-3 所示,是用戶 Lu 要通過(guò)互聯(lián)網(wǎng)(Internet)給用戶 Wan 發(fā)送電子郵件的傳輸過(guò)程示意圖。假設(shè)使用主機(jī) 1 進(jìn)行工作的用戶 Lu 在互聯(lián)網(wǎng) Internet 上的電子郵件服務(wù)器 1 中擁有的電子郵件地址為 Lu@sz.edu,而在使用主機(jī) 2 進(jìn)行工作的用戶 Wan 在互聯(lián)網(wǎng) Internet 上的電子郵件服務(wù)器 2 中擁有的電子郵件地址為Wan@gz.edu,并且主機(jī) 1 和主機(jī) 2 操作系統(tǒng)中均安裝有電子郵件的應(yīng)用程序,現(xiàn)在假設(shè)用戶 Lu 通過(guò)用戶主機(jī) 1 給用戶 Wan 在互聯(lián)網(wǎng) Internet 中的主機(jī) 2 發(fā)送電子郵件,則電子郵件傳輸過(guò)程及原理模型可用圖 2-4 表示為:
如下是對(duì)電子郵件傳輸原理模型的過(guò)程說(shuō)明:
(1)使用主機(jī) 1 進(jìn)行工作的用戶 Lu 先將電子郵件的內(nèi)容編寫好。電子郵件的內(nèi)容主要有收件人 Wan 的收件地址、電子郵件的主題、電子郵件的正文,以及有可能添加的附件文檔。
(2)用戶 Lu 在自己使用的電腦主機(jī) 1 上將上述郵件發(fā)送信息編輯好之后,通過(guò)安裝在電腦主機(jī) 1 上的電子郵件應(yīng)用程序發(fā)送該郵件。在電子郵件的應(yīng)用程序中,有一個(gè)模塊叫做 SMTP 協(xié)議模塊,它的主要功能是幫助用戶完成電子郵件的傳出工作。
(3)主機(jī) 1 上的電子郵件 SMTP 客戶進(jìn)程將會(huì)按照電子郵件應(yīng)用程序設(shè)置規(guī)則,申請(qǐng)與電子郵件服務(wù)器 1 建立連接線路。一旦電子郵件服務(wù)器 1 同意與 SMTP客戶進(jìn)程建立連接后,SMTP 客戶進(jìn)程將按照既定的程序設(shè)置將用戶 Lu 的電子郵件傳輸?shù)诫娮余]件服務(wù)器 1 中。
(4)而對(duì)電子郵件服務(wù)器 1 來(lái)說(shuō),在收到了用戶 Lu 從電腦主機(jī) 1 中傳輸過(guò)來(lái)的電子郵件內(nèi)容后,它首先要分析電子郵件內(nèi)容中的電子郵件收件人地址信息,然后通過(guò)與本電子郵件服務(wù)器所管轄內(nèi)的電子郵件用戶列表進(jìn)行信息比對(duì)。如果比對(duì)結(jié)果一致,則電子郵件服務(wù)器 1 就將這封電子郵件存放在電子郵件收件人信箱中;如果是比對(duì)結(jié)果不一致,那么電子郵件服務(wù)器 1 就將這封電子郵件“打回原籍”,重新交還給到電子郵件服務(wù)器 1 上的 SMTP 客戶進(jìn)程進(jìn)行處理。
(5)電子郵件服務(wù)器 1 上的客戶進(jìn)程向本地服務(wù)器申請(qǐng)一個(gè)臨時(shí)端口號(hào)后,開(kāi)始根據(jù)電子郵件正文內(nèi)容中注明的電子郵件目標(biāo)地址,檢索自己的服務(wù)器路由列表。如果檢索的結(jié)果發(fā)現(xiàn),該收件人信箱所在的電子郵件服務(wù)器是位于互聯(lián)網(wǎng)上電子郵件服務(wù)器 2 中的地址信箱,則電子郵件服務(wù)器 1 向電子郵件服務(wù)器 2 發(fā)出建立連接的請(qǐng)求。如果電子郵件服務(wù)器 2 同意與電子郵件服務(wù)器 1 建立起連接線路,則電子郵件服務(wù)器 1 開(kāi)始將該此封電子郵件按 SMTP 協(xié)議的要求傳輸?shù)诫娮余]件服務(wù)器 2。
(6)電子郵件服務(wù)器 2 在收到電子郵件服務(wù)器 1 推送過(guò)來(lái)的郵件后,再按該電子郵件正文內(nèi)容中注明的電子郵件目標(biāo)地址,檢索并標(biāo)記收件人的用戶名 Wan,同時(shí)將該郵件存入該目標(biāo)收件人的電子郵箱中。至此,用戶 Lu 編輯好的要發(fā)送給用戶 Wan 的電子郵件信息傳輸就告一段落了。
...............................
第三章 KERBEROS 身份認(rèn)證系統(tǒng)的設(shè)計(jì)...............................................23
3.1 在郵件系統(tǒng)中加載 KERBEROS 協(xié)議必要性分析 ......................................23
3.2 設(shè)計(jì)一個(gè) KERBEROS 認(rèn)證服務(wù)的初步設(shè)想 ..............................................24
3.3 KERBEROS 認(rèn)證服務(wù)的具體設(shè)計(jì) ...............................................25
3.3.1 加載認(rèn)證端.................................................... 25
3.3.2 消除用戶密鑰明文傳輸安全隱患.............................................. 27
3.3.3 服務(wù)票據(jù)的安全性設(shè)計(jì).................................................. 28
3.3.4 過(guò)程完善設(shè)計(jì)................................................... 30
第四章 郵件服務(wù) Kerberos 化的模擬實(shí)現(xiàn)
基于以上的討論,我認(rèn)為開(kāi)發(fā)工具應(yīng)該選用 VC++比較好。原因首先是自己對(duì)VC++這個(gè)語(yǔ)言接觸的比較多,便于自己上手;其次是 VC++語(yǔ)言是基于面向?qū)ο蟮某绦蜷_(kāi)發(fā)工具,有非常清晰的結(jié)構(gòu)化模塊;最后就是 VC++調(diào)試功能很強(qiáng),并且可以查詢 MSDN 庫(kù),比較方便和實(shí)用。因此,后續(xù)的系統(tǒng)主要模塊的開(kāi)發(fā)和實(shí)現(xiàn)的過(guò)程都將使用 VC++工具來(lái)進(jìn)行。
4.1 系統(tǒng)主要模塊分析
4.1.1加解密模塊
如上述第三章節(jié)對(duì) Kerberos 認(rèn)證系統(tǒng)服務(wù)的安全性討論結(jié)果,本次設(shè)計(jì)的這套 Kerberos 身份認(rèn)證服務(wù)系統(tǒng)的安全性,主要是基于密鑰的安全性。因此,如何選擇使用合適的加密算法,對(duì)此次模擬實(shí)現(xiàn)的過(guò)程安全性至關(guān)重要。
本次設(shè)計(jì)中要選取的加密算法要具備如下幾個(gè)條件:即算法簡(jiǎn)單易懂、實(shí)現(xiàn)過(guò)程與加解密的強(qiáng)度性價(jià)比高、加解密過(guò)程速度快速、使用軟件編程比較容易實(shí)現(xiàn)。
下面部分內(nèi)容將通過(guò)分析現(xiàn)有的密碼體制現(xiàn)狀,比較相互之間的優(yōu)缺點(diǎn),來(lái)確定選擇哪一種類型的加密算法。
4.1.1.1 密碼體制的構(gòu)成與分類
依據(jù)當(dāng)今經(jīng)典密碼學(xué)理論,一個(gè)好的密碼體制一般由以下幾個(gè)部分組成:
(1)需要加密的明文“P”;
(2)經(jīng)過(guò)加密轉(zhuǎn)換得到的密文“C”;
(3)將明文加密成密文所使用的加密密鑰“Kc”;
(4)將密文解密成明文所使用的解密密鑰“Kd”;
(5)明文加密成密文的變換過(guò)程“E: P×Kc→C”;
(6)密文解密成明文的變換過(guò)程“D: C×Kd→P”;
如果將明文用 m 表示,而密文用 c 表示,則將明文加密變換成密文的加密過(guò)程 E(k,m),又可以被記為 E(m)k;而將密文解密變換成明文的解密過(guò)程 D(k,c),又可以被記為 D(c)k。假設(shè)任意的 m∈P,Dm*Ekd(m)=m成立,那我們就認(rèn)為該密碼體制具有保密性。如果還是上述的公式成立,并且將密文解密成明文的密鑰只有加密通訊的密文接收方保管,那這個(gè)密碼體制就具有身份認(rèn)證的特性。
在當(dāng)代密碼學(xué)理論中,密碼體制主要分為對(duì)稱密碼體制(symmetric keycryptosystem)和非對(duì)稱密碼體制(asymmetric key cryptosystem)[33]。所謂的對(duì)稱密碼體制是指進(jìn)行保密通訊的雙方所擁有的密鑰都是相同的,因此加密密鑰和解密密鑰都必須保密。
而在非對(duì)稱密碼體制中,進(jìn)行保密通訊的雙方所擁有的密鑰是不同的。這類密鑰其中一個(gè)稱為公鑰,公鑰可以公開(kāi)發(fā)布,任何需要和私鑰的所有者進(jìn)行通訊的一方都可以對(duì)其進(jìn)行使用;另一個(gè)稱為私鑰,私鑰是公鑰的所有者對(duì)密文進(jìn)行解密的密鑰,因此私鑰必須保密不得公開(kāi)。基于當(dāng)今對(duì)計(jì)算科學(xué)以及數(shù)論的研究結(jié)果表明,要想用公鑰推導(dǎo)出私鑰,這在理論上和計(jì)算上都是不可行的。
對(duì)稱密碼體制的特點(diǎn)是加密和解密速度一樣快,同時(shí)其保密強(qiáng)度高。但同時(shí)缺點(diǎn)也是顯而易見(jiàn)的,主要的缺點(diǎn)有:
(1)密鑰的生成者必須將所有通訊者共享的密鑰通過(guò)一個(gè)安全的途徑進(jìn)行傳送,當(dāng)通訊者的數(shù)量非常龐大時(shí),使得密鑰的分發(fā)相當(dāng)困難。
(2)一旦有一個(gè)通訊方將密鑰泄露,那么所有通訊方的信息將變得無(wú)保密性可言。
因此,基于對(duì)稱密鑰體制的優(yōu)缺點(diǎn),其通常用于大量數(shù)據(jù)的快速加解密過(guò)程。
而非對(duì)稱密碼體制的優(yōu)點(diǎn)正是解決了對(duì)稱密碼體制的缺點(diǎn)問(wèn)題,但同時(shí)其也擁有自己的缺點(diǎn):數(shù)據(jù)加密和解密速度非常緩慢,無(wú)論是用硬件還是軟件來(lái)實(shí)現(xiàn),都比對(duì)稱密鑰加密體制要復(fù)雜。
..............................
第五章 結(jié)論
此次論文研究在校方及企業(yè)導(dǎo)師的幫助下,嚴(yán)格按照前期既定的論文研究方案計(jì)劃進(jìn)行,論文研究過(guò)程順利,并順利的得出了最終演示版結(jié)果。通過(guò)此次論文研究,最終成功完成了對(duì) Kerberos 協(xié)議模型設(shè)計(jì)及 DES 加密算法的程序?qū)崿F(xiàn),同時(shí)根據(jù)實(shí)際需要,創(chuàng)造性的在 Kerberos 協(xié)議中增加時(shí)間戳和有效期兩個(gè)管控因子,解決了電子郵件信息傳送過(guò)程中被他人冒用和抵賴的問(wèn)題,使得郵件傳送過(guò)程更加安全和可信。
5.1 系統(tǒng)存在的問(wèn)題
雖然所設(shè)計(jì)的這個(gè) Kerberos 身份認(rèn)證系統(tǒng)從整體上可以保證用戶在使用電子郵件服務(wù)過(guò)程中進(jìn)行身份驗(yàn)證、獲取票據(jù)授權(quán)票以及通訊共享密鑰過(guò)程中的安全性和可靠性,但還有一些問(wèn)題需要進(jìn)行進(jìn)一步研究和細(xì)化,這些內(nèi)容主要包括:
首先,關(guān)于用戶生成可以證明自己合法用戶身份的驗(yàn)證器的問(wèn)題,雖然用戶生成了驗(yàn)證器,但是并沒(méi)有在驗(yàn)證器中定義其生命周期。而且即使用戶定義了生命周期,也會(huì)讓攻擊者利用到這個(gè)生命周期時(shí)間范圍內(nèi)對(duì) Kerberos 身份認(rèn)證服務(wù)系統(tǒng)以及電子郵件服務(wù)系統(tǒng)進(jìn)行欺騙和重放攻擊。要解決這個(gè)問(wèn)題,我們需要定義 Kerberos 身份認(rèn)證服務(wù)器需要對(duì)用戶的驗(yàn)證器只能使用一次,這樣就避免了上述安全隱患的發(fā)生。
其次,這個(gè)系統(tǒng)在設(shè)計(jì)的時(shí)候沒(méi)有考慮到拒絕服務(wù)攻擊的可能性。如果攻擊者一直在網(wǎng)絡(luò)中對(duì)通訊傳輸?shù)臄?shù)據(jù)包進(jìn)行監(jiān)聽(tīng)和截獲,即使攻擊者無(wú)法破解加密數(shù)據(jù)包信息中的內(nèi)容,攻擊者也會(huì)將這些加密數(shù)據(jù)包反復(fù)提交給 Kerberos 身份認(rèn)證服務(wù)系統(tǒng)。而 Kerberos 身份認(rèn)證系統(tǒng)就需要不斷的對(duì)這些由攻擊者提交的加密數(shù)據(jù)包進(jìn)行解密和驗(yàn)證,這種情況的直接后果是,可能導(dǎo)致 Kerberos 身份認(rèn)證服務(wù)系統(tǒng)無(wú)法及時(shí)響應(yīng)和處理合法用戶的身份驗(yàn)證請(qǐng)求,從而造成身份驗(yàn)證過(guò)程無(wú)法進(jìn)行,進(jìn)而造成整個(gè)系統(tǒng)服務(wù)的中斷。為避免上述安全隱患的發(fā)生,我們還需要在發(fā)送的信息中添加相關(guān)的控制因子,并可以根據(jù)當(dāng)前網(wǎng)絡(luò)及所需訪問(wèn)的服務(wù)情況設(shè)置有效期的時(shí)限。這樣就可以很好的解決攻擊者的拒絕服務(wù)攻擊。這也是我在本次論文研究中提出來(lái)的理論創(chuàng)新之處。
...............................
參考文獻(xiàn):
- [1] 畢志明. 基于公鑰的新型Kerberos域間認(rèn)證方案的研究[D]. 河北大學(xué) 2009
- [2] 張松林. 基于Kerberos的安全認(rèn)證模塊設(shè)計(jì)與實(shí)現(xiàn)[D]. 哈爾濱工業(yè)大學(xué) 2010
- [3] 劉錚. 基于改進(jìn)Kerberos協(xié)議的單點(diǎn)登錄系統(tǒng)研究與實(shí)現(xiàn)[D]. 重慶大學(xué) 2010
- [4] 王宇. 基于Kerberos+SSL的企業(yè)數(shù)據(jù)安全傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 大連理工大學(xué) 2013
- [5] 孫從友. 基于PKI的Kerberos統(tǒng)一認(rèn)證授權(quán)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 北京郵電大學(xué) 2012
- [6] 詹慧. 基于FeaVer的Kerberos形式化驗(yàn)證和改進(jìn)[D]. 華東理工大學(xué) 2011
- [7] 卓見(jiàn). 基于Kerberos的統(tǒng)一身份認(rèn)證與授權(quán)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 北京郵電大學(xué) 2013
- [8] 王劍柯. 基于信任與零知識(shí)證明的Kerberos跨域認(rèn)證模型[D]. 重慶大學(xué) 2010
- [9] 曹璞. 基于公鑰密碼的Kerberos認(rèn)證協(xié)議研究[D]. 浙江工業(yè)大學(xué) 2003
- [10] 孔令凡. 基于KERBEROS&ECC的遠(yuǎn)程訪問(wèn)安全研究與設(shè)計(jì)[D]. 浙江工業(yè)大學(xué) 2001
本文編號(hào):9360
本文鏈接:http://www.wukwdryxk.cn/shoufeilunwen/shuoshibiyelunwen/9360.html