ch.05 커버로스 인증절차

24
CH.05 커커커커 커커커커

Upload: osman

Post on 08-Jan-2016

124 views

Category:

Documents


7 download

DESCRIPTION

CH.05 커버로스 인증절차. 기존 시스템 로그인 과정의 문제점. 인증서버만 사용한 제 3 자 인증절차. 커버로스 v5 의 동작 절차. ( Authentication Service Exchange 과정 ) : TGT 와 K(A,tgs) 확보과정 ( Ticket-Granting Service Exchange 과정 ) : TGT 를 이용하여 세션 티켓과 세션키 확보과정 ( Client-Server Authentication Exchange 과정 ) : 상호인증과정 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CH.05  커버로스 인증절차

CH.05 커버로스 인증절차

Page 2: CH.05  커버로스 인증절차

기존 시스템 로그인 과정의 문제점

Page 3: CH.05  커버로스 인증절차

인증서버만 사용한 제 3 자 인증절차

Page 4: CH.05  커버로스 인증절차

커버로스 v5 의 동작 절차 (Authentication Service Exchange 과정 ) : TGT 와 K(A,tgs) 확보과정(Ticket-Granting Service Exchange 과정 ) : TGT 를 이용하여 세션 티켓과 세션키

확보과정(Client-Server Authentication Exchange 과정 ) : 상호인증과정

1) Arami AS : (AP-REQ 메시지 )

paData || kdc-options || Cname(=IDA) || Realm || Sname (=IDtgs)||Times || Nonce || HostAddr

• paData = PreAuthentication Data = EKa [ A’s system time] • Times = key-expiration, authtime, starttime, endtime, renew-till

2) ASArami: (AP-REP 메시지 )

CRealm || Cname(=IDA)|| TGT || EncASRepPart

• TGT = tkt-vno || realm || Sname (=IDtgs )|| EncTicketPart

• EncTicketPart = EKtgs[Flags || KA,tgs || Crealm || Cname || Times || Caddr || Authorization-data]

• EncASRepPart = EKA [ KA,tgs || last-Req || Nonce || Times || SRealm || Sname || Caddr ]

Page 5: CH.05  커버로스 인증절차

Ticket-Granting Service Exchange 과정

(Ticket-Granting Service Exchange 과정 ) : TGT 를 이용하여 세션 티켓과 세션키 확보과정

3) AramiTGS : (TGS-REQ 메시지 )

paData || kdc-options || Cname(=IDA) || Realm || Sname (=IDB) ||Times || Nonce || HostAddr

• paData = TGT || AP-Options || Authenticator(A,tgs) • Authenticator(A,tgs) = EK(A,tgs) [ vno || Crealm || Cname || Cksum || Ctime

|| Subkey || Seq-Number || aut-data, ]

4) TGS(A : (TGS-REP 메시지 )

CRealm || Cname (=IDA) || SGT || EncTGSRepPart

• SGT = tkt-vno || realm || Sname(=IDB)|| EncTicketPart• EncTicketPart = EKB[Flags || KA,B || Crealm || Cname || Times || Caddr ||

Authorization-data]• EncTGSRepPart = EK(A,tgs) [ KA,B || last-Req || Nonce || Times || SRealm ||

Sname || Caddr ]

Page 6: CH.05  커버로스 인증절차

Client-Server Authentication Exchange 과정

(Client-Server Authentication Exchange 과정 ) : 상호인증과정

5) AB : (AP-REQ 메시지 )

SGT || AP-Options || AuthenticatorAB

• AuthenticatorAB = EK(A,B)[vno || Crealm || Cname || Cksum || Ctime || Subkey || Seq-Number || aut-data,,, ]

6) BA: (AP-REP 메시지 )

EncAPRepPart = EK(A,B) [Ctime ||subkey || Seq-Number ]

Page 7: CH.05  커버로스 인증절차

커버로스 동작 절차 (1)

Borami 에 대한 SGT 요청

Page 8: CH.05  커버로스 인증절차

커버로스 동작 절차 (2)

