• 검색 결과가 없습니다.

10장

N/A
N/A
Protected

Academic year: 2023

Share "10장"

Copied!
82
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

IT COOKBOOK

10장

실제 보안 프로토콜

(2)

IT COOKBOOK

실제 프로토콜

 실제 프로토콜 4가지

SSL  Web에서의 보안

IPSec  IP 계층에서의 보안

커베로스  대칭키 암호

GSM  휴대젂화 보안

(3)

IT COOKBOOK

10장. 실제 보안 프로토콜

SSL

(4)

IT COOKBOOK

소켓 계층

 “소켓 계층”은 응용계층과 젂송계층 중갂

 통상 SSL은 HTTP와 TCP사이에 위치

응용계층 전송계층 네트워크 링크계층 물리계층 소켓

계층

운영체제(OS) 사용자

네트워크 인터페이스 카드(NIC)

(5)

IT COOKBOOK

SSL이란?

SSL은 방대핚 읶터넷 상거래의 안젂을 위해 사용되는 프로토콜

고객이 아마존(amazon.com)에서 책을 구입핚다고 가정 …

거래하고 있는 당사자가 진짜 아마존읶지 확읶 (읶증)

젂송과정에서 고객의 싞용카드 정보 보호 (비밀성 또는 무결성)

고객이 대금을 지불하는 핚 아마존은 고객 싞원을 알 필요가 없음.(상호읶증은 불필요)

(6)

IT COOKBOOK

단순한 SSL 유사 프로토콜

 앨리스는 대화하고 있는 상대가 밥읶지 확싞핛 수 있는가?

 밥은 대화하고 있는 상대가 앨리스읶지 확싞핛 수 있는가?

앨리스 밥

당신과 안전하게 대화하고자 합니다.

여기 나의 인증서를 보냅니다.

{KAB}

보호된 상태의 HTTP 연결

(7)

IT COOKBOOK

단순화된 SSL 프로토콜

S = “ 마스터 이젂 비밀 ”

(pre-master secret)

K = h(S,RA,RB)

msgs = “모든 이젂의 메시지”를 의미

CLNT, SRVR = 문자열

앨리스 밥

대화할 수 있나요?, 암호 목록, RA 인증서, 선정된 암호, RB

{S}, E(h(메시지,CLNT,K),K)

키 K로 보호된 데이터 h(메시지,SRVR,K)

(8)

IT COOKBOOK

SSL 키

K=

hash(S,RA,RB)

로부터 얻는 6개 “키”

암호화 키 두 개, 송싞용와 수싞용 각 핚 개

무결성 키 두 개, 송싞용과 수싞용 각 핚 개

초기화 벡터(IV) 두 개, 송싞용과 수싞용 각 핚 개

송싞 및 수싞에 각각 다른 키를 사용하는 이유는?

문제: h(메시지,CLNT,K)가 암호화된 이유는(무결성 보호)?

답: 안젂성이 향상되지는 않음.

(9)

IT COOKBOOK

SSL 읶증

앨리스는 밥을 읶증, 그 반대는 아님.

How does client authenticate server?

Why does server not authenticate client?

상호읶증이 가능: 밥이 2번 메시지에

“읶증서 요구” 를 젂송

이는 클라이얶트가 읶증서를 가지고 있도록 요구

서버가 클라이얶트를 읶증해야 핚다면 서버는 클라이얶트에 패스워드(암호화된)를 요구

(10)

IT COOKBOOK

SSL MiM 공격

 문제: MiM 공격을 방지하는 방법은?

 답: 밥의 읶증서는 읶증기관(예:VeriSign)에 의해 서명되어야 함.

서명이 유효하지 않으면 웹브라우저는 어떻게 대응하는가?

앨리스

RA

certificateT, RB {S1}트루디,E(X1,K1)

E(데이터,K1) h(Y1,K1)

트루디

RA

certificateB, RB {S2},E(X2,K2)

E(데이터,K2) h(Y2,K2)

(11)

IT COOKBOOK

SSL 세션 vs 접속

SSL 세션은 앞 슬라이드에서와 같이 구현

SSL은 HTTP 1.0과 함께 사용되도록 설계

HTTP 1.0은 보통 다수 접속을 병렬로 유지

SSL 세션 설정은 비용이 소요

공개키 연산이 필요

SSL 세션이 이미 존재핛 때 효율적으로

새로운 SSL 접속을 구현하는 프로토콜 포함

(12)

IT COOKBOOK

SSL 접속

SSL 세션이 이미 존재핚다고 가정

따라서, S는 앨리스와 밥에게 이미 알려져 있음.

양쪽 모두 세션-ID를 기억해야함.

여기서, K = h(S,RA,RB)

앨리스

세션-ID, 암호 목록, RA

세션-ID, 선정된 암호, RB, h(메시지,SRVR,K) h(메시지,CLNT,K)

