Chap 8. 인증과 키교환.

Slides:



Advertisements
Similar presentations
1. 브라우저에서 로 관리창으로 접속해서, 서버 인증서를 설치 할 서버를 선택하고 Manage 버튼을 클릭합니다. 2. Security 탭을 선택한 후, 인증서 Trust.
Advertisements

을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
7 장. 원격지에서 리눅스서버를 관리하자. 텔넷서버를 설치 / 운영한다. SSH 서버를 운영한다. VNC 서버를 설치 / 운영한다.
HTTPS Packet Capture Tutorial
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.

목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
표준 SSL Server Identification
제어판 –> 네트워크 및 인터넷 –> 네트워크 및 공유센터 이동 후 화면에서 “새 연결 또는 네트워크 설정” 클릭
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
(c) Byoungcheon Lee, Joongbu Univ.
암호화 기술 SSL와 IPSec의 개요 및 동작과정
Chapter 18 네트워크층 보안: IPSec
Network Lab. Young-Chul Hwang
KERBEROS 박재홍.
SSL - VPN 사용자 가이드 - IT 지원실 네트워크 운영팀 -.
Chapter 17 전송층 보안: SSL과 TLS
II부 접근제어.
DPR-1630&1615 IP공유기 셋팅 방법 고객지원팀 작성자 : 정청석.
제13장 전자서명과 인증 프로토콜 Digital Signatures and Authentication Protocols
교과목 소개 정보보호.
SSL (Secure Sockets Layers Protocol)
Ch14 – 2. 인증프로토콜(2) - 공개키 인증서 -.
30장 메시지 보안, 사용자 인증과 키 관리 30.1 메시지 보안 30.2 전자서명 30.3 사용자 인증 30.4 키 관리
Chap 10. 인증응용.
File Depender 중간 발표.
공개키 암호화 프로그래밍 전자상거래보안.
AP 모드 활용하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
8장. 원격지 시스템 관리하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
FTP 프로그램 채계화 박재은 박수민.
정보화 사회와 컴퓨터 보안.
Chap 4. 공개키 암호.
제9장 공개키 암호 (I) Public-key Cryptography
암호화 및 인증.
공인인증서 신청 및 발급 제일 먼저 은행에 직접 방문하여 인터넷뱅킹 신청.
Network Security WireShark를 활용한 프로토콜 분석 I.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
LIT-GenAppSetup ※ Texting+ 클라이언트 프로그램은 제품 인증을 받은 제품입니다.
전자서명의 형태 수기서명 디지털서명. 전자서명의 형태 수기서명 디지털서명 전자서명의 필요성.
PC에 설치된 엔드포인트 클라이언트 프로그램을 클릭하여 프로그램 상자를 엽니다
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
8장 쿠키와 세션 한빛미디어(주).
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
KERBEROS.
DHCP 조지훈 김대성 이정민 용석중.
I-PIN 그리고 My-PIN 김가영 김경보 윤재호 이주헌
비대칭 암호화 알고리즘 공개키 암호화 알고리즘 소속 : 한세사이버보안고등학교 조장 : 안도현
SSL, Secure Socket Layer
Open4U 공급업체 접속 방법 Open4U 시스템 신규 접속 방법 메인 화면 및 로그인 하기 초기 비밀번호 변경하기
통신망 정보보호 이재광, 이임영, 소우영, 최용락.
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
Chapter 27 Mobile IP.
웹 어플리케이션 보안 2016년 2학기 11. Enhancing Security.
Introduction to JSP & Servlet
WZC 무선 연결 방법 (Windows 7 Ver.).
공인인증로그인 매뉴얼.
JSP Programming with a Workbook
업체등록신청절차 목차 메인화면 메세지별 유형 2-1. 이미 가입된 공급업체
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
1. Vista Wireless LAN 설정하기
(c) Byoungcheon Lee, Joongbu Univ.
공인인증로그인 매뉴얼.
채팅 및 파일전송 프로그램 권 경 곤 김 창 년.
접근제어 솔루션 계정등록 및 클라이언트 설치.
Network Lab. Young-Chul Hwang
암호 시스템 (Crypto system) 신효철
6 객체.
공인인증로그인 매뉴얼.
Presentation transcript:

