정보보호론/접근통제

통합인증체계

retro_blue 2020. 9. 11. 16:20
반응형

■ SSO (Single Sign On : 통합인증체계)

 - 한 번의 시스템 인증을 통하여 접근하고자 하는 다양한 정보시스템에 재인증 절차 없이 접근할 수 있도록 하는 통합 로그인 솔루션

 - SSO (Single Sign On)는 통합인증체계로 다양한 정보시스템을 한 번의 인증으로 사용이 가능하며 대표적인 것이 커버로스이다

 

■ 커버로스 (kerberos v4)

 - 티켓 기반 보안알고리즘을 이용하는 중앙집중 인증서비스

 - Needham-Schroeder(니덤-슈로더) 프로토콜을 기반으로 만들어졌다

 - TGT를 이용해 자원 사용을 위한 티켓을 획득한다

 - 티켓 안에는 자원 활용을 위한 키와 정보가 포함되어 있다

 - 개방 네트워크상에서 인증과 통신의 암호화를 시행하여 보안성을 확보하기 위한 알고리즘이다

 - 각 클라이언트의 패스워드를 기초로 생성한 일정 기간의 신분증명서(TGT : Ticket Granting Ticket)를 관리 영역 내 각 애플리케이션 서버에 접근 시 사용해서 패스워드가 누설되는 위험 부담을 줄이고 있다

 - 타임스탬프(Time Stamp)를 이용해 재생공격(Reply Attack)을 에방할 수 있다

 - 이 알고리즘의 3가지 주요 역할은 인증, 승인 및 ID 발행이다

 

 - 커버로스에서 클라이언트는 인증 서버(AS)로부터 인증을 얻기 위해 패스워드를 사용하여 인증 서비스에 자신을 인증한다

 - AS는 사용자가 DB에 접근권한이 있는지 확인한다. 그리고 티켓-승인티켓(TGT)과 세션키를 생성한다. 그 결과물을 사용자의 패스워드로부터 유도한 키를 사용하여 암호화한다

 - 티켓발급 서버(TGS)는 클라이언트가 그 내용을 볼 수 없도록 암호화 되어 있으며, 발급받은 티켓(SGT)은 재사용하여 서버에 접속할 수 있다

 - 즉 AS는 클라이언트가 TGS에 접속하는 데 필요한 세션키와 TGS에 제시할 티켓(SGT)을 암호화하여 반송한다

 

★ 시스템 구성 : 분산된 클라이언트 / 서버 구조

 

 1) KDC (Key Distribution Center : 키 분배센터 또는 커버로스 서버, 인증 및 티켓 발행)

   ⓐ AS (인증 서버 또는 Kerbeors 서버)

     - 처음 1회만 인증, 유지, 관리

     - 서버와 사용자 간의 상호 신분확인을 위한 제3의 인증 서버

     - 사용자 요구에 따라 TGT(티켓 증명 티켓, Ticket Granting Ticket)를 발행한다

   ⓑ TGS (Ticket Granting Service)

     - 사용자 접속 서비스 요구 때마다 티켓을 발행하는 서버

     - TGS는 클라이언트가 서버로부터 서비스를 받을 수 있도록 티켓을 발급

     - 인증 서버(AS)나 TGS로부터 받은 티켓은 클라이언트가 그 내용을 볼 수 없도록 암호화되어 있다

 

 2) 접속 서비스/서버

   - 클라이언트가 실제 접속하려고 하는 서비스/서버 (Host)

 

 3) 접속 클라이언트 (사용자)

   - 사용자를 의미

 

 

★ 인증 절차 (커버로스 동작)

 - 커버로스는 클라이언트와 응용 서버(인사, 품질, 생산관리 서버 등) 간의 상호 인증을 중재하는 제3자 인증 서비스를 제공

 - 커버로스 서버는 인증 서버(AS : Authentication Server)와 티켓발행 서버(TGS : Ticket Granting Server)로 구성된다

 - 인증기능을 가진 AS와 티켓을 발행하는 TGS로 구성된 KDC (Key Distribution Center : 키 분배센터)에 접속한다

 - TGS가 발급하는 티켓은 응용 서버의 대칭키(비밀키)로 암호화 된다(DES 방식)

 - 한 번 인증을 받은 클라이언트는 TGS에 여러 차례 접속할 수 있고 여러 응용 서버에 접속할 때 티켓들을 획득할 수 있다

 

 ** 사용자가 어떤 서비스 또는 서버에 접속하려면,

  - 커버로스는 우선적으로 사용자(사전 등록된 텍스트 형식의 패스워드 필요) 및 서버를 인증하고 티켓 형식을 발행한다

  - 티켓을 통해 네트워크상에 흩어져 존재하는 사용자, 서비스, 서버(호스트)들에 대해 상대의 신분을 보증해 준다

 

 ☆ 티켓 종류

  ⓐ TGT (Ticket Granting Ticket)

    - 요구하는 주체 : 사용자가 AS(인증 서버)에 TGT(티켓 승인 티켓)를 요구

    - TGT에 담겨지는 정보 : 사용자 ID, IP주소, TGS ID

    - TGT의 암호화 : AS(인증 서버)가 보관 중인 사용자 암호의 해시값으로 암호화 시킨다

  ⓑ SGT (Session Granting Ticket)

    - 특정 유사 서버/서비스에 접속할 때마다 이미 받은 TGT를 TGS 서버에 제출하여 해당 서버/서비스에 대한 한시적 SGT 티켓을 받는다

 

 ☆ 3단계 인증절차

  1. 인증 서버를 통해 TGT를 확보한다

  2. TGS 서버에 TGT 및 자신의 사용자 ID를 제출하며, 원하는 서비스/서버에 접근할 수 있는 SGT(Session Granting Ticket)를 확보한다

  3. 원하는 서비스/서버에 SGT(Session Granting Ticket)를 제출하고 접근을 허용 받는다

 