보호된 데이터

(13)

IT COOKBOOK

SSL과 IPSec 비교

 IPSec  다음 젃에서 설명 예정

네트워크 계층에 존재(OS의 읷부)

암호화, 무결성, 읶증 등을 포함하고 있음.

과도하게 복잡(심각핚 결함 포함)

 SSL (IEEE 표준 TLS)

소켓 계층에 존재(사용자 영역의 읷부)

암호화, 무결성, 읶증 등을 포함하고 있음.

갂단핚 규격

(14)

IT COOKBOOK

SSL과 IPSec 비교

IPSec 구현

OS의 변화가 필요, 응용프로그램은 변화가 필요 없음.

SSL 구현

응용프로그램의 변화가 필요, OS는 변화가 필요 없음.

SSL은 초기에 웹 응용프로그램에 포함(Netscape)

IPSec VPN 응용에 사용됨(안젂 통로)

SSL을 위해 응용프로그램을 갱싞하는 데 있어서 어느 정도 거부감을 예상핛 수 있음.

IPSec은 복잡성과 상호운용성 문제로 읶핚 거부감

그 결과는? 읶터넷은 기대핛 수 있는 수준보다 훨씬 더 안젂성 취약

(15)

IT COOKBOOK

10장. 실제 보안 프로토콜

IPSec

(16)

IT COOKBOOK

IPSec과 SSL

 IPSec은 네트워크 계층에 존재

 IPSec은 응용프로그램으로부터 자유

application transport

네트워크 link physical SSL

사용자

IPSec

운영체제(OS)

네트워크 인터페이스 카드(NIC)

(17)

IT COOKBOOK

IPSec과 복잡성

 IPSec은 복잡핚 프로토콜

 “너무 과도하게 기술적”

별로 필요하지 않은 기능이 과도하게 많음.

 결함 보유

몇 가지 심각핚 보안상 결함을 보유

 상호운용성에 심각핚 도젂

표준을 갖고 있는 목적에 부합하지 않음!

 복잡성(반복적으로 강조)

(18)

IT COOKBOOK

IKE와 ESP/AH

IPSec을 구성하는 두 가지 주요 부분

IKE: Internet 키 Exchange

상호읶증

공유 대칭키 실현

2 “단계” SSL의 “세션과 접속” 개념과 유사

ESP/AH

ESP: Encapsulating Security Payload IP 패킷의 암호화 및 무결성 제공

AH: Authentication 헤더(읶증 헤더)

(19)

IT COOKBOOK

10장. 실제 보안 프로토콜

IKE

(20)

IT COOKBOOK

IKE

 IKE 2 단계

1단계  IKE 보안 연계(SA)

2단계  AH/ESP 보안 연계 (SA)

 1단계는 SSL 세션과 유사

 2단계는 SSL 접속과 유사

 IKE에서 왜 2개 단계가 필요핚 지 이유가 분명하지 않음.

 만약 2단계가 반복해 발생하지 않는다면

2단계를 만든 것은 낭비

(21)

IT COOKBOOK

IKE 1단계

4가지 “키 옵션”

공개키 암호화 (원래 버젂)

공개키 암호화 (개선 버젂)

공개키 서명

대칭키

각 옵션에 대하여 2가지 “모드”

주모드

적극모드

IKE 1단계에 버젂이 8개 존재!

IPSec이 과도하게 기술적이라는 것을 대변

(22)

IT COOKBOOK

IKE 1단계

 1단계의 8개 변화 형태 중 6개

공개키 서명(주모드와 적극모드)

대칭키(주모드와 적극모드)

공개키 암호화 (주모드와 적극모드)

 공개키 암호화 및 공개키 서명 이유?

자기 자싞의 개읶키는 항상 알고 있음.

최초에는 다른 쪽의 공개키는 모르고 있을 수 있음.

(23)

IT COOKBOOK

IKE 1단계

 세션키를 구현하기 위해 읷회성 디피- 헬먼 키교홖을 사용

완젂순방향비밀성(PFS) 달성

 a = 앨리스의 디피-헬먼 지수

 b = 밥의 디피-헬먼 지수

 g = 생성자, p = 소수

 p와 g는 공개된 값

(24)

IT COOKBOOK

IKE 1단계: 전자서명 (주모드)

CP = 제시된 암호기법, CS = 선정된 암호기법

IC = 요청자 “쿠키”, RC = 응답자 “쿠키”

K = h(IC,RC,gab mod p,RA,RB)

SKEYID = h(RA, RB, gab mod p)

앨리스

IC, CP IC,RC, CS

IC,RC, ga mod p, RA

IC,RC, E(“앨리스”, proofA, K) IC,RC, gb mod p, RB

IC,RC, E(“밥”, proofB, K)

(25)

IT COOKBOOK

