KERBEROS 박재홍.

Slides:



Advertisements
Similar presentations
옴니아 2 무선 인증 매뉴얼 ( 윈도우 모바일 폰 설정 동일 ). ▶다음 화면은 옴니아 2 및 윈도우모바일을 사용하는 스마트폰 기기들의 무선인증을 하기 위한 화면입니다. ▶윈도우 모바일폰의 경우 무선인증서를 발급받기 위해 폰의 레지스트리 설정을 조정해 주어야 합니다.
Advertisements

을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
1 넷스팟 MAC ID 설정 방법 ( 서울캠퍼스 기준 ) 각종 스마트폰의 WiFi 를 이용시 각종 스마트폰의 WiFi 를 이용시 MAC ID 설정을 하는 방법 입니다. 아이폰의 경우는 별도의 설정없이 바로 사용이 가능하오니, 사용이 어려울 경우, 고객센터로 문의하시면 됩니다.
7 장. 원격지에서 리눅스서버를 관리하자. 텔넷서버를 설치 / 운영한다. SSH 서버를 운영한다. VNC 서버를 설치 / 운영한다.
HTTPS Packet Capture Tutorial

목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
표준 SSL Server Identification
1 안드로이드 네트워킹 안드로이드 앱 프로그래밍 여 규리.
CHAP 22. 블루투스.
인터넷의활용.
제어판 –> 네트워크 및 인터넷 –> 네트워크 및 공유센터 이동 후 화면에서 “새 연결 또는 네트워크 설정” 클릭
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
㈜디아이씨 SSLVPN 협력사 접속방법 2017년 4월.
Ch.07-5 xml-rpc 사용하기 김상엽.
Network Lab. Young-Chul Hwang
PHP입문 Izayoi 김조흔.
Chap 8. 인증과 키교환.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
SSL (Secure Sockets Layers Protocol)
30장 메시지 보안, 사용자 인증과 키 관리 30.1 메시지 보안 30.2 전자서명 30.3 사용자 인증 30.4 키 관리
Part 4 네트워크 해킹 16장 무선 네트워크 김 미 진.
Chapter 7. RAS(전화접속,VPN) & IAS
8장. 원격지 시스템 관리하기.
소리가 작으면 이어폰 사용 권장!.
정보화 사회와 컴퓨터 보안.
NJM Messenger 박상원 박연호.
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
암호화 및 인증.
공인인증서 신청 및 발급 제일 먼저 은행에 직접 방문하여 인터넷뱅킹 신청.
시스템 인터페이스 Lab3 Unix 사용법 실습.
Network Security WireShark를 활용한 프로토콜 분석 I.
홀인원2.0 설치 메뉴얼.
WZC 무선 연결 방법 (Windows XP Ver.).
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
PC에 설치된 엔드포인트 클라이언트 프로그램을 클릭하여 프로그램 상자를 엽니다
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
8장 쿠키와 세션 한빛미디어(주).
MAIL CLIENT 김창우 윤성훈 이경재.
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
KERBEROS.
-네트워크 관리 개요 및 SNMP 프로토콜 동작과정
DHCP 조지훈 김대성 이정민 용석중.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
SSL, Secure Socket Layer
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
Introduction to JSP & Servlet
WZC 무선 연결 방법 (Windows 7 Ver.).
공인인증로그인 매뉴얼.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
JSP Programming with a Workbook
업체등록신청절차 목차 메인화면 메세지별 유형 2-1. 이미 가입된 공급업체
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
1. Vista Wireless LAN 설정하기
공인인증로그인 매뉴얼.
채팅 및 파일전송 프로그램 권 경 곤 김 창 년.
소리가 작으면 이어폰 사용 권장!.
접근제어 솔루션 계정등록 및 클라이언트 설치.
CCIT 네트워크 발표 정보보호학과 평문 사이트와 SSL 사이트, SSL strip과 데이터 변조를 이용한 로그인 취약점
공인인증로그인 매뉴얼.
ARP.
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

KERBEROS 박재홍

CONTENT KDC를 이용한 대칭 키 분배 KERBEROS

KDC를 이용한 대칭 키 분배 1 Host A 2 4 KDC : 키 분배센터 (Key Distribution Center) 3 Host B 3 =A의 요청을 전달하고 B가 동의하면 세션 키 전달 ※ 세션 키 - 클라이언트들간의 통신내용을 암호화하는데 사용하는 비밀키 - 세션이 유지되는 동안 사용하고, 세션이 종료되면 폐기

