【正文】
在此基礎(chǔ)上,利用OpenLDAP的訪問控制機(jī)制實(shí)現(xiàn)了對(duì)各種網(wǎng)絡(luò)應(yīng)用服務(wù)的授權(quán)訪問。該架構(gòu)的主體是Kerberos認(rèn)證系統(tǒng)與LDAP目錄服務(wù)系統(tǒng),當(dāng)用戶訪問某種網(wǎng)絡(luò)服務(wù)時(shí),首先通過Kerberos的認(rèn)證,登錄到LDAP目錄服務(wù)系統(tǒng),然后LDAP可以通過其ACL驗(yàn)證用戶是否擁有訪問該服務(wù)的權(quán)限。如果ACL的允許他訪問該項(xiàng)目,那么他就可以取到這個(gè)網(wǎng)絡(luò)應(yīng)用服務(wù)的IP,端口號(hào)等必要的訪問信息,就可以登錄到該網(wǎng)絡(luò)應(yīng)用服務(wù)了。服務(wù)器將使用SASL庫調(diào)用,從服務(wù)ticket中解析出身份和域信息,并將它們轉(zhuǎn)換成一個(gè)如下格式的驗(yàn)證請(qǐng)求DN:uid=username,=realm,=mechanism,=auth若用戶名稱為“adamson”,認(rèn)證請(qǐng)求DN將是:uid=ADAMSON,=,=KERBEROS,=AUTH該認(rèn)證請(qǐng)求DN可以被放到訪問控制列表ACL中。id能被用于隨后的ldap_result()函數(shù)調(diào)用,以獲得操作的結(jié)果。結(jié)果和錯(cuò)誤被返回到一個(gè)稱作LDAPMessage的不透明結(jié)構(gòu)中。關(guān)于其詳細(xì)使用方法,可以參見官方網(wǎng)站,這里不再贅述。應(yīng)該將它設(shè)置為將要?jiǎng)?chuàng)建的子樹的rootDN。OpenLDAP支持多種后臺(tái)數(shù)據(jù)庫,缺省的數(shù)據(jù)庫是SleepCat的LDBM,OpenLDAP服務(wù)器有兩個(gè)獨(dú)立的服務(wù)器進(jìn)程:slapd和slurpd。若通過了對(duì)客戶的認(rèn)證,就發(fā)送認(rèn)證成功信息并繼續(xù)提供正常的遠(yuǎn)程登錄服務(wù),否則發(fā)送認(rèn)證失敗信息并切斷連接接收來自服務(wù)方的認(rèn)證應(yīng)答信息。可以通過下述方法將網(wǎng)絡(luò)應(yīng)用加入到Kerberos環(huán)境中:1 改網(wǎng)絡(luò)應(yīng)用的客戶端和服務(wù)器端程序,加入發(fā)送、接收和處理Kerberos認(rèn)證信息及后續(xù)信息處理的代碼。krb5_sendauth()客戶端程序利用此函數(shù)來向服務(wù)器方發(fā)送認(rèn)證的票據(jù)。krb5_cc_get_principal()此函數(shù)用來獲取證書緩存中的主體信息,通過調(diào)用krb5_free_Principal()來釋放內(nèi)存。krb5_auth_con_init(/*OUT*/krb5_auth_context*auth_context)此函數(shù)用來初始化auth_context的信息,包括與各種認(rèn)證例程相關(guān)的所有數(shù)據(jù)。為了不涉及過多的編程細(xì)節(jié),主要給出一些關(guān)鍵的API函數(shù)的名稱及其主要作用。l 創(chuàng)建數(shù)據(jù)庫在主KDC上使用kdb5_util程序來創(chuàng)建數(shù)據(jù)庫和可選的stash文件。下面介紹其在Linux操作系統(tǒng)下的安裝與配置。OpenLDAP使用獨(dú)立進(jìn)程slurpd實(shí)現(xiàn)目錄復(fù)制服務(wù),可以通過結(jié)合slurpd和slapd的配置文件設(shè)計(jì)復(fù)制策略。DIT的根節(jié)點(diǎn)是一個(gè)沒有實(shí)際意義的虛根,樹上的節(jié)點(diǎn)被稱為條目(Entry),是樹狀信息中的基本數(shù)據(jù)單元。1. 協(xié)議模型LDAP協(xié)議采用的通用協(xié)議模型是一個(gè)由客戶端(Client)發(fā)起操作的客戶端/服務(wù)器(Server)響應(yīng)模型。1988年開發(fā)的Version 4是公諸于眾的第一個(gè)版本,它是分布式計(jì)算環(huán)境(DCE)框架的組成部分,已在一些Unix系統(tǒng)中應(yīng)用過。這種認(rèn)證方案的安全性依賴于智能卡,由于智能卡本身提供硬件保護(hù)措施和加密算法,因此它既不易被偽造,也不能被直接讀取數(shù)據(jù),可以利用這些功能加強(qiáng)系統(tǒng)整體的安全性能。由于這些特征不會(huì)丟失、被盜或忘記,因此適用于對(duì)用戶身份的鑒別和認(rèn)證。通過身份認(rèn)證,通信雙方可以相互驗(yàn)證身份,從而保證雙方都能夠與合法的授權(quán)用戶進(jìn)行通信。認(rèn)證機(jī)制主要是認(rèn)證系統(tǒng)所采用的認(rèn)證方式和認(rèn)證協(xié)議,用于安全連接建立前通訊雙方身份的識(shí)別,從而保障接收方接收到的數(shù)據(jù)確實(shí)是由發(fā)送方發(fā)送的。當(dāng)PAM服務(wù)模塊完成相應(yīng)的認(rèn)證操作之后,將結(jié)果返回給應(yīng)用接口層,然后由PAM API根據(jù)具體的配置文件將此應(yīng)答返回給應(yīng)用程序?qū)?。其在?shí)現(xiàn)上采用了分層的體系結(jié)構(gòu),將各種具體的認(rèn)證模塊從應(yīng)用程序中獨(dú)立出來,使得認(rèn)證機(jī)制與應(yīng)用程序之間相對(duì)獨(dú)立。本課程設(shè)計(jì)所搭建的用戶認(rèn)證與應(yīng)用授權(quán)系統(tǒng)包括服務(wù)器端、客戶端兩部分,分別介紹如下:服務(wù)器端⑴配置Kerberos的服務(wù)器端,作為Kerberos的密鑰分發(fā)中心(KDC),完成AS認(rèn)證服務(wù)和TGS票據(jù)授權(quán)服務(wù),并將網(wǎng)絡(luò)應(yīng)用服務(wù)進(jìn)行Kerberos化,實(shí)現(xiàn)用戶登錄網(wǎng)絡(luò)應(yīng)用服務(wù)的Kerberos認(rèn)證;⑵配置OpenLDAP的服務(wù)器端,作為用戶身份管理的核心數(shù)據(jù)庫,利用其目錄管理功能實(shí)現(xiàn)對(duì)用戶信息的管理,并利用其訪問控制列表(ACL)實(shí)現(xiàn)應(yīng)用的授權(quán);⑶利用SASL機(jī)制實(shí)現(xiàn)Kerberos系統(tǒng)與OpenLDAP系統(tǒng)的結(jié)合,并實(shí)現(xiàn)兩者數(shù)據(jù)庫的匹配,完成用戶認(rèn)證與應(yīng)用授權(quán)系統(tǒng)的模塊架構(gòu)。OpenLDAP目錄服務(wù)系統(tǒng)完成用戶信息的存儲(chǔ)以及相應(yīng)權(quán)限的設(shè)置。因此,將更多安全性更高的認(rèn)證機(jī)制擴(kuò)展到PAM的底層鑒別模塊中,可以增強(qiáng)Linux操作系統(tǒng)的安全性。輕量級(jí)目錄訪問協(xié)議(LDAP)作為目前廣泛應(yīng)用的目錄訪問協(xié)議,可以實(shí)現(xiàn)授權(quán)管理、網(wǎng)絡(luò)用戶管理、電子政務(wù)目錄體系等服務(wù)。PAM機(jī)制可以用來動(dòng)態(tài)地改變身份驗(yàn)證的方法和要求,允許身份認(rèn)證模塊按需要被加載到內(nèi)核中,模塊在加入后即可用于對(duì)用戶進(jìn)行身份認(rèn)證,而不需要重新編譯其它公用程序。不僅穩(wěn)定可靠,而且還具有良好的兼容性、可移植性。并搭建了Kerberos認(rèn)證系統(tǒng),實(shí)現(xiàn)了用戶登錄的Kerberos認(rèn)證、網(wǎng)絡(luò)應(yīng)用的Kerberos化;搭建了OpenLDAP目錄服務(wù)系統(tǒng),并利用SASL機(jī)制實(shí)現(xiàn)了其與Kerberos認(rèn)證系統(tǒng)的結(jié)合。(2)學(xué)生按要求編寫課程設(shè)計(jì)報(bào)告書,能正確闡述設(shè)計(jì)和實(shí)驗(yàn)結(jié)果。利用可信平臺(tái)模塊(TPM)對(duì)Kerberos協(xié)議及其藍(lán)本Needham—Schroeder協(xié)議進(jìn)行了改進(jìn),增強(qiáng)了它們的安全性。課程設(shè)計(jì)成績(jī)?cè)u(píng)定學(xué) 院 計(jì)算機(jī)與通信工程 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí) 計(jì)算機(jī)063 班 學(xué) 號(hào) 200650080309 學(xué)生姓名 廖正磊 指導(dǎo)教師 王艷華 課程成績(jī) 完成日期 2009年5月22日 指導(dǎo)教師對(duì)學(xué)生在課程設(shè)計(jì)中的評(píng)價(jià)評(píng)分項(xiàng)目?jī)?yōu)良中及格不及格課程設(shè)計(jì)中的創(chuàng)造性成果學(xué)生掌握課程內(nèi)容的程度課程設(shè)計(jì)完成情況課程設(shè)計(jì)動(dòng)手能力文字表達(dá)學(xué)習(xí)態(tài)度規(guī)范要求課程設(shè)計(jì)論文的質(zhì)量指導(dǎo)教師對(duì)課程設(shè)計(jì)的評(píng)定意見綜合成績(jī) 指導(dǎo)教師簽字 年 月 日基于Linux的用戶認(rèn)證與授權(quán)系統(tǒng)的研究實(shí)現(xiàn)學(xué)生姓名:廖正磊 指導(dǎo)老師:王艷華摘 要 本課程設(shè)計(jì)在對(duì)可信計(jì)算的體系結(jié)構(gòu)、Linux的安全機(jī)制、現(xiàn)有的認(rèn)證協(xié)議等深入研究的基礎(chǔ)上,提出了基于Linux操作系統(tǒng)的用戶認(rèn)證與應(yīng)用授權(quán)的架構(gòu),并最終完成了整個(gè)系統(tǒng)的搭建。 build the OpenLDAP directory service system, and the use of SASL mechanisms with a bination of Kerberos authentication system. On this basis, the use of OpenLDAP access control mechanisms on the application of a variety of network services, unauthorized access. Prepared to use our client application interface, the user can plete authentication and authorization process of the above. The system of information security as part of practical innovation platform, has been applied to the practice of information security aspects of teaching, but also can be used in party and government organs of office automation and collaboration of office to protect the security of government network.Key words Authentication;Directory Service;Authorization目 錄1引言 1 1 2 22用戶認(rèn)證與授權(quán)方案概述 5 Linux的安全機(jī)制 5 Kerberos認(rèn)證系統(tǒng) 9 輕量級(jí)目錄訪問協(xié)議 103用戶認(rèn)證與授權(quán)方案的研究與實(shí)現(xiàn) 14 14 20 Kerberos認(rèn)證系統(tǒng)與OpenLDAP的結(jié)合 23 實(shí)現(xiàn)訪問控制 24 客戶端應(yīng)用接口的編寫 25參考文獻(xiàn) 28結(jié)束語 2929 / 381引言 Linux是一個(gè)類UNIX的多用戶、多任務(wù)、功能強(qiáng)大的操作系統(tǒng)。目前,UNIX下的一種新的安全機(jī)制已被開發(fā)并且在Linux中實(shí)現(xiàn)。目前廣泛應(yīng)用的版本是其第五版本Kerberos V5。 用戶認(rèn)證與應(yīng)用授權(quán)是安全機(jī)制的前提,基于Linux操作系統(tǒng),深入研究用戶認(rèn)證與應(yīng)用授權(quán)機(jī)制,不僅可以深入理解現(xiàn)有的安全機(jī)制,隨著研究的深入,也可以發(fā)現(xiàn)其現(xiàn)有安全機(jī)制的問題所在。該系統(tǒng)可以應(yīng)用于信息安全教學(xué)、信息安全系統(tǒng)的開發(fā)與實(shí)現(xiàn),并將應(yīng)用于黨政機(jī)關(guān)辦公自動(dòng)化與協(xié)同辦公,保護(hù)黨政內(nèi)網(wǎng)的安全,具有實(shí)用意義與創(chuàng)新意義。學(xué)習(xí)現(xiàn)有的認(rèn)證協(xié)議,著重分析Kerberos