본 발명은 종래 기술의 장치의 단점 및 그 밖의 결점들을 해소하는 것이다.
본 발명의 일반적인 목적은, 인증 및/또는 키 동의와 관련하여 강화된 보안 및/또는 프라이버시를 제공하는 것이다.
또한, 본 발명의 목적은, 개선된 SIM 또는 유사한 변조 방지 보안 장치를 제공하는 것이다. 이러한 관점에서 강화된 보안 및/또는 프라이버시의 목적을 위해 변조 방지 보안 장치의 기능성을 확장시키는 것이 특히 바람직하다.
또한, 본 발명의 목적은, 심지어 SIM과 같은 변조 방지 보안 장치가 불안전환 환경에서 사용되는 경우에도, 또한, 덜 안전한 인터페이스를 통해 AKA 프로토콜을 재사용하는 경우에도, 전체적인 보안을 유지하기 위한 것이다.
본 발명의 다른 목적은, 강화된 보안 및/또는 프라이버시에 적합한 사용자 단말기를 제공하는 것이다.
본 발명의 또 다른 목적은, 사용자 단말기에 설치된 변조 방지 보안 장치에서 보안 및/또는 프라이버시 강화(enhancements)를 지원하는 네트워크 서버를 제공하는 것이다.
전술한 바와 같이, 본 발명은 일반적으로, 적어도 하나의 보안 키를 포함하는 사용자 자격 증명서를 저장하는 수단, 보안 키로 AKA 프로세스를 실행하기 위한 AKA(Authentication and Key Agreement) 모듈뿐만 아니라, 외부 통신을 위한 수단을 구비하는 가입자 식별 모듈 등과 같은 변조 방지 보안 장치에 관한 것이다.
본 발명의 주 관점에 따른 기본 사상은 AKA 모듈과 협력하기 위한 애플리케이션과, 애플리케이션에 AKA 모듈을 인터페이스하기 위한 수단을 포함하는 변조 방지 보안 장치를 제공하는데 있다.
상기 AKA 모듈과 협력하기 위한 애플리케이션은 바람직하게 통상 AKA 모듈의 인증 및/또는 키 동의와 관련하여 강화된 보안 및/또는 프라이버시 처리를 실행하는 보안 및/또는 프라이버시 강화 애플리케이션이다.
강화된 보안을 위해, 애플리케이션은 완수할 특정 보안 목표에 따라 다소 다른 보안 처리 태스크(task)를 실행한다. 일반적으로, 이 강화된 보안 처리는 AKA 프로세스의 하나 이상의 입력 파라미터의 처리(전-처리) 및/또는 출력 파라미터의 처리(후-처리)를 포함할 수 있다. 예컨대 보안 강화 애플리케이션은 전술한 EAP SIM 프로토콜에서 제안한 바와 같은 다수의 안전한 알고리즘에서의 AKA 응답을 캡슐화하도록 구성될 수 있다. 그러나 본 발명에 따르면, 모든 민감한(sensitive) 처리는 변조 방지 보안 장치에서 발생하는데, 보안 강화 단계를 포함한다. 따라서, EAP SIM 및 유사 보안 강화 알고리즘의 증가되는 강도를 고려하면, 보안 키 또는 다른 민감 데이터의 검색을 지향한 공격이 성공할 가능성이 크게 감소된다. 따라서, 변조 방지 보안 장치가 PC 등의 덜 안전한 환경에서 사용되는 경우에도 또는 블루투스(Bluetooth) 등의 덜 안전한 인터페이스를 통해 AKA 프로토콜을 재사용하는 경우에 전체적인 보안이 유지될 수 있다.
본 발명의 보안 애플리케이션에 의해 실행되는 강화된 보안 처리의 다른 예로, ⅰ) 추가적인 편이 방식 재료 즉, 하나 이상의 시도-응답 조회에 기반한 하나 이상(길 수 있음(possibly longer))의 키를 생성하도록 기본 보안 기능성을 확장시키는 것, ⅱ) 2 사용자(SIM이나 유사의 보안 장치의 키에 기반함)사이의 단말 기간 암호화를 위한 공유 키를 생성하는데 필요한 연산의 적어도 일부를 실행하는 것, ⅲ) AKA 모듈에 의해 생성된 AKA 키 정보를 마스크 하는 것을 들 수 있다. 예를 들어, 추가적인 편이 방식 재료는 종단 사용자의 견지에서 보안을 강화한 합법적인 인터셉션(interception:가로채기)을 위해서나 또는 공개 액세스와 관련한 보안 강화를 위해 활용될 수 있다.
본 발명은 또한 재생 검사를 실행하는데 사용될 수 있고, 동일한 AKA 입력 파라미터(RAND)가 안전하지 않은 방식으로 재사용되지 않게 할 수 있다. 특히, 여러 AKA 출력 파라미터를 보다 높은 보안 응답 또는 키에 결합시키는 경우에, 한 세트의 고유한 AKA 입력 파라미터(RAND 값)가 사용될 수 있게 하는 것이 중요하다.
프라이버시 강화를 위해, 중요한 관점은 후에 기술하는 것처럼, 임시 사용자 식별자라 불리는 적당한 사용자 가명을 관리(유지 또는, 생성)함으로써 사용자의 ID를 보호하는 것이다.
강화된 보안을 통해, 변조 방지 보안 장치 및/또는 대응하는 사용자 단말기는 일부 형태의 보안 정책 처리를 실행하도록 바람직하게 구성된다. 보안 정책 처리는 통상적으로 보안 정책 결정 및/또는 강화를 포함하고, 바람직하게 변조 방지 보안 장치와 관련한 보안 조건을 나타내는 정보에 기반을 두고 있다. 예를 들어 AKA 프로세스와 대응 AKA 파라미터를 나타내는 변조 방지 보안 장치의 상주 애플리케이션 파일 및 명령에 바이러스 및 트로이 목마에 의한 비허가 액세스에 의해 전체적인 보안 강화가 손상받지 않는 것이 중요하다. 따라서 변조 방지 보안 장치는 바람직하게 소정의 환경에서만 상기 상주 애플리케이션 파일 및 명령을 액세스하게 되어있다. 특히, 바람직하게 변조 방지 보안 장치의 임의의 상주 파일 명령은 보안 장치가 이동 전화의 정상의 환경에서 벗어나서 PC 등의 보다 부적당한 환경에 들어가는 경우에 디스에이블된다. 대신 AKA 처리를 위한 임의의 요청이 보안 강화 애플리케이션에 편리하게 중계되는데, 이는 예를 들어 변조 방지 보안 장치의 보안 조건을 검출하는 내부 또는 외부 모듈을 이용하고, 그리고/또는 사용자 삽입의 다른 PIN 코드나 이와 동등한 것에 의해 보안 장치가 설치된 장치의 타입에 따라 액세스 권한을 설정하게 함으로써 관리될 수 있다. 유사하게 불루투스 등의 덜 안전한 인터페이스를 통해 AKA 프로토콜을 재사용하는 경우, 사용자 단말기는 보안 강화 애플리케이션에 AKA 요청을 재중계할 수 있다.
소프트웨어 애플리케이션, 바람직하게는 애플릿(applet)으로서 보안 강화 및/또는 프라이버시 강화 애플리케이션을 실시하는 것이 특히 바람직한 것으로 인식되는데, 이는 변조 방지 보안 장치의 애플리케이션 환경에 다운로드되는 인증된 애플리케이션으로서 제공되거나, 제조 단계에서 사전설치될 수 있다. 예를 들어, 이 애플리케이션 환경은 보통 GSM SIM 카드의 GSM SAT(SIM Application Toolkit) 또는 UMTS SIM 카드의 UMTS SAT로 제공될 수 있다. 일반적으로, 애플리케이션은 GSM/UMTS SIM과 관련된 네트워크 운영자 등의 신뢰 기관에 의해 관리되는 네트워크 서버로부터 애플리케이션 환경에 안전하게(바람직하게 인증 및 암호화됨) 다운로드된다.
하나 이상의 보안 정책과 더불어 애플리케이션은 용이하게 대체 또는 업그레이드되어(무선 인터페이스(air interface)를 통해서도) 단말기/또는 보안 장치가 애플리케이션 애플릿의 최근의 "릴리즈(release;배포)"를 갖게 된다. 또한 이 애플릿은 정상적으로 네트워크 운영자나 다른 신뢰 기관의 제어하에 있고 상기 운영자에 의해 "서명"되므로, 이것은 정상의 PC에 있는 애플릿보다 악의적인 소프트웨어에 의해 훨씬 덜 감염될 것이다.
부적당한 환경, 통상적으로 외부 장치에 있어서, AKA 프로세스에 대한 시도가 AKA 알고리즘을 실시하기 위한 보통 명령(즉 GSM SIM의 RUN_GSM_ALGORITHMS 명령)을 이용하는 대신에, 애플리케이션 환경에서 애플리케이션에 입력 데이터로서 전송된다.
애플리케이션 파일/입력 데이터가 GSM SAT의 ENVELOPE 명령 등의 현재 명령을 이용함으로써 애플리케이션 환경에 전달되는 경우, 변조 방지 보안 장치의 입/출력 인터페이스는 어떤 변경도 필요로 하지 않는다. 따라서 이는 본 발명이 현재의 표준 규격을 위반하고 있지 않으므로 매우 중요하다.
본 발명의 바람직한 실시예에 있어서, AKA 알고리즘은 변조 방지 보안 장치의 애플리케이션 환경에서 애플리케이션으로서 바람직하게 강화된 보안 및/또는 프라이버시 처리와 더불어 적어도 부분적으로 실시된다. 분명하게 이러한 방식은 상주 AKA 모듈과 애플리케이션 환경 사이에 특별한 인터페이스를 필요로 하지 않는데, 이는 강화된 보안 및/또는 프라이버시 처리와 AKA 알고리즘이 모두 상기 애플리케이션 환경에 있기 때문이다. 보통, AKA 알고리즘과 보안 강화 기능들 사이에는 여전히 일부의 코드 인터페이스가 자연스럽게 존재한다.
삭제
소프트웨어 구현이 특히 유익하기는 하지만, 하드웨어 애플리케이션과 AKA 모듈 사이에 얼마간의 인터페이스로써 변조 방지 보안 장치에 하드웨어로서 사전제조된 AKA 협력 애플리케이션을 가질 수 있음은 물론이다.
본 발명은 이하의 장점을 제공한다.
●단말기의 관점에서, 본 발명은 레가시 SIM과 이와 유사한 변조 방지 보안 장치를 확장 및 개선하는 방법을 제공하는데, 이 장치는 바이러스 및 트로이 목마에 노출된 부적당한 환경에서 이 장치를 보호하는 추가의 보안 층을 구비한다.
●본 발명은 또한 레가시 기술에 기반한 신규의 보안/프라이버시 목표를 이루기 위해 기능을 확장하는 간단한 방법을 제공한다.
●이러한 해결책의 주요한 장점은 인증된 다운로드에 의한 안전한 방식으로 관리에 예방과 용이함을 제공하는 점이다.
●이 해결책은 변조 방지 보안 장치가 장착되는 장치에 감각적으로 투명성을 가진다. 또한 이 해결책은 보안 장치가 예컨대, 불루투스를 통해 통신하는 기본(이동) 단말기에 있을 때에는, SIM와 같은 보안 장치에 직접적으로 안전한 원격 액세스를 가능하게 한다. 이는 이동 단말기가 SIM의 보안을 위협하지 않고 "일반적인" 인증 장치로서 사용될 수 있다.
●네트워크의 관점에서, AuC(또는 동등의 것) 노드가 변경되지 않고 완전하게 남아있을 수 있으며, AAA 서버가 사용되는 경우, 예외적 보안 처리를 실행하는데에는 AAA 서버만이 이용된다.
●최종적으로, 다수의 제안된 실시예는 표준 충격을 갖지 않지만, 정상의 SIM 기능성을 향해 내부의 SAT 환경의 API의 약간의 변화를 필요로 할 수 있다.
본 발명이 제공하는 다른 장점은 이하의 본 발명의 실시예와 관련한 설명으로부터 명확히 이해될 것이다.
본 발명의 추가적인 목적 및 장점은 이하의 첨부 도면을 참조로 한 상세한 설명으로부터 잘 이해될 수 있을 것이다.
도면 전체에 걸쳐서 같은 도면부호는 대응이나 유사의 요소를 나타낸다.
이하에 기술하는 바와 같이, 보안 장치에서 현재 실시되는 알고리즘의 종류와 무관하게 사용될 수 있는 방식으로 위의 목적 및 다른 보안 목적을 성취할 수 있다.
본 발명의 주 관점에 따른 기본 사상은 AKA 모듈과 협력하는 애플리케이션뿐만 아니라 AKA 모듈과 상기 애플리케이션 사이의 예를 들어, API 또는 유사의 인터페이스와 같은 인터페이스를 제공하는 것에 있는데, 도 3에 개략 도시한 바와 같다.
도 3은 본 발명에 따른 변조 방지 보안 장치의 일 실시예를 도시하는데, 이 보안 장치(10)는 교환 논리(11), AKA 모듈(12), 적어도 하나의 보안 키 K(또한 사용자 ID 및 가명일 수 있음)를 포함하는 안전하게 저장된 사용자 자격 증명서(13), AKA 모듈과 협력하도록 적응된 애플리케이션(14), 및 AKA 모듈(12)과 AKA 협력 애플리케이션(14) 사이의 약간의 직접 인터페이스를 포함한다. 교환 논리(11)는 보안 장치에 전송된 명령을 분석해서 내부 기능과의 통신을 조정한다. AKA 모듈(12)은 적어도 부분적으로 보안 키 K에 기반하는 인증 및/또는 키 동의를 위한 알고리즘을 포함한다.
변조 방지 보안 장치는 바람직하게 사용자 단말기 또는 이와 동등의 것 등의 네트워크 장치에서 구현하도록 되어있다. 도 4는 이동 전화나 PC 등의 사용자 단말기(20)를 나타내는데, 일반적으로 일부 형태의 네트워크 통신 장치(25) 및, 도 3에 도시한 것과 유사한 변조 방지 보안 장치(10)를 구비한다.
AKA 모듈과 협력하는 애플리케이션은 정상적으로는 인증과 관련된 애플리케이션이고 그리고/또는 바람직하게는 보안 및/또는 프라이버시 강화 애플리케이션이다.
보안의 강화를 위해, 애플리케이션은 특정 보안 목표에 따라 다소 다른 보안 처리 태스크를 실행한다. 강화된 보안 처리는 정상적으로 AKA 모듈의 인증 및/또는 키 동의와 관련되고, AKA 프로세스의 입력 파라미터 및/또는 출력 파라미터와 관련된다.
이러한 보안 강화의 관계에 있어서, 변조 방지 보안 장치 및/또는 대응의 사용자 단말기는 바람직하게 몇몇 형태의 보안 정책 처리를 실행하도록 구성된다. 보안 정책 처리는 정상적으로 보안 정책 결정 및/또는 강화를 포함하고, 바람직하게, 변조 방지 보안 장치와 관련하여 보안 조건을 나타내는 정보에 기반하는데, 이하 보다 상세히 기술할 것이다.
프라이버시의 강화를 위해, 애플리케이션은 예를 들어 사용자 가명을 관리한다.
본 발명의 사상을 UMTS SIM 또는 AKA 기능, 이하 기술하는 유사의 애플리케이션 및 인터페이스를 포함하는 임의의 변조 방지 보안 장치에도 적용할 수 있지만, 이제 본 발명을 주로 GSM SIM의 관계에서 설명한다. 다른 예는 3GPP IP 멀티미디어용으로 사용된 ISIM 또는 보다 일반적으로 동시에 각각의 SIM를 포함할 수 있는 UICC 카드를 포함한다.
애플리케이션은 바람직하게 소프트웨어 애플리케이션으로서 실시되는데, 이는 제조시 사전-설치될 수 있거나 변조 방지 보안 장치의 애플리케이션 환경에 다운로드된 인증된 애플리케이션으로서 제공될 수 있다.
도 5에 도시한 SIM(10)은 교환 논리(11), AKA 모듈(12), 보안 키 K(13), 애플리케이션 환경(15), 또한 바람직하게는, SIM과 관련하여 보안 조건 예를 들어 SIM(10)이 그 정상의 안전한 환경에서 동작하는지 또는 덜 안전한 환경에서 동작하는지를 검출하는 모듈(16)을 구비한다. 교환 논리(11)는 SIM에 전송된 명령을 분석해서 내부 모듈과의 통신을 조정하고 또한 SIM이 위치한 사용자 단말기에 아웃바운드 데이터(outbound data)를 전송한다. AKA 모듈(12)은 클라이언트-운영자 가입(subscription)과 관련한 가입 키 또는 이 이 가입으로부터 유도된 키 등의 보안 키 K를 이용하여 AKA 프로세스를 실행한다. GSM SIM에 있어서 이러한 기능은 일반적으로 A3/A8 AKA 알고리즘이다.
애플리케이션 환경
애플리케이션 환경(15)은 가입자 식별 모듈의 애플리케이션 툴키트(application toolkit)로써 바람직하게 제공되고, 일반적으로 코드를 실행할 수 있는 환경이다. GSM SIM의 경우, 애플리케이션 환경은 SIM Application Toolkit(SAT)[5]로써 제공될 수 있지만, UMTS SIM(USIM)의 유사한 애플리케이션 환경은 UMTS SAT(USAT)[6]로써 제공된다.
GSM SIM의 경우, SIM-ME(SIM-이동 장비) 인터페이스는 SIM/ME에/이로부터 전송될 수 있는 "명령" 및 데이터를 특정한다. 예를 들어 GSM A3/A8 AKA 알고리즘을 실행하기 위해 상주 AKA 알고리즘에/으로부터 입력 파라미터/출력 결과를 중계하는 RUN_GAM_ALGORITHMS 명령이 있다. 이 AKA 알고리즘은 시도 RAND(및 저장된 보안 키)에 기반하여 응답 및/또는 하나 이상의 키를 연산한다. SIM-ME 인터페이스를 통해 있게 되는 명령의 리스트 중에서 우리는 특히 ENVELOPE 명령을 지적한다. 이 명령은 SIM Application Toolkit(SAT)과 사용을 위해 SIM에 약간의 임의 데이터를 전송하도록 되어있다. SIM에 대한 입/출력 포맷은 명백하게 특정되지만, 애플리케이션이 정확하게 어떤 것을 할 수 있는지 여부에 대해서는 높은 자유도가 있다. 예를 들어, 애플리케이션은 아주 일반적인 자바 애프릿(Java Applet)이 될 수 있다(참조문헌 [7]참조). 애플릿에는 상주 GSM-관련 파일을 액세스하는데 다양한 인증 자유도가 주어질 수 있으며, 하나의 가능성은 애플릿에 "완전한 GSM 액세스"를 주는 것이다.
본 발명의 바람직한 실시예에 있어서, AKA 협력 애플리케이션(14)은 ENVELOPE 명령 또는 유사한 명령을 이용하여 SIM 애플리케이션 툴키트에 의해 애플리케이션 환경에서 실시될 수 있다. 그러면 애플리케이션에 대한 입/출력 데이터는 ENVELOPE 명령에 의해 SAT에 SAT에 바람직하게 전달된다.
SAT 환경(15)에서 소프트웨어 애플리케이션(14)과 AKA 모듈(12) 사이의 통신을 위해, AKA 모듈(12)과 SAT 애플리케이션 환경(15) 사이에 바람직하게 전용 API 등의 특정 인터페이스가 있다.
SIM Application Tookit(SAT)에 의해 무선을 통해 AKA 협력 애플리케이션(14)을 SIM에 "하드코드(hardcode)" 또는 다운로드할 수 있다. 후자의 다운로드의 경우에 있어서, 정당한 운영자 등의 신뢰 기관으로부터 들어오는 애플리케이션을 또한 인증(그리고 강력히 추천됨)할 수 있다. 이는 인증이 악의의 운영자로부터 다운로딩하는 "바이러스"에 대해 보호해 주기 때문에 매우 중요하다. 다운로드된 애플리케이션은 또한 암호화될 수 있어서 애플리케이션 콘텐츠를 SIM 외부에서 활용할 수 없다. GSM SAT와 관련한 보안 특징에 대해 참조문헌 [8]을 참조할 수 있다. SIM의 애플리케이션 환경에서 상기 애플리케이션을 구현함으로써, SIM의 기능성을 또한 업그레이드할 수 있으며, 업그레이드는 ENVELOPE 명령을 이용하여 간단히 다운로드된다.
도 6은 변조 방지 보안 장치에 보안 및/또는 프라이버시 강화 애플리케이션 또는 애플릿의 다운로드를 지원하는 네트워크 서버의 개략도인데, 네트워크 서버(30)는 일반적으로 네트워크 운영자 등의 신뢰 기관에 의해 관리되고, 애플릿 소스(source;31), 암호화/인증 목적 모듈(32) 및 다운로드 모듈(33)을 구비한다.
보안 정책 처리
전술한 바와 같이, 변조 방지 보안 장치 및/또는 사용자 단말기에서 일부 형태의 보안 정책 처리가 실행되고, 보안 정책 처리는 바람직하게 변조 방지 보안 장치의 보안 조건을 나타내는 정보에 기반한다. 관련 보안 조건의 예로 보안 장치가 동작하는 환경, AKA 처리 요청이 들어오는 인터페이스, 네트워크 통신을 위해 사용자 단말기가 사용하는 네트워크 등이 있다.
강화된 보안 제어를 위해, SIM 또는 보다 일반적으로 보안 장치가 바람직하게, AKA 처리를 거치는 상주 애플리케이션 파일 및 명령에 대한 액세스 그리고 임의의 보안 조건 또는 환경하에서만 대응 AKA 파라미터에의 액세스를 허가한다. 상기 보안 조건은 예를 들어 변조 방지 보안 장치 내부에서 또는 외부 즉, 사용자 단말기에 의해 검출될 수 있다.
도 5를 다시 보면, SIM 모듈은 SIM이 위치한 환경 등의 보안 조건의 검출을 위한 모듈(16)을 포함한다. 예를 들어 SIM 또는 보다 일반적으로 보안 장치는 바람직하게, AKA 처리를 거치는 상주 애플리케이션 파일 및 명령에 대한 액세스 그리고 SIM이 그 정상 환경(즉, 이동 전화)에서 동작하는 경우에만 대응 AKA 파라미터에의 액세스를 허가한다. SIM은 외부의 덜 안전한 환경에 위치하거나 그에 노출되는 경우, 상주 파일 및 명령에의 액세스는 디스에이블된다. 대신 AKA 처리를 위한 임의의 요청는 보안 및/또는 프라이버시 강화 애플리케이션에 편리하게 중계된다. 이는 변조 방지 보안 장치에서 구현 및 강화되는 보안 정책의 완전한 예이다.
강화된 보안 및/또는 프라이버시 처리는 보안 장치가 사용자 단말기의 정상의 네트워크 인터페이스를 사용하여 그 정상의 환경에서 동작하는 경우 필요치 않음은 물론이다. 한편, 불안전한 환경에서 SIM이 위치한 특정의 불안전환 환경에 따라 보안 처리를 특별주문하는(customise) 것이 바람직하다. 실제에 있어서, 이는 다수의 다른 특별주문된 보안-강화 모듈 또는 서브 애플리케이션(sub application)을 제공하고 환경에 따라 이 모듈 중에서 선택을 함으로써 이루어질 수 있다.
예를 들어 GSM SIM이 그 정상의 환경 외부에서 사용되는 경우, 정상의 RUN_GSM_ALGORITHMS 명령/인터페이스는 비활동화(그렇지 않으면, 바이러스가 아직 그 명령을 사용할 수 있다)될 수 있는 것이 바람직하다. 이러한 비활동화를 달성하는 다수의 가능성을 이하 기술한다.
SIM이 정상의 단말기 외부에서 사용되어야만 하는 경우(즉, 우리는 특정 목적SIM을 가진다), 간단히 SIM을 제조할 수 있게 되어 SIM이 RUN_GSM_ALGORITHMS 명령을 수용할 수 없거나 이 명령은 SAT 환경 및 그에서 동작하는 소프트웨어 애플리케이션에 항상 내부적으로 "재중계(re-routed)된다. 물론 이 경우 스크래치(scratch)로부터 간단히 특정 목적의 SIM을 설치하는 것이 바람직한 것으로 나타날 수 있다. 그러나 현재의 SIM 구조의 대부분이 재사용될 수 있을 때, 이는 물론 이점이 된다.
도 5에 도시한 바와 같이, 보안 장치 또는 SIM은 바람직하게 단말기 또는 핸드세트(handset)가 사용되는 경우 단말기나 핸드세트의 ID/타입을 검사하는 성능을 가지는데, 이는 고 전력 소비상태(power-up)에서 실행될 수 있으며, 모듈(16)에 의해 성취될 수 있으며, 이 모듈은 SIM(10)이 그 정상의 안전한 환경(정상적으로 상기 모듈)에서 또는 PC나 그와 동등의 것 등의 덜 안전한 환경에서 동작하는지 여부를 검출하도록 구성되어 있다. 검출 모듈(16)은 바람직하게 교환 논리(11)을 제어하여서 AKA 요청이 직접적으로 AKA 모듈에 전달되거나 상황에 따라 애플리케이션 환경에 재중계된다. 따라서 이러한 기능성이 이용될 수 있어서 SIM이 자신이 상기 (옳은)단말기/핸드세트에 있지 않은 것을 알거나 있지 않다라고 생각할 때, SIM이 외부(불안전환 환경에)에 있다고 추정하여 SAT 명령을 수용할 때만의 모드로 들어가서 상주 파일 또는 명령에 의한 AKA 액세스에 대한 모든 요청이 거절된다.
하나 이상의 PIN 코드를 SIM과 연관시키기 위한 하나의 가능성이 있다. 이 경우, 특정의 PIN 코드가 SIM이 외부 장치에서 사용되고 있는 것을 SIM에 통지하고 그에 따라 액세스 권한을 설정하여 "무해한" SAT 명령만이 수용된다. 여기서 정상의 SIM 액세스를 위해 PIN 코드가 오류에 의한 정상 액세스의 활동화를 방지하도록 재확인되어야 한다.
변조 방지 보안 장치의 애플리케이션 환경에서 하나 이상의 보안 정책 및 대응의 보안 정책 처리의 실행이 또한 가능한데, 도 7에 개략 도시한 바와 같다. 이 실시예에 있어서, 애플리케이션 환경(15)은 보안 강화 애플리케이션 등의 AKA 협력 애플리케이션(14A) 및 보안 정책 애플리케이션(14B)을 포함한다. 보안 정책 애플리케이션(14B)은 보안 강화 애플리케이션(14A)과 부분적으로 또는 완전히 통합될 수 있거나 별개의 애플리케이션으로서 제공될 수 있다. 실제 시나리오에 있어서, 정상의 AKA 명령은 고 전력 소비상태에서 디폴트에 의해 디스에이블 되고(disabled)(즉, 교환 논리(11)를 제어함으로써 또는 다른 수단에 의해), SIM의 보안 조건의 최초의 정보가 보안 정책 애플리케이션(14B)에 전달되고, 그러면 애플리케이션은 적절한 추가의 동작을 위해 보안 정책 결정을 한다. 예를 들어 보안 정책 애플리케이션(14B)이 SIM이 그 정상 환경(즉, 이동 전화)에 위치한 것을 통지를 받으면, 보안 정책 애플리케이션(14B)은 정상의 AKA 명령을 인에이블시킨다. 보안 정책 애플리케이션(14B)이 SIM이 다른 덜 안전한 환경에 위치한 것을 통지를 받으면, 정상의 AKA 명령(들)은 계속해서 디스에이블 되고, AKA 처리를 위한 모든 요청이 보안 강화 애플리케이션(14A)에 전달되고 애플리케이션(14A)은 활용가능한 보안 정책에 따라 AKA 요청을 조정한다. SIM 자체가 관련 보안 조건을 검출하기 위한 기능성을 갖는 경우에, 고도의(higher degree) 자율성과 보안이 얻어질 수 있지만, SIM의 보안 조건은 SIM에 내부적으로 또는 외부적으로 검출될 수 있다. 보안 정책 및 대응 보안 정책 처리는 홈 운영자 등의 신뢰 기관에 의해 "하드코드" 되거나 SIM의 애플리케이션 환경에 다운로드(암호화/인증됨)될 수 있다. SAT 환경 및 ENVELOPE 명령(또는 동등의 것)은 발행된 보안 정책뿐만 아니라 실제로 실행할 수 있는 정책 변화의 다운로드를 가능하게 한다.
SIM이 정상의 단말기(이동 전화)에서 동작하는 경우에도, 정상의 (GSM/UMTS) 네트워크 인터페이스와는 다른 인터페이스를 통해 AKA 프로토콜을 재사용하는 것이 바람직하다. 이 경우 보안 문제를 조정하기 위해, 다른 해결책을 실행할 수 있다.
예를 들어 통상의 지불 시나리오에 있어서, 사용자는 일부의 표준화된 프로토콜을 따르는 지불 애플리케이션을 간단히 시동시키는데, 이 프로토콜에 있어서, AKA 요청이 ENVEPOLE 또는 동등의 명령을 이용하여 보안 강화 애플리케이션에 중계된다. 이 경우, 애플리케이션 레벨에서 상기 문제가 해결된다.
또한, 상기 지불 시나리오에 있어서, 사용자는 제3자와 관련하여 익명을 유지하는 것이 바람직할 수 있다. 따라서 사용자 가명을 생성하는 프라이버시 강화 애플리케이션은 적합하고 안전한 인증 이후에 실시되는데 이후 상세히 설명한다.
또한, 단말기(이동 전화)는 정상 네트워크 인터페이스 또는 불루투스나 IRDA(Infrared Data Association;적외선 통신 규격) 인터페이스 등의 다른 인터페이스를 통해 AKA 요청이 처음으로 들어오는지를 결정하도록 구성될 수 있다. 예를 들어, 이는 이동 전화 자체가 SIM 액세스에 대한 요청이 덜 안전한 인터페이스를 통해 들어오는 때를 검출할 수 있어서 그에 따라 적당한 동작을 취할 수 있는 것을 의미한다. 요청의 원인은 예를 들어 포트 식별(IR 포트, 불루투스 포트, 정상 무선 인터페이스 포트 등)에 의거하여 단말기에 의해 결정될 수 있다. 대개는, 요청이 불루투스나 IRDA 인터페이스를 통해 들어오는 경우에, 정상의 상주 명령을 이용하여 AKA 모듈에 직접적으로 AKA 처리에 대한 요청을 전달하는 대신에, SAT 애플리케이션 환경 명령을 이용하여 단말기에 의해 AKA 요청이 보안 강화 애플리케이션에 재중계된다. 이는 본 발명에 의한 실시에 적합한 보안 정책의 다른 예이다. 여기서 또한 다수의 다른 서브 애플리케이션을 제공하고, 단말기가 사용한 특정 타입의 인터페이스에 따라 상기 서브 애플리케이션 중에서 선택함으로써 보안 처리를 특별주문하는 것이 바람직할 수 있다.
본 발명의 변조 방지 보안 장치의 실시에 적합한 보안 정책의 다른 예는 3GPP Gb 인터페이스 [13]의 보안을 강화시키기 위한 현재의 제안에 관련된 것이다. 보안이 적절한 경우, 또한 보안을 사용하기 위한 방법/시기를 지배하는 정책이 필요하다. 때로 보안 수준이 낮거나/보안이 없는 것을 수용할 수 있고, 때로 이들을 수용하지 못할 수 있다. 특히, 사용할 보안 알고리즘의 협상중 중간의 사람(man-in-the-middle)이 소위 "바이딩-다운 어택(bidding-down attack)"을 실행할 수 있는 문제가 있다. 이동 단말기가 보안 알고리즘 "A"와 "B"를 사용할 수 있는 네트워크에 신호 보내는 것을 가정할 수 있는데, 여기서 "A"는 "B"보다 훨씬 강한 것으로 한다. 이제 공격자가 지원 알고리즘의 리스트로부터 간단히 "A"를 소거하면, 양당사자가 "A"를 모두 지원하는 경우에도, 네트워크는 이동 전화가 단지 "B"만을 지원하므로 이동 단말기/네트워크 차선(次善)의 보안을 이용하여 끝날 것이라고 믿을 것이다. 이러한 이유로 협상에 몇 가지 형태의 통합 보호를 부가하는 제안이 있다. 그러나 때로는 강화된 보안 협상을 지원하는 네트워크뿐만 아니라 아직 업그레이드되지 않은 일부의 네트워크가 혼합된 형태가 있다. 따라서 운영자는 그들의 가입자에게 정책을 발행하여 이동 단말기가 외부 방문 네트워크에서 불안전한 협상을 수용해야 할 지의 여부를 지령할 수 있다. 명백하게 이 정책 제어를 위한 바람직한 배치는 SIM 등의 변조 방지 보안 장치의 애플리케이션 환경에 있다. 불안전한 협상을 수용해야 할지에 대한 결정은 바람직하게 AKA를 통해 보호된 통합성으로 되는 정보에 의거한다.
보안 정책 처리의 또 다른 변형으로 예를 들어 수신하는 AKA 파라미터를 시험하여 네트워크/운영자를 식별하고, 네트워크/운영자 식별에 따라 후속의 보안 처리를 특별주문하는 것이 있다. 이에 의해 예를 들어 수신하는 AKA 파라미터에 따라 다른 운영자를 구별할 수 있을 것이다.
예시의 목적으로 본 발명에 따른 변조 방지 보안 장치에서 실시를 위한 보안 정책 테이블의 일례를 이하 나타낸다.
보안 조건 |
보안 모드 |
환경 |
네트워크/운영자 |
인터페이스 |
정상 AKA |
보안 강화 서브 애플리케이션 |
이동 전화 |
홈(Home) |
정상 |
인에이블 |
- |
PC |
홈 |
정상 |
디스에이블 |
01 |
이동 전화 |
홈 |
블루투스 |
디스에이블 |
02 |
이동 전화 |
홈 |
IR |
디스에이블 |
03 |
이동 전화 |
홈 |
WLAN |
디스에이블 |
04 |
이동 전화 |
방문 |
정상 |
- |
05(협상) |
이동 전화 |
운영자 A |
정상 |
디스에이블 |
06 |
이동 전화 |
운영자 B |
정상 |
디스에이블 |
07 |
... |
|
|
|
... |
이동 전화 |
방문 |
WLAN |
디스에이블 |
01,04,05 |
사용자 단말기에 대한 변경
SIM/ME 인터페이스는 그대로 유지하여 표준에는 영향을 주지 않는 것이 특히 바람직하다(적어도, 새로운 명령이 추가될 필요가 있는 경우에도, SIM은 아직 이전과 호환가능하다). 물론 단말기/핸드세트가 본 발명에 의해 영향을 받지않고 유지되는 지에 대한 문제를 고려하는 것이 중요하다. SIM이 단말기/핸드세트에 외부적으로 사용되어야 하는 경우에는 핸드세트가 포함되지도 않으므로 명백히 핸드세트를 변경할 필요는 없다. 핸드세트가 전술한 바와 같이 "인증 토큰(authentication token)으로서 사용될 때, 정상적으로 변경이 필요하다. 그러나 IRDA나 불루투스만을 통해 GSM AKA 명령을 실행하는 것이 가능하다는 간단한 사실에 의해 변경이 필요하게 되는데(불루투스/IRDA에 SIM을 접속), SIM 기능성과 관련하여 본 발명은 이러한 변경을 도입하는 것을 더욱 어렵게 하지 않는다.
AKA 알고리즘의 실시를 위한 다른 위치
다소 덜 바람직하기는 하지만, AKA 알고리즘들이나 적어도 이 알고리즘의 일부를 보안 키(또는 그로부터 유도된 키일 수 있음)에 대한 판독-액세스에 의해 변조 방지 보안 장치의 애플리케이션 환경의 애플리케이션으로서 실행하는 것이 또한, 가능한데, 도 8 및 도 9에 도시된 바와 같다. 도 8에 있어서 AKA 협력 애플리케이션(14) 및 AKA 알고리즘(12)은 서로 협력하는 각각의 애플리케이션으로서 실시된다. 그러나 다르게 2 개의 기능(12,14)이 적어도 부분적으로 같은 소프트웨어 애플리케이션에 통합되는데 도 9에 개략 도시한 바와 같다.
이하에 본 발명을 SIM의 SAT 환경의 소프트웨어로서 실시된 강화된 보안 처리 및 프라이버시 처리의 각종의 비제한적인 예들을 주로 기술한다.
GSM SIM 명세(specification)에 대한 기본적인 구성에 대한 추가적인 정보는 참조문헌 [9]를 참고로 한다.
강화된 보안 처리의 예
예를 들어, 정상의 GSM AKA 용으로 GSM SIM에 대한 보안을 높이기 위해 이하의 단계가 실행될 수 있다.
SIM 카드는 [4,5 및 9]를 따라 제조되지만, 또한 SAT환경으로부터 A3/A8 알고리즘으로, 내부 API 또는 이와 유사의 인터페이스를 가지는데, 이는 현재의 SIM 표준 알고리즘에는 영향을 주지 않는다.
또한, 임의의 다른 장치에 플러깅(plugging)된 전화 외부에서 SIM이 사용되어야 할 경우, 설비를 만들어서 RUN_GSM_ALGORITHMS 명령을 디스에이블 시키는 것이 특히 바람직하다. 이 때문에 전술한 바와 같이 몇 가지 다른 해결책이 가능하다.
운영자는 SIM(제조중이나 또는 이후의 인증된 애플리케이션의 다운로드로서)에 SAT 환경에서 강화된 보안 처리를 실행하도록 구성된 애플리케이션 프로그램을 제공한다. 예를 들어 이 보안 강화 애플리케이션은 EAP SIM 프로토콜에서 제시된 바와 같은 보다 안전한 알고리즘에서 AKA 응답을 캡슐화하도록 구성될 수 있다. 시도(RAND)가 SIM ME인터페이스 상에서 RUN_GSM_ALGORITHMS 명령을 이용하지 않고 ENVELOPE 명령에 의해 SAT 애플리케이션에 입력 데이터로서 전송된다. 또한, 각각의 인증을 위해 애플릿 전체가 실시간으로 다운로드된다. 이에 의해 네트워크를 인증하고(애플릿이 인증되기 때문에), 단말기가 항상 최신의 애플릿 "릴리즈"를 얻을 수 있게 하는 이점이 있다. 물론 이러한 인증은 결국 일반적으로 애플릿 전체를 다운로드하지 않고 예를 들어 "RAND" 값이 인증되고 또한 응답을 위해 검사될 수도 있고 인증/신규성이 SAT 애플릿 자체에서 항상 검증되는 프로토콜을 실행함으로써 달성된다.
SIM이 장착된 SIM의 단말기 형태 그리고 SIM이 액세스되는(불루투스, IRDA에 의해, 카드 판독기 등에서) 방식에 무관하게 모든 AKA 관련 처리는 SIM상에서 행해지고 보안 강화 단계를 포함한다. 강화된 보안 처리는 AKA 처리의 출력 파라미터 및/또는 입력 파라미터의 조작을 포함하는데, 도 10에 일반적인 변조 방지 보안 장치에 대해 개략적으로 도시한 바와 같다.
예를 들어 EAP SIM 프로토콜은 AKA 출력 파라미터를 조작함으로써 민감한 파라미터들을 캡슐화에 기초한다. 한 세트의 최초 RAND 값들로부터 발생하는 다수의 AKA 응답을 RES(1),.....RES(n)라 할 때, AKA 응답은 다음 방식으로 캡슐화될 수 있어 최종의 높은 보안 응답 RES'를 생성한다.
h(key, RES(1),...,RES(n))
여기서 h는 키 발생 함수(keyed function)로서, SHA-1에 기반한다. 환언하면, n 응답은 키 발생 함수에 의해 단일 응답으로 합해진다. 유사하게 긴 키(longer key) Kc'는 상기 한 세트의 RAND 값들로부터 파생하는 키 Kc(1),... Kc(n)을 연결함으로써 발생할 수 있는데, 추가의 처리가 이어질 수도 있다.
긴 키를 유도하도록 각각의 RAND 값을 연속적으로 이용하는 방법이 최근 개발되었는데 몇 가지 결점[11]을 갖는다. 예를 들어, n 원거리의 RAND 값들이 아니라 n회 반복된 RAND 값을 발행함으로써 구한 보안의 효과는 단일 RAND 값으로부터 구한 보안의 효과와 같을 뿐이다. 일반적으로 신성성 및/또는 고유성을 위해 관련 세트의 AKA 입력 파라미터를 비교함으로써, 이러한 특별한 문제를 해소할 수 있다. 본 발명의 특정 실시예에 따르면, 변조 방지 보안 장치(10)(즉, SIM)에서 실시되 는 보안 강화 애플리케이션(14)은 캡슐화 모듈(18)과 함께 비교기(17)를 구비하는데, 도 11에 개략 도시한 바와 같다. 예를 들어, 캡슐화 모듈(18)은 다수의 대응 AKA 입력 파라미터(RAND)에 응답하여 생성된 소정수의 연속의 AKA 출력 파라미터(Kc, RES)를 조합함으로써 캡슐화를 실행한다. 비교기(17)는 AKA 입력 파라미터 모두가 고유하다는 것을 검증하기 위해 관련 세트의 연속 AKA 입력 파라미터를 비교한다. 통상 비교기(17)는 전체의 캡슐화하기 위해 소정수의 연속 입력 파라미터(RAND 값)를 포함하는 세트의 수신을 예상하고 이 세트의 이전의 입력 파라미터 각각에 대해, 수신하는 각각의 입력 파라미터를 비교한다. 이렇게, 최종의 "마스크된" AKA 입력 파라미터(Kc'RES')가 한 세트의 고유한 AKA 입력 파라미터(RAND 값)에 응답하여 생성되는 것이 확실해질 수 있다. 바란다면, AKA 입력 파라미터가 또한 캡슐화를 위한 추가의 입력 파라미터로서 캡슐화 모듈(18)에 공급될 수 있는데, 도 11에 파선으로 도시한 바와 같다. 또한, AKA 입력 파라미터의 신성성/고유성은 예를 들어, 타임 스탬프된(time-stamped) AKA 입력 파라미터를 사용하고 소정 세트의 파라미터의 타임 스탬프가 소정의 시간 간격에 있는지를 검사함으로써 다른 방식으로 결정될 수 있다.
일반화되고 AKA 협력 애플리케이션에서 실시되는 EAP-SIM 프로토콜의 또 다른 특징은 사용자 단말기가 통신하는 네트워크의 인증에 있다. 정상의 GSM AKA에 있어서, 네트워크는 RAND와 더불어 인증 요청을 전송하고, SIM이 간단히 응답 RES로써 응답한다. 이러한 인증은 SIM 또는 동등의 변조 방지 보안 장치로 하여금 인증 요청에 응답하여 새로운 랜덤 값 RAND'를 네트워크 측에 전송하도록 함으로써 확장될 수 있다. 그러면 네트워크는 수신된 RSND' 및 RAND 및 SIM 키 K로부터 유도된 세션 키(session key)에 기반하여 MAC(Message Authentication Code; 메시지 인증 코드) 등을 계산하고 네트워크의 확실성을 검증하기 위해 MAC을 SIM에 다시 전송한다. 이러한 확장 프로토콜의 관련 단계는 다음 방식으로 설계될 수 있다.
1. 네트워크는 인증 요청을 SIM에 전송한다.
2. SIM이 RAND'를 네트워크에 전송한다.
3. 네트워크는 RAND를 생성하고, MAC(키, RAND, RAND',...)를 계산하여 RAND 및 MAC를 SIM에 전송한다.
4. SIM은 MAC을 검사해서 OK의 경우 키/응답을 계산한다.
EAP SIM에서 제시한 AKA 키/응답의 캡슐화는 일반적으로 AKA 출력 파라미터의 조작을 포함한다. 그러나 AKA 프로세스에 대한 입력 파라미터를 조작할 수도 있다. 예를 들어 새로운 조작된 입력은 다음과 같이 계산될 수 있다.
h(key, RAND)
따라서 출력 응답은 다음과 같다.
A8(key,h(key, RAND)).
여기서, h는 키 발생 함수로서, SHA-1에 기반한다. 입력 파라미터 및 출력 파라미터 모두의 조작의 일례는 다음과 같은 최종 출력 응답을 생성하는 것이다.
g(key, A8(key,h(key,RAND))).
여기서 g 및 h는 키 발생 함수로서, 예를 들어 SHA-1에 기반한다.
SIM이외에 민감 데이터(sensitive data)를 활용할 수 없으며, 또한 보안 기능성이 확장될 수 있어서 하나 이상의 키 등을 제공할 수 있다.
USIM을 이용하여 UMTS에 대해 대응 조작/캡슐화가 실행될 수 있다. 또한, 3GPP IP 멀티미디어용으로 사용된 ISIM의 경우에, HTTP 다이제스트 프로토콜 [12]에서 인증 메시지를 "캡슐화(encapsulate)"하는 제안이 있다. 이러한 캡슐화는 본 발명에 의해 달성될 수 있다.
AKA 입력 파라미터의 후-처리의 예는 다음을 포함한다.
●AKA 입력 파라미터(들)에 대한 신성성의 검증,
●AKA 입력 파라미터(들)의 통합성의 검증,
●AKA 입력 파라미터(들)의 기술,
●AKA 입력 파라미터(들)의 조합, 및
●AKA 입력 파라미터(들)에 기반한 보안 정책 결정.
AKA 출력 파라미터의 후-처리의 예는 다음을 포함한다.
●다수의 생성된 AKA 출력 파라미터(Kc 및/또는 RES)의 하나 이상의(길 수 있음) 변경된 AKA 출력 파라미터(Kc' 및/또는 RES')에의 조합,
●생성된 AKA 출력 파라미터(들)의 통합성 보호,
●생성된 AKA 출력 파라미터(들)의 암호화, 및
●AKA 입력 파라미터(들)의 시험에 기반한 AKA 출력 파라미터(들)의 정책 결정 및/또는 시행.
합법적 인터셉션을 위한 강화된 보안 처리
합법적 인터셉션에는 법률적 요건이 있다. 즉, 네트워크 운영자는 법원 명령에 의해 법률 시행 에이전트에게 평문 대화를 제공해야 한다. 고전적 GSM 경우에, 이는 ME와 RBS(Rasio Base Station; 무선 기지국) 사이의 링크가 암호화(운영자가 알고 있는 키에 의해) 되어 있으므로 용이하다.
우리는 사용자들 사이의 단말 기간(e2e)암호화를 곧 볼 수 있을 것이다. 즉, 대화를 개시하기 이전에 두 사용자 사이의 e2e 키 동의가 [10]에 특정된 프로토콜 MIKEY를 이용하여 실행되는데, 이는 운영자가 사용자들 사이에 공유된 그들이 입수한 것과 같은 키를 약간 추론해야 하기 때문에 합법적 인터셉션을 어렵게 한다. 본 발명은 e2e 키 동의 관련하여 요청되는 조작 및 연산의 적어도 일부가 SAT-류의 환경에서 애플리케이션으로서 실시되되, 이러한 실시는 "자동으로" 운영자에게도 알려지게 되는 사용자 A와 B사이의 단말 기간 키를 운영자-사용자 공유 키 k에 기반하여 유도하는 애플리케이션으로써 SIM을 업그레이드시킴으로써 실시되는 것을 제안한다.
예를 들어, gx를 일부 적합(안전한) 그룹 G에서 지수(exponentiation)를 나타내는 것으로 즉, 정수가 유한체(finite field) 상의 프라임(prime) p 또는 점을 모듈로(modulo) 연산하는 것으로 한다. 사용자 A에 대한 GSM(또는 UMTS) AKA의 결과는 키 kA이다. 유사하게 사용자 B는 키 kB를 얻는다. 이제 우리는 Diffie-Hellman 프로토콜 [14]를 실행하는데, 여기서 A는 B에 gkA를 전송하고, B는 A에 gkB를 전송한다. 공유 키는 gkA*kB이다. 한 운영자(A 또는 B의 홈 운영자)는 kA(또는 kB)를 알고 gkB(또는 gkA)를 관찰함으로써 매우 유사한 키를 연산할 수 있다.
단말기가 이러한 외부 기능성을 가지고 확장되어야 하는 경우, SIM 자체내에서 gkA(및 gkB) 연산을 실행하는 것이 바람직한데, 그렇지 않으면, kA(및 kB)가 SIM의 보호된 환경을 이탈해야 하기 때문이다. 본 발명에 의해 전체 연산이 실로 SIM에서 바람직하게는 SAT 애플리케이션에서 행해질 수 있는데, 상기 애플리케이션은 새로운 키-교환 방법에 의해 쉽게 업그레이드될 수 있다.
e2e 암호화 및 합법적 인터셉션에 대한 정보의 경우, 본 출원인의 선행출원 [15]를 참조할 수 있는데, 본 명세서에서 그 전체를 참고로 한다.
[15]에 개시된 다른 문제는, A와 B의 통신중에 홈 운영자뿐만 아니라 A와 B가 그 순간에 있는 방문 네트워크의 운영자도 "엿들을(eavesdrop)"수 있다는 것이다. 이는 방문 네트워크의 운영자가 100% 신뢰성이 없는 경우 위협이 될 수 있다. 이는 방문 네트워크로 전송되는 kA(및 kB)의 영향이다. 이를 해결하기 위해 [15]에 제시한 방법 또는 이와 유사한 방법이 사용된다. k를 사용자와 홈 네트(워크)(SIM에 저장됨) 사이에 공유된 키라고 하자. 방문 네트에 kA=kdf(k, RAND)를 전송하는 대신에(여기서 kdf는 키 도출 함수이다), 우리는 방문 네트에 kA'=f(kA)(그리고 kB에도 유사하게)를 전송하는데, 여기서 f는 일방향 함수이다. 일방향 특성은 kA'만을 알고 있는 누군가가 아직은 kA가 무엇인지를 모를 수 있다는 것을 보장해 준다. 이제 키 kA'는 정상의 GSM/UMTS 보안을 위해 (투명하게) 사용되는 반면, kA는 아직, 예를 들어 Diffie-Hellman 프로토콜을 이용하고 있는 A와 B사이의 e2e 키 동의를 위한 기반으로서 사용된다. 이제 홈 운영자만이 합법적인 인터셉션을 할 수 있다. 본 발명에 따른 사상은 SAT-류의 애플리케이션에서 함수 f의 마스킹 기능을 실시하는 것이다.
공개 액세스에 대한 강화된 보안 처리
상기 최종의 이슈(issue)와 관련된 문제는 다음과 같다. 이동 전화 사용자들이 다른 액세스 기술 즉, IEEE 802.11 WLAN(무선 LAN)에 의해 일시적으로 높은 비트율을 얻는 공개 "핫 스폿(hot spot)"을 제공하는 계획이 있다. 여기에서 문제는 비신뢰 환경에 "기지국" 또는 AP(액세스 포인트; access point)이 있다는 점이다. 이는 운영자가 트래픽을 정확하게 청구하는데 필요한 트래픽의 통합 보호를 위한 키 등의 민감 데이터용 AP에 물리적으로 "도청"할 수 있다는 것을 의미한다. 따라서 ASN(Acess Service Node; 접속 서비스 노드)라 하는 일부 다른 노드에서 통합 보호가 종료하고, 네트워크에서도 종료하여 다중으로 보호되는 일부의 사상이 있다. 또한, 단말기와 AP사이의 적소에 통상의 802.11 또는 유사한 통합 보호가 되는 것이 있는데, 다음의 두 개의 키가 필요하게 된다.
●ME-AP 링크를 보호하는 키 k1, 및
●ME-ASN 링크를 보호하는 키 k2(이는 AP에서는 활용할 수 없다)
이는 SIM에 저장된 가입자 키에 의거하여 하나가 아니라 두 개의 키가 유도되어야 하는 것을 의미한다. 더욱이 k2는 k1으로부터 추론할 수 없다. 이 k2는 정상의 AKA 프로토콜을 이용하여 k2를 유도하고 이어서 적합한 일방향 함수에 대해 k1=f(k2)를 유도함으로써 얻어질 수 있는데, 이때 후자 k1만이 AP에 전송된다. 또한, 다른 키 k1의 생성이 본 발명을 이용하여 SIM자체에서 SAT 애플리케이션으로서 안전하게 실시될 수 있다.
프라이버시 강화
본 발명의 다른 특징에 있어서, SIM 또는 유사의 보안 장치(및 보다 구체적으로는, 보안 장치의 애플리케이션 툴키트)가 예를 들어 사용자 가명을 관리함으로써 편리한 방식으로 사용자의 프라이버시를 강화시키는데 이용된다.
일반적으로, 사용자는 네트워크에의 연결시 임시 식별자 또는 가명을 할당받아서 그의 진실한 ID를 보호할 수 있다. 또한, 가명은 여러 차례 리프레시되어 트랜잭션(transaction)의 연결도 불가능하게 한다. 바람직하게 임시id 즉 tmpID는 사용자의 접속시마다 무작위적으로 선택된 문자열(string)일 뿐이다. 이것은 사용자(즉, 사용자의 통신 장치에 의해)에 의해 선택되거나 네트워크에 의해 사용자에게 할당된다. 후자의 경우는 각각 사용된 가명에 대한 고유성을 보증하기가 용이한 장점을 갖는다.
그럼에도, 사용자 가명의 할당은 네트워크나 사용자 단말기를 필요로 함은 물론이다. 예를 들어 임시 id는 네트워크에서의 제1 부분과 사용자 단말기에서의, 예를 들어 사용자의 홈 운영자에게 특정한 제2 부분에 의해 정의된다. 이러한 tmpID의 예로 "4711@xyz.com"이 있는데, 여기서 제1 부분 "4711"은 네트워크에 의해 할당되고, 제2 부분 " @xyz.com"은 사용자 단말기에 할당된다.
사용자가 때때로 액세스를 변경하는 다중-액세스 시나리오를 생각할 수 있다. 사용자는 통상적으로 액세스를 변경할 때마다 새로운 ID를 부여받는다. 그러나 새로운 할당은 일반적으로 구(old) tmpID 즉, 이전의 네트워크/장치에 대해 사용된 ID 또는 같은 네트워크로써 이전 세션(session)에 할당된 ID에 기반하여야 한다. 이는 tmpID가 아무래도 처음에 새로운 액세스 방법 또는 서비스 제공자에게 전달될 필요가 있다는 것을 의미한다. 이는 동기 문제를 유발한다. 예를 들어 사용자는 랩톱 컴퓨터상에서 GPRS 단말기 액세스로부터 무선 LAN 액세스로 변경할 수 있다.
본 발명에 의하면, SIM 또는 유사한 보안 장치가 바람직하게 SAT 애플리케이션 등에서 tmpID를 저장 및 관리할 수 있다. 사용자가 액세스를 바꾸면, SIM이 새로운 단말기(즉, 물리적으로 단말기를 이동시킴으로써)에 접속되어 현재의 tmpID(그리고 다른 현재의 보안 파라미터일 수 있음)를 새로운 장치에 전달한다. 그러면 새로운 네트워크는 바람직하게 사용자(AKA 모듈 포함)를 인증한 이후에 사용자에게 새로운 임시 ID, tmpID'를 할당한다. 동일한 단말기가 되지만 새로운 세션에 이용되는 다소 간단한 경우에, SIM은 유사하게 이전에 사용된 ID를 "기억"하므로 물리적으로 이동될 필요가 없다.
도 12에 도시한 바와 같이, 제1 사용자 단말기(20-1)에 배치된 SIM(10)으로부터 자격 증명서(즉 인증 응답 및 이미 존재하는 ID포함)이 검색되고(0), SIM(10)과 제1 액세스 네트워크(40-1) 사이의 사용자/네트워크 인증 프로토콜이 실행된다(1). 이 인증은 외부 인증 서버(50)를 필요로 할 수 있다(2). 사용자는 SIM(10-1)에 저장된(4) 새로운 가명(3) tmpID를 얻는다. 단계(1-4/3-4)는 선택적으로 간헐적으로 반복되어 재-인증 및/또는 새로운 가명을 생성한다. 얼마후, 제1 사용자 단말기(20-1)의 사용자가 제2 사용자 단말기(20-2) 및 제2 액세스 네트워크(40-2)로 액세스를 변경하려고 하면, SIM(10)이 제2 사용자 단말기(20-2)로 이동된다(5). 현재의 자격 증명서/tmpID를 이용하여(6) 사용자가 새로운 네트워크(40-2)에 대해 재-인증(7)을 요하고, 다시 인증 서버(50)를 필요로 할 수 있다(8). 임의로 사용자의 가명이 새로운 값 tmpID'로 갱신되어(9) 그 새로운 값이 SIM(10)에 저장된다. 다시 단계(7-9/8-9)가 프라이버시 및 보안을 강화시키도록 간헐적으로 반복될 수 있다.
물론 두 개의 단말기(20-1 및 20-2)가 동일하여 같은 단말기(20)에서 다른 액세스 수단에 의해 두 개의 액세스가 얻어지는 경우가 있을 수 있는데. 이 경우 SIM(10)는 단말기를 이탈하지 않고 액세스 변경에 대해 ID를 관리한다.
프라이버시 강화 애플리케이션의 실행은 일반적으로 AKA 인증이 성공적인지의 여부에 따라 조건적이다. 예를 들어 프라이버시 강화 애플리케이션은 성공적인 인증에만 응답하여 실행된다.
적어도 부분적으로 사용자 단말기에 의해 임시 식별자가 할당된 경우를 고려할 때, 예를 들어 다음과 같이 새로운 tmpID를 계산함으로써 AKA 모듈을 이용하여 새로운(new) temID 또는 그 적어도 일부를 생성할 수 있다.
new tmpID'=s(key,A8(key,old tmpID)
여기서 s는 키 발생 함수로서, SHA-1에 기반한다. 이 특정 실시예에서 SIM의 SAT 환경의 프라이버시 강화 애플리케이션은 구(old) tmpID를 AKA 모듈에 전송하고 새로운 tmpID를 계산하도록 프라이버시 강화 프로그램에 의해 이용되는 A8응답을 수신한다.
또한, 네트워크는 사용자에 대해 새로운 가명 tmpID'를 할당한다. 이어서 할당된 가명은 SIM 또는 등가의 변조 방지 보안 장치에 안전하게 전달되고, 여기서 SIM 키에 의해 복호 및/또는 인증되어서 프라이버시 강화 애플리케이션에서 기록 및 관리된다. 다른 실시예에 있어서, 프라이버시 강화 애플리케이션은 AKA 응답이 정확한 경우 네트워크에 의해 수용되는 새로운 tmpID'를 간단히 무작위로 추출한다.
하드웨어 구현
소프트웨어 구현이 특히 바람직하지만, 하드웨어 애플리케이션과 AKA 모듈 사이에 약간의 직접 인터페이스를 갖는 변조 방지 보안 장치에 하드웨어로서 사전제조된 AKA 협력 애플리케이션을 가질 수 있음은 물론이다.
도 13은 하드웨어 구현이 특히 바람직한 예를 도시하는데, 이 실시에서는 SIM의 애플리케이션 환경 및 상기 애플리케이션 환경에 입력 데이터를 전달하기 위한 현재 명령(즉, ENVELOPE 명령)을 이용하고, 이어서 추가의 인터페이스를 통해 애플리케이션 환경으로부터의 입력 데이터를 SIM상의 사전제조 하드웨어 애플리케이션에 중계한다. 하드웨어 애플리케이션은 바람직하게 특정 인터페이스를 통해 AKA 모듈을 일부 직접적으로 인터페이스하고 최종적으로 애플리케이션 환경을 통해 사용자 단말기에 출력 데이터를 전송한다.
다른 실시에 있어서, AKA 모듈 및 보안 강화 애플리케이션 등의 협력 애플리케이션은 SIM상의 동일 하드웨어 회로에 통합된다. 그러나 이러한 통합된 하드웨어 구현에 있어서, SIM의 운영 환경에 따라 정상의 AKA 처리와 강화된 AKA 처리 중에서 선택하는 것이 가능함은 물론이다.
하드웨어 구현은 하드웨어 애플리케이션을 대체하는 소프트웨어 애플리케이션의 또는 이 하드웨어 애플리케이션과 협력하는 패치 소프트웨어의 후의 다운로딩 가능성을 배제하지 않는다.
마지막으로, 우리는 선행 특허출원 [16] 그 전체를 참조로 한다.
지금까지 본 발명을 실시 예들을 참고로 하여 기술하였지만, 본 발명은 이에 제한되지 않으며, 이하 부속 청구범위의 사상 및 영역을 이탈하지 않는 범위 내에서 당업자에 의해 여러 가지로 수정 및 변형실시될 수 있다.
참조 문헌
[1] Haverinen, "EAP SIM Authentication",draft-haverinen-pppext-eap-sim-05. txt, IETF.
[2] Federal Information Processing Standard FIPS PUB 180-1, NIST.
[3] Arkko and Haverinen:"EAP AKA Authentication", draft-arkko-pppext-eap- aka-04. txt, IETF.
[4] 3GPP TS 11.11 Technical Specification 3rd Generation Partnership Project; Technical Specification Group Terminals Specification of the Subscriber Identity Module-Mobile Equipment (SIM-ME) interface.
[5] 3GPP TS 11.14 Technical Specification 3rd Generation Partnership Project; Specification of the SIM Application Toolkit for the Subscriber Identity Module- Mobile Equipment (SIM-ME) interface.
[6] 3GPP TS 31.111 Technical Specification 3rd Generation Partnership Project; Technical Specification Group Terminals; USIM Application Toolkit (USAT).
[7] 3GPP TS 03.19 Technical Specification 3rd Generation Partnership Project; Technical Specification Group Terminals; Subscriber Identity Module Application Programming Interface (SIM API) for Java Card ; Stage 2.
[8] 3GPP TS03. 48 Technical Specification 3rd Generation Partnership Project; Technical Specification Group Terminals; Security Mechanisms for the SIM application toolkit; Stage 2.
[9] ETSI TS 100 922 Technical Specification Digital cellular telecommunications system (Phase 2+); Subscriber Identity Modules (SIM); Functional characteristics.
[10] Arkko, Carrara, Lindholm,N slund, and Norrman,"MIKEY : Multimedia Internet KEYing", draft-ietf-msec-mikey-04. txt, IETF.
[11] Sarvar Patel, "Analysis of EAP-SIM Session Key Agreement", posted on the Internet on May 29,2003.
[12] Niemi, Arkko, Torvinen, IETF RFC 3310, "HTTP Digest Authentication Using September 2002.
[13] 3GPP TSG WG3 Security, "Enhanced Security for A/Gb", July 15-18 2003.
[14] Menezes, vanOorschot, and Vanstone:"Handbook of Applied Cryptography", CRC Press, pp. 489-541.
[15] UK Patent Application No.0129339-8, filed December 7,2001.
[16] International Patent Application WO 02/084980, claiming priority from Swedish Patent Application No. 0101295-4 filed April 10,2001.