KDC를 이용한 대칭 키 분배 대칭키 암호 방식 – 수신자와 송신자가 동일한 키를 공유 KDC를 이용할 때의 문제점 : - 클라이언트가 늘어나면 보관해야 할 키가 늘어남 (클라이언트가 n이라면 n(n+1)/2개) - KDC가 공격 당하면 사용자들의 키가 노출 됨. 키의 개수에 대한… 예 1> Client A, Client B, KDC (클라이언트의 수 : 2) – KDC가 보관해야 할 키 : Ka-KDC, Kb-KDC, Ka-b(총 3개) 예 2> Client A, Client B, Client C, KDC (클라이언트의 수 : 3) – KDC가 보관해야 할 키 : Ka-KDC, Kb-KDC, Kc-KDC, Ka-b, Ka-c, Kb-c (총 6개)

KERBEROS -MIT에서 개발한 대칭키 방식의 키 분배 및 사용자 인증 서비스 - 수년 동안 유닉스 시스템에서 사용되었으며, 현재 윈도우 서버 운영체제에서 기본 인증 기법으로 사용. -사용자가 어떤 서비스 또는 서버에 접속하기 위해서 사용자를 인증하고 네트워크 상의 서버에게 사용자의 신분을 보증 -version 4와 version 5가 존재하며, version 4의 보안상 허점을 보완하여 version 5가 인터넷 표준으로 제안 - SSO(Single Sign-on : 한번의 인증을 통해 재인증 없이 접근할 수있게 하는 방식.)을 이용 할 수 있게 해준다.

KERBEROS 구성요소 - 클라이언트 : 사용자의 컴퓨터 - 서버: 사용자가 접속하려고 하는 대상 - 인증서버(AS,Authentication Server) : 클라이언트를 인증하는 서버. 모든 사용자의 아이디와 패스워드를 DB에 저장.;TGT 발급. - 티켓 승인 티켓(TGT, Ticket Granted Ticket) : 티켓을 발급받는데 필요한 티켓 - 티켓 발행 서버(TGS, Ticket Granted Server) : 인증 값인 티켓을 클라이언트에게 발급해주는 서버 인증 서버와 티켓 발행 서버를 통틀어 키 분배 센터라 부름(KDC) - 서비스 승인 티켓(Ticket) : 클라이언트가 서버에 접속할 때 필요 - 세션키 : 서비스 세션 당 한번씩 사용하는 비밀 키. - 인증자(Authenticator) : 서비스 요청자가 클라이언트 자신을 인증. - 타임스탬프(TS), 유효기간(LifeTime): 티켓의 재사용 방지.

KERBEROS 간단한 인증 프로토콜. 1 2 3 4 5 6 = 로그인 (ID, PassWord) AS에 ID, PassWord 등록 여부 확인 2 = CI, CP, SI 전송 AS(Authentication Server) 4 Ticket 발급하고 암호화 한 뒤 전송= 5 = CI와 암호화 되어있는 Ticket을 전송 ※ Ticket = E[Ka-s(CI, Cip, SI)] 6 = 클라이언트로 받은 CI와 Ticket 안의 CI가 일치하면 서비스 시작 (인증) Server ※ CI : 클라이언트의 ID, CP : 클라이언트의 패스워드, SI : 서버의 ID, Cip : 클라이언트의 IP주소 Ka-s : AS와 Sever가 사전에 공유하고 있는 비밀 키

KERBEROS 간단한 인증 프로토콜의 문제점 ②번 과정에서 패스워드가 평문으로 전송됨을 확인 : 전송 중간에 패스워드 가로채기 가능 Solution - 패스워드를 암호화하여 전송 서비스마다 새로운 티켓이 요구됨 다른 서비스 사용에는 패스워드 입력을 다시 해야 하는 불편함 Solution - 티켓 발행 서버(TGS)를 사용하여 해결

(Key Distribution Center) TGS를 사용한 인증 프로토콜 = Ticket을 복호화 (인증!) 8 = 티켓 승인티켓 생성 = 서비승인티켓 발행 2 5 Server KDC (Key Distribution Center) AS (Authentication Server) TGS (Ticket Granted Server) 4 = CI, SI,TGT 전송 7 = CI, Ticket 전송 1 = CI, TI 전송 Ticket 전송= 6 E[K-p(TGT)] = 3 서비스 세션당 한번 서비스 유형별 한번 로그온 시 한번 TGT=E[Ka-t(CI, Cip, Ti,TgtT)] Ticket=E[Kt-s(CI, Cip, SI, TT)] ※ K-p : 패스워드로부터 얻은 키, Ka-t : AS와 TGS가 사전에 공유하고 있는 비밀 키 TI : TGS의 ID, Kt-s : TGS와 Sever가 사전에 공유하고 있는 비밀 키 TgtT : TGT의 유효기간, TT : Ticket의 유효기간