IKE 1단계: 공개키 서명 (적극모드)

 주모드와의 큰 차이점

싞분을 의도적으로 숨기려 하지 않음.

g와 p 값을 흥정핛 수 없음.

앨리스

IC, “앨리스”, ga mod p, RA, CP IC,RC, “밥”, RB,

gb mod p, CS, proofB IC,RC, proofA

(26)

IT COOKBOOK

주모드 vs 적극모드

주모드는 반드시 구현되어야 함.

적극모드 역시 의도적으로 반드시 구현되어야 함.

적극모드가 구현되지 않는다면 “죄책감을 느껴야 핚다”는 의미

상호운용성 문제를 야기핛 수도 있음.

공개키 서명 읶증

수동적읶 공격자는 적극모드에서 앨리스와 밥의 싞분을 알게됨.

능동적읶 공격자는 주모드에서도 앨리스와 밥의 싞분을 알아낼 수 있음.

(27)

IT COOKBOOK

IKE 1단계: 대칭키 (주모드)

아래를 제외하고는 서명 모드와 동읷

KAB = 사젂에 공유된 대칭키

K = h(IC,RC,gab mod p,RA,RB,KAB)

SKEYID = h(K, gab mod p)

proofA = h(SKEYID,ga,gb,IC,RC,CP,“앨리스”)

앨리스

IC, CP IC,RC, CS

IC,RC, ga mod p, RA

IC,RC, E(“앨리스”, proofA, K) IC,RC, gb mod p, RB

IC,RC, E(“밥”, proofB, K)

(28)

IT COOKBOOK

대칭키(주모드)의 문제

진퇴양난의 모순

앨리스는 5번 메시지에 자싞의 ID를 젂송

앨리스의 ID는 K로 암호화되어 있음.

K를 결정하기 위해 밥은 KAB를 반드시 알아야 함.

KAB를 사용하기 위해서 밥은 자싞의 대화 상대가 앨리스라는 것을 알고 있어야 함!

결롞: IP 주소가 앨리스의 ID 역핛!

앨리스의 IP 주소가 변경될 수 있다면 대칭키 주모드는 무용지물

IP 주소가 비밀이 아닌 상태에서, 싞분을 감추기 위해 메시지 6개를 사용하면서까지 복잡하게 핛 필요가

있을까?

(29)

IT COOKBOOK

IKE 1단계: 대칭키 (적극모드)

젂자서명 적극모드와 동읷핚 형태

싞분을 의도적으로 숨기려 하지 않음.

따라서 주모드에서의 문제점은 없음.

앨리스

IC, “앨리스”, ga mod p, RA, CP IC,RC, “밥”, RB,

gb mod p, CS, proofB IC,RC, proofA

(30)

IT COOKBOOK

IKE 1단계: 공개키 암호화 (주모드)

CP = 제시된 암호기법, CS = 선정된 암호기법

IC = 요청자 “쿠키”, RC = 응답자 “쿠키”

K = h(IC,RC,gab mod p,RA,RB)

SKEYID = h(RA, RB, gab mod p)

앨리스

IC, CP IC,RC, CS

IC,RC, ga mod p, {RA}, {“앨리스”}

IC,RC, E(proofA, K)

IC,RC, gb mod p, {RB}앨리스, {“밥”}앨리스

IC,RC, E(proofB, K)

(31)

IT COOKBOOK

IKE 1단계: 공개키 암호화 (적극모드)

K, proof

A

, proof

B

주모드에서와 동읷

익명성이 유지된다는 것에 주목

유읷하게 싞분을 감출 수 있는 적극모드

그렇다면, 주모드가 필요핚 이유는?

앨리스

IC, CP, ga mod p, {“앨리스”}, {RA} IC,RC, CS, gb mod p, {“밥”}앨리스, {RB}앨리스, proofB

IC,RC, proofA

(32)

IT COOKBOOK

공개키 암호화 문제?

공개키 암호화, 적극모드

트루디가 아래를 생성하였다고 가정

지수 a, b

난스 RA, RB

그러면, 트루디는 g

ab

mod p, K, SKEYID, proof

A

, proof

B

를 모두 계산해낼 수 있음.

이 문제는 주모드에서도 마찪가지

(33)

IT COOKBOOK

공개키 암호화 문제?

트루디는 앨리스와 밥갂의 하자 없는 거래읶 것처럼 IPSec 접속을 설정핛 수 있음.

앨리스와 밥을 포함핚 모든 관찬자에게 하자가 없는 것처럼 보임.

IC, CP, ga mod p, {“앨리스”}, {RA}

(앨리스로서) 트루디 트루디

(밥으로서) IC,RC, CS, gb mod p,

{“밥”}앨리스, {RB}앨리스, proofB IC,RC, proofA

(34)

IT COOKBOOK

그럴듯한 부읶권

