Ⅰ. GSM 사용자 인증 프로토콜
GSM 시스템은 인증되지 않은 접근으로부터 네트워크와 사용자 프라이버시를 보호하기 위해 암호화 방식을 채택하였다. GSM의 사용자 인증(그림 1) 은암호화키 분배 과정과 함께 수행되며 IMSI가 네트워크에 알려지고, 채널이 암호화되기 전에 수행된다. MS는 새로운 VLRCVisited Location Regis- ter)에게 TMSZ(Temporary Mobile Sub scriber Identity)와 LAKLocation Area Identity)를 전송하여 자신의 존재를 알린다. 새로운 VLR은 이전의 VLR에게 MS가 전송해온 TMSI와 切技를 전송하여 MS의 IMSI값을 되돌려 받는다. 새로운 VLR은 MS의 신원을 검증받기 위해 IMSI를 HLR(Home Location Regis- ter) 에 전송한다. HLR은 MS와의 비밀키 Ki와 난수 RAND를 입력으로 하는 A3 알고리즘을 수행하여 인증서명값 SHES와 암호화 키 Kc를 계산한 후, n개의 인증 파라미터 (RAND, SRES, Kc)를새로운 VLR에 전송한다. 새로운 VLR은 이 n개의 인증파라미터 중에서 한 쌍의 triple을 선택하고, 이 triple에서 RtIN〃값만 MS에게 전송한다. 새로운 VLR로부터 RAND를 전송받은 MS는 자신의 비밀키Ki와 전송받은 RAND를 A3에 입력하여 생성된 SRES를 새로운 VLR에 전송한다. 새로운 VLR은 자신이 계산한 SKES와 MS로부터 전송받은 SRES를 비교하여 두 개의 값이 동일하면, MS를 정당한 개체로 인증하여 다음 서비스를 계속한다. 만 약 값이 동일하지 않으면, MS 인증은 실패한 것으로서 세션을 종료한다“⑵. 그러나 GSM 시스템은 무선채널 상의 통신망에만 암호화 방식을 채택하기 때문에, 제3자는 HLR의 채널을 통해 WSJ와 같은 인증정보를 획득함으로써 다음과 같은 사용자 인증 문제 'Mi를 발생시킨다.
. VLR/VLR간 그리고 VLR/HLR간의 통신에 암호화 방식을 사용하지 않기 때문에, 사용자인증정보인 IMSIA 노출되어 사용자 인증, 위치갱신, 그리고 사용자 프라이버시 침해와 같은 문제들을 초래한다.
.GSM 시스템은 MS만을 인증하는 단일인증방식을 제공하기 때문에. VLR의 신분이 검증되지 않아 제3자가 정당한 개체로 가장할 수 있다.
.VLR은 인증 파라미터를 모두 소비할 경우, n 개의 새로운 인증 파라미터를 HLR에게 요청해야 한다. 하나의 VLR안에 존재하는 모든 MS들은 n개의 인증 파라미터를 가지고 있고, 이 인증파라미터들은 VLR에 저장되기 때문에 n개만큼의 저장공간 오버헤드가 발생한다.
.MS 인증시, n개의 인증 파라미터 전송 때문에 VLR/HLR간의 대역 폭 소비가 발생한다.
Ⅱ.향상된 사용자 인증 메커니즘
1.기 본 원리
제안 메커니즘은 안전한 사용자 인증과 프라이버시 보장을 위해 MS의 임시 아이디 TID를 사용한다. TID는 WS7대신 사용자인증 가능한 부가적인 파라미터로서, 와일대일로 매핑되며 HLR에서유일한 값이어야 한다. TID는 안전한 의사 난 수생 성기에 의해 랜덤하게 생성된다. 그러나 파라미터 TID 자체는 공개 정보이다. T/D의 생성은 HLR만이 가능하며, 사용자는 등록 과정에서 비밀키 Ki, IMSI와 함께 TID를 제공받는다. 또한 제안 메커니즘에서는 MS/VLR간 상호인증, HLR에 의한 VLR로의 인증권한 부여, 그리고 VLR의 신분을 검증한다. VLR은 MS인증권한을 부여받기 위해 난수 RANDv를 생성하여 자신의 인증서 CertV 계산을 위해 MS로부터 전송받은 『와 左厶를 XOR 한 후, 자신의 비밀키Kvh를 사용해 A3(Kvh. T XOR RANDv)를 계산한다. 인증 권한을 부여받은 후, VLR은 MS인증을 위해 HLR에서 생성한 비밀키 勿를 사용한다. Zi는 HLR에서 생성한 난수 RANDh와 TIDn, 그리고 전송받은 丁를 XOR 하여, 그 결과 값을 HLR/MS와의 비밀키困와 함께 A3 (Ki, T XOR TIDn XOR RANW로 입력함으로써 계산된다. 또한 인증권한을 부여받은 새로운 VLR은 MS가 새로운 VLR의 영역에 계속 머무르는 동안, MS인증을 위해 각각의 j번째 호를 위해 새로운 난수R厶NDj.만을 생성하면 된다.
(표1) 파라미터 정의
(그림1) GSM 사용자 인증 프로토콜의 절차
2.제안 메커니즘의 동작 원리
제안 메커니즘의 각 단계의 동작 원리는 다음과 같다(그림 2).
(그림2) 제안 메커니즘의 절차
단계 1) MS는 자신의 인증서 CertM 계산을 위해 자신이 생성한 타임스탬프 T, 현재의 임시 아이디 TIDo, RANDh, 그리고 IMSI를 XOR한결과값과 비밀키 Ki 를 A3(ffi, T XOR TIDo XOR RANDh XOR 1MST) 에 입력한다. 이 결과 값을 자신의 인증서 CertM로 사용하며, VLR 에게 HLRid, T, TIDo, 그리고 Cer〃Vf을 전송한다. 인증서 CertM 계산에 사용된 난수RANDh는 MS 인증단계에서 HLR 이 생성하여 MS 에게 전송해 준비 밀값으로서, MS 가 새로운 VLR 로 이동할 때 단 한 번만 생성된다.
단계 2) 새로운 VLR은 자신이 생성한 난수 KANDr와 전송받은 「를 XOR하여 그 결과값을자신의 비밀키와 함께 A3에 입력함으로써 자신의 인증서 CertV를 계산한다. 그런 다음 TIDo, T. CertM, 자신의 아이디VLRid, CertV, 그리고 RANDv를 secure channel# 통해 HLR에게전송한다. 만약 중복되는 TIDoA 존재하면 기존의 것은 그대로 두고 중복되는 두 번째 TIDo의 뒤에 숫자를 붙여 구별한다.
단계 3) HLR은 VL珂d와 TIDoA 합법적인 ID인지 조사하여, VLR과 MS의 검증 여부를 결정한다. 만약 일치하는 ID들이 없으면 세션을 종료하고, 일치하면 ID에 일치하는 VLR과 MS의 비밀키를 알 수 있기 때문에 _&4N£)t/와『를 사용하여 Cer必/를 계산한다. 전송받은 Cert V와 자신이 계산한 CertV'값이 동일하면, VLR을 정당한 개체로 신뢰하고, MS검증을 위해 전송받은 TIDo, T, 그리고 그에 일치하는 ZMS7와 비밀키 Ki, RANDh를 조사하여 CertM'를 계산한다. 전송받은 CeriM과 자신이 계산한 CertM의 계산 결과가 다르면 세션을 종료하고, 동일하면 새로운 난수 RANDh^ 새로운 임시 아이디 TIDn을 생성하여 T. VLRm와 XOR하여 MS의 비밀키와 함께 A3 를 수행하여 VLR 인증 권한부여서 CertHV (A3(Ki, T XOR TIDn XOR VLRID XOR RANDh)를, TIDn, T, RANDh를 XOR한 결과와 Ki를 A3에 입력하여 Zi를 계산한다. 마지막으로 HLR은 HLRid, Xv, CertHV. Ehm (RANDh)、그리고 Zi를 새로운 VLR에게 전송한다. Xv는 전송받은 氏厶NDv와 새롭게 생성한 TIDn 을 XOR 한 결과를, Ehm(RANDh) 는 MS/HLR간의 암호화 키로 암호화함을 나타낸다.
단계 4) 새로운 VLR은 HLRid를 확인하여 이 ID에 일치하는 비밀키 Kvh를 찾아낸 후, 전송받은 Zi를 저장한다. 일치하는 ID가 존재하면 VLR은자신이 생성한 RANDv를 알고 있기 때문에 전송받은 Xv와 H厶NDv를 XOR하여 TIDn값을 추출한다. 氏厶NDV 값이 변경되었다면 올바른 TIDn값을 얻을 수 없다. 동시에 VLR은 난수 RAND 1을 생성하여 VLR;d, TIDn, CertHV.Ehm(RANDh) 와 함께 MS에게 전송한다.
단계 5) MS는 VLR신분과 인증 권한 부여서의 정당성 검증을 위해 자신의 암호화키로 Ehm(RANDh)를 복호화한다. 그런 다음 저장했던 T, RANDh. VLRid, TIDn을 XOR하여, 자신의 비밀키Ki와 함께 A3를 수행하여 OertHV를계산한다. 자신이 계산한 CertHV과 전송받은 CertHV값이 동일하면, VLR을 정당한 개체로 믿고 VLR 과의 비밀키勿를 계산하기 위해 RANDh. TIDn, 그리고 T를 XOR연산 후 Ki와 함께 A3를 수행한다. 勿가 생성된 후, 전송받은 RAND 1과 Zi를 A3로 입력하여 얻어진 결과값 SEES와 TIDn를 새로운 VLR에 전송한다. 새로운 VLR은 자신이 계산한 SRES'과 전송받은 SRES, 그리고 전송받은 TIDn과 저장해둔 TIDn 를 각각 비교하여, 값이 모두 동일하면 MS를 정당한 개체로 인증하고, 그렇지 않으면 MS인증은 실패하여 세션을 종료한다.
Ⅲ.비교 분석
제안 메커니즘의 안전성은 GSM의 보안 알고리즘 A3, A5. A8의 비도에 의존한다.
・안전한 사용자 인증
제안. 메커니즘은 기존 메커니즘들과 달리 IMSI 값을 전송하지 않기 때문에, MS자체에서 이 값이 노출되지 않는 한 안전한 사용자 인증을 제공한다.
. 각 개체의 인증과 상호인증
MS와 VLR은 자신이 생성한 타임스탬프와 난수를 사용한 인증서 CertM과 Cert V를 통해 HLR 로부터 신분을 검증받는다. 또한 MS는 CertHV를통해 HLR의 VLR 인증서를 다시 조사함으로써 새로운 VLR의 신분을 믿는다. GSM 시스템이나 기존의 다른 메커니즘들조차도 VLR을 인증하지 않거나 간단한 방식에 의해 곧바로 MS인증권한을 VLR에게 부여하기 때문에 시스템 전체의 안전성에 큰 문제를 야기할 수 있다. 제안 메커니즘에서는 CertV^ 통해 HLR로부터 VLR의 신분을 인증하고, 인증이 성공한 경우에만 MS인증권한을 부여하여 네트워크 상의 개체관리뿐만 아니라 정보관리의 안전성도 함께 제공해준다.
. 77D로부터의 IMSI2] 안전성
TLD와 渤57값의 일대일 매핑 관계는 MS와 HLR만이 알고 있으며 검증받은 정당한 VLR조차도이 매핑 관계를 알 수 없다. 또한 TID는 안전한 의사 난 수생 성기에 의해 랜덤하게 생성되기 때문에, TID를 이용한 WSI값의 유추 공격에 안전하다. 또한, 임의의 한 VLR에 계속 머무를 경우 매번 HLR로부터 새로운 TID를 전송받는 것이 아니 라단 한번만 전송받기 때문에 매번 TID를 생성해야 하는 계산과 전송의 대역폭 오버헤드를 줄일 수 있다.
(표2) 기존 메커니즘들과의 특성 비교
・ VLR의 인증 권한에 의한 K7값의 안전성
VLR은 HLR로부터 부여받은 인증 권한을 위해 먼저 자신의 신분을 검증받은 후, HLR로부터 se cure channel을 통해 전송받은 Zi를 MS/VLR 간의 공유 비밀키로 사용한다. 그러나 Zi의 생성은 비밀키 Ki로부터 유도되고, VLR은 Ki값과 MS의 IMSI값도 모른 상태에서 MS를 인증하기 때문에 Ki값의 노출 위험은 없다.
・ 강력한 인증 기능
MS인증서 CertM은 난수RANDh. MS가 생성한 타임스탬프 T, 현재의 임시 아이디 TIDo, 그리고 MS의 IMSI를 사용해 계산된다. 와 TIDo는 HLR。] 생성한 파라미터들이 고 IMSI는 HLR과 MS만이 알고 있는 비밀인증 정보이다. 그러므로 CertM은 단순히 T나 MS가 생성한 난수만을 사용하는 방식에 비해 더 강력한 인증기능을 제공한다. VLR인증서와 인증권한 부여서도 VLR에서 생성한 값과 자신의 아이디뿐만 아니라 MS에서 생성된 7를 인증서 계산에 같이 사용함으로써 MS 정당성과의 연계에 의해 VLR신분을 검증받기 때문어】, 단순한 인증 방식만을 사용하는 기존 메커니즘들에 비해 강력한 인증 방식을 제공한다.
・ 익명성
익명성을 거의 제공하지 않는 대부분의 기존 메커니즘들과 달리, 제안 메커니즘은 MS가 방문하는 VLR이 변경될 때마다 새로운 TIDn과 HLR에게검증받은 정당한 VLR일지라도 값을 전달받지 않기 때문에, MS와 HLR을 제외한 어느 개체에게도 값이 노출되지 않는다. 그러므로 익명성에 의한 사용자 프라이버시를 안전하게 제공한다.
. 인증 단계 감소
제안 메커니즘은 새로운 VLR이 이전의 VLR과의 통신 단계를 없애고, HLR과 곧바로 통신함으로써 최소 7단계가 필요한 기존의 인증 단계를 5단계로 감소시켰다. 그리하여 빠른 사용자 인증과 함께 다음서비스를 보다 빠르게 처리할 수 있다. 또한 이전 VLR과의 통신단계가 사라짐으로써, 그에 따른 프로세스 오버헤드가 사라졌다.
.간단한 부인 봉쇄
HLR이 생성한 RANDh는 암호화되어 전송되기 때문에, 정당한 MS만이 R厶AWh값에 대한 복호화가 가능하다. 그러므로 MS의 비밀키가 노출되지 않는 한, 어느 개체도 RANDh값을 알 수 없어 MS 의 간단한 부인 봉쇄가 제공된다. 간단한 부인봉쇄는 공개키 방식에서의 부인 봉쇄를 의미하지 않는다.
. RAN%의 오버헤드
제안 메커니즘에서는 MS가 새로운 VLR에 방문하는 한번만 HLR로부터 한 개의 RANDh를 전송받기 때문에, n개의 오버헤드가 1번으로 감소한다.
. 재생 공격
제3자가 임의정보를 획득하였다 할지라도 각 인증서 계산은 타임스탬프와 각 개체들이 생성한 난수들, 그리고 인증서 생성 주체인 각 ID를 같이 사용하여 계산되기 때문에, 이전에 획득한 값들의 변경에 의해 현재의 인증서를 재사용할 수 없다. 각 인증서에 대한 공격에 성공하려면, HLR/MS간 그리고 HLR/VLR간의 각 비밀키를 분석해야만 한다.
Ⅳ. 결론
본고에서는 불안전한 GSM 사용자 인증 문제를 해결하고 안전한 사용자 인증과 프라이버시를 보장하기 위해, MS의 임시 아이디인 TH)를 사용하였다. 또한 각 개체가 생성한 난수와 타임스탬프, 각 개체의 아이디, 그리고 HLR이 생성해 준 난수 등을 가지고 각 개체가 인증서를 생성함으로써 개체의 강력한 인증방법을 제공하였다.
References
- L. Chichun, C. Yujen, 'Secure Communication Mechanism for GSM Networks,' IEEE Transactions on Consumer Electronics, 45(4), pp. 1074-1080, November 1999 https://doi.org/10.1109/30.809184
- L. Chichun, C. Yujen, 'Stream Ciphers of GSM,' Computer Communications 24, pp. 1090-1096, 2001 https://doi.org/10.1016/S0140-3664(00)00333-9
- Lee. C.C., Hwang. M.S,, Yang. W.P., 'Extension of Authentication Protocol for GSM,' IEE Proceedings. Communications, 150(2), pp. 91-95, 2003
- C. Yeongsub, C. Sangrae, C. Daeseon, J. Seunghun, C. Kyoil, P. Cheehang, 'A Location Privacy Protection Mechanism for Smart Space,' WISA2003, LNCS 2908, pp. 162-173, 2004
- C. Youngjae, K. Soonja, 'An Improvement on Privacy and Authentication in GSM,' WISA2003, LNCS 3325, pp. 14-26, 2004
- W.B. Lee, C.K. Yeh, 'A New Delegation- Based Authentication Protocol for User in Portable Communication Systems,' IEEE Transactions on wireless communications, Vol.4, No.1, pp. 57-64, 2005 https://doi.org/10.1109/TWC.2004.840220
- O. Aydemir, A. A. Selcuk, 'A Strong User Authentication Protocol for GSM,' 14th IEEE Workshops on Enabling Technologies: Infrastructures for Collaborative Enterprises( WETICE'05), Linkoping, Sweden, June 2005