Chap 8. 인증과 키교환

목 차 1. KERBEROS 2. X.509 디렉토리 인증 서비스 3. Diffie-Hellman 키 교환 4. 디지털 서명 표준

1. KERBEROS 분산 환경하에서 개체 인증 서비스를 제공하는 네트워크 인증 시스템 MIT에서 개발 공개키 암호는 전혀 사용하지 않고 관용키 암호 방식만을 사용 중앙 집중식 인증 서버 이용 티켓 발급 서버(Ticket Granting Server) - Trusted Third Party TGS에서 발급받은 티켓을 이용해서 서버로부터 인증 Version 4 : 가장 널리 사용 Version 5 : Version 4의 보안 결함을 수정 Internet Draft 표준 문제점 Replay attack이 가능 모든 클라이언트와 서버의 시간 동기화 문제 Kerberos 서버의 보안 문제

Kerberos 티켓 발급 서버(Ticket Granting Server) - Trusted Third Party TGS에서 발급받은 티켓을 이용해서 서버로부터 인증 대칭키 암호 방식 사용 두 가지 Version Version 4 : 가장 널리 사용 Version 5 : Version 4의 보안 결함을 수정 Internet Draft 표준 문제점 Replay attack이 가능 모든 클라이언트와 서버의 시간 동기화 문제 Kerberos 서버의 보안 문제

Ticket : EKV[IDC, ADC, IDV] (ADC : C의 네트워크 주소) Kerberos 버전 4 간단한 인증 프로토콜 서비스에 접속하기 위해 인증 서버에 접속해서 인증받는 과정 (C : Client, AS : 인증 서버, V : 서비스 서버, P : 패스워드, ID : 식별자) 사 용 자 Login(ID, Password) C AS 2 IDC, PC, IDV 3 Ticket 4 IDC, Ticket V 서비스 Ticket : EKV[IDC, ADC, IDV] (ADC : C의 네트워크 주소)

간단한 인증 프로토콜의 설명 1. 사용자는 서버 V를 사용하기 위해 클라이언트에 로그인하고 ID와 패스워드를 입력 2. 클라이언트는 사용자의 ID, 패스워드, 사용하고자 하는 서버 V의 식별자를 인증서버 AS에 전송 3. 인증서버는 ID와 패스워드가 등록되어있는지 검사하고 클라이언트의 네트웍 주소를 포함하는 인증 티켓을 발급(DES로 암호화해서 티켓을 만들기 때문에 티켓을 클라이언트나 외부에서 조작이 불가능) * 네트워크 주소를 포함하는 이유 : 티켓을 중간에서 가로채서 사용하려는 경우의 방지 4. V는 티켓을 복호하고 평문으로 전송된 ID와 티켓속의 ID가 일치하는지 확인, 일치하면 사용자에게 서비스 개시

간단한 인증 프로토콜의 문제점 티켓이 단 한번만 사용되기 때문에 모든 서비스를 사용하기 위해서는 반드시 패스워드 입력이 요구  티켓의 재사용으로 해결 가능(티켓의 저장) 여러 서비스에 접속시마다 패스워드 입력이 요구  서비스마다 새로운 티켓이 요구됨 패스워드의 전송이 평문으로 전달됨  패스워드 가로채기 가능 이러한 문제점을 해결하기 위한 새로운 구조  Ticket-Granting Server(TGS)의 도입

TGS를 이용한 인증 프로토콜 사용자 IDC, IDtgs AS EKC(Tickettgs) C 로그온시 한번 티켓 승인 티켓 TicketTGS=EKtgs[IDC, ADC, IDtgs, Lifetime1] TGS IDC, IDV, Tickettgs TicketV 서비스마다 한번 서비스 승인 티켓 TicketV=EKV[IDC, ADC, IDV, Lifetime2] V TicketV 서비스 세션당 한번

