[정리] LDAP이란?

LDAP(Lightweight Directory Access Protocol)

디렉터리 시스템이란 어떠한 대상에 대한 형식화되고 정렬된 정보를 저장하는 데이터 저장소 혹은 특수한 데이터베이스 시스템이다.
1988년에 CCITT(Consultative Committee on International Telephony and Telegraph) 의 X.500 Standard는 디렉터리 서버와 클라이언트 간의 송수신을 위해 DAP(Directory Access Protocol)이라는 프로토콜을 정의했다.

DAP은 OSI Protocol Stack을 사용하는데, 이것은 소규모 환경에서는 적합치 않은 까다로운 리소스를 요구하며 비실용적인 면이 많았다. 그리하여 보다 간결하고 실용적인 대안이 필요하게 되었는데, 그 결과로 LDAP(Lightweight DAP)이 탄생하게 되었다.
LDAP은 OSI Protocol Stack을 버리고, 가볍고 보다 대중적인 RFC표준에 기반한 TCP/IP Protocol Stack을 채택하였다. 그리고, X.500에서의 일부 복잡하거나 거의 쓰이지 않는 기능들을 생략하였다.

LDAP 서버는 LDAP 기반의 클라이언트와 DAP기반의 X.500 서버의 사이에서 주고받는 메시지를 해석하는 중개자 역할을 하였는데, LDAP 서버가 발전함에 따라 LDAP 서버 자체가 X.500과 관계없는 자기만의 디렉터리를 정의하게 되었다.
현재 LDAP은 디렉터리에 접근(access)하고, 정보를 변경(update)하는 방법의 산업 표준 프로토콜일 뿐 아니라, LDAP 자체의 디렉터리에 대한 정의까지도 포함한다.

관련표준

KCAC.TS.LDAP, "전자서명인증체계 디렉토리 프로토콜 규격[v1.11]“
Internet X.509 Public Key Infrastructure Operational Protocols - LDAPv3

데이터 형태

■ 디렉토리에 저장되는 정보는 다음과 같이 구성되어 진다.
Entry는 디렉토리 정보의 기본 단위
Entry는 여러 개의 attribute로 구성
Attribute는 type과 하나 이상의 value로 구성
Attribute의 type에 저장될 데이터의 형식은 LDAP이 지원하는 syntax와 관련되어짐

■ LDAP에서 대표적으로 사용되는 Syntax

Syntax Description syntax Description
BIN Binay Informaiton(이진 데이터) Tel 전화번호
Ces 대소문자 구별이 유효한 문자열 Dn Distinguished Name
Cis 대소문자 구별이 없는 문자열 Cn Common Name

디렉터리 접근 모델

■ Data Functional Model

Query : 디렉토리로부터 원하는 정보를 추출

Update : 디렉토리의 정보를 수정(add, modify,delete etc)

Authentication : 디렉토리 서버에 connect, disconnect, access right 수립 등을 위해 bind, unbind, abandon operation등의 작업을 수행

■ Security Model

Authentication(인증) : 접속한 상대가 정확히 누구인지를 확인

Integrity(무결성) : 받았을 때의 데이터가 보낸 데이터와 정확히 일치함을 확인

Confidentiality(기밀성) : 데이터의 기밀 유지

Authorization(권한) : 상대가 할 수 있는 작업의 대상, 범위를 설정

References

행정전자서명 프로파일 및 알고리즘 상세서(웹트러스트 인증 (gpki.go.kr))

 

반응형