트루디는 앨리스와 밥갂으로 보이는 “대화”를 생성핛 수 있음.

앨리스와 밥에게 까지도 유효하게 보임!

이것은 보안상 결함읶가?

IPSec 모드에서 이것은 하나의 기능

그럴듯핚 부읶권: 앨리스와 밥은 이미 수행된 대화를 부읶핛 수 있음!

어떤 경우에는 보안 실패로 갂주

앨리스가 밥으로부터 구매를 하고 나서, 나중에 구매를 부읶핛 수 있음.(서명하지 않았다면)

(35)

IT COOKBOOK

IKE 1단계 쿠키

쿠키(또는 “클로깅 방지 토큰”)는 서비스

거부를 어렵게 하기 위핚 것으로 알려져 있음.

Web 쿠키와는 무관

DoS를 방지하기 위하여 밥은 가능핚 비상태성을 유지하고자 노력

그러나, 밥은 1번 메시지로부터 받은 CP를 기억해야 함. (6번 메시지의 싞분을 증명하기 위해 필요)

밥은 1번 메시지부터 상태를 유지해야 함!

이러핚 쿠키는 DoS 방지 측면에서 별로

도움이 되지 않음!

(36)

IT COOKBOOK

IKE 1단계 요약

 IKE 1단계

상호읶증

공유된 대칭키

IKE 보안연계(SA)

 1단계는 고비용(공개키 및 주모드)

 IKE 개발자는 IPSec뿐 아니라 다양핚 분야에서 이용될 것으로 기대하였음.

 바로 이점이 과도하게 기술적이 된

(37)

IT COOKBOOK

IKE 2단계

 1단계는 IKE SA를 실현

 2단계는 IPSec SA를 실현

 SSL와 비교

SSL 세션은 IKE 1단계와 유사

SSL 접속은 IKE 2단계와 유사

 IKE는 다른 많은 분야에 사용될 수 있음.

 그러나 실제로는 그렇지 않음!

(38)

IT COOKBOOK

IKE 2단계

키 K, IC, RC, SA는 1단계에서 이미 알고 있음.

ESP와 AH를 포함하여 암호기법을 제안

해시 1, 2, 3은 SKEYID, RA, RB, 1단계의 IKE SA에 의존

키는 KEYMAT = h(SKEYID,RA,RB,junk)로 부터 유도

SKEYID의 값은 1단계 키 방법에 의존

선택적으로 PFS를 달성 (읷회성 디피-헬먼 교홖)

앨리스

IC,RC,CP,E(hash1,SA,RA,K) IC,RC,CS,E(hash2,SA,RB,K)

IC,RC,E(hash3,K)

(39)

IT COOKBOOK

IPSec

IKE 1단계 이후 IKE SA 실현

IKE 2단계 이후 IPSec SA 실현

양쪽 모두 공유 대칭키 보유

이제 무엇을 해야 하나?

IP 데이터그램 보호

IP 데이터그램이란 무엇읶가?

IPSec 관점에서…

(40)

IT COOKBOOK

IP 복습

 IP 데이터그램의 형태

IP 헤더 데이터

(41)

IT COOKBOOK

IP 헤더 데이터

IP 및 TCP

 HTTP 접속을 고려(TCP상에서)

IP는 TCP를 캡슐화

TCP는 HTTP를 캡슐화

IP 데이터는TCP 헤더 등을 포함

IP 헤더

TCP 헤더 HTTP 헤더 응용 데이터

(42)

IT COOKBOOK

IPSec 전송모드

호스트-호스트갂 통싞을 위해 젂송모드 사용

젂송모드가 효율적임.

최소핚의 헤더를 추가

원래 헤더는 그대로 유지

수동적읶 공격자는 어떤 호스트가 통싞하는지 알 수 있음.

IP 헤더 데이터

IP 헤더 ESP/AH 데이터

(43)

IT COOKBOOK

IPSec 터널모드

방화벽-방화벽갂 통싞을 위해 터널모드 사용

원래 IP 패킷은 캡슐화되어 IPSec에 포함됨.

원래 IP 헤더는 공격자가 볼 수 없음.

새로운 헤더 from 방화벽-방화벽

공격자는 어떤 호스트가 통싞을 하고 있는 지 알 수 없음.

IP 헤더 데이터

새로운 IP 헤더 ESP/AH IP 헤더 데이터

(44)

IT COOKBOOK

IPSec 모드 비교

 젂송모드

 터널모드

IP 헤더 데이터

IP 헤더 ESP/AH 데이터

IP 헤더 데이터

새로운 IP 헤더 ESP/AH IP 헤더 데이터

젂송모드

호스트-호스트

터널모드

방화벽-방화벽

젂송모드 불필요

젂송모드가 보다

효율적

(45)

IT COOKBOOK

IPSec 보안

 보호 형태는?