단 한번의 패스워드 입력 및 사용자 패스워드 보호 가능한 시나리오 TGS를 이용한 인증 프로토콜의 설명 1. 클라이언트는 ID와 TGS ID를 인증 서버에 전송 2. 인증 서버는 티켓(티켓 승인 티켓) 생성후 클라이언트에 전송, 이때 클라이언트는 사용자의 패스워드 입력을 요구 * 티켓은 재사용 방지를 위해 유효기간(lifetime)을 포함 3. 클라이언트는 사용자 ID, 요구하는 서비스 ID, 티켓 승인 티켓을 TGS에 전송함으로써 서비스 승인 티켓 요구 4. TGS는 들어온 티켓을 복호하고 ID의 존재여부, 복호의 성공여부, 유효기간 확인, ID/네트워크 주소 점검 후 접속 승인 티켓 발급 5. 클라이언트는 서비스 접속 요구(ID / 서비스 승인 티켓), 서비스 서버는 이것을 인증한다. 단 한번의 패스워드 입력 및 사용자 패스워드 보호 가능한 시나리오

TGS를이용한 인증 프로토콜의 문제점 티켓 승인 티켓과 관련된 유효기간의 문제  유효기간이 매우 짧다면, 패스워드의 반복 입력이 요구  유효기간이 매우 길다면, 침입자의 재전송 공격 가능성 증가 (패킷을 가로채서 가지고 있다가, 사용자 로그 아웃 후 네트워크 주 소를 위조한 다음 단계 3의 메시지를 TGS에 재전송  공격 가능)  이를 방지하기 위해서는, 서비스 사용자가 티켓이 발급된 사용자 라는 것의 증명이 요구됨 서버의 인증  가짜 서버가 사용자가 입력한 정보를 가로채서 이용할 수 있음 (IP Spoofing)

Kerberos Version 4의 인증 프로토콜 C IDC, IDtgs, TS1 인증 서비스 교환 : 티켓 승인-티켓 획득 AS EKC(Kc, tgs,||IDtgs ||TS2|| Lifetime2||Tickettgs) 티켓 승인 티켓 TicketTGS=EKtgs[KC, tgs||IDC|| ADC|| IDtgs||TS2||Lifetime1] 티켓 승인 서비스 교환 : 서비스 승인 티켓 획득 IDV, Tickettgs ||AuthenticatorC TGS EKC, tgs[KC, V||IDV||TS4||TicketV] 클라이언트/서버 인증 교환 : 서비스 V TicketV ||AuthenticatorC EKc, v[TS5+1]

Kerberos V4 프로토콜 설명 Sever 1. 사용자 로그온 2. TGS에 대한 접속 요구 3. 티켓 & 세션키 인증 서버(AS) 4. 서비스 승인 티켓 요구 5. 티켓 & 세션키 6. 서비스 요구 티켓승인서버(TGS) 7. 서버 인증자 제공 Sever

 클라이언트는 메시지를 복호후, 타임 스탬프 확인  메시지의 복호가 가능하려면 세션키를 알고 있어야 하기 때문에 Kerberos V4 프로토콜 설명 세션키 분배, 타임 스템프, 인증자의 추가  매우 짧은 유효기간, 단 한번만 사용되는 인증자(Authenticator)  재사용 공격 방지 서버의 상호 인증 구현  인증자내의 타임스탬프 + 1 값을 리턴  클라이언트는 메시지를 복호후, 타임 스탬프 확인  메시지의 복호가 가능하려면 세션키를 알고 있어야 하기 때문에 서버가 V라는 것을 확신