★ 커버로스 개념

 - 커버로스 프로토콜은 UDP(Port : 88) 기반이다

 - 커버로스 시스템은 티켓 기반 인증 시스템으로 정당한 티켓을 발급하는 서버(TGS)의 신뢰성이 가장 요구된다

 - 커버로스는 개방된 컴퓨터 네트워크 내에서 서비스 요구를 인증하기 위해 대칭키(비밀키) 암호 기법에 바탕을 둔 티켓 기반 인증 프로토콜이다

 - TGT(Ticket Granting Ticket)는 유효기간 동안 재사용이 가능하다

 - 커버로스는 서비스 요구를 인증하기 위해 세션키나 Ticket 등 Key 교환에 적극 관여하며, 별도의 프로토콜 도입 없이 독립적으로 동작된다

 - 커버로스에서 교환되는 티켓은 암호화 되어 가로채기 공격에 취약하지 않다. 다만 패스워드 사전 공격에 약하다

 - 커버로스는 개방형 분산 통신망(인터넷, TCP/IP)에서 클라이언트와 서버 간의 상호인증을 지원하는 중앙집중형 인증 프로토콜이다

 - 커버로스는 네트워크 응용프로그램이 상대방의 신분을 식별할 수 있게 한다

 - 기본적으로 비밀키 알고리즘인 DES를 기반으로 하는 상호인증시스템으로 버전4가 일반적으로 사용된다

 - 타임스탬프를 이용한 시간제한을 두어 다른 사람이 티켓을 복사하여 나중에 그 사용자인 것처럼 위장(재생공격 : Replay Attack)하여 티켓을 사용하는 것을 막는다

 

★ 커버로스 특징

 - 주요 보안서비스 : 키 분배, 인증

 - 암호화 알고리즘 : Ver 4 : DES 사용, Ver 5 : DES 이외의 다른 암호 알고리즘 등도 사용 가능

 - 인증 방식 : 공유 비밀키 인증 방식 (대칭키 암호 방식) - 공개키 인증 방식을 전혀 사용하지 않는다

 - 커버로스 메시지 전달 : UDP (Port : 88)

 - 주요 사용 버전 : Kerberos Ver.4 (일반적) 및 Ver.5 (RFC 1510, 1964, 4120)

 

★ 커버로스 인증의 문제점

 - 키분배센터(KDC)가 실패의 단일점(Single Point of Failure)으로 존재한다

 - 서비스 거부(DoS) 공격에 취약하다

 - 키 공유 시 공격자가 키의 탈취가 가능하다

 - 사용자의 패스워드 변경 시 비밀키도 변경해야 하는 번거로움이 발생한다

 - 패스워드 사전공격(추측공격)에 취약하다

 - UDP 기반으로 방화벽에서 자주 차단된다

 - 타임스탬프로 인해 시간동기화 프로토콜(NPT : Network Time Protocol)이 필요하다

 

 

■ AAA 서버 (Authentication Authorization Accounting Server)

 - 사용자의 컴퓨터 자원접근 처리와 서비스 제공에 있어서의 인증(Authentication), 인가(Authorization) 및 과금(Accounting) 기능을 제공하는 서버로, 일반적으로 네트워크 접근과 게이트웨이 서버와의 상호 작용을 통하여 사용자 정보가 있는 데이터베이스와 디렉터리에 상호 작용한다

 - Clinet PC → ADSL 모뎀 → 전화국의 NAS(Network Access Server) ↔ RADIUS Server NAS 장비를 통해 사용자가 인증되고 사용권한 획득, 접속기록 등이 저장된다

 - AAA 서버는 가입자의 사용량(UDR)을 NAS로부터 전달받아 과금 기능을 수행한다. 또한, NAS에 접속하는 가입자를 인증하고 주어진 권한 레벨에 대한 검증도 수행한다

 

** AAA 프로토콜의 종류

종류 설명
RADIUS - Remote Authentication Dial in User Service
- NAS 장비에 인증과 과금 서비스를 제공
DIAMETER - RADIUS의 fail over, 오류처리 등의 단점 극복을 위해 만든 새로운 정보보호 프레임워크

 

 

■ RADIUS (Remote Authentication Dial-In User Services)

 - 유ㆍ무선 이동 및 인터넷 환경에서 가입자에 대해 안전하고 신뢰성 있는 인증(Authentication), 권한검증(Authorization), 과금(Accounting) 기능을 체계적으로 제공하는 정보보호 기술

 - 원격지에서 이용자가 접속 요구 시 이용자 ID나 패스워드, IP주소 등의 정보를 인증 서버에 보내어 이용자의 식별과 인증을 실행

 - 안전한 인증과 부정사용을 방지하는 것을 목표로 한다

 - 일정 시간마다 암호 생성기와 인증 서버가 동기되어 암호를 바꾸는 시간 동기 방식이나 서버가 생성한 난수를 암호화해서 암호에 중첩하는 도전-응답 방식 등이 있다

반응형

'정보보호론 > 접근통제' 카테고리의 다른 글

접근통제 보안위협  (0) 2020.09.11
접근통제 보안모델  (0) 2020.09.11
인증  (0) 2020.09.11
접근통제  (0) 2020.09.11