KERBEROS TGS를 사용한 인증 프로토콜 : 부가 설명 ③ E[K-p(TGT)] 전송과정에서 패스워드를 입력받아, 패스워드로부터 키 K-p를 만들어 복호화. 올바른 패스워드라면 K-p를 만들어 복호화가 가능하고 TGT를 획득할 수 있음 ⑤ 서비스 승인 티켓 발행과정에서 TGS는 TGT를 복호화하여 TI의 존재여부, 유효기간 확인, 클라이언트의 ID와 IP주소 유효성 판단 후 티켓을 발행 TGS를 사용한 인증 프로토콜 : 문제점 TGT의 유효기간 문제 ① 유효기간이 너무 짧을 때 세션이 진행 중에도 패스워드를 입력해야 하는 경우가 생길 수 있음 ② 유효기간이 너무 길 때 클라이언트가 서비스를 정상적으로 사용하고 로그아웃한 경우에도 TGT는 사용이 가능하기 때문에, 침입자가 유효기간이 남은 TGT를 이용하여 서버에 접속가능 Solution 티켓을 사용하고 있는 사람과 티켓을 발행받은 사람이 같음을 증명 서버의 인증 문제 가짜 서버가 사용자가 입력한 정보를 가로채서 이용할 수 있음(Spoofing) 서버의 식별자(SI) 를 위조할 수 있다면 누구든 서버 흉내를 내서 클라이언트가 보내는 메시지를 받아볼 수 있 는 문제가 생김 Solution 서버가 서버 자신을 사용자에게 인증(상호 인증이 필요)