Kerberos Version 5의 인증 프로토콜 암호화 시스템에 대한 의존 : DES 사용(DES의 수출제한) Version 5는 다른 암호 알고리즘 사용 가능 인터넷 프로토콜에 대한 의존 : IP 주소 사용 Version 5는 다른 형식의 주소 사용 가능 메시지 바이트 순서 : 순서 표시 고정 Version 5 : ASN.1과 BER 인코딩 규칙 표준 사용 티켓 유효시간 : 최대 28*5 = 1280 분 동안만 사용 가능 Version 5 : 시작 시간과 끝시간 표시(충분한 유효시간) 인증의 발송이 불가능 Version 5에서는 가능 상호 인증 Version 5에서는 Kerberos 대 Kerberos의 상호 인증이 가능

Version 4의 기술적 결함 보완 이중 암호화 PCBC 암호화 타겟 서버의 비밀키 + 클라이언트 비밀키 두번째 암호는 필요 없음 : 버전 5에서는 제거 PCBC 암호화 버전 4에서는 DES의 비표준 모드인 PCBC 모드 사용 : 공격에 취약 버전 5에서는 표준 모드인 CBC 모드 사용 세션키 : 버전 4에서는 세션키의 연속적 사용 가능(재전송 공격) 버전 5에서는 단 1회만 사용되는 서브 세션키 협약 가능 패스워드 공격 : 패스워드를 추측하는 공격이 가능 버전 5에서는 패스워드 추측 공격이 더 어렵도록 만듦(사전 인증 기능) 패스워드 공격을 완전히 막을 수는 없음

2. X.509 디렉토리 인증 서비스 X.500 디렉토리 권고안의 일부 인증서의 형식 규정 인증서 : 사용자의 신원과 공개키를 결합한 일종의 증명서 안전한 전자 메일인 PEM 등에 사용(9장) 공개키 암호화 기법, 전자 서명 기술의 응용 1988년 발행, 1993년 개정 RSA를 주로 사용(권고안)

인증서 인증서는 신뢰된 CA(Certification Authority)에 의해 발행 인증서 형식

인증서 내용 버전(Version) : 인증서 형식 구분 일련번호(Serial Number) : CA 내에서 유일한 발행 번호 알고리즘 식별자 : 인증서 서명 알고리즘, 관련된 파라미터 발행자(Issuer) : 인증서를 발행하고 서명한 CA 유효기간 : 인증서가 유효한 범위(from, to) 주체 : 인증서가 가르키는 사람(소유자) 공개키 정보 : 주체의 공개키와 키가 사용될 알고리즘 식별자 서명 : 인증서의 모든 영역을 해쉬해서 CA의 개인키로 서명한 값

인증서의 특징 누구나 사용자의 인증서를 획득하고, 공개키를 획득할 수 있다. 인증 기관 이외의 누구도 인증서를 수정, 발급 할 수 없다. 인증서의 인증 구조 같은 인증 구조 내의 사용자들은 상호 인증서 신뢰 가능

인증서의 신뢰 구조 A B C D 사용자 1은 그림에서 인증기관 D에서 인증서 발급 사용자 2는 인증기관 C에게 인증서 발급 사용자 1이 사용자 2의 인증서를 확인하기 위한 과정 인증기관 C의 인증서 획득, 사용자 1의 인증서 서명 검증 인증기관 A의 인증서 획득, 인증기관 C의 인증서 서명 검증 A B C D 사용자1 사용자1

인증서 발급을 위한 인증기관 초기화면

인증서 신청과정(개인 정보 입력)

인증서 신청 과정(공개키, 개인키 생성)

패스워드 입력(인증서 보호)

CA에서 인증서 수신

수신된 인증서 내용

인증서의 이용(E-mail)

인증 절차 A (1) One Pass Authentication (1) Token AB B Token AB = Text2 || EKab(TA, NA ||B||Text1) Ekab : 비밀키 Kab로 암호화, TA : 타임스템프, NA : 일련번호, B : B의식별자, Text1 : 임의의 text, R : 난수

A (2) Two Pass Authentication (1) Token AB (2) Token BA B Token AB = Text2 || EKab(TA, NA||B||Text1) Token BA = Text4 || EKab(TB, NB||A||Text3)

