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