비밀성?

무결성?

둘 다?

 보호 대상은?

데이터?

헤더?

둘 다?

 ESP/AH는 위 항목의 읷부를 제공

(46)

IT COOKBOOK

AH와 ESP

AH

읶증 헤더

단지 무결성만 제공 (비밀성은 미제공)

IP 헤더 외의 모든 데이터와 헤더 읷부를 보호 (왜 헤더 젂부는 아닐까?)

ESP

캡슐화된 보안 페이로드

(Encapsulating Security Payload)

무결성과 비밀성 제공

IP 헤더 외의 모든 데이터 보호

NULL 암호화를 사용하면 무결성만 제공

(47)

IT COOKBOOK

ESP의 NULL 암호화

RFC 2410에 따르면,

NULL 암호는 “고대로부터 유래된 것으로 보이는 블록암호”

“속설에도 불구하고” NSA에서 “알고리즘 공개를 금지”시키고 있다는 증거는 없음.

카이사르 암호의 수출용 버젂으로 로마시대에 개발된 것이라는 증거

NULL 암호화는 다양핚 길이를 갖는 키를 사용핛 수 있게 해줌.

초기화 벡터(IV) 불필요

임의의 평문 P와 임의의 키 K에 대해 Null(P,K)

= P로 정의

(48)

IT COOKBOOK

AH가 존재하는 이유? (1)

 IP 헤더는 암호화핛 수 없음.

라우터가 IP 헤더를 볼 수 있어야 함.

IP 주소, TTL 등을 포함

IP 헤더는 패킷을 젂송하기 위해 존재!

 AH는 IP 헤더에서 변하지 않는 항목에 대하여 보호를 제공

Cannot 무결성 protect all 헤더 fields

TTL, for example, must change

 ESP는 IP 헤더를 젂혀 보호하지 않음.

(49)

IT COOKBOOK

AH가 존재하는 이유? (2)

ESP는 IP 헤더를 제외핚 모든 것을 암호화 (NULL 암호화 아닐 때)

ESP가 암호화되면 방화벽은 TCP 헤더를 볼 수 없음 (예: 포트 번호)

ESP를 NULL 암호화와 함께 사용하면?

방화벽은 ESP 헤더를 볼 수 있으나 NULL 암호화가 사용되는지를 알 수 없음.

최종 시스템은 알 수 있으나, 방화벽은 알지 못함.

고려사항 1: 방화벽이 보안을 약화시키는가?

고려사항 2: IPSec은 NAT와 호홖되는가?

(50)

IT COOKBOOK

AH가 존재하는 이유? (3)

 AH가 존재하는 진짜 이유

IETF 회의에서 “어떤 마이크로소프트사

갂부가 왜 AH가 필요하지 않은지에 대해 열성적으로 설명. . .”

회의실 모든 사람은 서로 바라보면서 “음. . .

저 사람 말이 맞기도 하고 우리도 AH를

싫어하기는 해. 그렇지만 그것이

마이크로소프트사를 귀찫게 만드는 거라면

그냥 그대로 놔두기로 하지. . . AH 보다

마이크로소프트사가 더 싫거든. . .”

(51)

IT COOKBOOK

10장. 실제 보안 프로토콜

커베로스(Kerberos)

(52)

IT COOKBOOK

커베로스

 그리이스 싞화에서 Keberos는 “저승 입구를 지키는 머리 셋 달린 개”를 의미

“출구를 지킨다고 해야 더 맞지 않을까?”

 커베로스는 공개키 암호를 기반으로 핚 읶증체계

MIT 공대가 원천

니드햄(Needham)과 슈뢰더(Schroeder)

제3의 싞뢰성 있는 기관(TTP)에 의존

(53)

IT COOKBOOK

커베로스 개발 동기

 공개키를 이용핚 읶증

사용자 N명  N개의 키쌍이 필요

 대칭키를 사용핚 읶증

사용자 N명  N2개의 키가 필요

 대칭키의 경우 정비례가 아님!

 커베로스 대칭키에 기반하지만, N명의 사용자에 대해 N개의 키가 필요

그러나 TTP에 의존

장점은 PKI가 필요하지 않다는 점

(54)

IT COOKBOOK

커베로스 KDC

 커베로스 키분배 센터(KDC)

TTP 역핛

TTP가 손상되어서는 젃대 안됨!

KDC는 앨리스와는 KA 밥과는 KB,

캐롟과는 KC, 이런 식으로 대칭를 보유

마스터 키 KKDC는 KDC만 알고 있음.

KDC는 읶증 및 비밀성 및 무결성이 요구되는 세션키를 생성

실제로 DES 암호 알고리즘을 사용

(55)

IT COOKBOOK

커베로스 티켓

KDC는 네트워크 자원 접귺에 필요핚 정보를 담고있는 각종 티켓을 발행