(Key Distribution Center) Kerberos ver.4의 인증 프로토콜 = Ticket을 복호화 (인증!) 8 = 티켓 승인티켓 생성 = 서비승인티켓 발행 2 5 Server KDC (Key Distribution Center) AS (Authentication Server) TGS (Ticket Granted Server) = SI, TGT, A1전송 4 7 =Ticket, A2 전송 1 = CI, TI,TS1 전송 E[Kc-t(Kc-s,SI,TS4,Ticket)] 전송 || E[K-p(Kc-t, TI, TS2, TgtT, TGT)] || 6 E[Kc-s,(TS5+1)전송= 9 3 서비스 유형별 한번 서비스 세션당 한번 로그온 시 한번 티켓 승인티켓 TGT=E[K-p(Kc-t, TI, TS2, TT) 서비스 승인 티켓 Ticket =E[Kc-t(Kc-s, SI, TS4, Lifetime4 인증자 A1 = E[Kt-s(Kc-s(CI, Cip, TS3) 인증자 A2 = E[Kc-s(TS5+1)

KERBEROS Kerberos ver.4의 인증 프로토콜 설명 ①로그온을 하고 TGS에 대한 접근 요청 클라이언트의 ID, TGS의 ID, TS(요청 메시지를 발송한 시간) ②AS는 TGT를 생성 ③AS의 응답 메시지 클라이언트와 TGS 사이의 세션 키와 TS2(TGT를 발송한 시각), 응답 메시지의 유효기간, TGT를 K-p로 암호화하여 전송  클라이언트는 K-p로 복호화 하여 TGT를 획득 가능 ④서버에 대한 접근 요청 : 서버의 ID와 TGT, 인증자 전송. TGT와 인증자를 복호화하여 나온 클라이언트의 ID와 IP주소의 일치 여부를 확인하여 일치하면 Ticket 발행 ⑤클라이언트와 서버 사이의 세션 키와 서버의 ID, TS4(Ticket을 발송한 시각), Ticket을 클라이언토와 TGS 사이의 세션 키로 암호화 하여 전송  클라이언트는 클라이언트와 TGS 사이의 세션 키로 복호화 하여 Ticket과 클라이언트 서버 사이의 세션키 획득 ⑥서버 접속 : 클라이언트는 서버에 Ticket과 인증자를 전송 ⑦ 응답 : 서버는 인증자에서 얻은 타임스탬프 값에 1을 더한 다음 세션 키로 암호화하여 전송  서버의 상호 인증 구현 ⑧Server는 티켓 복호화하여 인증 ⑨ 클라이언트와 서버간의 통신에서 timestamp값에 1을 증가시킴. 서로간 인증하기 위해 AS가 만듬

KERBEROS Kerberos ver.4의 인증 프로토콜 설명 -공유키 : 통신 전 사전에 미리 공유하는 키 -세션키 : 인증 또는 세션을 위해 만들어진 비밀키, 일회용 - 패스워드를 통해 얻어진 키 키 분류 설명 공유 키 Ka-t = AS와 TGS 사이에 TGT를 암호화 하여 클라이언트가 임의로 변경 못하게 함. Kt-s = TGS와 Server사이 Ticket을 암호화 하여 클라이언트가 임의로 변경 못하게 함. 세션 키 Kc-t = 클라이언트와 TGS 사이이며 Ticket줄 때 암호화에 사용한다. Kc-s = 클라이언트와 서버사이 통신에 사용함. 패스워드를 통해 얻어진 키 K-p = AS가 클라이언트에게 전송할 때 패스워드를 입력 받아 패스워드로부터 키 K-p를 만들어 복호화한다.

(Key Distribution Center) KERBEROS Kerberos ver.4의 인증 프로토콜 설명 1 TGS 접속요청 AS (Authentication Server) 2 TGT, 세션키(클라이언트, TGS 통신) KDC (Key Distribution Center) 3 서비스 승인 티켓요구 +인증 4 서비스 승인티켓, 세션키(클라이언트, 서버 통신) TGS (Ticket Granted Server) 5 서비스 요청+ 인증 Server 6 서버 인증 후 서비스 시작

KERBEROS Kerberos 간단히 생각하기 2. 검표한다 1.매표소로 간다 3. 마음껏 이용한다.

KERBEROS Kerveros간의 인증. (이를 응용해 SSO를 구현한다) 1. Kerberos 서버(AS+TGS), 다수의 클라이언트, 다수의 응용서버 로 구성 된 환경을 위해 - Kerberos 서버는 모든 사용자의 ID와 해시된 패스워드를 DB 에 저장되어 있어야 함. - Kerberos 서버는 특히 각 서버와 비밀키를 공유해야함 - 서로 다른 Kerberos는 상호간 등록 해야함.도메인 사이의 인증 2. 도메인사이의 인증 - 서로 다른 Kerberos 서버끼리 비밀키 공유 - 클라이언트가 Kerberos에 다른 도메인의 서버를 요청 했을 경우 DNS를 이용하여 다른 도메인의 경로를 찾음. 그 과정에서 인증서를 통해 상호 인증.

KERBEROS Domain A 1 2 3 4 5 Domain B 7 6 Kerveros간의 인증. Server Kerberos Server 1 Local TGS 요청 2 Local TGT 전송 AS (Authentication Server) 3 원격 TGT 요청 4 원격 TGT 전송 TGS (Ticket Granted Server) 5 원격 Ticket 요청 Kerberos Server Domain B 7 원격 서비스 요청 AS (Authentication Server) Server 원격 Ticket 전송 6 TGS (Ticket Granted Server)

KERBEROS Kerberos ver.4의 문제점과 해결책으로써의 Kerberos ver.5 암호화 알고리즘 : DES사용 티켓 유효시간 : 5분 단위로 8비트 사용가능. 최대 2^8*5 = 1280분 동안 사용가능 ver.5 : 시작 시간과 끝 시간을 따로 표시하여 유효기간 설정이 자유로움 클라이언트가 접근에 사용했던 인증서를 한 가지 서버에만 이용가능 ver.5 : 인증서를 서로 다른 서버에서도 이용 가능 인터넷 프로토콜에 의해 의존. IP주소 사용 ver.5 다른형식 주소 사용 가능.

KERBEROS Kerberos ver5의 장단점 - 장점 인증 절차와 사용자와 서비스 간의 통신 내용 을암호화 키 및 암호 프로세스를 이용하여 보 호하 기 때문에 데이터의 기밀성과 무결성을 보장 할 수 있음. - 단점 키 분배 센터에서 각 구성요소의 암호화 키를 가지고 있기 때문에 키 분배 센터에 오류가 발 생하면 전체 서비스 사용 불가능 패스워드 공격에 취약 : 클라이언트를 공격당 하여 패스워드가 유출되어도 KDC서버는 인지 못 함.

Refrence http://www.ibm.com/support/knowledgecenter/SS7K4U_8.5.5/com.ibm.websphere.zseries.doc/ae/csec_kerb_auth_explain.html?lang=ko http://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.sec.doc/doc/c0011990.html?lang=ko https://docs.oracle.com/cd/E26925_01/html/E25888/intro-25.html http://s2kiess.blog.me/220335809677 http://sol9501.blog.me/70104706140 http://blog.naver.com/dbdlfgo1/220625995681 http://weroot.co.kr/itwiki/375 http://blog.naver.com/nettier/220589346227 https://www.google.co.kr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwj90sKP_OPLAhVFtpQKHVgDDskQFggkMAA&url=http%3A%2F%2Fpel.smuc.ac.kr%2Fphpbb%2Fdownload%2Ffile.php%3Fid%3D7%26sid%3D34ebd1cdcf77b7582a6220bab751fa7f&usg=AFQjCNGhe4iIt4N6vh1npzgvhrwhatG5fw&sig2=jTDrLkWnWzS5bImt7F9NGQ&bvm=bv.117868183,d.dGo http://pel.smuc.ac.kr/phpbb/download/file.php?id=64&sid=1adefb2890ec1232bf9d6db241e041ee