Token AB = Text3 || EKab(RA||RB||B||Text2) (3) Three Pass Authentication (1) RB||Text1 (2) Token AB (3) Token BA A B Token AB = Text3 || EKab(RA||RB||B||Text2) Token BA = Text5 || EKab(RB||RA||Text4)

참고. One-time Password 하나의 접근을 위한 유효한 Password를 예측할 수 없도록 동적으로 산출하는 것 목적 : 인증시에 사용되었던 서로 다른 Password를 구분하고 reply attack이 이루어지지 못하도록 하는 것 Token Card를 사용 (Smart Card)

Challenge-Response 방법 1) 사용자의 login 시도 2) 서버가 사용자에게 Challenge 3) 사용자는 생성기에 PIN(Personal Identification Number) 입력 4) 생성기는 One-time password를 생성 5) 서버에게 password 전송 (1) (2) (5) (4) (3)

DES Challenge-Response 방법 1) 사용자는 인증 서버에게 PIN 전달 2) 서버는 난수를 생성해서 Challenge로 반환 3) 사용자는 자신의 비밀키로 난수를 DES 알고리즘으로 암호화 4) 암호화된 난수로 Response 전달 5) 서버는 사용자의 PIN으로 키를 검색, 난수를 DES로 암호화한 후 비교 (1) PIN (2) “123456” (4) R (3) R=EKEY(123456) (5) R=?=EKEY(123456)

One time 패스워드를 위한 인증 제품 PIN 번호를 입력하면 난수를 생성(One-time password) 다양한 제품이 존재함

3. Diffie-Hellman 키교환 공개키 암호의 시초 두 사용자가 안전하게 키를 교환하는 방식 이산대수 알고리즘에 근거 y=gx 형태에서 y를 알더라도 x를 계산하기는 불가능 사용자 A와 B의 키교환 A : 공개키 Ya=gXa , 비밀키 Xa B : 공개키 Yb=gXb , 비밀키 Xb A는 B의 공개키 Yb 획득, 자신의 비밀키를 승산 (Yb)Xa = (gXb)Xa = g XbXa B는 A의 공개키 Ya 획득, 자신의 비밀키를 승산 (Ya)Xb = (gXa)Xb = g XaXb 비밀 정보의 누출 없이 A, B 간의 공통키 g XaXb 설정

4. 미국 디지털 서명 표준 : DSS 1991년 미국 NIST에서 표준안으로 개발 SHA를 사용하는 DSA(Digital Signature Algorithm) 공개키 기술을 사용 RSA와는 달리 암호화/키 교환에는 이용되지 않음 서명만을 위한 알고리즘 이산 대수의 어려움에 기반을 둔 알고리즘 ElGamal과 Schnorr에 의해 제안된 알고리즘에 기반을 둠

RSA와 DSS의 접근법 비교 H | | M M KRa 비교 KUa H E EKRa[H(M)] D H | | M M s H DSA H | | M M KUG KRa KUG KUa s H Sig r 비교 Ver k

DSS 알고리즘 요약 서명 준비 과정 모든 사용자 집단에 공통적으로 사용되는 세개의 매개 변수 비밀키 선택, 공개키 생성 160비트 길이의 소수 q 선택 512~1024 사이의 소수 p 선택 g = h (p-1)/q mod p ( 1<h<(p-1) ) 비밀키 선택, 공개키 생성 랜덤한 비밀키 x 선택 (0<x<q) 공개키 y 계산 y=gx mod p

서명 과정 p q g f2 r k M H f1 s 메시지별 비밀번호 k를 랜덤하게 생성(0<k<q) 서명 r=(gk mod p) mod q s=[k-1(H(M)+xr)] mod q Signature = (r, s) p q g f2 r k x q M H f1 s

확인 과정 확인 w=s-1 mod q u1=[(H(M)w)] mod q u2= rw mod q v=[(gu1 yu2) mod p] mod q TEST : v = r y q g H M f4 q s f3 r 비교