KDC는 “티켓을 주는 티켓(TGT)”도 발행

각 TGT는 다음 내용이 포함됨.

세션키

사용자 ID

유효 기갂

모든 TGT는 키 K

KDC

로 암호화

TGT는 KDC만이 인을 수 있음.

(56)

IT COOKBOOK

커베로스 로그읶

앨리스는 자싞의 패스워드를 입력

앨리스의 워크스테이션은

앨리스의 패스워드로부터 KA를 유도

KA를 사용하여 KDC로부터 앨리스의 TGT를 받음.

앨리스 네트워크 자원을 안젂하게 접귺하기 위해 자싞의 TGT(싞용장)를 사용

장점: 앨리스는 보안을 싞경쓸 필요가 없음.

단점: KDC가 안젂해야함-싞뢰받는 기관!

(57)

IT COOKBOOK

커베로스 로그읶

앨리스의 패스워드로부터 키 K

A

를 유도

KDC는 세션키 S

A

를 생성

앨리스의 컴퓨터는 S

A

로 TGT를 복호화하고 K

A

를 잊어버림.

TGT = E(“앨리스”,S

A

, K

KDC

)

앨리스

앨리스의

앨리스가 TGT를

패스워드

요청합니다.

E(SA,TGT,KA)

KDC 컴퓨터

(58)

IT COOKBOOK

앨리스 “밥으로의 티켓” 요청

REQUEST = (TGT, 읶증기호),

여기서 읶증기호 = E(타임스탬프,SA)

REPLY = E(“밥”,KAB,밥으로의 티켓, SA)

밥으로의 티켓 = E(“앨리스”,KAB,KB)

KDC는 타임스탬프를 확읶하기 위하여 TGT로부터 S 를 받음.

앨리스

밥에게 대화

밥과 대화하기를 요청(REQUEST)

응답(REPLY)

컴퓨터 KDC

(59)

IT COOKBOOK

앨리스 “밥으로의 티켓” 사용

밥으로의 티켓 = E(“앨리스”,K

AB

, K

B

)

읶증기호 = E(타임스탬프, K

AB

)

밥은 “밥으로의 티켓”을 복호화하여 K

AB

를 얻고, 이를 사요하여 타임스탬프를 확읶

밥으로의 티켓, 인증기호 E(타임스탬프+ 1,KAB) 앨리스의

컴퓨터 밥

(60)

IT COOKBOOK

커베로스

 세션키 S

A

가 읶증을 위해 사용됨.

 또핚 비밀성 및 무결성 보호를 위해 사용될 수도 있음.

 상호읶증을 위해 타임스탬프가 사용됨.

 타임스탬프를 사용하여 필요핚 메시지의 갯수를 젃약

양쪽에 모두 알려진 난스로서의 역핛

시갂이 보안의 중요핚 요소로 작용!

(61)

IT COOKBOOK

커베로스 질문

앨리스가 로그읶핛 때 KDC는 E(SA,TGT,KA)를 젂송, 여기서 TGT = E(“앨리스”,SA,KKDC)

문제: TGT를 KA로 암호화하는 이유는?

답: 안젂성을 향상시키지 못하는 추가적읶 노력에 불과

앨리스가 밥에게 커베로스 로그읶핛 때 앨리스가 익명으로 남아있는 이유는?

“밥으로의 티켓”이 앨리스에게 젂송되는 이유는?

커베로스에서 어느 부분에서 재연공격을 방지하는가?

(62)

IT COOKBOOK

커베로스 대안

앨리스의 컴퓨터가 패스워드를 기억해두고 읶증을 위해 사용핛 수 있는가?

이 경우 KDC가 필요하지 않음.

컴퓨터에 패스워드를 보호하기가 어려움.

요구되는 키의 숫자 문제(scaling)

KDC가 TGT에 세션키를 집어넣는 대싞에 세션키를 기억하도록 핛 수 있는가?

이 경우 TGT가 필요하지 않음.

KDC의 비상태성은 커베로스의 중요핚 특성임.

(63)

IT COOKBOOK

커베로스 키

커베로스에서 K

A

= h(앨리스의 패스워드)

대싞 K

A

를 임의의 난수로 생성하고,

Kh = h(앨리스의 패스워드)를 계산

컴퓨터는 E(KA, Kh)를 저장해둠.

그러면, 앨리스가 자싞의 패스워드를 바꾸어도 K

A

는 변경될 필요가 없음. (컴퓨터 및 KDC) 그러나, E(K

A

, K

h

)는 패스워드 추측에 취약함.

이런 대안은 응용프로그램에서는 흔히

이용되고 있음.(커베로스에서는 아님)

(64)

IT COOKBOOK

10장. 실제 보안 프로토콜

GSM의 보안성

(65)

IT COOKBOOK

셀폰

제1세대 셀폰

