4 th EDITION NETWORK SECURITY ESSENTIALS 네트워크보안에센셜
제 4 장네트워크보안응용 4.1 대칭암호를이용한대칭키분배 4.2 Kerberos 4.3 비대칭암호를이용한키분배 4.4 X.509 인증서 4.5 공개키기반구조 4.6 통합신원관리
4.1 대칭암호를이용한 대칭키분배 1. A 가키를선택한뒤 B 에게직접전달 2. 제 3 자가키를선택한뒤에 A 와 B 에게직접전달 3. A 와 B 의공유키로한사람이새키를만들고공유키로암호화하여상대방에게전송한다. 4. A 와 B 가제 3 자인 C 와암호화된연결이확립되어있다면, C 가암호화된링크를통해서 A 와 B 에게키를전달한다. 3
4 번째방법에서키사용 세션키 (Session key): 세션이라고하는논리적연결이유지되는동안모든사용자데이터는일회용세션키로암호화 한세션에만사용 영구키 (Permanent key): 영구키는세션키분배에필요한키 복수회사용 키분배센터 (KDC: key distribution center) 에서활용 4
KDC 키분배절차 1. A 가 B 와통신을원하면연결요청패킷을 KDC 에전송한다 A 와 KDC 사이의통신은 A 와 KDC 가공유하고있는마스터키로암호화 2. KDC 가연결요청후 KDC 는일회용세션키생성 세션키를 A 와공유하고있는영구키로암호화한다음 A 에게전송 동일한방법으로 KDC 는이세션키를 B 와공유하고있는영구키로암호화한뒤 B 에게전송 3. A 와 B 는논리적연결가능. 세션키를이용하여데이터를암호화하여전송 5
4.2 Kerberos MIT 에서개발 키분배 사용자인증서비스 6
네트워크에대한위협 위협 사용자로위장 네트워크주소변경 재전송공격 방어수단 Kerberos 대칭암호로만구성 Version 4 Version 5 7
Kerberos 버전 4 내부암호로 DES 를사용 Athena 프로젝트의 Bill Bryant 가사용한방법으로구조설명 가상적절차제시 문제점파악 문제점보완 새가상적절차제안 8
단순인증절차 인증서버 (AS:authentication server) 이용 AS는각서버와유일한비밀키를공유 비밀키는안전한방법으로분배 직접전달 9
첫번째가상절차 (1) C AS : ID (2) AS C : Ticket (3) C V : ID Ticket E K V C [ ID C C Ticket P C AD C ID V ID V ] C AS V ID ID P C K V C V AD C 클라이언트인증서버서버사용자 C 의식별자서버 V 의식별자 C 의패스워드 C 의네트워크주소 AS 와 V 가공유하는비밀암호키이어붙여쓰기 10
ID V 와 ID C 사용목적 변경이나위조를막기위해티켓암호화 서버 ID(ID V ) 가티켓에포함되어있기때문에서버는그티켓이올바르게복호화되었는지를확인가능 티켓이 C 에게발행되었다는것을명시하기위해티켓속에 ID C 를포함 11
AD C 사용목적 티켓을요청한워크스테이션에서만티켓을사용할수있게함 12
보다안전한인증절차 인증문제해결 아직해결되지않은문제 입력패스워드수과다 서버접속마다매번패스워드입력 해결방법 : 티켓재사용 문제는다른서버접속시패스워드입력 패스워드를평문으로전송 도청가능 해결방법 : 티켓발행서버 (TGS: Ticket-Granting Server) 도입 13
가능한공격시나리오 티켓을가로챈뒤해당사용자가워크스테이션에서로그오프할때까지대기 공격자는자신의워크스테이션주소를조작해서공격대상컴퓨터와동일주소갖도록조작 티켓을재사용하여 TGS 를속인다 14
대비책 티켓안에타임스탬프포함 티켓발행시점표기 티켓유효기간표기 15
개선된가상적절차 사용자로그온세션마다한번 : (1) C AS : (2) AS C : ID [ Ticket 서비스유형마다한번 : (3) C TGS : (4) TGS C : E C K C ID C ID Ticket V tgs ID V tgs ] Ticket tgs 16
개선된가상적절차 서비스세션마다한번 : (5) C V : Ticket Ticket tgs V E E K K V tgs [ ID [ ID ID C C C Ticket AD AD C C V ID ID V tgs TS TS 2 1 Lifetime Lifetime 2 ] 1 ] 17
버전 4 인증절차 첫번째시나리오보다안전해짐 또다른두가지문제점발생 18
개선된가상절차의문제점 티켓 - 승인티켓의유효기간없음 티켓-승인티켓유효기간문제 서비스-승인티켓유효기간문제 서버를사용자에게인증하는절차없음 19
티켓 - 승인티켓의유효기간부재 재전송공격가능 서비스 - 승인티켓의유효기간도동일한위험 티켓제시자와티켓발행받은자의동일성확인필요 해결방법 : AS 와 TGS 가공유하는비밀값 ( 세션키 ) 활용 분배방법이필요 20
서버를사용자에게인증하는절차 문제점 부재 특정서버로전달되는메시지를다른곳으로송신 위장서버가능 사용자로부터의정보갈취 사용자에게제공되는서비스방해 21
더욱개선된방법 (Kerberos Ver4) (a) 인증서비스교환 : 티켓 - 발행티켓취득 22
더욱개선된방법 (Kerberos Ver4) (b) 티켓 - 발행서비스교환 : 서비스 - 발행티켓취득 23
더욱개선된방법 (Kerberos Ver4) (c) 클라이언트 / 서버인증교환 : 서비스취득 24
Kerberos 버전 4 프로토콜기본 25
Kerberos 버전 4 프로토콜기본 26
Kerberos 버전 4 프로토콜기본 27
Kerberos 버전 4 프로토콜기본 28
Kerberos 버전 4 프로토콜기본 29
Kerberos 동작개요 30
Kerberos 공동체와다중 Kerberi 완전한 Kerberos 환경조건 Kerberos 서버는반드시 ID(UID) 와모든사용자의해시된패스워드를데이터베이스에저장 모든사용자는 Kerberos 서버에등록 Kerberos 서버는필히각서버들과비밀키를공유 모든서버는 Kerberos 서버에등록 Kerberos 공동체 (realm) 여러개의공동체간서비스가능 31
Kerberos 공동체와다중 Kerberi 완전한 Kerberos 환경추가조건 상호교류하는각공동체에속한 Kerberos 서버들은다른공동체서버들과비밀키를공유 두개의 Kerberos 서버는상호간에등록 32
다른공동 체서비스 요청 33
Kerberos 교환절차 1 C AS: ID C ID tgs TS 1 2 AS C: E[K C, [K c,tgs ID tgs TS 2 Lifetime 2 Ticket tgs ]] 3 C TGS: ID tgsrem Ticket tgs Authenticator c 4 TGS C: E K c,tgs, K c,tgsrem ID tgsrem TS 4 Ticket tgsrem 5 C TGSrem: ID Vrem Ticket tgsrem Authenticator c 6 TGSrem C: E K c,tgsrem, K c,vrem ID Vrem TS 6 Ticket Vrem (7)C Vrem: Ticket Vrem Authenticator c 34
Kerberos 버전 5 버전 5: RFC 1510 35
버전 4 와버전 5 의차이점 환경적결함 (environmental shortcomings) 기술적결함 (technical deficiencies) 36
환경적결함 암호화시스템의존성 (Encryption system dependence): 인터넷프로토콜의존성 (Internet protocol dependence): 메시지바이트순서 (Message byte ordering): 티켓유효기간 (Ticket lifetime): 인증전달 (Authentication forwarding): 공동체간인증 (Interrealm authentication): 37
기술적결함 이중암호화 (Double encryption): PCBC 암호화 (PCBC encryption): 메시지바이트순서 (Message byte ordering): 세션키 (Session keys): 재전송공격위험 패스워드공격 (Password attacks): 38
버전 5 인증절차 인증서비스교환 : 티켓 - 발행티켓취득 티켓 - 발행서비스교환 : 서비스 - 발행티켓취득 클라이언트 / 서버인증교환 : 서비스취득 39
인증서비스교환 티켓 - 발행티켓취득 40
인증서비스교환 공동체 (Realm): 사용자의공동체 선택사항 (Options): 돌아오는티켓안의특정플래그의설정을요청할때사용 시간 (Times): 클라이언트가티켓속시간설정요청시사용 from: 요청된티켓사용개시시간 till: 요청된티켓의사용만료시간 rtime: 요구되는재시작부터만료시간까지의시간 비표 (Nonce): 메시지 (2) 에서반복사용되는랜덤넘버 응답이재전송된것이아님을확신 41
티켓 - 발행서비스교환 서비스 - 발행티켓취득 42
클라이언트 / 서버인증교환 서비스취득 43
버전 5 인증절차 44
4.3 비대칭암호를이용한키분배 공개키암호의용도 공개키분배 대칭비밀키분배 45
공개키인증서 안전한공개키전달 공개키인증서 (public-key certificate) 공개키와키소유자의사용자 ID 로구성 이를신뢰할만한제 3 자가서명 제 3 자라하면정부기관이나금융기관같은사용자모두가신뢰하는인증기관 (CA: certificate authority) 46
공개키인증서사용 47
공개키를이용한비밀키분배 Diffie-Hellman 키교환을이용 사실이방법은널리이용 두통신자사이에인증을제공하지못함 강력한대안 공개키인증서활용 48
방법 1. 메시지를준비한다. 2. 일회용세션키를이용하는관용암호기법으로메시지를암호화한다. 3. 앨리스의공개키를이용해서그세션키를암호화한다. 4. 암호화된세션키를메시지에첨부해서앨리스에게보낸다. 49
4.4 X.509 인증서 ITU-T 권고안 X.509 는디렉터리서비스를정의하는권고안 X.500 시리즈의한부분 디렉터리 사용자정보데이터베이스를관리하는하나의서버또는분산서버집단 X.509 는인증서비스의구조를규정 공개키인증서의저장소로이용 50
X.509 인증서형식사용처 사용처 S/MIME(5 장 ) IP Security(6 장 ) SSL/TLS, SET(7 장 ) 소개 1988 년최초소개 1993 년수정권고 1995 년버전 3 2000 년수정안 51
X.509 형식 52
인증서 인증서를정의 : 표현을이용한다 : CA<<A>>= CA {V, SN, AI, CA, UCA, A, UA, Ap, T A } 여기서 Y<<X>> = 인증기관 Y 가발행한사용자 X 의인증서 Y{I} = I 에대한 Y 의서명. I 에암호화된해시코드를붙여작성 V = 인증서버전 SN = 일련번호 AI = 서명에사용된알고리즘식별자 CA = 인증기관명 UCA = CA 식별자 ( 옵션 ) A = 사용자 A 의이름 ( 옵션 ) UA = 사용자 A 식별자 ( 옵션 ) Ap = 사용자 A 의공개키 T A = 유효기간 53
사용자인증서얻기 CA 가발행한사용자인증서특성 CA 의공개키를얻을수있는어떤사용자도특정사용자의인증된공개키를확인할수있다. 인증기관을제외한어느누구도들키지않게인증서를변경할수없다. 54
디지털서명프로세스 M 에대한밥의서명 앨리스가밥의서명검증 55
인증서체인 (chain of certificate) A 가 X.509 형식에따라 B 의공개키구하기 X 1 <<X 2 >>X 2 <<B>> N 개의요소로구성된체인 X 1 <<X 2 >>X 2 <<X 3 >> X N <<B>> 체인 (X i, X i+1 ) 안쌍방은상호인증서발행 56
X.509 계층구조 57
CA 의디렉터리내두종류인증서 순방향인증서 (Forward certificates): 다른 CA 에의해서생성된 X 의인증서 역방향인증서 (Reverse certificates): X 가생성한다른 CA 의인증서 58
A 가 B 의인증서를얻는체인 X<<W>>W<<V>>V<<Y>>Y<<Z>>Z<<B>> 59
B 가 A 의인증서를얻는체인 Z<<Y>>Y<<V>>V<<W>>W<<X>>X<<A>> 60
인증서취소 취소해야하는경우 1. 사용자개인키가노출, 훼손시 2. CA가사용자를더이상인증해줄수없을때 3. CA의인증서가노출, 훼손시 61
취소인증서목록 (CRL: Certificate Revocation List) 각 CA 는취소했지만유효기간이아직끝나지않은인증서목록을보관 취소된인증서들은사용자에게발행한것과다른 CA 들에게발행한것모두를포함 취소목록을디렉토리에공개 62
취소인증서목록사항 발행자이름 목록작성일자 다음번 CRL을발표할일자 취소된인증서항목 63
X.509 버전 3 버전 2 의약점 1. 신원정보결여 주체필드가키소유자신원을전달하기에부적합 자세한신원정보가결여 2. 주체필드의수용능력부족 개체를이메일주소, URL 혹은다른형태의인터넷관련신원을통해인식하기에부적합 3. 보안정책정보표시가필요 IPSec 같은보안응용프로그램이나보안기능이 X.509 인증서를주어진정책에이용가능 64
X.509 버전 3 버전 2 의약점 4. CA 에대한견제기능필요 특정인증서사용에제약조건을설치하여악의가있는 CA 에의해유발되는피해를줄인다 5. 시간별사용하는키구별이필요 키소유자가다른시간에사용하는다른키를구별하는능력필요 이기능은키의수명관리를지원 특히사용자와 CA 의키쌍을정기적, 예외적인환경하에서갱신가능 65
인증서확장 키와정책정보 인증서주체와발행자속성 인증경로제약조건 66
키와정책정보 주체와발행자키에관한추가적인정보, 인증서정책표시자를처리 인증서를특정집단이나일상적인보안사항을요구하는응용프로그램집단에적용할수있는지없는지를판단 67
포함된내용 기관키식별자 (Authority key identifier): 주체키식별자 (Subject key identifier): 키용도 (Key usage): 개인키유효기간 (Private-key usage period): 인증서정책 (Certificate policies): 정책매핑 (Policy mapping): 68
인증서주체와발행자속성 주체대체이름 (Subject alternative name): 발행자대체이름 (Issuer alternative name): 주체디렉터리속성 (Subject directory attributes): 69
인증경로제약조건 기본제약 (Basic constraints): 이름제약 (Name constraints): 정책제약 (Policy constraints): 70
4.5 공개키기반구조 공개키기반구조 (PKI: Public-Key Infrastructure) RFC 2822(Internet Security Glossary) 에서정의 비대칭암호시스템에기초해서디지털인증서를생성하고, 관리하고, 저장하고, 배분하며취소하는데필요한하드웨어, 소프트웨어, 사람, 정책및절차 PKI 개발목적 안전하고, 편리하고, 효율적인공개키획득 IETF(Internet Engineering Task Force) 공개키기반구조 X.509(PKIX) 작업그룹 X.509 에기초해서형식적 ( 종합적 ) 인모델구성 X.509 인터넷상에서인증서기반아키텍처를활용에적합 71
PKIX 구조적모델 72
PKIX 구조적모델 종단개체 (End entity): 인증기관 (CA: Certificate authority): 등록기관 (RA: Registration authority): CRL 발행자 (CRL issuer): 저장소 (Repository): 73
PKIX 관리기능 등록 (Registration): 초기화 (Initialization): 인증 (Certification): 키쌍복구 (Key pair recovery): 키쌍갱신 (Key pair update): 취소요청 (Revocation request): 교차인증 (Cross certification): 74
PKIX 관리프로토콜 인증서관리프로토콜 (CMP: Certificate management protocol) 암호메시지구문 (CMS: Cryptographic message syntax) 75
4.6 통합신원관리 통합신원관리 (Federated identity management) 상대적으로새로운개념 다수의기업과많은응용프로그램을관리하는일반적신원관리시스템 수천또는수백만명의사용자를지원하는관리시스템 76
신원관리 신원관리 (identity management) 접근권한을가진개인이자원에접근하는절차를중앙집중화, 자동화방법 각사용자신원정, 속성과신원연관, 사용자가신원인증방법을강요 싱글사인온 (SSO: single sign-on) 신원관리시스템의중심적개념 사용자가한번만인증하면네트워크모든자원에접속가능 77
신원관리원칙 인증 (Authentication): 허가 (Authorization): 계정 (Accounting): 제공 (Provisioning): 작업절차자동화 (Workflow automation): 관리위임 (Delegated administration): 패스워드동기화 (Password synchronization): 셀프 - 서비스패스워드리셋 (Self-service password reset): 통합 (Federation): 78
일반신원관리구조 79
신원통합 신원통합 (identity federation) 다중보안도메인으로확장된신원관리 자치적내부비즈니스단위 외부비즈니스파트너 기타제 3 자응용및서비스 목적 디지털신원공유를통해싱글사인온을제공 중앙집중화된통제가불가능 안전한디지털신원공유를위해표준화나상호신뢰수준에동의해서통합 80
통합신원동작 81
표준 조직에서는협업파트너가처리할수있는일종의보안티켓을사용자에게발행 신원통합표준 티켓내용과형식을정의하고, 티켓교환용프로토콜을제공하고, 다양한관리업무를수행하는것 속성전달수행에필요한시스템구성 신원매핑 로그인수행 감사 82
SAML (Security Assertion Markup language) OASIS(Organization for the Advancement of Structured Information Standards) 가통합신원관리용으로발행한광범위한표준집합의일부 통합신원관리구현문제 안전하고사용자에게편리한유틸리티를제공하기위해다수의기술, 표준, 서비스를집약의어려움 83
사례 3 가지시나리오 시나리오 1( 그림 4.10(a)) Health.com 과맺은 Workplace.com 계약에의해직원은건강혜택을제공받는다 시나리오 2( 브라우저 - 기반 )( 그림 4.10(b)) PartsSupplier.com 은 Workplace.com 에정기적으로부품을제공 시나리오 3( 문서 - 기반 )( 그림 4.10(c)) Workplace.com 은 PinSupplies.com 과구매동의를한상태이고, PinSupplies.com 은 E-Ship.com 사와비즈니스관계 84
시나리오 1 85
시나리오 2 86
시나리오 3 87