반응형

개발 진행 중 권한 업무를 위해 필요한 업무 지식이 있어 정리합니다. 

 


LDAP ( Lightweight Directory Access Protocol ) ?

  • 정의 : 네트워크 상에서 어떠한 정보(전화번호, 주소, 조직, 파일, 프린터등 하드웨어 위치, 계정 등등)를 쉽게 찾아 볼 수 있게 하는 소프트웨어 프로토콜

  • 계층구조를 갖는 데이터를 네트워크를 통해서 교환할 수 있게 하는 프로토콜로,
    이는 인증을 위한 중앙 저장소의 프로토콜로 사용하는 것

  • 프로토콜은 표준이기에,
    각 어플리케이션 벤더들이 이를 기반으로 인증 기능(이러한 서비스를 디렉토리 서비스) 구현 
  • 모든 데이터 항목은 LDAP 서버에 의해 색인화됨 

  • 저장된 정보가 매우 드물게 업데이트되고, 빠른 검색이 필수라면 LDAP 서버가 이상적

  • LDAP 인증 아키텍처 / 구성요소 
    • 인증 옵션
      1. Simple 옵션
        • Anonymous 인증 : client에게 anonymous 상태로 LDAP 에게 전달함
        • Unauthenticated 인증 : 오직 logging 목적으로 client에 대한 접근권한을 주지 않음.
        • Name/Password 인증 : 자격을 기반으로 서버에 대한 접근 권한을 부여함.  (간단하지만, 기밀성 보호가 없는 인증에는 적합하지 않음..)
      2. SASL(Simple Authentication and Security Layer) 옵션
        • LDAP 서버를 다른 인증 매커니즘 (ex) kerberos)와 연계 

 

AD ( Active Directory ) ?

  • 정의 : 다양한 표준화 프로토콜을 사용하여 다양한 네트워크 관련 서비스 제공하는 DB 기반 시스템
    모든 정보와 구성 정보를 중앙 데이터베이스에 저장하여 사용하며, 관리자가 AD를 통해 정책 할당, SW 배포 및 업데이트 쉽게 수행

  • 사용자가 네트워크 리소스에 액세스 할 수 있도록 SSO(Single Sign On) 제공
  • 서버 간의 디렉터리에 대한 업데이트 쉽게 동기화
  • 확장성이 뛰어나기에 소규모 네트워크 ~ 대규모 네트워크 (수천명) 단위에서도 사용되며, 회사에서 응용 프로그ㅡ램에 표준화 된 액세스를 제공하는데도 사용 
  • AD는 LDAP(디렉터리 서비스 위한 프로토콜)을 사용할 수 있고, Keroberos(티켓 기반 매커니즘 통해 인증 수행) 을 사용하여 인증할 수 있음.

    • kerberos 동작 방식 
    • .kerberos 동작 방식

      1. 사용자가 ID/PW 또는 공개키로 로그인을 시도
      2. 클라이언트는 유저 아이디를 인증서버(AS)로 전송
      3. 인증서버(AS)는 중앙저장소(LDAP)에 유저 아이디 확인 후 존재할 경우 다음을 반환
        • 클라이언트 PW 기반으로 암호화한 티켓 발급 서버(TGS)의 세션키
        • 클라이언트 ID, 주소, 유효기간, TGS 세션키를 TGS 비밀키로 암호화한 티켓발급용 티켓(TGT : Ticket Granting Ticket)
      4. 클라이언트는 다음 두 가지를 티켓 발급 서버(TGS)에게 전송
        • 클라이언트 ID, Timestamp를 TGS 세션키로 암호화한 인증자
        • 티켓 발급용 티켓(TGT) (클라이언트는 TGS 비밀키를 모르므로 복호화 및 조작 불가) 
      5. 티켓 발급 서버(TGS)는 인증자(TGS 세션키로 복호화)와 TGT(TGS 비밀키로 복호화)를 복호화 하여 Client ID가 일치할 경우 아래 두 메시지를 반환
        • 티켓발급서버(TGS) 세션키로 암호한 SS 세션키
        • 클라이언트 ID, 주소, 유효기간, SS세션키를 SS 비밀키로 암호화한 티켓
      6. 클라이언트는 다음 두 메시지를 서비스 서버(SS)로 전달
        • 클라이언트 ID, Timestamp를 SS 세션키로 암호화한 인증자
        • 티켓
      7. 서비스 서버(SS)는 Ticket, 인증자를 복호화하여 Client ID가 일치 할 경우 다음 메시지를 반환
        • Timestamp를 SS세션키로 암호화하여 반환
      8. 클라이언트는 전달받은 timestamp와 자신이 인증자에 담아보냈던 timestamp의 값을 확인하여 일치하는 경우 실제 작업을 시작

        동작 방식 참고 : https://ldap.or.kr/?p=1291

 


아마도~ ad로 개발하지 않을까..

반응형

'Web > web dev' 카테고리의 다른 글

레이턴시, 대역폭  (0) 2021.12.16
로드밸런스(L4 vs L7)  (0) 2021.12.16
TCP / IP  (2) 2020.12.15
임베디드 OS 만들기 -2장 hello world 출력  (0) 2019.09.23
임베디드 OS 만들기 환경설정 - (4)U-BOOT 설치  (0) 2019.09.14

+ Recent posts