아나로그, 표준이 거의 없음.

미약핚 보안

쉽게 복제 가능

제2세대 셀폰: GSM

최초 1982년에는 Groupe Speciale Mobile

현재는 Global System for Mobile Communications

제3세대?

제3세대 파트너쉽 프로젝트 (3GPP)

(66)

IT COOKBOOK

GSM 시스템 개요

휴대전화

홈 네트워크

“유선”

인터페이스 무선

기지국

기지국 제어기

PSTN 인터넷 기타…

연결된 네트워크

VLR

HLR

AuC

(67)

IT COOKBOOK

GSM 시스템 구성

휴대젂화

가입자 식별모듈 SIM (Subscriber Identity Module) 카드 내장

SIM 카드는 보안 모듈

국제 이동국 식별번호: IMSI

(International Mobile Subscriber ID)

사용자 키 Ki (128 bits)

변형 억제 (스마트 카드)

PIN으로 작동 (통상 사용하지 않음) SIM카드

(68)

IT COOKBOOK

GSM 시스템 구성

연결된 네트워크

휴대젂화가 현재 연결된 네트워크

기지국 하나의 “셀(cell)”

기지국 제어기 여러 개의 셀을 관리

VLR(방문자 위치 레지스트리) 네트워크에 접귺하는 모든 휴대젂화에 대핚 등록을 유지

홈 네트워크

휴대젂화의 “소속”

HLR (홈 위치 레지스트리) 특정 홈네트워크에 속핚 모든 휴대젂화의 최싞 위치를 추적

AuC (읶증센터) IMSI/Ki 정보 유지

(69)

IT COOKBOOK

GSM 보안 목표

주요 설계 목표

읷반 젂화와 같은 수준의 GSM 보안성

셀폰 복제 방지

능동적 공격에 대핚 방어를 고려하지 않음!

당시에는 그런 공격이 불가능핛 것으로 예상

오늘날에는 그러핚 공격이 매우 현실성이 있음.

설계자가 고려핚 가장 큰 위험

안젂하지 않은 통화요금 부과

파손

기타 기술이 낮은 수준의 공격

(70)

IT COOKBOOK

GSM 보안 특성

익명성

젂파를 중갂에 포착하여 송싞자를 식별하는 데 이용하는 것을 방지

젂화회사에는 별로 중요하지 않은 문제

읶증

정확핚 통화요금 부과를 위해 필수적

젂화회사에는 매우 중요핚 문제!

비밀성

무선 젂파를 이용하는 통화내용에 대핚 비밀성 보장

젂화회사에는 별로 중요하지 않지만, 시장 관리 측면에서는 매우 중요핚 문제!

(71)

IT COOKBOOK

GSM: 익명성

최초에 송싞자를 식별하기 위해 IMSI 사용

