본 설명에서, 인증 장치는 장치가 동작 가능하기 전에 및/또는 상기 장치의 사용과 관련하여 기능 및/또는 장치를 사용할 권한을 검증하기 위한 수단을 가지는 기능적인 장치를 의미한다. 이러한 환경에서 언급되는 검증하기 위한 그러한 장치들은 전형적으로 프로세서, 메모리 및 연결 수단을 포함하는 소위 스마트 카드들을 포함한다. 스마트 카드에는 스마트 카드에 입력되는 입력들을 처리하기 위한 그리고 응답들을 생성하기 위한 소프트웨어 또는 유사한 것이 제공된다. 그러한 스마트 카드들은 예를 들면, 이동국들에서 지불 카드들(pay cards), 전자식별 카드들(electronic identification cards) 등으로써 사용된다. 더욱이, 복사된 소프트웨어의 사용을 방지하기 위해 사용 권한을 검증하기 위한 알려진 장치들이 존재한다. 그러한 검증 장치("덩글(dongle)" 또는 "하드록(hardlock)")는 예를 들면 컴퓨터의 프린터 접속부에 위치할 수 있으며, 여기서 소프트웨어는 예를 들면 검증 장치가 프린터 접속부에 연결되었는지를 검사하고, 만약 필요하다면 검증 장치내에 가능하게 저장된 (예를 들면 라인선스 번호와 같은) ID(Identification)를 또한 검사한다. 비록 이하의 설명에서, 사용 권한을 검증하기 위한 그러한 장치들은 주로 스마트 카드들로 불리지만, 본 발명은 스마트 카드들에서만 사용되는 것으로 제한되지는 않는다.
사용될 스마트 카드를 연결할 수 있는 예를 들면, 사용자 인증을 위한 단말 기들은 알려져 있다. 예를 들면, 권한이 부여되지 않은 사람들이 단말기를 사용하는 것을 막기 위해 또는 권한이 부여된 단말기 사용자 이외의 다른 사람들이 사용할 권한이 없는 단말기상에서 그러한 기능들을 수행하는 것을 막기 위해 인증이 필요하다. 인증 기능들은 보통 적어도 부분적으로는 스마트 카드와 관련하여 준비되는데, 여기서 단말기는 사용자에 의해 입력된 식별 데이터(Identification Data)를 스마트 카드로 전송한다. 사용된 식별 데이터는 예를 들면, 사용자 이름 및 패스워드 또는 개인 식별 번호(PIN: Pin Identification Number)이다. 스마트 카드에는 인증 파라미터들로서 단말기로부터 전송된 식별 데이터를 사용함에 의해 동작하는 인증 프로토콜이 제공된다. 프로토콜에 의해 스마트 카드상에 저장된 식별 번호와 비교되는 참조 번호(reference number)가 계산된다. 따라서, 이러한 번호들이 일치할 때, 사용자가 그/그녀가 바로 그 사람이라고 추측된다.
스마트-카드 기반 솔루션은 또한 단말기를 가지고 데이터 네트워크에서 로그인할 때 사용될 수 있다. 데이터 네트워크에는 그들의 이름, 사용자 식별 및 패스워드와 같은 등록된 사용자의 저장된 식별 데이터와 관련하여 인증 서버 또는 유사한 것이 제공된다. 따라서, 인증 서버 및 스마트 카드는 단말기 또는 데이터 네트워크에 의해 통신한다. 또한, 그러한 솔루션에서 단말기를 켜는 것과 관련하여 우선 사용자를 식별하고, 그 후에 제2 인증이 데이터 네트워크의 인증 서버에서 수행되는 것이 필요하다. 제2 인증은 인증 알고리즘뿐 아니라 소정의 인증 프로토콜의 사용에 기초한다. 따라서, 이러한 인증 프로토콜을 동작시키기 위해 필요한 프로그램 코드들은 단말기내에 또는 데이터 네트워크내에 저장된다. 인증 알고리즘은 스 마트 카드뿐 아니라 인증 서버내에 저장된다.
데이터 네트워크에서, 인증은 예를 들면, 단말기로부터 데이터 네트워크로 로그-인 요청을 전송함에 의해 수행될 수 있는데, 데이터 네트워크에서 로그-인 요청이 인증 서버로 전송된다. 인증 서버는 소정의 인증 알고리즘에 의해 챌린지(challenge) 또는 유사한 것을 형성한다. 이후에, 인증 서버는 상기 챌린지 자체 또는 암호화 형식중 어느 하나로서 포함된 로그-인 응답 메시지를 단말기로 전송한다. 더욱이, 이러한 메시지의 인증은 스마트 카드가 로그-인 응답 메시지를 수신한 후에 검사할 수 있는 디지털 서명에 의해 검증될 수 있다. 다음에, 스마트 카드는 소정의 인증 알고리즘에 의해 사용자 식별 데이터 및 수신된 챌린지에 기초하여 응답 숫자(reponse number)를 생성한다. 응답 숫자는 인증 서버내에 저장된 사용자 식별 데이터 및 그것에 의해 형성된 챌린지에 기초하여 예측된 번호를 형성할 수 있는 인증 서버로 전송된다. 인증 서버는 수신된 응답 숫자 및 예측된 응답 숫자를 비교할 수 있으며, 비교 결과로부터 수신된 응답 숫자의 형식에서 사용된 데이터와 추측된 응답 숫자의 형식에서 사용된 데이터가 일치하는지를 추론한다. 만약 데이터가 일치한다면, 사용자가 바르게 인증되었다는 것을 추측될 수 있으며, 사용자는 데이터 네트워크의 사용을 개시할 수 있다. 위에서 제시된 종류의 방법은, 예를 들면 이동 통신 네트워크에서 이동국의 로그인동안 GSM 이동 통신 시스템 및 UMTS 이동 통신 시스템에서 사용된다. GSM 이동 통신 네트워크 및 UMTS 이동 통신 시스템에서 사용된 스마트 카드는 소위 SIM 카드(Subscriber Identity Module card) 및 USIM 카드(UMTS Identity Module card)이다. 인증 서버로서, 인증 센터(AuC: Authentication Center)가 사용된다. SIM 카드들은 이동 통신 네트워크 운영자 특유 인증 알고리즘을 포함한다.
스마트-카드 기반의 솔루션들에서, 사용자 데이터 및 인증 알고리즘은 스마트 카드를 새로운 인증 알고리즘이 제공되는 새로운 스마트 카드로 대체함에 의해 변경될 수 있다. 대응하는 방식으로, 만약 이미 설치되지 않았다면, 이러한 새로운 알고리즘이 인증 서버내에 설치되어야 한다.
위에서 제시된 선행 기술의 솔루션에서의 문제점은, 무엇보다도, 인증 프로토콜은 단순히 스마트 카드를 변경함에 의해 변경될 수 없다는 것이다. 예를 들면, 다른 인증 프로토콜들이 GSM 이동 통신 시스템들 및 UMTS 이동 통신 시스템들에서 사용되며, 여기서 GSM 이동 통신 시스템에 순응하는 이동 통신 장치는 단순히 스마트 카드를 변경함에 의해 UMTS 이동 통신 시스템에서 사용된 식별 프로토콜을 사용하기 위해 갱신될 수 없다. 따라서, 인증 프로토콜에서의 변경은 적어도 단말기 및 필요하다면 인증 서버의 소프트웨어에서의 변경들을 필요로 한다.
이동 통신 장치의 사용자는 다른 이동 통신 네트워크들의 범위내에서 이동할 수 있다. 따라서, 사용자가 그/그녀의 홈 네트워크보다 다른 네트워크에 있을 때, 인증은 로밍 네트워크가 단말기와 홈 네트워크의 인증 센터간의 인증 프로토콜에 따라 메시지들을 전송하는 방식으로 수행된다. 인증은 따라서 홈 네트워크의 인증 센터에 의해 수행된다. 따라서, 인증 알고리즘은 예를 들면, GSM 이동 통신 시스템들 및 UMTS 이동 통신 시스템들에서 운영자-특유(operator-specific)로 세팅될 수 있는데, 이는 인증에 사용되는 모든 값들이 홈 네트워크내에서 형성되기 때문이다. 로밍 네트워크는 알고리즘을 알 필요가 없는데, 이는 그것의 기능은 단지 숫자들을 비교하기 때문이다. 다른 이동 통신 네트워크들에서 이동 통신 장치들의 운영성(Operability)을 유지하기 위해서, 인증 프로토콜은 선행 기술의 솔루션들을 사용할 때 운영자-특유로 세팅될 수 없다.
통신 네트워크들은 또한 알려져 있으며, 통신 네트워크내에서 예를 들면 선택적 전화망(optional telephone network)에 의해 소위 홈 네트워크내의 워크 스테이션을 연결하는 것이 가능하다. 이러한 소위 다이얼-업 네트워크들중 일부는 확장 가능 인증 프로토콜(EAP: Extendable Authentication Protocol)을 사용한다. 그러한 시스템들에서, 로밍 네트워크의 목적은 단말기와 홈 네트워크의 인증 센터간에 EAP 프로토콜에 순응하는 메시지들을 단지 전송하는 것이다. 로밍 네트워크는 EAP 프로토콜에 순응하는 메시지들을 해석할 수 있을 필요가 없다. 새로운 인증 프로토콜 및 알고리즘은 로밍 네트워크를 전혀 변경하지 않고 도입될 수 있다. 그러나, 단말기는 변경되어야 하는데, 이는 새로운 EAP 프로토콜 타입에 의해 요구되는 소프트웨어는 선행 기술의 솔루션들에서 갱신되어야 하기 때문이다.
EAP는 포인트-투-포인트 프로토콜(PPP: Point-to-Point Protocol)과 관련하여 사용되는 확장된 인증 프로토콜에 대한 인터넷 엔지니어링 태스크 포스(IETF: Internet Engineering Task Force)에 의해 정의된 표준이며, 더욱 구체적인 정의는 예를 들면 IETF 문서 rfc2284.txt내에서 제시된다. 표준은 인증을 위해 사용되는 메시지들의 구조에 대한 정의들을 포함한다. EAP 메시지는 헤더 영역 및 데이터 영역을 포함한다. 헤더 영역은 예를 들면 타입, ID(Identification) 및 메시지의 길 이를 정의한다. 이러한 메시지들은 데이터 링크 계층에서 사용된 PPP 프로토콜의 메시지 프레임들내에서 전송된다.
본 발명의 다음의 상세한 설명에서, 이동 통신 네트워크(2)의 인증 시스템은 인증 시스템(1)의 예시로서 사용되나, 본 발명은 이동 통신 네트워크들과 관련되어서만 사용되는 것으로 제한되지 않는다. 이동 통신 네트워크(2)는 예를 들면, GSM 이동 통신 시스템 또는 UMTS 이동 통신 시스템이나, 본 발명은 다른 통신 시스템들에서도 사용되는 수 있다는 점은 명백하다.
본 발명은 IEEE 802.1X 인증 프로토콜을 사용하는 시스템에서뿐만 아니라 EAP 표준에 순응하는 프로토콜을 사용하는 UMTS-SIP 인증과 관련되어 사용될 수도 있다. 상기 프로토콜은 또한 무선 국부 영역 네트워크들(WLAN: Wireless Local Area Networks)에서 소개되고 있으며, EAP 표준에 순응하는 프로토콜의 어플리케이션에 기초한다.
인증 시스템은 이동 통신 네트워크를 위한 인증 센터(AuC; Authentication Center)와 같은 인증 서버(3)를 포함한다. 인증 시스템은 이동 단말기(5)와 인증 서버(3)간의 인증에서 요구되는 데이터를 전송하기 위한 통신 수단(4)을 또한 포함한다. 통신 수단은 이동 통신 네트워크(2)내에서, 예를 들면, 하나 이상의 이동 전화 교환국들(MSCs: Mobile Switching Centers)(8)뿐 아니라 기지국들(BTSs: Base sTation Centers)(6), 기지국 제어기들(BSCs: Base Station Controllers)(7)을 포함한다. 인증 서버(3)는 이동 통신 네트워크(2)에 연결된 별개의 서버일 수 있으며, 또한 인증 서버(3)는 예를 들면, 이동 전화 교환국(MCS)(8)에 연결되어 준비될 수도 있다.
도 2는 본 발명의 유리한 실시예에 순응하고, 도 1의 인증 시스템에서 사용될 수 있는 단말기(5)를 도시한다. 본 발명의 유리한 실시예에서, 단말기(5)는 예를 들면, 스마트 카드(15)를 단말기(5)에 연결하기 위한 연결 수단(14)뿐 아니라 이동 통신 네트워크(2)와 통신하기 위한 이동 통신 수단(9), 사용자 인터페이스(10), 제어 블록(11), 메모리 수단(12, 13)을 포함한다. 메모리 수단은 바람직하게는 램(RAM; Random Access Memory)(13)뿐 아니라 롬(ROM: Read Only Memory)(12)를 포함한다. 스마트 카드(15)를 연결하기 위한 연결 수단(14)은 실질적으로 다양한 방식으로 구현될 수 있다. 하나의 실현 가능성은 물리적 연결을 사용하는 것이며, 여기서 연결 수단(14)은 스마트 카드(15)가 단말기(15)내에 설치될 때 스마트 카드(15)내에서 대응하는 커넥터들에 연결된 커넥터들 또는 유사한 것들을 포함한다. 이러한 연결 수단은 또한 무선 접속에 기초할 수도 있으며, 여기서 연결 수단(14) 및 스마트 카드(15)는 무선 통신 수단(예를 들면, 블루투스TM, WLAN), 광통신 수단(optical communication means)(예를 들면, 적외선), 음향 통신(acoustic communication), 및/또는 유도성 통신 수단(inductive communication means)과 같은 통신 수단(미도시)을 포함할 수 있다.
터미널(5)에서, 바람직하게는 제어 블록(11)의 소프트웨어에서, 메시지들이 이동 통신 네트워크(2)로부터 단말기(5)로 전송되고 단말기(5)로부터 이동 통신 네트워크(2)로 전송될 때 필요한 프로토콜 변환들를 하기 위한 프로토콜 스택이 또한 구현된다.
도 3은 본 발명의 유리한 실시예에 순응하며, 예를 들면 도 2에서 도시된 단 말기(5)에 연결되어 사용될 수 있는 스마트 카드(15)를 도시한다. 스마트 카드(15)는 바람직하게는 연결 수단(19)뿐 아니라 예를 들면 프로세서(16), 롬(ROM: Read Only Memory)(17) 및 램(RAM: Random Access Memory)(18)과 같은 메모리 수단을 포함한다.
롬(12, 17)으로서, 예를 들면 1회 프로그램 가능 롬(one time programmable ROM)(OTP-ROM; 프로그램 가능 롬 즉, PROM) 또는 전기적 소거 및 프로그램 가능 ROM(EEPROM: Electrically Erasable Programmable Read Only Memory)을 사용하는 것이 가능하다. 또한, 소위 비휘발성 램이 롬으로써 사용되는 수 있다. 램(13, 18)으로서, 동적 램(DRAM: Dynamic Random Access Memory) 및/또는 정적 램(SRAM: Static Random Access Memory)을 사용하는 것이 바람직하다.
예를 들면, 이동 통신 네트워크(2)에서 그의 로그인중에 동작될 단말기 사용자 인증 알고리즘뿐 아니라 단말기가 켜질때 동작될 사용자 인증 알고리즘은 스마트 카드의 롬(17)내에 저장된다. 게다가 스마트 카드의 롬(17)은 본 설명에서 이하에서 기술될 확장 가능 인증 프로토콜 인터페이스의 저장된 기능들을 포함한다. 게다가, 그러한 방식이 알려진 바와 같이, 스마트 카드의 롬(17)은 스마트 카드의 기능들을 제어하기 위해 필요한 다른 프로그램 명령들을 포함한다.
대응하여, 단말기의 롬(12)은 단말기(5)의 기능들을 제어하기 위해 필요한 저장된 프로그램 명령들, 스마트 카드(15) 및 단말기(5)간의 통신을 위해 필요한 프로그램 명령들, 이동 통신 기능들과 관련하여 필요한 프로그램 명령들, 사용자 인터페이스의 제어 명령들 등을 포함한다. 그러나, 인증 프로토콜 기능들을 단말 기(5)내에 저장할 필요는 없으며, 왜냐하면 본 발명의 시스템에서, 이러한 기능들은 스마트 카드상에 구현된 확장 가능 인증 프로토콜 인터페이스내에서 수행되기 때문이다.
본 발명에서 제시된 확장 가능 인증 프로토콜 인터페이스에서는, 예를 들면 EAP 요청과 같은 요청 메시지가 스마트 카드내에 입력될 수 있도록 하는 동작뿐 아니라, 스마트 카드가 사용자 식별(user identification)에 대해 요청되는 동작을 구현하는 것이 가능하다. 따라서, 스마트 카드의 기능은 이러한 메시지에 대한 응답(예를 들면, EAP 응답)을 형성하는 것이다. 단말기 및 로밍 네트워크는 인증 결과가 얻어지기 전에 하나 이상의 요청 및 응답 메시지들의 교환을 수행하는 것이 가능한 방식으로 구현될 수 있다. 더욱이, 스마트 카드는 바람직하게는 인증과 관련되어 형성된 키 재료(key material)가 단말기에 의한 사용을 위해 제공될 수 있는 동작을 포함한다. 이후에, 키 재료는 예를 들면 GSM 및 UMTS 이동 통신 네트워크들에서 현재 사용된 무선 채널을 통해 전송되어야 할 정보의 암호화를 위해 사용될 수 있다.
단말기(5)가 켜지는 단계에서, 알려진 바와 같이 예를 들면, 단말기(5)가 사용자 인터페이스(10)의 디스플레이(20)상에 사용자에게 개인 식별 번호(PIN; Peronal Identity Number)을 입력하도록 요청하는 공지를 디스플레이하도록 사용자 검증을 수행하는 것이 가능하다. 이후에, 사용자는 예를 들면, 사용자 인터페이스(10)의 키패드(21)를 가지고 단말기 제어 블록(11)에 의해 스마트 카드(15)로 전송되는 그/그녀의 패스워드를 입력한다. 스마트 카드(15)상에서, 프로세서(16)는 스마트 카드의 롬(17)내에 저장된 검사를 위해 마련된 사용자 데이터 및 알고리즘에 의해 알려진 바와 같은 방식으로 패스워드를 검사한다. 만약 패스워드가 올바로 입력되었다면, 단말기는 켜질 수 있다.
켜진 후에, 만약 이동 통신 네트워크(2)내에서의 기지국(6) 신호가 단말기(5)에서 수신될 수 있다면, 네트워크에서의 로그인을 개시할 수 있다. 만약 네트워크로 로그인이 가능하다면, 로그인을 위해 필요한 메시지들의 전송(시그널링)이 개시되며, 이는 알려진 바와 같다. 로그인동안, 필요하다면 위치 갱신(LA)이 수행된다. 게다가, 로그인 과정에서, 통신에서 단말기 및 기지국에 의해 사용될 전송 채널 및 수신 무선 채널이 시그널링을 위해 할당된다. 로그인과 관련하여, 단말기는 인증되고, 이는 도 4의 시그널링 도표내에서 축약된 방식으로 도시된다. 이동 통신 네트워크(2)의 인증 서버(3)는 로그인 요청(501)을 발생시키고, 유리한 예시가 도 5a에 도시된다.
로그인 요청은 바람직하게는 확장 가능 인증 프로토콜에 순응하는 메시지이며, 실질적으로 같은 레코드 구조를 사용해서, 다수의 다른 메시지들을 형성하기 위해 변경될 수 있는 값들을 포함하는 어떤 레코드들을 포함할 수 있다. 메시지는 바람직하게는 헤더 영역 및 데이터 영역을 포함한다. 헤더 영역은 특히, 다음의 데이터 기록들: 메시지가 요청, 응답, 성공 또는 실패인지에 대한 정보를 전송하기 위한 코드 레코드(502); 예를 들면, 같은 메시지가 재전송되는 때를 제외하고, 연속하는 메시지들이 다른 식별 데이터를 포함하여야 하는 방식으로 메시지들을 식별하기 위해 사용되는 식별 레코드(503); 더욱이 길이 레코드(504)는 메시지의 길이 를 나타낸다. 데이터 영역내에서 전송되는 데이터는 예를 들면, 메시지 용도의 목적에 의존한다. 본 발명의 유리한 실시예에 따른 시스템에서, 데이터 영역은 문제된 메시지의 타입을 나타내는 타입 데이터 레코드(505)를 포함한다. 예를 들면, EAP 타입 번호에 기초하여, 단말기(15)는 어느 스마트 카드(15) 또는 프로그램 모듈이 문제된 EAP 타입(또는 인증 프로토콜)을 처리할 것인지를 결정할 수 있다. 메시지내에 포함된 다른 데이터 레코드들은 타입-특유(type-specific)이며, 예를 들면, 다양한 챌린지들(challengers), 응답들, 디지털 서명 또는 검증, 메시지 인증 코드들 등과 같은 사용된 인증 프로토콜에 특유하다.
로그인 요청과 함께, 인증 서버(3)는 자신의 고유한 식별 데이터를 전송하도록 단말기(5)에 요청한다. 로그인 요청의 전송은 도 4에서 화살표(401)에 의해 표시된다. 단말기(5)의 이동 통신 수단(9)은 알려진 바와 같은 방식으로 무선-주파수 신호들을 베이스밴드 신호들로 변환하기에 필요한 동작들을 수행한다. 로그인 요청은 단말기(5)내에서 스마트 카드(15)로 전송되고, 스마트 카드내에서 메시지는 확장 가능 인증 프로토콜 인터페이스에서 처리된다. 실제로, 이것은 스마트 카드의 프로세서(16)가 로그인 요청을 수신하고 필요한 동작들을 작동시킨다는 것을 의미한다. 스마트 카드의 프로세서(16)는 응답을 생성하며, 응답내에서 데이터 필드는 단말기 사용자의 식별 데이터, 바람직하게는 국제 이동 가입자 식별자(IMSI: International Mobile Subscriber Identifier)를 포함한다. 국제 이동 가입자 식별자(IMSI)는 이동 가입자 식별 번호(MSIN: Mobile Subscriber Identification Number)뿐만 아니라 이동 국가 부호(MCC: Mobile Country Code), 이동 네트워크 코 드(MNC: Mobile Network Code)를 포함한다. 각각의 SIM-타입 스마트 카드(15)에서, 식별자 IMSI는 유일하며, 여기서 이동 가입자는 이러한 식별자 데이터에 기초하여 식별될 수 있다.
EAP 표준에 순응하는 경우에서, 식별자는 EAP 응답/아이덴티티 패킷내에서 전송되며, 여기서 로밍 네트워크에서의 아이덴티티는 소위 네트워크 엑세스 식별자(NAI: Network Access Identifier)이다. 본 발명의 유리한 실시예에서, 사용자 식별자(예를 들면, IMSI)는 이러한 네트워크 식별자내에서 인코딩된 형태로 전송된다. 일반적인 경우에서, 네트워크 식별자는 가입자를 식별하는 문자 시퀀스이다. 네트워크 식별자는 동작 식별자(operator identifier)를 포함할 수 있으며, 여기서 동작 식별자는 전자 메일 주소 예를 들면, 사용자 식별자@운영자.국가코드를 닮은 운영자 식별자를 포함할 수 있다.
응답 메시지가 스마트 카드(15)내에서 형성된 후에, 스마트 카드(15)는 이러한 메시지를 스마트 카드 연결 수단(19)을 통해서 단말기 연결 수단(14)으로 전송한다. 단말기 제어 블록(11)은 메시지를 읽고, 필요한 프로토콜 변환들을 생성한 후, 무선-주파수 신호들로 변환되기 위해 메시지를 이동 통신 수단(9)으로 전송한다. 단말기(5)는 이제 기지국(6)(화살표 402)으로 로그인 요청을 전송할 수 있다. 로그인 요청은 기지국(6)에서 수신되며, 로그인 요청은 기지국으로부터 기지국 제어기(7)를 통해 이동 전화 교환국(MSC)(8)으로 전달된다. 이동 전화 교환국(MSC)(8)은 상기 메시지를 인증 서버(3)로 더 전송한다. 이후에, 메시지는 인증 서버(3)에서 검사된다.
이동 통신 네트워크에서, 응답은 각각의 사용자의 홈 네트워크로 전송되며, 홈 네트워크에서 인증 서버(3)는 수신된 응답을 처리하며, 예를 들면 홈 위치 레지스터(HLR: Home Location Register)로부터 가입자 데이터를 검사한다. 사용자의 가입자 데이터가 데이터 베이스로부터 검사된 후에, 사용자 인증 처리가 개시되고, 가입자 데이터가 응답내에서 주어진 실제적인 사람인지를 검증한다. 인증 서버(3)는 인증 개시 메시지를 형성함에 의해 인증 과정을 계속하며, 인증 개시 메시지의 데이터 영역은 예를 들면, 인증 서버(3)에 의해 지원된 프로토콜 버전들에 대한 전송된 정보를 포함한다(화살표 403). 본 메시지의 유리한 형식은 첨부된 도 5b에 도시되어 있다.
단말기(5)에서, 메시지는 스마트 카드(15)의 확장 가능 인증 프로토콜 인터페이스로 전송되며, 여기서 예를 들면 메시지내에서 전송된 프로토콜 버전 데이터가 검사된다. 만약 인증 서버(3)에서 이용 가능한 하나 또는 다수의 프로토콜들이 또한 스마트 카드(15)상에서 이용 가능하다면, 인증 과정의 이후의 단계들에서 사용되도록 스마트 카드(15)내에서 이러한 프로토콜들중 하나가 선택된다. 더욱이, 이러한 프로토콜은 인증을 위해 사용되는 인증 알고리즘을 또한 정의할 수 있다.
위에서 제시된 메시지의 전송은 본 발명이 어떻게 사용되어야 하는지의 단지 하나의 예시라는 점은 명백하다. 스마트 카드(15)에 의해 처리되는 메시지들의 수는 제시된 예시에서 주어진 것과 다를 수 있다. 일반적인 경우에서, 다양한 요청들(예를 들면, EAP 요청)은 통신 네트워크로부터 단말기(5)로 전송되며, 단말기(5)의 소프트웨어에 의해 인도되어 스마트 카드(15)로 전송된다. 스마트 카드(15)는 단말기(5)가 로밍 네트워크로 전송하고 로밍 네트워크로부터 홈 네트워크의 인증 서버(3)로 더 전송하는 응답들(예를 들면, EAP 응답)을 생성한다. 이러한 요청들 및 응답들의 수는 제한되지 않으며, 그것들은 단지 스마트 카드(15) 및 인증 서버(3)에 명료할 필요가 있다.
일반적으로, 인증 프로토콜은 인증하는 장치 및 인증되는 장치는 같은 숫자들(figures)이 입력으로서 사용되는 같은 인증 알고리즘을 사용한다. 예를 들면, GSM 이동 통신 시스템에서, 각각의 이동 가입자는 SIM 카드상에 저장된 비밀 키(Ki)가 할당된다. 더욱이, 이러한 비밀 키(Ki)는 이동 가입자의 홈 위치 레지스터내에 저장된다. 인증 알고리즘은 응답 숫자(responce number)를 계산하며, 여기서 인증하는 장치 및 인증되는 장치에 의해 형성된 응답 숫자들이 비교됨에 의해 높은 확률을 가지고 다른 측을 인증하는 것이 가능하다. 오용의 확률을 최소로 줄이기 위해서, 인증 알고리즘에서 입력되는 모든 숫자들은 장치들간에는 전송되지 않으나, 그것들은 장치내에 저장되거나 및/또는 장치에 의해 검색될 수 있는 데이터 베이스내에 저장된다. 특히, 상기 비밀 키는 이동 통신 네트워크내에서 어느 단계에서도 전송되지 않는다. 발명의 유리한 실시예에 따른 본 방법에서, 다음의 단계들이 취해진다.
스마트 카드(15)는 어느 방법에 의해서도 제1 랜덤 숫자 NONCE_MT를 선택한다. 더욱이, 인증 과정에서 정의되는 키에 대하여 타당성 주기(a period of validity)가 선택될 수 있다. 가능하게 선택된 타당성 주기뿐 아니라 선택된 인증 프로토콜에 대한 정보, 상기 제1 랜덤 숫자 NONCE_MT는 로그인 응답에서 위에서 제 시된 메시지 전송 메커니즘들을 사용함에 의해 인증 서버(3)로 전송된다(화살표 404). 이러한 메시지의 유리한 형식은 첨부된 도 5c에서 도시된다.
인증 서버(3)는 GSM 트리플렛들의 n 번호(n≥1)를 검색하며, 각각의 트리플렛은 제2 랜덤 숫자 RAND, 부호화 응답(SRES: Signed Response) 및 홈 위치 레지스터(HLR: Home Location Register)로부터의 암호화 키 Kc로 이루어진다. 인증 서버(3)는 GSM 로밍 네트워크 및 종래 기술에서 잘 알려진 바와 같이 이동 어플리케이션 파트(MAP: Mobile Application Part) 프로토콜을 사용해서 홈 위치 레지스터 HLR로부터 GSM 트리플렛들을 검색한다. 더욱이, 선택된 인증 프로토콜에 대응하는 하나 또는 다수의 인증 알고리즘들을 사용해서, 인증 서버(3)는 제1 인증 코드 MAC_RAND뿐 아니라 세션 키 K를 계산한다. 이러한 계산에 사용된 파라미터들은 바람직하게는 암호화 키 n*Kc, 랜덤 숫자들 n*RAND, 국제 이동 가입자 식별자 IMSI, 및 제 1 랜덤 숫자 NONCE_MT이다. 키에 대해서, 인증 서버(3)는 스마트 카드(15)에 의해 제시된 타당성 주기(a period of validity)를 수용할 수 있으며, 또는 다른 타당성 주기를 선택할 수도 있다. 단말기(5)에 대한 체크-섬 개시 메시지에서, 인증 서버(3)는 키에 대해 선택된 타당성 주기에 대한 데이터뿐 아니라, 그것에 의해 선택된 하나 이상의 랜덤 숫자들 n*RAND, 그것에 의해 계산된 제1 인증 코드 MAC_RAND를 전송한다(화살표 405). 이러한 메시지의 유리한 형식은 첨부된 도 5d에서 도시된다.
단말기(5)의 스마트 카드(15)의 확장 가능 인증 프로토콜 인터페이스에서, 국제 이동 가입자 식별자 IMSI뿐 아니라 스마트 카드(15)에 의해 선택된 제1 랜덤 숫자 NONCE_ME, 주어진 수의 암호화 키들 n*Kc, 인증 서버(3)에 의해 선택된 제2 랜덤 숫자들 n*RAND을 파라미터들로 사용해서 같은 인증 알고리즘이 대응하는 방식으로 동작된다(블록 406). 인증 알고리즘의 결과는 인증 서버(3)에서 계산된 제1 인증 코드 MAC_RAND와 비교되고, 스마트 카드(15)로 전송된다. 만약 비교 결과 인증 알고리즘의 계산 결과가 스마트 카드(15)상에서 및 인증 서버(3)에서와 같다면, 인증 서버에 의해 전송된 체크-업 개시 메시지가 인증 서버(3)에 의해 실질적으로 전송되었다는 것과 그안의 랜덤 숫자들이 신뢰할 수 있다는 점이 스마트 카드상에서 추정될 수 있다. 만약 비교 결과 계산된 숫자들이 일치하지 않는다면, 인증 기능들은 바람직하게는 스마트 카드(15)상에서 정지하고, 단말기(5)는 이동 통신 네트워크에서 등록되지 않거나, 또는 서비스 사용과 관련하여 생성되는 인증의 경우에 서비스 사용이 금지된다.
비교 결과 랜덤 숫자들이 신뢰할 수 있는 환경에서, 스마트 카드(15)는 부호화된 응답들(SRES: Signed RESponses)을 형성한다. 이것은 파라미터들로서 암호화 키들 n*Kc 및 인증 서버(3)에 의해 선택된 제2 랜덤 숫자들 n*RAND을 사용해서 인증 서버(3)에서의 것에 대응하는 알고리즘을 가지고 수행된다. 바람직하게는 국제 이동 가입자 식별자(IMSI)뿐 아니라 계산된 부호화된 응답들 n*SRES 및 제1 랜덤 숫자 NONCE_MT는 다음에 알고리즘을 가지고 제2 인증 코드 MAC_SRES를 계산하기 위해 사용되는 수 있다. 체크-업 메시지에 대해, 스마트 카드(15)는 인증 서버(3)로 전송된 응답을 형성한다(화살표 407). 이 응답에서, 스마트 카드상에서 계산된 제2 인증 번호 MAC_SRES가 전송된다. 이러한 메시지의 유리한 형식이 도 5b에서 도시된 다. 인증 서버(3)는 대응하는 계산을 할 수 있으며, 그것에 의해 계산된 인증 번호를 스마트 카드(15)로부터 전송된 제2 인증 번호 MAC_SRES와 비교한다. 만약 인증 번호들이 일치한다면, 인증 서버(15)는 사용자의 국제 이동 가입자 식별자가 단말기의 스마트 카드(15)로부터 인증 서버(3)로 전송된 실제 사용자라고 가정할 수 있다. 성공적 인증 과정의 종료 시점에, 인증 서버(3)는 이러한 점에 대한 정보를 단말기(5)로 전송한다(화살표 408). 이러한 같은 메시지에서, 인증 서버(3)는 세션 키 K를 단말기(5)로 또한 전송할 수 있다.
위에서 제시된 인증 과정 및 구조 그리고 이와 관련되어 전송된 메시지들의 콘텐트는 인증 프로토콜(EAP/SIM)에 따른 동작의 유리한 예시들중의 단지 일부라는 점은 명백하다. 본 발명의 범위 내에서, 다른 메시지 구조들 및 인증 데이터를 사용하는 것이 또한 가능하며, 여기서 상세한 점들은 위의 예시에서 주어진 것들과 다를 수 있다. 본 발명은 확장 가능 인증 프로토콜에만 제한되지 않으며, 다른 보편적인 인증 프로토콜들이 본 발명과 관련되어 사용되는 수 있다. 중요한 점은 스마트 카드(15)에는 인증 프로토콜 인터페이스가 제공된다는 것이며, 인증 프로토콜 인터페이스에서 인증과 관련된 메시지들를 검증할 수 있을 뿐 아니라 인증과 관련된 인증 서버(3)로 전송될 메시지들을 형성하고, (예를 들면, 스마트 카드의 롬(17) 및/또는 수신된 메시지로부터 그것들을 검색하기 위해) 인증과 관련된 키들을 처리하는 것이 가능하다. 따라서, 단말기(5)에서 인증과 실질적으로 관련된 모든 기능들은 스마트 카드(15)상에 위치할 수 있다.
본 발명에 따른 방법은 또한 단말기(5)가 예를 들면, 인터넷 데이터 네트워 크(22)로 연결되는 환경에서 사용될 수 있으며, SIM 카드는 사용자 식별을 위해 사용될 수 있다. 따라서, 어플리케이션 서버는, 예를 들면 인터넷 데이터 네트워크(22) 및 이동 통신 네트워크간의 인터페이스내에 위치할 수 있으며, 여기서 인증 서버는 필요한 인증 데이터를 검색하기 위해 이동 통신 네트워크의 인증 센터 AuC와 통신할 수 있다. PPP 프로토콜이 단말기(5) 및 소위 네트워크 엑세스 서버(NAS: Network Access Server)간에 사용된다. 네트워크 엑세스 서버(NAS)는 AAA 프로토콜을 사용해서 인증 서버와 통신한다. 무선 국부 영역 네트워크에서, 상태는 중요한 부분들에 대해서 유사하다. 단말기와 무선 국부 영역 네트워크의 접근점(access point)간에, 예를 들면 IEEE 802.1X 프로토콜이 사용되며, 이것은 EAP 프로토콜 사용에 기초한다. 접근점은 AAA 프로토콜을 사용함에 의해 인증 센터와 통신한다.
본 발명의 방법에 의해, 예를 들면 스마트 카드(15)를 변경시킴에 의해 인증 프로토콜이 변경될 수 있다. 따라서, 인증 서버내에서뿐 아니라 새로운 스마트 카드(15)상에서 구현될 수 있는 그러한 프로토콜이 사용되는 수 있다. 예를 들면, 인증 프로토콜을 변경시키는 것과 관련하여 단말기의 소프트웨어에서는 아무런 변경이 필요없다.
단말기(5)로서, 예를 들면 노키아 9210 통신기 또는 유사한 것과 같은 무선 통신 장치와 같은 무선 단말기를 사용하는 것이 가능하다. 본 발명은 또한 예를 들면 국부 영역 네트워크내에서 워크-스테이션 인증에서 그리고 유선 또는 무선 접속중 어느 하나에 의해 인터넷 데이터 네트워크(22)로 연결되는 컴퓨터의 인증에서도 사용될 수 있다.
본 발명은 또한 사용 권한을 검증하기 위한 장치(15)의 확장 가능 인증 프로토콜 인터페이스가 단말기(5)에서 수행될 암호화 계산 동작들중 일부를 할당하는 방식으로 사용되는 수 있다. 암호화 동작들은, 예를 들면 디피-헬만 키 교환(Diffie-Hellman key exchange) 등의 계산과 같은 공개키와 관련된 다른 암호화 동작들 뿐 아니라 암호화, 복호화, 해시 함수들, 메시지 인증 코드 함수들, 인증서들의 검사를 포함한다. 이러한 암호화 동작들중 일부는, 몇몇 어플리케이션들에서는, 사용 권한을 검증하기 위한 장치(15)에서보다 단말기(5)에서 더욱 쉽게 준비될 수 있는 큰 계산 능력을 필요로 한다. 더욱이, 그러한 동작들은 간혹 만능 라이브러리들내에 구현되는 기본 암호화 동작들이며, 단말기(5)에서의 소프트웨어 갱신들을 반드시 필요로 하지는 않는다. 따라서 다양한 식별자들을 사용하는 것이 가능하며, 이들에 기초하여 사용 권한을 검증하기 위한 장치(15)는 동시에 사용되는 동작/알고리즘에 대하여 단말기(5)에 알릴 수 있으며, 확장 가능 인증 프로토콜 인터페이스를 통해 단말기(5)로 필요한 파라미터들을 전송할 수 있다. 다음에, 단말기(5)는 사용 권한을 검증하기 위한 장치(15)의 확장 가능 인증 프로토콜 인터페이스로 응답들을 전송한다.
본 발명은 하나 이상의 컴퓨터 프로그램들을 제작함에 의해 소프트웨어로 구현될 수도 있으며, 여기서 기계로 실행 가능한 단계들이 본 발명의 다른 단계들을 수행하기 위해 정의된다. 컴퓨터 프로그램(들)은 단말기(5) 및/또는 사용 권한을 검증하기 위한 장치(15)에의 컴퓨터 프로그램(들)의 설치를 위하여 예를 들면 컴퓨터 프로그램(들)을 사용자들에게 전달하기 위해 저장 매체상에 저장될 수 있다. 본 발명은 위에서 제시된 실시예들에만 제한되지 않으며, 첨부된 청구항들의 범위내에서 변형될 수 있다는 점은 명백하다.