摘要:信息化建設(shè)中應(yīng)用服務(wù)層出不窮,導(dǎo)致多套認(rèn)證機(jī)制,為校園網(wǎng)用戶帶來不便。本文詳細(xì)闡述了整合資源的基于LDAP的統(tǒng)一身份認(rèn)證模型,分析了LDAP認(rèn)證的優(yōu)點(diǎn)及其四種基本模型。此系統(tǒng)采用主從分離模式,提高了可用性,方便了校園網(wǎng)用戶和管理員使用,從而提高了整個(gè)信息系統(tǒng)的安全性和用戶的工作效率。
關(guān)鍵詞:身份認(rèn)證;高可用;LDAP
中圖分類號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼:A 論文編號(hào):1674-2117(2019)01-0110-03
引言
“十三五”以來,高校內(nèi)各種各樣的應(yīng)用服務(wù)層出不窮,導(dǎo)致多個(gè)系統(tǒng)擁有多套賬號(hào)和密碼,需要反復(fù)登錄才可使用。根據(jù)以上情況,筆者提出建立一個(gè)能夠服務(wù)于所有應(yīng)用的系統(tǒng),采用唯一的用戶信息數(shù)據(jù)庫(kù)系統(tǒng)對(duì)用戶信息統(tǒng)一進(jìn)行管理,每個(gè)應(yīng)用系統(tǒng)都通過該認(rèn)證系統(tǒng)來進(jìn)行用戶的身份認(rèn)證,用戶只需一次登錄就可以訪問網(wǎng)絡(luò)中各應(yīng)用系統(tǒng)相應(yīng)權(quán)限內(nèi)的資源。統(tǒng)一身份認(rèn)證系統(tǒng)通過輕量級(jí)目錄服務(wù)(LDAP)來完成身份認(rèn)證。[1]選擇采用LDAP協(xié)議,首先是因?yàn)長(zhǎng)DAP目錄服務(wù)采用一種分布式的目錄樹結(jié)構(gòu)存儲(chǔ)用戶信息,具有讀取速度快、擴(kuò)展方便的特點(diǎn)[2];其次LDAP也提供安全功能;最后,當(dāng)用戶的身份被識(shí)別后,它可以控制用戶對(duì)網(wǎng)絡(luò)資源、應(yīng)用程序及其他網(wǎng)絡(luò)服務(wù)的訪問。
LDAP認(rèn)證原理
目錄服務(wù)器是統(tǒng)一身份認(rèn)證平臺(tái)的基礎(chǔ),對(duì)用戶信息進(jìn)行統(tǒng)一管理,保證數(shù)據(jù)的一致性和完整性。通過輕量級(jí)的目錄服務(wù)協(xié)議(Lightweight Directory Access Protocol,LDAP)將各應(yīng)用系統(tǒng)的用戶或組織的信息以層次結(jié)構(gòu)、面向?qū)ο蟮臄?shù)據(jù)庫(kù)的方式加以收集和管理。[3]LDAP實(shí)現(xiàn)了指定的數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ),是一種特殊的數(shù)據(jù)庫(kù),主要任務(wù)不是數(shù)據(jù)的存儲(chǔ)和操作,并不像傳統(tǒng)的數(shù)據(jù)庫(kù)一樣支持復(fù)雜的事務(wù),它對(duì)查詢進(jìn)行了優(yōu)化,與寫性能相比LDAP的讀性能要強(qiáng)很多。[4]
LDAP是基于X.500標(biāo)準(zhǔn)的,并且可以根據(jù)需要定制,LDAP支持TCP/IP協(xié)議,因此利用LDAP服務(wù)可以設(shè)計(jì)跨平臺(tái)和應(yīng)用的統(tǒng)一身份認(rèn)證系統(tǒng),它可以在任何計(jì)算機(jī)平臺(tái)上訪問LDAP目錄。LDAP是一個(gè)安全的協(xié)議,它使用SASL(簡(jiǎn)單證明安全層)協(xié)議,提供訪問控制。LDAP通過SSL/TLS認(rèn)證機(jī)制來保護(hù)數(shù)據(jù)的完整性和私密性。所有的用戶數(shù)據(jù)在LDAP服務(wù)器中被統(tǒng)一管理,所有的應(yīng)用系統(tǒng)通過網(wǎng)絡(luò)訪問同一個(gè)用戶數(shù)據(jù)庫(kù),數(shù)據(jù)的管理和安全保證放在LDAP服務(wù)器上進(jìn)行統(tǒng)一維護(hù)。
LDAP的體系結(jié)構(gòu)由四種基本模型組成。[5]其一,信息模型,描述LDAP的信息表示方式,定義能夠在目錄中存儲(chǔ)的數(shù)據(jù)類型和基本的信息單位。在LDAP中信息以樹狀方式組織,基本數(shù)據(jù)單元是條目,每個(gè)條目由屬性構(gòu)成,屬性中存儲(chǔ)有屬性值。其二,命名模型,描述LDAP的數(shù)據(jù)如何組織。所有目錄條目按照層次模型進(jìn)行排列,它是一個(gè)分級(jí)或類似樹狀的結(jié)構(gòu),能更好地存儲(chǔ)和搜索目錄樹中的對(duì)象。目錄信息樹(Directory Information Tree,DIT)包含網(wǎng)絡(luò)環(huán)境信息,子樹能從主干上分枝。在LDAP中每個(gè)條目均有自己的標(biāo)識(shí)名(Distinguished Name,DN)和相對(duì)標(biāo)識(shí)名(Relative Distinguished Name,RDN)。DN是該條目在整個(gè)樹中的唯一名稱標(biāo)識(shí),RDN是條目在父節(jié)點(diǎn)下的唯一名稱標(biāo)識(shí)。其三,功能模型,描述LDAP的數(shù)據(jù)如何操作。在LDAP中共有查詢、更新、認(rèn)證和其他四類十種操作。其四,安全模型,主要通過身份認(rèn)證、安全通道和訪問控制來實(shí)現(xiàn)。身份認(rèn)證:被用來在客戶端和目錄服務(wù)器之間建立會(huì)話,這個(gè)會(huì)話有無保障的匿名、基于明文的密碼、基于SASL(Simple Authentication and Secure Layer)機(jī)制的加密等不同的安全級(jí)別。安全通道:在LDAP中提供了基于SSL/TLS的通信安全保障。訪問控制:為了保護(hù)敏感信息資源,LDAP目錄服務(wù)定義了一系列異常的靈活和豐富的訪問控制規(guī)則,這些規(guī)則規(guī)定了不同實(shí)體訪問目錄系統(tǒng)的權(quán)限。
高可用的安全認(rèn)證系統(tǒng)實(shí)現(xiàn)
1.開發(fā)平臺(tái)
Openldap是一款優(yōu)秀的開源軟件,提供一個(gè)跨平臺(tái)的輕量級(jí)目錄訪問服務(wù)器,能夠進(jìn)行主從備份;同時(shí)提供脫機(jī)數(shù)據(jù)庫(kù)管理工具和聯(lián)機(jī)數(shù)據(jù)庫(kù)管理工具。BDB是一個(gè)開放源代碼的內(nèi)嵌式數(shù)據(jù)庫(kù)系統(tǒng),能夠進(jìn)行高性能的事務(wù)處理,并且具有較好的可擴(kuò)展性,是Openldap缺省配備的后臺(tái)數(shù)據(jù)庫(kù)。
2.目錄設(shè)計(jì)
LDAP把對(duì)象類、屬性類型、語(yǔ)法和匹配規(guī)則統(tǒng)稱為schema。這些系統(tǒng)schema在LDAP標(biāo)準(zhǔn)中進(jìn)行了規(guī)定,不同的應(yīng)用領(lǐng)域也定義了各自不同的schema,同時(shí),用戶在應(yīng)用時(shí)也可以根據(jù)需要自定義schema。筆者利用自定義模式,針對(duì)統(tǒng)一身份認(rèn)證系統(tǒng)的數(shù)據(jù)設(shè)計(jì)需求,對(duì)目錄服務(wù)的schema設(shè)計(jì)作以如下擴(kuò)展(如圖1)。在配置文件slapd.conf文件的全局定義部分加入一行:include~/newschema.schema,即可引入新的模式文件。
LDAP是以目錄信息(Directory Information Tree,簡(jiǎn)稱DIT)為存儲(chǔ)方式的樹型存儲(chǔ)結(jié)構(gòu),DN結(jié)構(gòu)中,常用的屬性有dc(組織域名)、ou(組織單元)、cn(項(xiàng)普通名)、uid(用戶標(biāo)識(shí))。統(tǒng)一身份認(rèn)證系統(tǒng)中的目錄信息包括兩個(gè)方面的信息:用戶信息和應(yīng)用系統(tǒng)信息。節(jié)點(diǎn)的屬性包括這個(gè)人的身份信息以及一些認(rèn)證機(jī)制中用到的控制信息,應(yīng)用系統(tǒng)在注冊(cè)時(shí),根據(jù)這些信息決定用戶是否可以使用該服務(wù)。
3.功能實(shí)現(xiàn)
在LDAP的實(shí)際應(yīng)用中可根據(jù)實(shí)際需要進(jìn)行各種操作,現(xiàn)以一個(gè)添加數(shù)據(jù)項(xiàng)的操作為例進(jìn)行說明:創(chuàng)建一個(gè)屬性對(duì)象確定添加項(xiàng)的DN,創(chuàng)建LDAPEntry對(duì)象添加數(shù)據(jù)項(xiàng)(如圖2)。
4.安全機(jī)制
統(tǒng)一身份認(rèn)證系統(tǒng)中包含師生的隱私、財(cái)務(wù)狀況以及學(xué)校的各項(xiàng)事務(wù)等很多敏感信息,因此統(tǒng)一身份認(rèn)證系統(tǒng)必須有高效并且完備的安全機(jī)制。LDAP通過TLS(Transport Layer Security:傳輸層安全)和SASL(Simple Authentication and Security Layer:簡(jiǎn)單認(rèn)證和安全層)來保護(hù)數(shù)據(jù)的完整性和私密性。
5.高可用設(shè)計(jì)
隨著目錄服務(wù)器存儲(chǔ)數(shù)據(jù)量和用戶訪問量的不斷增長(zhǎng),單一集中式的目錄服務(wù)器已不能滿足現(xiàn)實(shí)需求,因此,可將對(duì)目錄服務(wù)器的訪問操作進(jìn)行讀寫分離,同時(shí)設(shè)計(jì)一主多從的服務(wù)架構(gòu)(如圖3),這樣不僅可以優(yōu)化目錄服務(wù)器的響應(yīng)時(shí)間,而且提高了目錄服務(wù)器的可用性。
結(jié)束語(yǔ)
LDAP具有簡(jiǎn)單易用和跨平臺(tái)的特性,因此被大量使用在信息化建設(shè)中系統(tǒng)集成問題。本文詳細(xì)闡述了基于LDAP的統(tǒng)一身份認(rèn)證模型,運(yùn)用此系統(tǒng),可提高可用性,方便校園網(wǎng)用戶和管理員使用。
參考文獻(xiàn):
[1]殷娜.數(shù)字化校園統(tǒng)一身份認(rèn)證平臺(tái)的構(gòu)建[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(8):139-142.
[2]蘇國(guó)輝.基于CAS和LDAP的單點(diǎn)登錄系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化與儀器儀表,2017(10):101-103.
[3]李立.統(tǒng)一身份認(rèn)證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2012.
[4]游偉倩,張予倩,盛樂標(biāo).高性能計(jì)算集群系統(tǒng)中的LDAP用戶管理應(yīng)用[J].電子技術(shù)與軟件工程,2018(16):129-131.
[5]賀宗平,李光瑞,張曉東.面向大數(shù)據(jù)安全訪問認(rèn)證的LDAP集成架構(gòu)設(shè)計(jì)[J].智能計(jì)算機(jī)與應(yīng)用,2018,8(1):95-98.
作者簡(jiǎn)介:賀媛閣(1990.4—),女,助理工程師,工程碩士,畢業(yè)于長(zhǎng)安大學(xué)計(jì)算機(jī)技術(shù)專業(yè),現(xiàn)工作于西安科技大學(xué)信息網(wǎng)絡(luò)中心信息管理科,主要研究方向?yàn)榻逃龜?shù)據(jù)治理、數(shù)據(jù)安全。