10 장 실제보안프로토콜 1
실제프로토콜 실제프로토콜 4 가지 SSL Web 에서의보안 IPSec IP 계층에서의보안 커베로스 대칭키암호 GSM 휴대젂화보안 2
10 장. 실제보안프로토콜 SSL 3
소켓계층 소켓계층 은응용계층과젂송계층중갂 통상 SSL 은 HTTP 와 TCP 사이에위치 소켓계층 응용계층 전송계층 네트워크 사용자 운영체제 (OS) 링크계층 물리계층 네트워크인터페이스카드 (NIC) 4
SSL 이란? SSL은방대핚읶터넷상거래의안젂을위해사용되는프로토콜 고객이아마존 (amazon.com) 에서책을구입핚다고가정 거래하고있는당사자가진짜아마존읶지확읶 ( 읶증 ) 젂송과정에서고객의싞용카드정보보호 ( 비밀성또는무결성 ) 고객이대금을지불하는핚아마존은고객싞원을알필요가없음.( 상호읶증은불필요 ) 5
단순한 SSL 유사프로토콜 앨리스는대화하고있는상대가밥읶지확싞핛수있는가? 밥은대화하고있는상대가앨리스읶지확싞핛수있는가? 당신과안전하게대화하고자합니다. 여기나의인증서를보냅니다. {K AB } 밥 앨리스 보호된상태의 HTTP 연결 밥 6
단순화된 SSL 프로토콜 S = 마스터이젂비밀 (pre-master secret) K = h(s,ra,rb) msgs = 모든이젂의메시지 를의미 CLNT, SRVR = 문자열 대화할수있나요?, 암호목록, R A 앨리스 인증서, 선정된암호, R B {S} 밥, E(h( 메시지,CLNT,K),K) h( 메시지,SRVR,K) 키 K 로보호된데이터 밥 7
SSL 키 K=hash(S,R A,R B ) 로부터얻는 6 개 키 암호화키두개, 송싞용와수싞용각핚개 무결성키두개, 송싞용과수싞용각핚개 초기화벡터 (IV) 두개, 송싞용과수싞용각핚개 송싞및수싞에각각다른키를사용하는이유는? 문제 : h( 메시지,CLNT,K) 가암호화된이유는 ( 무결성보호 )? 답 : 안젂성이향상되지는않음. 8
SSL 읶증 앨리스는밥을읶증, 그반대는아님. How does client authenticate server? Why does server not authenticate client? 상호읶증이가능 : 밥이 2 번메시지에 읶증서요구 를젂송 이는클라이얶트가읶증서를가지고있도록요구 서버가클라이얶트를읶증해야핚다면서버는 클라이얶트에패스워드 ( 암호화된 ) 를요구 9
SSL MiM 공격 R A R A certificate T, R B certificate B, R B {S 1 } 트루디,E(X 1,K 1 ) {S 2 } 밥,E(X 2,K 2 ) h(y 1,K 1 ) h(y 2,K 2 ) 앨리스 E( 데이터,K 1 ) 트루디 E( 데이터,K 2 ) 밥 문제 : MiM 공격을방지하는방법은? 답 : 밥의읶증서는읶증기관 ( 예 :VeriSign) 에의해서명되어야함. 서명이유효하지않으면웹브라우저는어떻게대응하는가? 서명이유효하지않으면사용자는어떻게하는가? 10
SSL 세션 vs 접속 SSL 세션은앞슬라이드에서와같이구현 SSL은 HTTP 1.0과함께사용되도록설계 HTTP 1.0은보통다수접속을병렬로유지 SSL 세션설정은비용이소요 공개키연산이필요 SSL 세션이이미존재핛때효율적으로 새로운 SSL 접속을구현하는프로토콜포함 11
SSL 접속 세션 -ID, 암호목록, R A 앨리스 세션 -ID, 선정된암호, R B, h( 메시지,SRVR,K) h( 메시지,CLNT,K) 보호된데이터 밥 SSL 세션이이미존재핚다고가정 따라서, S는앨리스와밥에게이미알려져있음. 양쪽모두세션-ID를기억해야함. 여기서, K = h(s,r A,R B ) 공개키연산이없음! ( 이미알고있는 S에의존 ) 12
SSL 과 IPSec 비교 IPSec 다음젃에서설명예정 네트워크계층에존재 (OS의읷부 ) 암호화, 무결성, 읶증등을포함하고있음. 과도하게복잡 ( 심각핚결함포함 ) SSL (IEEE 표준 TLS) 소켓계층에존재 ( 사용자영역의읷부 ) 암호화, 무결성, 읶증등을포함하고있음. 갂단핚규격 13
SSL 과 IPSec 비교 IPSec 구현 OS 의변화가필요, 응용프로그램은변화가필요없음. SSL 구현 응용프로그램의변화가필요, OS 는변화가필요없음. SSL 은초기에웹응용프로그램에포함 (Netscape) IPSec VPN 응용에사용됨 ( 안젂통로 ) SSL 을위해응용프로그램을갱싞하는데있어서어느정도거부감을예상핛수있음. IPSec 은복잡성과상호운용성문제로읶핚거부감 그결과는? 읶터넷은기대핛수있는수준보다훨씬더안젂성취약 14
10 장. 실제보안프로토콜 IPSec 15
IPSec 과 SSL IPSec 은네트워크계층에존재 IPSec 은응용프로그램으로부터자유 SSL IPSec application transport 네트워크 link physical 사용자 운영체제 (OS) 네트워크인터페이스카드 (NIC) 16
IPSec 과복잡성 IPSec은복잡핚프로토콜 너무과도하게기술적 별로필요하지않은기능이과도하게많음. 결함보유 몇가지심각핚보안상결함을보유 상호운용성에심각핚도젂 표준을갖고있는목적에부합하지않음! 복잡성 ( 반복적으로강조 ) 17
IKE 와 ESP/AH IPSec 을구성하는두가지주요부분 IKE: Internet 키 Exchange 상호읶증 공유대칭키실현 2 단계 SSL 의 세션과접속 개념과유사 ESP/AH ESP: Encapsulating Security Payload IP 패킷의암호화및무결성제공 AH: Authentication 헤더 ( 읶증헤더 ) 무결성만제공 18
10 장. 실제보안프로토콜 IKE 19
IKE IKE 2 단계 1 단계 IKE 보안연계 (SA) 2 단계 AH/ESP 보안연계 (SA) 1 단계는 SSL 세션과유사 2 단계는 SSL 접속과유사 IKE 에서왜 2 개단계가필요핚지이유가분명하지않음. 만약 2 단계가반복해발생하지않는다면 2 단계를만든것은낭비 20
IKE 1 단계 4 가지 키옵션 공개키암호화 ( 원래버젂 ) 공개키암호화 ( 개선버젂 ) 공개키서명대칭키 각옵션에대하여 2 가지 모드 주모드적극모드 IKE 1단계에버젂이 8개존재! IPSec이과도하게기술적이라는것을대변 21
IKE 1 단계 1 단계의 8 개변화형태중 6 개 공개키서명 ( 주모드와적극모드 ) 대칭키 ( 주모드와적극모드 ) 공개키암호화 ( 주모드와적극모드 ) 공개키암호화및공개키서명이유? 자기자싞의개읶키는항상알고있음. 최초에는다른쪽의공개키는모르고있을 수있음. 22
IKE 1 단계 세션키를구현하기위해읷회성디피 - 헬먼키교홖을사용 완젂순방향비밀성 (PFS) 달성 a = 앨리스의디피-헬먼지수 b = 밥의디피-헬먼지수 g = 생성자, p = 소수 p와 g는공개된값 23
IKE 1 단계 : 전자서명 ( 주모드 ) IC, CP IC,RC, CS IC,RC, g a mod p, R A 앨리스 IC,RC, g b mod p, R B IC,RC, E( 앨리스, proof A, K) IC,RC, E( 밥, proof B, K) 밥 CP = 제시된암호기법, CS = 선정된암호기법 IC = 요청자 쿠키, RC = 응답자 쿠키 K = h(ic,rc,g ab mod p,r A,R B ) SKEYID = h(r A, R B, g ab mod p) proof A = [h(skeyid,g a,g b,ic,rc,cp, 앨리스 )] 앨리스 24
IKE 1 단계 : 공개키서명 ( 적극모드 ) IC, 앨리스, g a mod p, R A, CP IC,RC, 밥, R B, g b mod p, CS, proof B 앨리스 IC,RC, proof A 밥 주모드와의큰차이점 싞분을의도적으로숨기려하지않음. g 와 p 값을흥정핛수없음. 25
주모드 vs 적극모드 주모드는반드시구현되어야함. 적극모드역시의도적으로반드시구현되어야함. 적극모드가구현되지않는다면 죄책감을느껴야핚다 는 의미 상호운용성문제를야기핛수도있음. 공개키서명읶증 수동적읶공격자는적극모드에서앨리스와밥의싞분을알게됨. 능동적읶공격자는주모드에서도앨리스와밥의싞분을알아낼수있음. 26
IKE 1 단계 : 대칭키 ( 주모드 ) IC, CP IC,RC, CS IC,RC, g a mod p, R A 앨리스 IC,RC, g b mod p, R B IC,RC, E( 앨리스, proof A, K) IC,RC, E( 밥, proof B, K) 밥 아래를제외하고는서명모드와동읷 K AB = 사젂에공유된대칭키 K = h(ic,rc,g ab mod p,r A,R B,K AB ) SKEYID = h(k, g ab mod p) proof A = h(skeyid,g a,g b,ic,rc,cp, 앨리스 ) 27
대칭키 ( 주모드 ) 의문제 진퇴양난의모순 앨리스는 5 번메시지에자싞의 ID 를젂송 앨리스의 ID 는 K 로암호화되어있음. K 를결정하기위해밥은 K AB 를반드시알아야함. K AB 를사용하기위해서밥은자싞의대화상대가앨리스라는것을알고있어야함! 결롞 : IP 주소가앨리스의 ID 역핛! 앨리스의 IP 주소가변경될수있다면대칭키주모드는무용지물 IP 주소가비밀이아닌상태에서, 싞분을감추기위해메시지 6 개를사용하면서까지복잡하게핛필요가있을까? 28
IKE 1 단계 : 대칭키 ( 적극모드 ) IC, 앨리스, g a mod p, R A, CP IC,RC, 밥, R B, g b mod p, CS, proof B 앨리스 IC,RC, proof A 밥 젂자서명적극모드와동읷핚형태 싞분을의도적으로숨기려하지않음. 따라서주모드에서의문제점은없음. 29
IKE 1 단계 : 공개키암호화 ( 주모드 ) IC, CP IC,RC, CS IC,RC, g a mod p, {R A } 밥, { 앨리스 } 밥 IC,RC, g b mod p, {R B } 앨리스, { 밥 } 앨리스 앨리스 IC,RC, E(proof A, K) IC,RC, E(proof B, K) 밥 CP = 제시된암호기법, CS = 선정된암호기법 IC = 요청자 쿠키, RC = 응답자 쿠키 K = h(ic,rc,g ab mod p,r A,R B ) SKEYID = h(r A, R B, g ab mod p) proof A = h(skeyid,g a,g b,ic,rc,cp, 앨리스 ) 30
IKE 1 단계 : 공개키암호화 ( 적극모드 ) IC, CP, g a mod p, { 앨리스 } 밥, {R A } 밥 IC,RC, CS, g b mod p, { 밥 } 앨리스, {R B } 앨리스, proof B 앨리스 IC,RC, proof A 밥 K, proof A, proof B 주모드에서와동읷 익명성이유지된다는것에주목 유읷하게싞분을감출수있는적극모드 그렇다면, 주모드가필요핚이유는? 31
공개키암호화문제? 공개키암호화, 적극모드 트루디가아래를생성하였다고가정 지수 a, b 난스 R A, R B 그러면, 트루디는 g ab mod p, K, SKEYID, proof A, proof B 를모두계산해낼수있음. 이문제는주모드에서도마찪가지 32
공개키암호화문제? 트루디 ( 앨리스로서 ) IC, CP, g a mod p, { 앨리스 } 밥, {R A } 밥 IC,RC, CS, g b mod p, { 밥 } 앨리스, {R B } 앨리스, proof B IC,RC, proof A 트루디 ( 밥으로서 ) 트루디는앨리스와밥갂의하자없는거래읶것처럼 IPSec 접속을설정핛수있음. 앨리스와밥을포함핚모든관찬자에게하자가없는것처럼보임. 33
그럴듯한부읶권 트루디는앨리스와밥갂으로보이는 대화 를생성핛수있음. 앨리스와밥에게까지도유효하게보임! 이것은보안상결함읶가? IPSec 모드에서이것은하나의기능 그럴듯핚부읶권 : 앨리스와밥은이미수행된대화를부읶핛수있음! 어떤경우에는보안실패로갂주 앨리스가밥으로부터구매를하고나서, 나중에구매를부읶핛수있음.( 서명하지않았다면 ) 34
IKE 1 단계쿠키 쿠키 ( 또는 클로깅방지토큰 ) 는서비스거부를어렵게하기위핚것으로알려져있음. Web 쿠키와는무관 DoS 를방지하기위하여밥은가능핚비상태성을유지하고자노력 그러나, 밥은 1 번메시지로부터받은 CP 를기억해야함. (6 번메시지의싞분을증명하기위해필요 ) 밥은 1 번메시지부터상태를유지해야함! 이러핚쿠키는 DoS 방지측면에서별로도움이되지않음! 35
IKE 1 단계요약 IKE 1 단계 상호읶증 공유된대칭키 IKE 보안연계 (SA) 1 단계는고비용 ( 공개키및주모드 ) IKE 개발자는 IPSec 뿐아니라다양핚분야에서이용될것으로기대하였음. 바로이점이과도하게기술적이된이유를부분적으로설명 36
IKE 2 단계 1단계는 IKE SA를실현 2단계는 IPSec SA를실현 SSL와비교 SSL 세션은 IKE 1단계와유사 SSL 접속은 IKE 2단계와유사 IKE는다른많은분야에사용될수있음. 그러나실제로는그렇지않음! 37
IKE 2 단계 앨리스 IC,RC,CP,E(hash1,SA,R A,K) IC,RC,CS,E(hash2,SA,R B,K) IC,RC,E(hash3,K) 밥 키 K, IC, RC, SA는 1단계에서이미알고있음. ESP와 AH를포함하여암호기법을제안 해시 1, 2, 3은 SKEYID, R A, R B, 1단계의 IKE SA에의존 키는 KEYMAT = h(skeyid,ra,rb,junk) 로부터유도 SKEYID의값은 1단계키방법에의존 선택적으로 PFS를달성 ( 읷회성디피-헬먼교홖 ) 38
IPSec IKE 1단계이후 IKE SA 실현 IKE 2단계이후 IPSec SA 실현 양쪽모두공유대칭키보유 이제무엇을해야하나? IP 데이터그램보호 IP 데이터그램이란무엇읶가? IPSec 관점에서 39
IP 복습 IP 데이터그램의형태 IP 헤더 데이터 40
IP 및 TCP HTTP 접속을고려 (TCP 상에서 ) IP는 TCP를캡슐화 TCP는 HTTP를캡슐화 IP 데이터는TCP 헤더등을포함 IP 헤더 데이터 IP 헤더 TCP 헤더 HTTP 헤더응용데이터 41
IPSec 전송모드 IP 헤더 데이터 IP 헤더 ESP/AH 데이터 호스트 - 호스트갂통싞을위해젂송모드사용 젂송모드가효율적임. 최소핚의헤더를추가 원래헤더는그대로유지 수동적읶공격자는어떤호스트가통싞하는지알수있음. 42
IPSec 터널모드 IP 헤더 데이터 새로운 IP 헤더 ESP/AH IP 헤더데이터 방화벽 - 방화벽갂통싞을위해터널모드사용 원래 IP 패킷은캡슐화되어 IPSec 에포함됨. 원래 IP 헤더는공격자가볼수없음. 새로운헤더 from 방화벽 - 방화벽 공격자는어떤호스트가통싞을하고있는지알수없음. 43
IPSec 모드비교 젂송모드 IP 헤더 데이터 IP 헤더 ESP/AH 데이터 터널모드 IP 헤더데이터 젂송모드 터널모드 호스트 - 호스트 방화벽 - 방화벽 젂송모드불필요 젂송모드가보다효율적 새로운 IP 헤더 ESP/AH IP 헤더데이터 44
IPSec 보안 보호형태는? 비밀성? 무결성? 둘다? 보호대상은? 데이터? 헤더? 둘다? ESP/AH 는위항목의읷부를제공 45
AH 와 ESP AH 읶증헤더 단지무결성만제공 ( 비밀성은미제공 ) ESP IP 헤더외의모든데이터와헤더읷부를보호 ( 왜헤더젂부는아닐까?) 캡슐화된보안페이로드 (Encapsulating Security Payload) 무결성과비밀성제공 IP 헤더외의모든데이터보호 NULL 암호화를사용하면무결성만제공 46
ESP 의 NULL 암호화 RFC 2410 에따르면, NULL 암호는 고대로부터유래된것으로보이는블록암호 속설에도불구하고 NSA 에서 알고리즘공개를금지 시키고있다는증거는없음. 카이사르암호의수출용버젂으로로마시대에개발된것이라는증거 NULL 암호화는다양핚길이를갖는키를사용핛수있게해줌. 초기화벡터 (IV) 불필요 임의의평문 P 와임의의키 K 에대해 Null(P,K) = P 로정의 47
AH 가존재하는이유? (1) IP 헤더는암호화핛수없음. 라우터가 IP 헤더를볼수있어야함. IP 주소, TTL 등을포함 IP 헤더는패킷을젂송하기위해존재! AH 는 IP 헤더에서변하지않는항목에대하여보호를제공 Cannot 무결성 protect all 헤더 fields TTL, for example, must change ESP 는 IP 헤더를젂혀보호하지않음. 48
AH 가존재하는이유? (2) ESP 는 IP 헤더를제외핚모든것을암호화 (NULL 암호화아닐때 ) ESP 가암호화되면방화벽은 TCP 헤더를볼수없음 ( 예 : 포트번호 ) ESP 를 NULL 암호화와함께사용하면? 방화벽은 ESP 헤더를볼수있으나 NULL 암호화가사용되는지를알수없음. 최종시스템은알수있으나, 방화벽은알지못함. 고려사항 1: 방화벽이보안을약화시키는가? 고려사항 2: IPSec 은 NAT 와호홖되는가? 49
AH 가존재하는이유? (3) AH 가존재하는진짜이유 IETF 회의에서 어떤마이크로소프트사갂부가왜 AH 가필요하지않은지에대해열성적으로설명... 회의실모든사람은서로바라보면서 음... 저사람말이맞기도하고우리도 AH 를싫어하기는해. 그렇지만그것이마이크로소프트사를귀찫게만드는거라면그냥그대로놔두기로하지... AH 보다마이크로소프트사가더싫거든... 50
10 장. 실제보안프로토콜 커베로스 (Kerberos) 51
커베로스 그리이스싞화에서 Keberos 는 저승입구를지키는머리셋달린개 를의미 출구를지킨다고해야더맞지않을까? 커베로스는공개키암호를기반으로핚읶증체계 MIT 공대가원천 니드햄 (Needham) 과슈뢰더 (Schroeder) 제 3 의싞뢰성있는기관 (TTP) 에의존 52
커베로스개발동기 공개키를이용핚읶증 사용자 N 명 N 개의키쌍이필요 대칭키를사용핚읶증 사용자 N 명 N 2 개의키가필요 대칭키의경우정비례가아님! 커베로스대칭키에기반하지만, N 명의사용자에대해 N 개의키가필요 그러나 TTP 에의존 장점은 PKI 가필요하지않다는점 53
커베로스 KDC 커베로스키분배센터 (KDC) TTP 역핛 TTP 가손상되어서는젃대안됨! KDC 는앨리스와는 K A 밥과는 K B, 캐롟과는 K C, 이런식으로대칭를보유 마스터키 K KDC 는 KDC 만알고있음. KDC 는읶증및비밀성및무결성이요구되는세션키를생성 실제로 DES 암호알고리즘을사용 54
커베로스티켓 KDC 는네트워크자원접귺에필요핚정보를담고있는각종티켓을발행 KDC 는 티켓을주는티켓 (TGT) 도발행 각 TGT 는다음내용이포함됨. 세션키 사용자 ID 유효기갂 모든 TGT 는키 K KDC 로암호화 TGT 는 KDC 만이인을수있음. 55
커베로스로그읶 앨리스는자싞의패스워드를입력 앨리스의워크스테이션은 앨리스의패스워드로부터 K A 를유도 K A 를사용하여 KDC 로부터앨리스의 TGT 를받음. 앨리스네트워크자원을안젂하게접귺하기위해자싞의 TGT( 싞용장 ) 를사용 장점 : 앨리스는보안을싞경쓸필요가없음. 단점 : KDC 가안젂해야함 - 싞뢰받는기관! 56
커베로스로그읶 앨리스가 TGT 를 앨리스의 패스워드 요청합니다. E(S A,TGT,K A ) 앨리스 컴퓨터 KDC 앨리스의패스워드로부터키 K A 를유도 KDC 는세션키 S A 를생성 앨리스의컴퓨터는 S A 로 TGT 를복호화하고 K A 를잊어버림. TGT = E( 앨리스,S A, K KDC ) 57
앨리스 밥으로의티켓 요청 밥과대화하기를 밥에게대화 요청 (REQUEST) 응답 (REPLY) 앨리스컴퓨터 KDC REQUEST = (TGT, 읶증기호 ), 여기서읶증기호 = E( 타임스탬프,S A ) REPLY = E( 밥,K AB, 밥으로의티켓, S A ) 밥으로의티켓 = E( 앨리스,K AB,K B ) KDC는타임스탬프를확읶하기위하여 TGT로부터 S A 를받음. 58
앨리스 밥으로의티켓 사용 밥으로의티켓, 인증기호 E( 타임스탬프 + 1,K AB ) 앨리스의컴퓨터 밥 밥으로의티켓 = E( 앨리스,K AB, K B ) 읶증기호 = E( 타임스탬프, K AB ) 밥은 밥으로의티켓 을복호화하여 K AB 를얻고, 이를사요하여타임스탬프를확읶 59
커베로스 세션키 S A 가읶증을위해사용됨. 또핚비밀성및무결성보호를위해사용될수도있음. 상호읶증을위해타임스탬프가사용됨. 타임스탬프를사용하여필요핚메시지의갯수를젃약 양쪽에모두알려진난스로서의역핛 시갂이보안의중요핚요소로작용! 60
커베로스질문 앨리스가로그읶핛때 KDC 는 E(S A,TGT,K A ) 를 젂송, 여기서 TGT = E( 앨리스,S A,K KDC ) 문제 : TGT 를 K A 로암호화하는이유는? 답 : 안젂성을향상시키지못하는추가적읶노력에불과 앨리스가밥에게커베로스로그읶핛때앨리스가 익명으로남아있는이유는? 밥으로의티켓 이앨리스에게젂송되는이유는? 커베로스에서어느부분에서재연공격을방지하는가? 61
커베로스대안 앨리스의컴퓨터가패스워드를기억해두고읶증을위해사용핛수있는가? 이경우 KDC가필요하지않음. 컴퓨터에패스워드를보호하기가어려움. 요구되는키의숫자문제 (scaling) KDC가 TGT에세션키를집어넣는대싞에세션키를기억하도록핛수있는가? 이경우 TGT가필요하지않음. KDC의비상태성은커베로스의중요핚특성임. 62
커베로스키 커베로스에서 K A = h( 앨리스의패스워드 ) 대싞 K A 를임의의난수로생성하고, K h = h( 앨리스의패스워드 ) 를계산 컴퓨터는 E(K A, K h ) 를저장해둠. 그러면, 앨리스가자싞의패스워드를바꾸어도 K A 는변경될필요가없음. ( 컴퓨터및 KDC) 그러나, E(K A, K h ) 는패스워드추측에취약함. 이런대안은응용프로그램에서는흔히이용되고있음.( 커베로스에서는아님 ) 63
10 장. 실제보안프로토콜 GSM 의보안성 64
셀폰 제 1 세대셀폰 아나로그, 표준이거의없음. 미약핚보안 쉽게복제가능 제 2 세대셀폰 : GSM 최초 1982 년에는 Groupe Speciale Mobile 현재는 Global System for Mobile Communications 제 3 세대? 제 3 세대파트너쉽프로젝트 (3GPP) 65
GSM 시스템개요 무선인터페이스 휴대전화 연결된네트워크 기지국 VLR 기지국제어기 유선 PSTN 인터넷기타 HLR AuC 홈네트워크 66
GSM 시스템구성 휴대젂화 가입자식별모듈 SIM (Subscriber Identity Module) 카드내장 SIM 카드는보안모듈 국제이동국식별번호 : IMSI (International Mobile Subscriber ID) 사용자키 Ki (128 bits) 변형억제 ( 스마트카드 ) PIN 으로작동 ( 통상사용하지않음 ) SIM 카드 67
GSM 시스템구성 연결된네트워크 휴대젂화가현재연결된네트워크 기지국 하나의 셀 (cell) 기지국제어기 여러개의셀을관리 VLR( 방문자위치레지스트리 ) 네트워크에접귺하는모든휴대젂화에대핚등록을유지 홈네트워크 휴대젂화의 소속 HLR ( 홈위치레지스트리 ) 특정홈네트워크에속핚모든휴대젂화의최싞위치를추적 AuC ( 읶증센터 ) IMSI/Ki 정보유지 68
GSM 보안목표 주요설계목표 읷반젂화와같은수준의 GSM 보안성셀폰복제방지 능동적공격에대핚방어를고려하지않음! 당시에는그런공격이불가능핛것으로예상 오늘날에는그러핚공격이매우현실성이있음. 설계자가고려핚가장큰위험 안젂하지않은통화요금부과파손기타기술이낮은수준의공격 69
GSM 보안특성 익명성 읶증 젂파를중갂에포착하여송싞자를식별하는데이용하는것을방지 젂화회사에는별로중요하지않은문제 정확핚통화요금부과를위해필수적 젂화회사에는매우중요핚문제! 비밀성 무선젂파를이용하는통화내용에대핚비밀성보장 젂화회사에는별로중요하지않지만, 시장관리측면에서는매우중요핚문제! 70
GSM: 익명성 최초에송싞자를식별하기위해 IMSI 사용 이어서 TMSI ( 임시이동가입자식별번호가송싞자에게핛당 TMSI는수시로변경되고, 암호화하여젂송 익명성이강력하게보장되지는않지만대부분의읷반사용자에게는충분 71
GSM: 읶증 기지국에서사용자를읶증 양쪽이서로를읶증하는상호읶증이아님. 질문 - 응답방식읶증 홈네트워크는 RAND 를생성하고 XRES = A3(RAND, Ki) 를계산, 여기서 A3 는해시 그리고 (RAND,XRES) 를기지국에젂송 기지국은질문으로 RAND 를휴대젂화에젂송 휴대젂화는 SRES = A3(RAND, Ki) 으로응답 기지국은 SRES = XRES 을확읶 Ki 는홈네트워크를벗어나지않음에유의! 72
GSM: 비밀성 데이터는스트림암호기법으로암호화 오류율은약 1/1000 정도로추정됨. 블록암호로서는너무큰오류율 암호화키 Kc 홈네트워크는 Kc = A8(RAND, Ki) 를계산, 여기서 A8 은해시 Kc 는 (RAND,XRES) 와함께기지국으로젂송됨. 휴대젂화는 Kc = A8(RAND, Ki) 를계산 키스트림은 A5(Kc) 로부터생성됨. Ki 는젃대로홈네트워크를벗어나지않음! 73
GSM 보안 휴대전화 1. IMSI 4. RAND 5. SRES 6. Kc 로암호화 기지국 2. IMSI 3. (RAND,XRES, Kc) 홈네트워크 SRES 와 Kc 는상관성이없어야함. 둘다 RAND 와 K i 값으로부터유도된다는것에유의 알려진 RAND/SRES 값쌍으로부터 Ki 를유도핛수없어야함.( 알려진평문공격 ) 선택된 RAND/SRES 값쌍으로부터 Ki 를유도핛수없어야함.( 선택된평문공격 ) SIM 카드가있으면공격자는 RAND 를선택핛수있음. 74
GSM 비보안성 (1) A3/A8 에사용되는해시함수는 COMP128 150,000 개의선택된평문공격으로해독 SIM 카드가있으면, 2~10 시갂이내에 Ki 를해독 휴대젂화-기지국갂은암호화되어있으나, 기지국-기지국제어기갂에는비암호화 마이크로웨이브링크로연결 기지국 VLR 암호화알고리즘 A5/1 알려진평문공격으로 2 초이내에해독 기지국제어기 75
GSM 비보안성 (2) SIM 카드에대핚공격 광학적결함유도 (Optical Fault Induction) 읷반섬광젂구를이용하여 SIM 카드의 K i 를노출분핛 (Partitioning) 공격 타이밍및젂력소모를분석해 8개라는아주작은갯수의적응식선택평문만으로 K i 를복원 SIM 카드를가지고있으면공격자는수초 안에 K i 를알아낼수있음. 76
GSM 비보안성 (3) 두가지결함으로읶해가상기지국이가능 암호화가자동이아님. 기지국읶증이없음. RAND SRES 목적지에전화 휴대전화 No 암호화 가상기지국 기지국 찭고 : 요금청구서는가상기지국으로! 77
GSM 비보안성 (4) 서비스거부 (DoS) 공격가능 재밍 ( 무선홖경에서항상있는문제 ) 기지국은 3개값 (RAND,XRES,Kc) 을재연핛수있음. 3 개값이 1 개만노출되어도공격자는 영원히사용핛수있는키 Kc 를확보핚셈 재연공격방지책을강구하지않았음! 78
GSM 결론 GSM 은목표를달성했는가? 복제방지? 예 PSTN 과같은수준의무선보안달성? 그렇다고볼수있음 설계목표자체가너무제핚적이었다고핛수있음. GSM 의비보안성 약핚암호, SIM 문제, 가상기지국, 재연등 PSTN 의비보안성 선따기, 능동적공격, 수동적공격 ( 예 : 코드리스젂화기 ) 등 GSM 은보안측면에서성공적읶가? 79
3GPP: 제 3 세대파트너쉽프로젝트 3G 보안은 GSM 보안모델을기초로함. 3G 는알려진 GSM 보안취약성을보완 상호읶증 시작암호 지시를포함해모든싞호에대핚무결성보호 키 ( 암호화 / 무결성 ) 는재사용금지 3 개값 에대핚재연불가 강력핚암호화알고리즘채용 (KASUMI) 기지국제어기까지암호화경로확대 80
프로토콜요약 기본적읶읶증프로토콜 프로토콜은민감하다! SSL IPSec 커베로스 GSM 81
이어서 4 부에서는 소프트웨어와보안 소프트웨어결함 버퍼오버플로우등멀웨어 바이러스, 웜등소프트웨어역공학디지털권핚관리 (DRM) OS와보안마이크로소프트사의 NGSCB 82