Page 9: CH.05  커버로스 인증절차

Ticket Granting Ticket 의 재사용 절차 (1)

Page 10: CH.05  커버로스 인증절차

Ticket Granting Ticket 의 재사용 절차 (2)

Page 11: CH.05  커버로스 인증절차

커버로스 메시지의 기본 형식

Page 12: CH.05  커버로스 인증절차

AS-REQ(10)Pvno=5

Message-type=10

Pre-authentication

A’s system time(encrypted with Ka)

Request Body

KDC-optionsCname=“Arami”

Realm=“West”Sname=“krbtgt”,

”West”Till=“2004-09..”

Rtime=“2004-09..”

NonceEncType={rc4-hmac, des-cbc-

md5…}Host Address =NetBios Address

(:Arami ..”)

AP-REQ(14)

Pvno=5Message-type=14

AP-options

Session GrantingTicket

AuthenticatorEncrypted with K(a,b)

vnoCrealmCnameCksumTimessubkey

Seq-numberauth-data

AS-REP(11)Pvno=5

Message-type=11

Response Body

Crealm=“WEST.COM”

Cname=“Arami”

Ticket GrantingTicket

tkt-vno=5Realm=“WEST.COM

”Sname=“krbtgt”,

“West.Com”Enc-part with Ktgs

K(a, tgs)CnameCaddrTimes

CRealm

EncASRepPartWith EkaK(a, tgs)

IDtgsTimesNonceRealm

AP-REP(15)

Pvno=5Message-type=15

EncAPRepPartWith K(a,b)

Ctimesubkey

Seq-number

커버로스 메시지 형식

Page 13: CH.05  커버로스 인증절차

윈도우 커버로스의 동작 절차

BoramiComAramiCom

Page 14: CH.05  커버로스 인증절차

AS-REQ메시지의 예

6a 82 01 2c ; [Application 10] 메시지로서 , 데이터 부분의 길이는 0x12c 바이트이다 .30 82 01 28 ; Sequence 형식으로서 , 데이터 부분의 길이는 0x128 바이트이다 .a1 03 ; Context-specific [1] 형식이므로 , pvno[1], 즉 , version 항목이고 , 길이는 3 이다 .02 01 05 ; 정수형으로서 05 이다 . a2 03 ; Context-specific [2] tag 를 가지므로 , msg-type[2], 즉 , 메시지 형식 항목 , 길이는 3.02 01 0a ; 정수형으로서 , 0a = 10, 즉 KRB_AS_REQ 를 지시한다 .a3 5f ; padata[3] : 길이는 5f,30 5d … ; …

Page 15: CH.05  커버로스 인증절차

AS_REP

Page 16: CH.05  커버로스 인증절차

TGS_REQ

“BoramiCom”

Page 17: CH.05  커버로스 인증절차

TGS_REP

“BORAMICOM$”

Page 18: CH.05  커버로스 인증절차

AP_REQ

Page 19: CH.05  커버로스 인증절차

AP_REP

Page 20: CH.05  커버로스 인증절차

도메인 경계를 통한 인증절차

Page 21: CH.05  커버로스 인증절차

실험

• 도메인구성과 액티브 디렉터리 확인– 사용자 등록 (Arami, Borami)

• Arami, Borami 의 도메인 가입 설정• Borami

– 커버로스 인증기능을 지원하는 Web Server설정

• 커버로스 동작 절차 분석– Arami 의 로그온시 AS_REQ/AS_REP 패킷 수집 및 분석

– Borami 웹 서버에 접속시 TGS_REQ/TGS_REP/AP_REQ/AP_REP 패킷 분석

• 도메인경계 인증실험– Child Domain 설정

Page 22: CH.05  커버로스 인증절차

실험

Page 23: CH.05  커버로스 인증절차

도메인 경계를 통한 인증 실험망의 구성

Page 24: CH.05  커버로스 인증절차

Note

• 사용자이름과 PC 이름은 다르게 설정해야 한다 .– Arami = 사용자이름– AramiCom = PC 이름