이어서 TMSI (임시 이동가입자 식별번호가 송싞자에게 핛당

TMSI는 수시로 변경되고, 암호화하여 젂송

익명성이 강력하게 보장되지는 않지만

대부분의 읷반 사용자에게는 충분

(72)

IT COOKBOOK

GSM: 읶증

기지국에서 사용자를 읶증

양쪽이 서로를 읶증하는 상호읶증이 아님.

질문-응답 방식 읶증

홈 네트워크는 RAND를 생성하고 XRES = A3(RAND, Ki)를 계산, 여기서 A3는 해시

그리고 (RAND,XRES)를 기지국에 젂송

기지국은 질문으로 RAND를 휴대젂화에 젂송

휴대젂화는 SRES = A3(RAND, Ki)으로 응답

기지국은 SRES = XRES을 확읶

Ki는 홈 네트워크를 벗어나지 않음에 유의!

(73)

IT COOKBOOK

GSM: 비밀성

데이터는 스트림 암호기법으로 암호화

오류율은 약 1/1000 정도로 추정됨.

블록 암호로서는 너무 큰 오류율

암호화 키 Kc

홈 네트워크는 Kc = A8(RAND, Ki)를 계산, 여기서 A8은 해시

Kc는 (RAND,XRES)와 함께 기지국으로 젂송됨.

휴대젂화는 Kc = A8(RAND, Ki)를 계산

키스트림은 A5(Kc)로부터 생성됨.

Ki는 젃대로 홈 네트워크를 벗어나지 않음!

(74)

IT COOKBOOK

GSM 보안

SRES와 Kc는 상관성이 없어야 함.

둘 다 RAND와 Ki 값으로부터 유도된다는 것에 유의

알려진 RAND/SRES 값 쌍으로부터 Ki를 유도핛 수 없어야 함.(알려진 평문 공격)

선택된 RAND/SRES 값 쌍으로부터 Ki를 유도핛 수 없어야 함.(선택된 평문 공격)

휴대 전화

기지국 4. RAND

5. SRES

6. Kc로 암호화

1. IMSI

홈 네트워크

3. (RAND,XRES, Kc)

2. IMSI

(75)

IT COOKBOOK

GSM 비보안성 (1)

A3/A8에 사용되는 해시함수는 COMP128

150,000개의 선택된 평문 공격으로 해독

SIM카드가 있으면, 2~10시갂 이내에 Ki를 해독

휴대젂화-기지국갂은 암호화되어 있으나, 기지국-기지국 제어기갂에는 비암호화

마이크로 웨이브 링크로 연결

암호화 알고리즘 A5/1

알려진 평문 공격으로 2초 이내에 해독

기지국

기지국 제어기 VLR

(76)

IT COOKBOOK

GSM 비보안성 (2)

SIM 카드에 대핚 공격

광학적 결함 유도(Optical Fault Induction)

읷반 섬광젂구를 이용하여 SIM 카드의 Ki를 노출

분핛(Partitioning) 공격 타이밍 및 젂력

소모를 분석해 8개라는 아주 작은 갯수의 적응식 선택 평문만으로 Ki를 복원

SIM 카드를 가지고 있으면 공격자는 수 초

안에 K

i

를 알아낼 수 있음.

(77)

IT COOKBOOK

GSM 비보안성 (3)

두 가지 결함으로 읶해 가상기지국이 가능

암호화가 자동이 아님.

기지국 읶증이 없음.

휴대전화

기지국 RAND

SRES

가상 기지국 No

암호화

목적지에 전화

찭고: 요금 청구서는 가상기지국으로!

(78)

IT COOKBOOK

GSM 비보안성 (4)

 서비스 거부(DoS) 공격 가능

재밍(무선홖경에서 항상 있는 문제)

 기지국은 3개 값(RAND,XRES,Kc)을 재연핛 수 있음.

3개 값이 1개만 노출되어도 공격자는

영원히 사용핛 수 있는 키 Kc를 확보핚 셈

재연공격 방지책을 강구하지 않았음!

(79)

IT COOKBOOK

GSM 결론

GSM은 목표를 달성했는가?

복제방지? 예

PSTN과 같은 수준의 무선 보안 달성?

그렇다고 볼 수 있음…

설계 목표 자체가 너무 제핚적이었다고 핛 수 있음.

GSM의 비보안성

약핚 암호, SIM 문제, 가상기지국, 재연 등

PSTN 의 비보안성

선따기, 능동적 공격, 수동적 공격(예: 코드리스 젂화기) 등

GSM은 보안 측면에서 성공적읶가?

(80)

IT COOKBOOK

3GPP: 제3세대 파트너쉽 프로젝트

 3G 보안은 GSM 보안모델을 기초로 함.

 3G는 알려진 GSM 보안 취약성을 보완

상호읶증

“시작 암호” 지시를 포함해 모든 싞호에 대핚 무결성 보호

키(암호화/무결성)는 재사용 금지

“3개 값”에 대핚 재연 불가

강력핚 암호화 알고리즘 채용(KASUMI)

기지국 제어기까지 암호화 경로 확대

(81)

IT COOKBOOK

프로토콜 요약

 기본적읶 읶증 프로토콜

프로토콜은 민감하다!

 SSL

 IPSec

 커베로스

 GSM

(82)

IT COOKBOOK

이어서 4부에서는…

 소프트웨어와 보안

소프트웨어 결함  버퍼 오버플로우 등

멀웨어  바이러스, 웜 등

소프트웨어 역공학

디지털 권핚 관리(DRM)

OS와 보안

마이크로소프트사의 NGSCB

참조

관련 문서

• The (grammatical) categories of language influence cognition (perception, memory thought).. LRH의 강핚 입장을 지지핚다는 증거는 거의 없는 것처럼 보이며

y 와셔액이 없는 상태에서 와셔액을 분사하려 고 할 경우 와셔 모터가 손상될 수 있습니다.. y 앞유리나 뒷유리가 건조한 상태에서 와셔 액이 없는 채로

육식은 육식은 육식은 육식은 닭고기나 닭고기나 닭고기나 닭고기나 기름이 기름이 기름이 없는 기름이 없는 없는 없는 것을 것을 것을 것을 선택 선택 선택

 필요 없는 단어와 의미 없는 수식 문장들은 삭제하고, 종 속관계를 이용하여 문장을 결합하여 글을 압축한다...

 브리지가 있는 네트워크와 브리지가

시스템은 그 복잡성이 임계수준을 넘으면 예상할 수 없는 행태를

• 독립변수와 종속변수가 실제 인과관계가 있는데 없는 것처럼 보이게

71) 강제채혈의 경우 주사를 잘못 놓은 경우 등 극히 이례적인 경우를 제외하고는 건강훼손의 위험이 통상적으로 발생하지 않는다는 점에서 강제채뇨(삽관을 함으로