상기 패킷데이터 네트워크에 상기 원격통신 네트워크에 의해 사용 가능한 인증정보를 제공하고, 상기 인증정보는 챌린지 및 상기 이동노드 아이덴티티에 대응하고 상기 챌린지 및 상기 공유비밀을 사용하여 유도 가능한 세션 비밀을 포함하는 단계;
상기 이동노드를 인증하기 위하여 상기 제1응답을 검사하는 단계를 포함하는 것을 특징으로 한다.
상기 이동노드에 의해 상기 가입자 아이덴티티(IMSI)로부터 상기 이동노드 아이덴티티로서 네트워크 액세스 식별자(NAI)를 형성하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 방법은 상기 패킷데이터 네트워크에서 상기 이동노드 아이덴티티로부터 상기 원격통신 네트워크를 직접 인식하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 방법은 상기 패킷 데이터 네트워크에 적어도 하나의 세션 비밀에 기초하여 공유 세션 키를 제공하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 방법은 상기 패킷데이터 네트워크와 상기 이동노드간에 상기 챌린지를 통신하기 위해 상기 패킷데이터 네트워크와 상기 이동노드사이에 통신링크를 제공하고, 상기 통신링크는 원격통신 네트워크의 링크는 아닌 것을 특징으로 하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 방법은 상기 이동노드에 이동노드 아이덴티티를 제공하기 위하여 가입자 아이덴티티 모듈을 사용하는 단계를 더 포함하는 것을 특징으로 한다. 바람직하게는, 상기 가입자 아이덴티티 모듈은 이동노드 아이덴티티에 특유한 공유비밀에 기초하여 상기 세션비밀을 생성하는데 사용되는 것을 특징으로 한다.
상기 제1응답을 검사함에 있어 상기 제2응답을 사용하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 방법은 상기 패킷데이터 네트워크를 경유하여 상기 원격통신 네트워크로부터 상기 이동노드로 상기 챌린지를 전송하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 보호코드는 시간에 기초를 두는 것을 특징으로 한다.
바람직하게는, 상기 챌린지는 상기 원격통신 네트워크의 적어도 2개의 인증 트리플렛들의 RAND 코드들에 기초하는 것을 특징으로 한다.
바람직하게는, 상기 챌린지는 적어도 상기 nRAND 코드들을 사용하여 암호학적으로 생성되는 것을 특징으로 한다.
바람직하게는, 상기 방법은 상기 패킷 데이터 네트워크에 상기 챌린지의 n RAND 코드들에 대응하는 n 세션 키들 Kc에 기초하여 공유 세션 키를 제공하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 방법은 상기 공유비밀, 상기 보호코드, 및 상기 이동노드 및 상기 패킷 데이터 네트워크에 의해 공지된 알고리즘에 기초하여 인증 키를 생성하는 단계를 더 포함하는 것을 특징으로 한다. 이러한 방식으로, 상기 이동노드 및 상기 패킷 데이터 네트워크간의 통신을 인증하는 것이 가능하다. 세션 키들 Kc의 수가 높을수록, 더욱 강력한 공유 세션 키 K가 된다.
바람직하게는, 상기 패킷 데이터 네트워크는 IP 네트워크이다. 더욱 바람직하게는, 상기 패킷 데이터 네트워크는 이동 IP 네트워크인 것을 특징으로 한다.
대안적인 실시예에 있어서, 상기 방법은 인터넷 키 교환을 위한 공유 세션 키를 생성하는 단계를 더 포함하고, 여기서 상기 공유 세션 키는 상기 적어도 하나의 세션 비밀 및 상기 적어도 하나의 챌린지에 기초하는 것을 특징으로 한다.
상기 이동노드 및 이동국간의 국부 접속을 형성하고, 이에 의해 상기 이동국은 이동노드 아이덴티티 및 상기 이동노드 아이덴티티에 특유한 상기 공유비밀를 가지는 단계;
상기 이동노드 및 상기 이동노드 아이덴티티 및 상기 이동노드 아이덴티티에 특유한 상기 공유비밀을 가지는 이동국간의 국부 접속을 형성하는 단계; 및
상기 이동노드에 대한 상기 이동국으로부터 상기 이동노드 아이덴티티 및 상기 공유비밀을 가져오는 단계를 포함하는 것을 특징으로 한다.
상기 이동노드 및 상기 이동노드 아이덴티티 및 상기 이동노드 아이덴티티에 특유한 상기 공유비밀을 가지는 가입자 아이덴티티 모듈간의 국부접속을 형성하는 단계; 및
상기 이동노드에 대한 상기 가입자 아이덴티티 모듈로부터 상기 이동노드 아이덴티티 및 상기 이동노드 아이덴티티에 특유한 세션 비밀을 가져오는 단계를 포함하는 것을 특징으로 한다.
상기 제1응답을 상기 패킷데이터 네트워크로 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 제3태양에 의하면, 이동노드를 상기 패킷 데이터 네트워크로 인증하기 위한 패킷 데이터 네트워크에서의 인증방법이 제공되는데, 상기 인증방법은
상기 원격통신 네트워크에 의해 사용 가능한 인증 정보를 얻고, 상기 인증 정보는 챌린지 및 상기 이동노드 아이덴티티에 대응하고 상기 챌린지 및 상기 공유비밀을 사용하여 유도 가능한 세션 비밀을 포함하는 단계;
상기 세션비밀을 사용하여 상기 제1응답을 확인하는 단계를 포함하는 것을특징으로 한다.
본 발명의 제4태양에 의하면, 패킷데이터 네트워크와 이동 원격통신 네트워크의 가입자 아이덴티티에 접근 가능한 이동노드간의 통신방법에서 있어서, 상기 통신방법은
상기 이동노드에 의하여, 상기 패킷데이터 네트워크에 의한 사용을 위해 이동노드 아이덴티티로서 가입자 아이덴티티 네트워크 액세스 식별자를 생성하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 제5태양에 의하면, 패킷 데이터 네트워크 및 인증 서버에 접근 가능한 원격통신 네트워크간의 인터페이스로서 동작하기 위한 게이트웨이에서의 인증방법이 제공되는데, 상기 인증방법은
상기 패킷 데이터 네트워크에 상기 챌린지를 제공하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 제6태양에 의하면, 패킷데이터 네트워크 인터페이싱 및 인증서버에 접근 가능한 원격통신 네트워크간의 인터페이스로서 작동하기 위한 게이트웨이가 제공되는데, 상기 게이트웨이는
상기 가입자 아이덴티티에 특유하고 상기 이동노드 및 상기 원격통신 네트워크에 의해 알려진 공유비밀에 기초하여, 상기 이동노드로부터 상기 패킷데이터 네트워크를 경유하여 상기 챌린지에 대응하는 제1응답을 수신하기 위한 입력부; 및
상기 이동노드를 인증하기 위하여 상기 제1응답을 확인하기 위한 제2프로세서를 포함하는 것을 특징으로 한다.
본 발명의 제7태양에 의하면, 패킷데이터 네트워크 및 인증서버에 접근 가능한 원격통신 네트워크간의 인터페이스로서 동작하기 위한 게이트웨이가 제공되는데, 상기 게이트웨이는
상기 패킷데이터 네트워크에 상기 챌린지를 제공하기 위한 제2출력부을 포함하는 것을 특징으로 한다.
상기 게이트웨이로부터 상기 챌린지 및 상기 암호화정보를 수신하기에 적합하고; 상기 챌린지 및 상기 공유비밀에 기초하여 제1응답을 얻기 위해 상기 가입자 아이덴티티 모듈에 상기 챌린지를 제공하기에 적합한 상기 이동노드;
상기 이동노드를 인증하기 위하여 상기 제1응답을 확인하기 위한 상기 게이트웨이에 의해 액세스 가능한 제3프로세서를 포함하는 것을 특징으로 한다.
상기 원격통신 네트워크에 대한 상기 이동노드 아이덴티티의 상기 가입자 아이덴티티를 형성하기 위한 상기 게이트웨이에 의해 액세스 가능한 제1프로세서;
상기 이동노드를 인증하기 위하여 상기 제1응답을 확인하기 위한 상기 게이트웨이에 의해 제어 가능한 제2프로세서를 포함하는 것을 특징으로 한다.
원격통신 네트워크로의 가입자 및 상기 가입자 아이덴티티 모듈에 특유하고 상기 원격통신 네트워크에 의해 액세스 가능한 인증서버에 의해 알려진 공유비밀을 확인하기 위한 가입자 아이덴티티를 가지는 가임자 아이덴티티 모듈;
상기 이동노드 아이덴티티를 상기 패킷데이터 네트워크로 전송하고 이에 반응하여 상기 패킷데이터 네트워크로부터 챌린지를 수신하기에 적합한 패킷데이터네트워크와 통신하기 위한 통신블럭을 포함하고, 그중에서 상기 가입자 아이덴티티 모듈은 상기 공유비밀에 기초하여 상기 챌린지에 대응한 제1응답을 형성하는데 적합한 것을 특징으로 한다.
본 발명의 제11태양에 의하면, 상기 이동노드를 패킷 데이터 네트워크로 인증하기 위해 이동노드를 제어하기 위한 컴퓨터 프로그램 제품이 제공되는데, 상기 컴퓨터 프로그램 제품은
상기 이동노드로 하여금 이동노드 아이덴티티 및 상기 이동노드 아이덴티티에 특유하고 원격통신 네트워크에 의해 사용 가능한 공유비밀을 얻도록 컴퓨터로 수행할 수 있는 코드;
상기 이동노드로 하여금 상기 제1응답을 상기 패킷데이터 네트워크로 전송하도록 하는 컴퓨터로 수행 가능한 코드를 포함하는 것을 특징으로 한다.
본 발명의 제12태양에 의하면, 상기 이동노드를 패킷 데이터 네트워크로 인증하기 위해 패킷 데이터를 제어하기 위한 컴퓨터 프로그램 제품이 제공되는데, 상기 컴퓨터 프로그램 제품은
상기 패킷 데이터 네트워크로 하여금 이동노드로부터 이동노드 아이덴티티 및 보호 코드를 수신하도록 하게 하고, 상기 이동노드 아이덴티티는 공유비밀에 대응하는 컴퓨터로 수행 가능한 코드;
상기 패킷 데이터 네트워크로 하여금 상기 원격통신 네트워크에 의해 사용 가능한 인증 정보를 얻도록 하고, 상기 인증 정보는 챌린지 및 상기 이동노드 아이덴티티에 대응하고 상기 챌린지 및 상기 공유비밀을 사용하여 유도 가능한 세션 비밀을 포함하는 컴퓨터로 수행 가능한 코드;
적어도 상기 보호 코드 및 상기 세션 비밀을 사용하여 상기 패킷 데이터 네트워크로 하여금 암호화정보를 형성하도록 하는 컴퓨터로 수행 가능한 코드;
상기 패킷 데이터 네트워크로 하여금 상기 세션 비밀을 사용하여 상기 제1응답을 확인하게 하는 컴퓨터로 수행 가능한 코드를 포함하는 것을 특징으로 한다.
본 발명의 제13태양에 의하면, 패킷 데이터 네트워크와 통신하기 위하여 이동노드를 제어하기 위한 컴퓨터 프로그램 제품이 제공되는데, 상기 이동노드는 원격 통신 네트워크에 의해 사용 가능한 가입자 아이덴티티로 접근 가능하고, 상기 컴퓨터 프로그램 제품은
상기 이동노드로 하여금 상기 패킷 데이터 네트워크에 의한 사용을 위해 이동노드 아이덴티티로서 상기 가입자 아이덴티티의 네트워크 액세스 식별자를 형성하도록 하는 컴퓨터로 수행 가능한 코드를 포함하는 것을 특징으로 한다.
본 발명의 제14태양에 의하면, 패킷 데이터 네트워크 및 인증 서버로 접근 가능한 원격통신 네트워크간의 인터페이스로서 동작하기 위한 게이트웨이를 제어하기 위한 컴퓨터 프로그램 제품이 제공되는데, 상기 컴퓨터 프로그램 제품은
상기 게이트웨이로 하여금 원격통신 네트워크에서의 사용에 적합한 상기 네트워크 액세스 식별자 가입자 아이덴티티를 형성하도록 하는 컴퓨터로 수행 가능한 코드;
상기 게이트웨이로 하여금 인증 서버로부터 챌린지 및 상기 챌린지에 대응하고 상기 가입자 아이덴티티에 대응하는 세션 비밀을 수신하도록 하는 컴퓨터로 수행 가능한 코드; 및
상기 게이트웨이로 하여금 상기 패킷 데이터 네트워크에 상기 챌린지를 제공하도록 하는 컴퓨터로 수행 가능한 코드를 포함하는 것을 특징으로 한다.
본 발명의 제15태양에 의하면, 상기 이전의 어떤 태양에 따른 컴퓨터 프로그램을 포함하는 메모리 매체가 제공되는 것을 특징으로 한다.
대안적인 실시예에 있어서, 상기 방법은 상기 이동노드를 상기 패킷 데이터 네트워크로 인증하기 전에 예비적 인증 방법으로 상기 이동노드를 상기 패킷 데이터 네트워크로 인증하는 단계를 더 포함하는 것을 특징으로 한다.
유리하게도, 상기 원격통신 네트워크 및 상기 이동노드간의 공유된 비밀을 활용함에 의하여, 가입자 아이덴티티 모듈들은 강력한 인증을 위해 사용될 수 있다. 이것은 상기 원격통신 네트워크의 현재의 인증 데이터가 사용될 수 있는 간단하고 믿음직한 인증 절차를 제공한다.
한 태양의 실시예들은 또한 본 발명의 다양한 다른 태양들에 적용된다. 간편함을 위하여, 상기 실시예들은 본 발명의 모든 태양과 연결되어 반복되지는 않았다. 숙련자인 독자는 본 발명의 제1태양의 장점들에 기초하여 다양한 태양들의 장점들을 이해할 것이다.
본 발명은 첨부된 도면들을 참조하여 이제부터 예시의 방식으로서만 기술된다.
아래에 이동통신을 위한 범용시스템(Global System for Mobile communication, GSM) 원격통신 네트워크에 적용되는 본 발명의 바람직한 실시예가 기술된다. 이동노드를 패킷데이터 네트워크로 인증하기 위하여는, GSM 가입자들을 인증하는데 보통 사용되는 가입자 아이덴티티 모듈(SIM) 카드들이 사용된다. 인증처리동안, 상기 SIM 및 상기 GSM 원격통신 네트워크는 GSM 원격통신 네트워크보다는 패킷데이터 네트워크를 통해서 통신한다.
원격통신 네트워크의 실제 유형은 부적절하다. GSM은 예시로써 사용되나, 상기 네트워크 유형은 UMTS 또는 GPRS를 가진 GSM일 수 있다. 실제로, GPRS는 GPRS가 GSM 무선 액세스 네트워크 및 GSM 인증 방법들을 사용해서 동작한다는 점에서 독립적인 네트워크라기 보다는 GSM의 확장으로 이해될 수 있다.
본 발명은 3개의 예시들을 사용해서 기술될 것이다. 예시 1은 이동 IP 구현에 관한 것이며, 현존하는 이동 IP 확장자들이 사용된다. 예시 2는 하나의 서브-네트워크로부터 다른 서브-네트워크로 로밍(roaming)하는 무선 LAN 환경에 관한 것이다. 예시 3은 인터넷 노드들에 대한 IKE 키들의 생성에 관한 것이다.
예시 1 : 이동 IP
본 발명의 바람직한 실시예에 있어서, 이동노드들은 숫자들의 열의 형식으로 국제이동 가입자 아이덴티티(International Mobile Subscriber Identity, IMSI)에의해 확인된다. 상기 IMSI는 정의에 의해 국가의 이동 가입자 아이덴티티 및 이동 국가 코드를 포함하는 유일한 가입자 식별자이다. 예를 들어, GSM에서 상기 IMSI는 IMSI에서의 숫자들의 열보다 적은 바이트들 단위로 표시된다.
IMSI는 네트워크 액세스 식별자(Network Access Identifier, NAI)로서, 이동 IP 메시지에서 전송된다. 상기 NAI는 imsi@sonera.fi(예를 들면 " 1234567@sonera.fi") 또는 imsi@gsm.org(예를 들면 "1234567@gsm.org")의 형식이다. 그러므로, 상기 NAI는 이동 원격통신 네트워크의 아이덴티티(예를 들면 텍스트 또는 식별자 번호와 같은)를 가진다. 이것은 상기 NAI로부터 원격통신 네트워크를 직접 인식하게 한다.
NAI의 그러한 2개의 예들 중에 후자인, gsm.org 도메인은 적절한 GSM 원격통신 네트워크 오퍼레이터에 관한 적절한 도메인을 찾는데 적합한 상위 레벨 도메인에 있는 예이다.
IMSI로부터 NAI의 형성은 NAI 자체만에 기초하여 적절한 GSM 원격통신 네트워크 오퍼레이터의 패킷데이터에 의해 차후 결정을 허용한다. 이는 패킷데이터 네트워크에서 다른 원격통신 네트워크 오퍼레이터 및 그들의 가입자들을 맵핑시키는 어느 국부 데이터베이스를 유지할 필요가 없게 한다.
일반적으로, NAI들을 가진 이동노드들을 확인하는 것은 이동 IP에서의 당업자에게 잘 알려져 있다. NAI 확장자는 등록 요청(Registration Request) 또는 등록 응답(Registration Reply)에 포함될 수 있고, 모두는 추후 기술될 것이다.
GSM 원격통신 네트워크에서의 SIM 카드 동작이 이제 기술될 것이다. GSM에서, A3 및 A8로 불려지는 공지된 인증 알고리즘들이 있다. 이러한 알고리즘들은 SIM 및 GSM 원격통신 네트워크에서 동작한다. 이러한 알고리즘들 및 GSM 공유비밀 Ki는 SIM 및 GSM 원격통신 네트워크 오퍼레이터에 의해 알려지며, 그들은 전형적으로 그것들을 이동 서비스 스위칭 센터(Mobile service Switching Center, MSC)의 홈 로케이션 레지스터(Home Location Register, HLR)에 저장한다.
인증에서, GSM 원격통신 네트워크 오퍼레이터는 64비트 GSM 세션 키 Kc 및 챌린지에 대한 응답을 확인하기 위한 32 비트 부호화된 응답 SRES에 대응하는 128 비트 임의의 코드인 챌린지 RAND를 생성하며, 이것은 챌린지로서 사용된다. 상기 64비트 세션 GSM 세션 키 Kc는 A8(Ki, RAND)과 같은 A8알고리즘에 의해 생성되고, 32비트 길이의 SRES는 A3(Ki,RAND)에 의해 생성된다. RAND, SRES 및 Kc의 조합은 일반적으로 GSM 트리플렛으로 불려진다. 상기 GSM 원격통신 네트워크 오퍼레이터는 상기 RAND를 그의 가입자에 전송하고(GSM 전화), 상기 RAND는 가입자에 의해 수신되고 상기 가입자는 그것을 SIM에 넘기고, SIM은 SRES 및 Kc를 재생한다. 그러면, 상기 SIM은 SRES를 전송함에 의해 챌린지에 응답한다. 오퍼레이터는 상기 SRES를 수신하고, SIM의 아이덴티티를 확인할 수 있다. GSM 원격통신 네트워크 오퍼레이터는 또한 그것이 SIM과 함께 Kc를 공유한다는 것을 확인할 수 있다. 그러면 Kc는 GSM 무선 채널을 통한 데이터 트래픽을 암호화하는데 사용될 수 있다. 이러한 챌린지-응답 메커니즘의 장점은 Kc는 결코 GSM 무선 채널상으로 전송될 필요가 없으며 따라서 그것은 도청될 수 없다.
도 1은 본 발명의 바람직한 실시예에 따라 IP 네트워킹 순응 이동노드 MT를가진 이동 IP 네트워크 MIP를 포함하는 통신 시스템(10)을 도시한다. 이동노드 MT는 전형적으로 네트워크를 위해 무선 네트워크 어댑터 및 소프트웨어를 가진 랩탑 컴퓨터이다. 복수의 이동노드들 MT는 MIP에 접속될 수 있다. 상기 이동노드 MT는 키보드 KB, 가입자 아이덴티티 모듈 SIM_B, WLAN 무선 채널상으로 무선 액세스 포인트로 통신하기 위한 제1무선 블록 RF1(PCMCIA 무선 랜 어댑터), (선택적으로) GSM 네트워크 GSM_B와 통신하기 위한 제2무선 블록 RF2(PCMCIA GSM 어댑터), 위에서 언급된 블록들 및 MPU를 동작시기 위한 제1소프트웨어 SW1을 포함하는 메모리 MEM1을 제어하기 위한 주 처리 장치(Master Processing unit, MPU)를 포함한다.
MIP는 MT에 무선 접속을 제공하기 위한 복수의 액세스 포인트들(Access Points, AP들), AP들을 제어하기 위한 공중 액세스 제어기(Public Access Controller, PAC) 및 외부 인증, 감사 및 회계 서버(Foreign Authentication, Authorization and Accounting server, FAAA)를 포함한다.
GSM 네트워크 GSM_B는 상기 SIM_B의 홈 GSM 네트워크이다. 상기 GSM_B는 홈 인증, 감사 및 회계 서버(Home Authentication, Authorization and Accounting server, HAAA)를 포함하고, 이는 GSM_B 가입자의 회계 및 인증 데이터를 포함하는 가입자 데이터 데이터베이스를 가진다. 이러한 데이터는 각 가입자에 대한 IMSI 및 GSM 공유비밀 Ki를 포함한다.
MIP는 GSM 인증 게이트웨이(GSM Authentication Gateway, GAGW)에 의해 GSM_B로 접속된다. 상기 GAGW는 서버이며, 제1 소프트웨어 SW2를 저장하기 위한 메모리 MEM2 및 상기 제2 소프트웨어 SW2를 실행시킴으로써 서버의 동작을 제어하기위한 중앙처리 CPU를 가진다. 상기 GAGW는 GSM_B에 있는 서버 및 MIP에 있는 서버 모두를 연결시킨다. 이러한 서버들은 홈 AAA 서버 HAAA(AAA는 인증, 감사 및 회계를 말한다) 및 외부 AAA 서버 FAAA로 명명된다. 만약 상기 MIP가 MT의 홈 네트워크라면, 상기 PAC은 또한 MT의 홈 에이전트(Home Agent, HA)이다. 그렇지 않으면, 상기 PAC은 외부 네트워크에 속하게 되고 상기 PAC은 외부 에이전트(Foreign Agent, FA)로 지칭될 수 있다. HAAA는 GSM_B에 위치하고 FAAA는 MIP에 위치한다. 상기 2개의 AAA 서버들간의 통신은 적절한 AAA 프로토콜에 의해 일어난다. 상기 AAA 프로토콜은 여기서는 기술되지 않는다.
인증과정의 개요가 지금부터 간략하게 기술될 것이다. 패킷데이터 네트워크에 대해 이동노드를 인증시키기 위해서, 공유 세션 키 K가 MT 및 FAAA 서버 모두에서 생성된다. 인증은 GSM_B 및 그의 SIM, SIM_B에 의해 수행된다. 이 경우에 인증과정은 기본적인 GSM 네트워크에 대해서 위에서 기술된 것과 유사하다. 인증은 SIM_B 및 GSM_B에 존재하는 Ki를 활용한다. 상기 SIM_B는 상기 MT(예를 들면, 무선 국부영역 네트워크 어댑터를 가진 랩탑 컴퓨터)에 SIM 카드 판독기를 제공함에 의해 액세스된다. 대안적으로, 상기 MIP는 상기 GSM_B의 Ki를 직접적으로 액세스하지 않으나, SIM_B에 관련된 RAND를 수신한다. 이 RAND는 MT로 전송되고 RESP가 원격통신 네트워크가 생성한 RESP에 대비되어 확인된다. 인증은 단지 하나의 Kc보다 더욱 안전한 인증키를 생성하기 위하여 다중의 RAND들을 사용함으로써 더욱 향상될 수 있다.
도 2는 도 1 시스템의 공유 세션 키 교환 순서를 도시한다. 다음에, 상기 순서가 간략히 요약되고 더욱 상세히 기술될 것이다.
1. MT가 FAAA에 네트워크 액세스 식별자(Network Access Identifier, NAI) 및 MT에 의해 생성된 보호코드 MT_RAND(또한 이동 IP 전문용어로는 nonce로 알려진)를 전송한다. 상기 MT_RAND는 인증세션 동안에 동일하게 유지되며 그것은 리플레이 공격들을 방해하는 것을 의미한다. 상기 MT_RAND는 전형적으로 임의의 수이거나 시간(어떠한 레졸루션을 가진 타임스탬프)에 기초를 둔다.
2. FAAA는 HAAA에 IMSI 또는 MT의 NAI를 포함한 초기 식별 메시지 및 MT_RAND를 전송한다.
3. HAAA는 n GSM 트리플렛들을 검색하고, 각 트리플렛은 RAND, Kc, 및 SRES를 포함한다. 그러면, HAAA는 MT에 대한 K=H(n*Kc, MT_RAND)를 계산한다. 여기서 n은 1보다 크거나 같고, *는 파라미터들의 수를 나타내며(n*Kc는 n개의 다른 Kc들을 말한다), H()는 일-방향 해시 함수를 나타낸다. HAAA는 또한 MAC(K, n*RAND, MT_RAND)으로부터 계산되며, 여기서 MAC은 메시지 인증 코드를 나타낸다. SIGNrand는 상기 n RAND들이 실제로 Ki(K가 그로부터 유도된 것처럼)로 접근 가능한 엔티티로부터 기원한 것인지를 확인하기 위한 암호화 체크 섬이다. MT-RAND가 하나의 인증 세션으로부터 다른 세션으로 변화하기 때문에, 체크 섬은 또한 n RAND들이 실제로 동일한 인증 세션 동안 생성된 것인지를 나타낸다.
4. HAAA는 n RAND들, SIGNrand 및 선택적으로 IMSI를 FAAA로 전송한다. IMSI 자체는 만약 다른 세션 식별자가 이 절차의 단계 1에서 IMSI와 함께 전송된다면 사용될 필요가 없다. 이 경우에, 이 세션은 IMSI 대신에 사용될 것이다.
5. FAAA는 적어도 하나의 RAND 및 SIGNrand를 MT로 전송한다.
6. SIM_B에 저장된 i를 사용해서, MT는 K를 계산한다. K, n RAND들 및 MT_RAND를 사용해서, MT는 SIGNrand를 테스트한다. 만약 SIGNrand가 옳다면, MT는 n SRES들의 복사본(각각의 RAND에 대해서 하나)을 생성한다. MT는 K 및 SRES들에 대한 암호화 체크 섬 SIGNsres = HASH2(K,n*SRES)를 계산한다.
7. MT는 SIGNsres를 FAAA에 전송한다. MT에서, K의 계산은 HAAA에서의 K의 계산과 같다.
8. FAAA는 SIGNsres를 HAAA로 전송한다.
9. HAAA는 수식 SIGNsres = HASH2(K,n*SRES)가 MT가 수신한 값으로 적용되는지를 검사함으로써 SIGNsres가 유효한지를 확인한다. HAAA는 상기 결과를 FAAA에 전송한다(SIGNsres가 유효한지 여부를 불문하고). 만약 GIGNsres가 유효하다면, HAAA는 또한 K를 FAAA로 전송한다.
10. 인증은 완성되고 FAAA 및 MT는 K를 공유한다.
FAAA는 기능적으로 몇 개의 HAAA들에 접속되며 FAAA는 예를 들면 "sonera.fi"와 같은 사용자의 NAI의 도메인 부부에 기초하여 올바른 HAAA를 선택한다. HAAA는 HAAA 또는 이동 스위칭 센터(Mobile Switching Center, MSC)와 같은 GSM 기반시설에 초기 식별 메시지를 전송하기 위해 HAAA-HAAA 프로토콜을 사용한다. 대안적인 실시예에 따르면, FAAA는 하나의 HAAA와 통신하도록 구성되고 단계 1에서 항상 HAAA로 메시지를 전송한다.
도 2의 절차가 이제부터 기술될 것이다. 그것은 새로운 세션 키 요청 확장자를 포함한 메시지 등록 요청(Registration Request)에 의해 시작한다. 이것과 다음의 확장자들은 후에 도 3에서 6을 참조하며 설명될 것이다. IMSI는 네트워크 액세스 식별자(Network Access Identifier, NAI) 확장자내에서 전송된다. 새로운 세션 키 요청 확장자는 최대 키 유효기간 및 MT에 의해 선택된 임의의 수 MT_RAND를 포함한다. 상기 MA가 새로운 세션 키 요청 확장자를 가진 등록 요청을 수신할 때, 그것은 (상기 IMSI를 포함한) NAI 및 MT_RAND를 HAAA로 전송한다. 만약 상기 MA가 GSM 원격통신 네트워크 오퍼레이터에 의해 동작하는 홈 에이전트라면, 상기 홈 에이전트는 전형적으로 GSM 트리플렛들의 직접 액세스가 가능하다. 본 발명의 실시 예에 있어서, 다수의 트리플렛들이 등록을 신속하게 하기 위하여 사전에 검색된다. 일단 HAAA가 어떤 수단에 의해서 간에 MT에 대한 n GSM 트리플렛들을 얻는다면, 그것은 위에서 기술된 바와 같이 새로운 K 및 인증자 SIGNrand를 계산한다.
그러면, MA는 MT에 새로운 세션 키 응답 확장자로 등록 응답을 전송한다. MT가 RAND들이 현재의 것이고 그들이 GSM 기반에 의해 생성된 것임을 확인할 수 있도록 하기 위하여 등록 응답은 MT_RAND 및 SIGNrand를 포함한다. 등록 응답은 또한 잔여 키 유효기간을 포함하고, 이것은 MT에 의해 제안된 키 유효기간과 동등하거나 작을 수 있다.
만약 상기 MT 및 MA가 보안 상황을 공유하지 않는다면, 제1 등록 요청 및 등록 응답은 실패할 것이다. 등록 응답에서의 상기 응답 코드는 "이동노드 인증에 실패" 또는 "식별 불일치"이다. 이동 IP에서, 인증 확장자가 사용된다. 상기 인증 확장자는 "새로운 세션 키 교환"을 의미하는 보안 파라미터 인덱스(SecurityParameter Index, SPI) 필드에 대한 특별한 값을 가진다. SPI 및 MT의 IP 주소는 다른 이동노드들에 관한 인증 절차 등을 관리하기 위한 인덱스로서 사용된다. 상기 인증 확장자는 또한 전형적으로 MAC 코드인 인증자에 대한 필드를 가진다. 상기 인증자는 비어있을 수 있다. 따라서, 만약 MA가 본 발명에 따른 인증을 지원하지 않는다면, 그것은 단순히 응답코드 "이동노드 인증에 실패"로 응답할 것이다. 만약, 상기 MA가 외부 에이전트라면, 상기 MT는 인증 확장자를 전적으로 생략해야 한다.
새로운 세션 키 응답 확장자로 등록 응답을 수신한 후에, MT는 SIGNrand의 타당성을 확인할 수 있다. 만약 SIGNrand가 유효하다면, MT는 키 K 및 SIGNsres를 생성하고 MA에 대한 새로운 보안 환경(security context)을 창조하거나 또는 그러한 것이 이미 존재한다면 새로운 K로 환경을 갱신한다. 이러한 키는 차후의 등록 메시지들에서 이동 IP 인증 키로서 사용될 것이다.
MT는 MA로 전송하는 다음 등록 요청에서 SRES 확장자에 SIGNsres를 포함한다. MA는 SIGNsres를 HAAA로 전송하고, HAAA는 그것을 확인하고 MA로 표시를 전송한다. 만약 SIGNsres가 유효하다면, HAAA는 또한 K를 MA로 전송한다. 이제 MA는 MT에 대한 보안 환경을 창조하고/갱신할 수 있다.
MA가 FA라면, 이제 K는 방문된 도메인에서 모든 외부 에이전트들에 배포될 수 있다.
MA가 SRES 확장자를 급히 얻을 필요도 있으므로, MT는 RAND의 수신후에 즉시 SRES 확장자로 등록 요청을 전송하는 것이 유리하다. 상기에서 기술된 K 교환 메커니즘에 의해 창조된 보안 환경은 SPI를 가진다. 여기서, 다른 잘 알려진 SPI가"SIM-생성된 보안 환경"에 대해 사용된다. 값이 SPI "SIM-생성된 보안 환경" 및 SPI "새로운 세션 키 교환"을 위해 예약된다.
바람직한 실시예에 따라서, 이동 IP 인증에서의 기본 알고리즘은 프리픽스+서픽스 모드에서의 키 화된(keyed) MD5이다. 이 모드에서, 메시지에 대한 인증 다이제스트가 바이트들의 다음 흐름상에서 MD5를 동작시킴으로써 계산되는데, K 및 등록 요청으로부터의 보호된 필드들의 제1 발생 및 K의 제2 발생이 그것이다.
인증 다이제스트는 도 3에 도시된 바와 같이 인증 확장자내에서 전송된다. 도 3은 비트들의 테이블로서 예시적인 비트 맵을 도시하며, 여기서 각각의 행은 4개의 옥테트들(octets)을 가진다. 3종류의 인증 확장자들이 있는바, MT 및 홈 에이전트간에 사용되는 의무적인 이동-홈 인증 확장자, MT 및 외부 에이전트간에 사용되는 선택적 이동-외부 인증 확장자 및 FA 및 HA간에 사용되는 선택적 외부-홈 인증 확장자가 그것이다. 모든 이러한 확장자들은 같은 형식을 가진다. SPI는 불명료한(opaque) 식별자이다. 인증 확장자의 (메시지의 수령인을 확인하는)인증자는 SPI 및 동등한자의 IP 주소를 이동 보안 관련 데이터베이스의 보안 환경에 맵핑한다. 상기 보안 환경은 키, 알고리즘 및 다른 보안 파라미터들을 포함한다. 상기 인증자 필드는 메시지 다이제스트를 포함한다.
바람직한 실시예에 따른 이동 IP 인증에 있어서, (K를 포함한) 보안 환경은 SIM_B를 사용해서 생성된다. RAND들은 예컨대 HAAA와 같은 GSM_B에 의해 생성되므로, MT는 우선 그것으로 등록하고 있는 MA에 그의 IMSI를 전송할 필요가 있다. 그러고 나면 (상기에서 기술한 바와 같이) MT에 대한 GSM 인증정보를 얻기 위하여 MA는 FAAA-HAAA 프로토콜을 사용할 수 있고, 이러한 정보를 사용해서 MT로 K를 생성할 수 있다. K가 생성된 후에는, MT는 MA로/를 통해서 등록할 수 있다. K는 다수의 연속된 등록들을 위해 사용될 수 있다. 그러나, 이러한 K에 대한 유효기간이 존재하고 유효기간이 만료하기 전에, 새로운 K가 유사한 절차에 의하여 생성될 수 있다.
MT 및 MA간의 K 교환 메시지들은 등록 요청 및 등록 응답에 대한 확장자로 전송된다. MT 및 MA간의 등록 메시지들에 대한 3개의 새로운 확장자들이 K에 동의하기 위하여 필요하다. 이러한 확장자들은 새로운 세션 키 요청 확장자, 새로운 세션 키 응답 확장자 및 SRES 확장자이다.
전형적으로, MT는 그의 HA가 본 발명에 따라서 인증을 지원한다는 것을 알고 있다. 그러나, MT는 어느 인증 방법 또는 방법들을 FA가 지원하는지를 모를 수도 있다. FA가 본 발명에 따른 인증 방법을 지원하는지를 테스트하기 위하여, MT는 제1 등록 응답에서 외부 에이전트에 대한 새로운 세션 키 요청 확장자를 포함하고 이동-외부 인증 확장자를 생략한다. 새로운 세션 키 요청 확장자는 선택적이다. 만약 FA가 그것을 지원하지 않는다면, 상기 FA는 그것을 무시하고 요청을 HA로 전송하기 전에 그것을 제거한다. MT가 등록 응답을 수신할 때, 그것은 다음의 논리를 구현한다 :
- 만약 등록 응답이 새로운 세션 키 응답 확장자를 포함하고 FA로부터의 응답 코드가 오류 코드 "이동노드 인증에 실패"라면, FA는 본 발명에 따라서 인증을 지원한다. 만약 새로운 세션 키 응답이 유효하다면, MT는 FA에 대한 보안 환경을창조하고 다음번 등록 요청에서 FA에 대한 SRES 확장자를 포함한다.
- 만약 FA가 응답 코드를 오류 코드로 세팅하지 않고 등록 응답이 새로운 세션 키 확장자를 포함하지 않고 FA로부터의 응답 코드가 세팅되지 않는다면, FA는 인증을 지원하지 않으나 대안적으로 이동-외부 인증 없이 등록들을 허가한다. MT는 필요한 어떤 인증 확장자들 없이 FA로 차후의 등록들을 수행할 수 있다.
- 만약 등록 응답이 새로운 세션 키 응답 확장자를 포함하지 않고 외부 에이전트로부터의 응답 코드가 오류 코드 "이동노드 인증에 실패"라면 FA는 본 발명에 따른 인증을 지원하지 않고 따라서 다른 종류의 인증을 필요로 한다. 이러한 경우에, 만약 MT가 단지 본 발명에 따른 인증 기능만을 가진다면, 그것은 FA로 등록할 수 없다.
FAAA가 FA가 보안 환경을 공유하지 않는 이동노드로부터의 등록요청을 수신할 때, 상기 FA는 다음의 선택들을 가진다.
- 만약 등록 요청에 무효인 이동-외부 인증 확장자가 존재한다면, FA는 오류 코드 "이동노드 인증에 실패"로 응답한다. 이는 표준 이동 IP 동작이다.
- 만약 등록 요청이 이동-외부 인증 확장자를 포함하지 않고 국부 방침(local policy)이 이동-외부 인증을 필요로 하지 않는다면, FA는 등록 요청을 HA로 전송한다. FA는 등록 요청에 새로운 세션 키 요청 확장자가 존재한다고 하여도 등록응답에 새로운 세션 키 응답 확장자를 포함하지 않는다. 이는 표준적인 이동 IP 동작이다. 이러한 구성은 예를 들면 단체 액세스 영역들에서 유용할 수 있다.
- 만약 FA에서의 국부 방침이 이동-외부 인증을 필요로 한다면, 그리고 이동-외부 인증 확장자이나 등록 요청에서 새로운 세션 키 요청 확장자도 존재하지 않는다면, FA는 오류 코드 "이동노드 인증에 실패"로 응답한다. 이는 표준 이동 IP 동작이다.
- 만약 FA에서의 국부 방침이 이동-외부 인증을 필요로 하고, 등록 요청이 새로운 세션 키 확장자를 포함하고 이동-외부 인증 확장자를 포함하지 않는다면, FA는 홈 에이전트로 등록요청을 전송하지 않으며 대신에 오류 코드 "이동노드 인증에 실패"로 응답하고, 등록 요청에 새로운 세션 키 응답 확장자를 포함한다. 만약 MT가 유효한 SRES 확장자 및 유효한 이동-외부 인증 확장자를 가진 다른 등록 요청을 전송한다면, FA는 상기 요청을 FA로 전송한다.
단지 어떤 GSM 가입자들만이 특별한 MA를 통해 등록되도록 승인된다. 사용자 인증은 다음의 엔티티들 중 하나에서 행해질 수 있다.
- GSM 기반. GSM 원격통신 네트워크(MSC/HLR)는 어떤 가입자들에 대해서만 본 발명에 따른 인증을 지원할 수 있다.
- HAAA. HAAA는 승인된 IMSI들의 목록으로 구성될 수 있다. HAAA는 그것이 접속되는 각 액세스 제어기에 대한 별도의 목록을 가진다. 이것은 HAAA로 하여금 어느 가입자들이 어떤 MA의 승인된 가입자들인지를 결정하도록 한다. 만약 HA가 원격통신 네트워크 오퍼레이터들에 의해 동작된다면, HAAA는 이러한 종류의 인증정보를 편리하게 저장할 수 있다.
- FAAA. 만약 법인(corporaton)이 예를 들면 그의 종업원들에 대해 FAAA를동작시킨다면, 상기 법인은 어느 GSM 가입자들이 FAAA로 등록되도록 허가되었는지를 제어하기를 원할 것이다. 이러한 경우에, MA는 승인된 GSM 가입자들의 목록을 유지할 필요가 있다. MA는 또한 클리어텍스트(cleartext)에서 IMSI를 볼 필요가 있다. 만약 MS와 HAAA간에 IMSI를 보호하기 위하여 공개 키 암호화가 사용된다면, HAAA는 MA가 MT가 FAAA로 등록되도록 승인되었는지를 검사하기 위하여 클리어텍스트(cleartext)를 MA로 전송할 필요가 있다.
새로운 세션 키 교환 확장자들은 정규의(비-임계의(non-critical)) 확장자들이며, 바람직하게는 MT-AAA 인증 확장자에 저장된다. 대안적으로, 상기 세션 벤더-특유의(vendor-specific) 확장자들이 사용될 수 있다. 만약 상기 등록 요청 수신기가 상기 확장자를 인식하지 않는다면, 상기 확장자는 생략된다.
MT 및 FA간의 세션 키 교환은 MT 및 HA간의 K 교환과는 독립적이다. 따라서, 등록 요청은 다음중의 하나를 포함한다.
- FA에 대한 새로운 세션 키 요청 확장자,
- HA에 대한 새로운 세션 키 요청 확장자,
- FA 및 HA 모두에 대한 새로운 세션 키 요청 확장자,
- FA에 대한 SRES 확장자,
- HA에 대한 SRES 확장자,
- FA 및 HA 모두에 대한 SRES 확장자,
- FA에 대한 새로운 세션 키 요청 확장자 및 HA에 대한 SRES 확장자, 및
- FA에 대한 SRES 확장자 및 HA에 대한 새로운 세션 키 확장자.
전형적으로, 등록 응답은 다음중의 하나를 포함한다.
- FA로부터의 새로운 세션 키 응답 확장자
- HA로부터의 새로운 세션 키 응답 확장자, 및
- FA 및 HA 모두로부터의 새로운 세션 키 응답 확장자.
새로운 세션 키 요청 확장자의 형식이 도 4에 도시되어 있다. MT는 이동-홈 인증 확장자 후 및 이동-외부 인증 확장자(존재한다면)전에 서브-타입 1(MT-FA)으로 새로운 세션 키 요청 확장자를 배치할 수 있다. FA는 상기 요청을 HA로 전송하기 전에 상기 요청으로부터 이러한 확장자를 제거해야 한다.
MT는 이동-홈 인증 확장자 전에 서브-타입 2(MT-HA)로 새로운 세션 키 요청 확장자를 배치할 수 있다.
도 4로부터 도시된 바와 같이, 새로운 세션 키 요청 확장자는 다음과 같다.
타입값 134(생략 가능한)
길이바이트 단위의 확장자의 길이로 타입 및 길이 필드들을 포함하지 않는다. 새로운 세션 키 요청 확장자에 대해서, 길이는 26바이트이다.
예약추후 사용을 위해 예약됨. 0으로 초기화 됨.
벤더/Org-ID고차의 옥테트는 0이고 저차의 3 옥테트들은 네트워크 바이트 순서로 이동 네트워킹 서비스 벤더의 SMI 네트워크 관리 개인 기업 코드이다.
벤더 타입NEW_SESSION_KEY_REQUEST_VENDOR_TYPE. 이 값은 이 확장자의 특별한 타입이 새로운 세션 키 요청 확장자임을 나타낸다. 벤더-타입들의 관리는 벤더에 의해 행해진다.
서브타입1 : MT-FA 새로운 세션 키 요청 확장자
2 : MT-HA 새로운 세션 키 요청 확장자
키 유효기간초 단위의 최대 키 유효기간으로 2 바이트 길이
MT_RANDMT에 의해 생성된 임의의 수(16 바이트들 또는 8 바이트들)
이것은 벤더 특유의 확장자의 사용에 대한 예시들이다. 대안적으로, 다른 타입의 특정된 확장자의 이동 IP가 사용될 수 있다.
새로운 세션의 키 응답 확장자의 형식이 도 5에 도시되어 있다. 상기 FA는 등록 응답내에 이동-홈 인증 확장자(존재한다면) 후 및 이동-외부 인증 확장자(존재한다면) 전에 서브-타입 1(MT-FA)을 가진 새로운 세션 키 응답 확장자를 삽입할 수 있다. HA는 등록 응답내에 이동-홈 인증 확장자 전에 서브-타입 2(MT-HA)를 가진 새로운 세션 키 응답을 삽입할 수 있다.
도 5로부터 도시된 바와 같이, 새로운 세션 키 응답 확장자의 형식은 다음과 같다.
타입값 134(생략 가능)
길이바이트 단위의 이러한 확장자의 길이로 타입이나 길이 필드들은 포함되지 않는다. 새로운 세션 키 응답 확장자에 대해서 길이는 42비트에 n RAND들의 길이를 더한 것이다.
예약추후 사용을 위해 예약됨. 0으로 초기화
벤더/Org-ID값, 예를 들면 94(노키아). 고차의 옥테트는 0이고 저차의 3 옥테트들은 네트워크 바이트 순서로 벤더의 SMI 네트워크 관리 개인 기업 코드이다.
벤더-타입이 값은 이 확장자의 특별한 타입이 새로운 세션 키 응답확장임을 나타낸다. 벤터-타입들의 관리는 벤더에 의해 행해진다.
서브 타입1 : FA-MT 새로운 세션 키 응답 확장자
2 : HA-MT 새로운 세션 키 응답 확장자
키 유효기간초 단위의 잔여 키 유효기간
SIGNrandn RAND들에 대한 인증자로 16 바이트들.
n*RANDn GSM RAND들(길이 n·16 바이트들)
SRES 확장자의 형식이 도 6에 도시되어 있다. MT는 등록요청내에 이동-홈 인증 확장자 후 및 이동-외부 인증 확장자(존재한다면)전에 서브-타입 1(MT-FA)을 가진 SRES 확장자를 배치할 수 있다. 상기 FA는 등록 요청을 HA로 전송하기 전에 이 확장자를 제거해야 한다.
MT는 등록 요청내에 이동-홈 인증 확장자 전에 서브-타입 2(MT-HA)을 가진 SRES 확장자를 배치할 수 있다.
도 6에 도시된 바와 같이, SRES 확장자의 형식은 다음과 같다:
타입값 134(생략 가능)
길이바이트 단위의 이러한 확장자의 길이로, 타입이나 길이 필드들은 포함하지 않는다. 새로운 SRES 확장자에 대하여, 상기 길이는 23 바이트들이다.
예약추후 사용을 위해 예약됨. 0으로 초기화
벤더/Org-ID고차의 옥테트는 0이고 저차의 3 옥테트들은 할당된 번호들 RFC(할당된 번호들)에서 정의된 바와 같이 네트워크 바이트 순서로 벤더의 SMI 네트워크 개인 기업 코드이다.
벤더-타입이 값은 이러한 확장자의 특별한 타입이 SRES 확장자임을 나타낸다. 벤더-타입들의 관리는 벤더에 의해 행해진다.
서브타입1 : MT-FA SRES 확장자
2 : MT-HA SRES 확장자
SIGNsres응답은 MT에 의해 계산되며, 16바이트이다.
본 발명의 다른 실시예에 있어서, MT 및 FA 간의 공유된 세션 키 교환 메시지들은 IMSI들 및 RAND들을 포함하도록 에이전트 공개(discovery)메시지들을 확장함에 의하여 전송된다.
또 다른 대안적인 실시예에서, 불명료한 인증자 필드는 인증 확장자에서 사용된다. 상기 확장자의 개시는 RAND들, 키 유효기간 및 다른 공유 세션 키 교환 파라미터들을 전송하기 위해 사용된다. 키 교환 파라미터들은 인증자의 계산에 포함된다.
만약 파라미터들이 인증 확장자 전의 별도의 확장자내에서 전송된다면, 키 교환을 위한 데이터는 자동적으로 인증 확장의 계산에 포함된다. 게다가, 별도의 확장자들을 사용하는 것은 시스템 구현을 더욱 쉽게 한다. 인증자는 MAC 함수의 결과이고, 예를 들면 단계 2에 따라 계산된 SIGNrand이다.
더욱 많은 실시예에서, SIM-생성된(SIM-generated) 보안 환경에 대해서 잘 알려진 SPI들을 사용하는 대신에, SPI들은 새로운 공유 세션 키 교환 메시지들에서 통신된다.
예시 2 : 무선 LAN
도 7은 본 발명의 다른 실시예에 따른 이동통신 시스템의 구조를 도시한다. 상기 시스템은 데이터 터미널인 이동노드(MT), 2개의 공중(public) 무선 IP 액세스 네트워크들(Wireless IP access networks ,WISP들)(WISP1, WISP2), 인터넷 INET, 제1 GSM 원격통신 네트워크 GSM_A 및 GSM 코어 GSMCORE에 접속된 제2 GSM 원격통신 네트워크 GSM_B를 포함한다.
공중 무선 액세스 네트워크(WISP1, WISP2)는 MT로 하여금 예를 들어 호텔들이나 공항들에 위치한 핫 스팟들(hot spots)과 장소들과 같은 공공 핫 스팟들(hot spots)에서 로밍(roam)을 가능하도록 하기 위해 무선 광대역 IP 서비스들을 제공한다. 각 WISP는 GSM 원격통신 네트워크 오퍼레이터 또는 GSM 원격통신 네트워크 오퍼레이터와의 로밍 계약을 한 개인 ISP에 의해 작동될 수 있다. 상기 로밍 계약은 SIM 인증에 있어서 중요하다.
MT는 이동노드로서 기능한다. 그것은 WISP에 접속될 수 있다. 상기 MT는 또한 공지의 기술을 사용해서 하나의 네트워크에서 다른 네트워크로 로밍할 수 있다. WLAN에서, 하나의 WLAN 핫 스팟(hot spot)으로부터 다른 장소로의 로밍은 WLAN 로밍 서비스라고 호칭된다. WISP들은 인터넷 INET에 접근할 수 있다.
MT는 장치 부분 ME 및 제2 GSM 원격통신 네트워크 GSM_B와 함께 사용하기 위해 제공되는 SIM_B를 가진다. MT는 GSM 순응 이동국이 아닐 수 있다. 이러한 경우에 MT의 사용자는 GSM 이동국에 SIM_B를 제공함으로써 상기 제2 GSM 원격통신 네트워크 GSM_B를 액세스할 수 있다. 실제로 본 예시에서, MT는 WLAN 어댑터 카드(미도시) 및 SIM_B를 사용하는 스마트 카드(미도시)를 장착한 랩탑 컴퓨터이다. 대안적으로, MT는 GSM 원격통신 네트워크와 통신하기 위한 GSM 이동국부분 및WLAN들과 통신하기 위한 WLAN 터미널 부분을 가지는 디바이스이다.
GSM 원격통신 네트워크들 GSM_A 및 GSM_B는 각각의 이동 교환국들 MSC 1 및 MSC 2를 포함한다. GSM 코어는 이러한 MSC들을 함께 연결한다. 게다가, 제1 GSM 원격통신 네트워크는 인터넷 INET에 접속시켜 주는 GSM/GPRS 인증 및 지불 게이트웨이(GSM/GPRS Authentication and Billing GateWay, GAGW)를 가진다. 상기 GAGW는 GSM 인증 서비스들을 WISP들에 제공하고 요금 정보를 수집하는 GSM 원격통신 네트워크 오퍼레이터의 엔티티이다.
GSM_B는 GSMCORE에 접속되고, 추후 더욱 상세하게 기술될 인증 및 지불의 목적으로 GSMCORE 및 GAGW를 거쳐 (MT가 접속된) WISP1 및 MT로 더 접속될 수 있다.
GSM/GPRS -SIM 기반의 사용자 이동 관리 기능(사용자 인증 및 지불)은 공중 WLAN 액세스 영역 인증 및 지불 기능들의 목적으로 사용될 수 있다. SIM 기반의 인증은 사용 요금에 대한 가입자 아이덴티티(인증)의 상대적으로 신뢰할 수 있는 확인을 제공한다. GSM 코어 GSMCORE는 다양한 오퍼레이터 네트워크들간에 로밍하는 GSM 이동국에 대해 로밍 서비스를 제공한다. 유리하게도, 로밍 서비스는 현재의 SIM 카드들 및 GSM 기반을 사용해서 구현된다. 결과적으로, WISP 로밍은 MT로부터어떠한 추가적인 보안 키들을 요구하지 않아야 한다. 게다가, 그들의 홈 오퍼레이터로부터 WLAN 로밍 서비스를 얻은 모든 GSM 사용자들은 공중 네트워크를 액세스할 수 있기 위해서 필요한 MT, SIM 및 필요한 로밍 소프트웨어를 가져야 한다. 홈 오퍼레이터는 그것으로 인증하기 위해 로밍 MT에 SIM_B를 제공한다. GSM_B는 대안적으로 GPRS를 지원하는 GSM 원격통신 네트워크이다.
도 7의 시스템의 동작이 이제 기술될 것이다. 사용자는 사용자의 홈 네트워크 오퍼레이터인 GSM_B 오퍼레이터와 GSM 계약을 맺는다. 네트워크 오퍼레이터 B는 GSM_A의 오퍼레이터 A와 로밍 계약(roaming agreement)을 맺었다. GSM 원격통신 네트워크 오퍼레이터 A는 각각 오퍼레이터들 C 및 D로 명명된 WISP1 및 WISP2의 오퍼레이터들과 파트너 협정(partner arrangments)을 체결한다. SIM_B를 가진 로밍 사용자는 WISP1로부터 WISP2까지 로밍할 수 있다. 모든 WISP들은 GSM_A의 오퍼레이터로 인증 요청 메시지들을 전송한다. GSM 코어 네트워크 로밍 기능은 가입자들의 홈 오퍼레이터(GSM_B의 오퍼레이터)로 상기 인증 메시지들을 보내는데 사용된다. 비록 상기 WISP들은 직접적으로 오퍼레이터 A 네트워크 GSM_A로만 접속되나, 이러한 구조는 GSM 원격통신 네트워크의 어느 쪽의 사용자들이건 MT로 WISP들간에 로밍할 수 있도록 한다.
로밍 사용자는 WISP와 미리-설정된 고객 관계를 가질 필요가 없다. 대신, 상기 로밍 사용자는 WLAN에서 인증 및 지불을 제공하기 위하여 그의 홈 GSM 원격통신 네트워크로 그의 고객 관계에 의존할 수 있다. WISP 액세스는 GSM 원격통신 네트워크 오퍼레이터들의 인증 게이트웨이를 통하여 로밍 사용자들의 GSM 요금이 청구된다.
여기서, 이러한 로밍 서비스들은 MT로 하여금 인증되고 공중 IP 액세스 네트워크들뿐만 아니라 GSM 코어 모두의 액세스에 대해 SIM을 사용해서 요금이 청구되기 위해 사용된다. 상기 GSM 원격통신 네트워크 오퍼레이터는 인증/로밍 서비스들 및 공중 IP 액세스 네트워크들의 사용 모두에 대해서 사용자에게 요금을 청구한다. 그러면, 상기 GSM 원격통신 네트워크 오퍼레이터는 그들의 오퍼레이터들에 대해 공중 IP 액세스 네트워크의 사용에 대하여 변상한다.
본 발명의 대안적인 실시예에 있어서, GSM 원격통신 네트워크 오퍼레이터는 가입자에게 GSM 무선 서비스들의 사용을 허가하지 않는 WISP 로밍 SIM을 제공할 수 있다. 그러한 전용 SIM은 인증 및 WLAN에 의해 제공되는 서비스들에 대해 요금을 청구하기 위해 사용될 수 있다.
GSM으로부터 알려진 바와 같이, 홈 GSM 네트워크는 인증 코드들 및 사용자 아이덴티티와 같은 고객 정보를 저장한다. 전형적으로, 이러한 정보는 MSC의 GSM 홈 로케이션 레지스터(Home Location Register, HLR)에 저장된다. GSM 원격통신 네트워크 오퍼레이터는 하나 또는 다수의 WISP 오퍼레이터들에 대한, 가능하게도 또한 또는 단지 기업 액세스 솔루션들에 대한 IP 기반의 인증 및 요금부과 인터페이스를 제공한다.
GAGW는 다양한 GSM 원격통신 네트워크 오퍼레이터들간의 이음매(seamless) 없는 로밍을 지원한다. WISP들은 GAGW로 모든 인증 및 지불 정보를 전송한다. GAGW는 인증 및 지불 정보를 대응하는 홈 GSM 원격통신 네트워크 오퍼레이터로 전달하기 위하여 GSM으로부터 알려진 GSM 코어 신호를 사용한다. 다른 GSM 원격통신 네트워크들간의 지불 정보의 신호는 외부의 GSM 원격통신 네트워크에서의 이동 전화의 전형적인 로밍과 유사한 방식으로 준비된다. 이러한 경우에, 상기 외부 GSM 원격통신 네트워크는 전화 콜을 준비함에 있어서 그 자체의 서비스에 대하여 홈 GSM 원격통신 네트워크에 요금을 부과한다.
도 7의 시스템에서, 홈 오퍼레이터는 요금 기록들을 저장하고 청구서를 사용자에게 보낸다. WISP는 청구된 서비스를 설명하는 지불 기록을 생성한다. 상기 지불은 공지의 원리들 또는 예를 들면, 균일가(flat rate), 사용 시간, 패킷들의 수 또는 액세스 밴드폭의 조합에 기초할 수 있다. GSM 네트워크(GAGW)는 WISP에 기원한 기록들을 현재의 GSM 지불 시스템으로 전송한다.
MT는 SIM 카드를 사용해서 인증을 지원할 수 있다. 대안적인 실시예에 있어서, MT는 예를 들면 단체 네트워크 액세스에 대한 스마트카드 인증과 같은 하나 이상의 다른 인증 메커니즘을 지원한다. 그러한 MT는 인증 소프트웨어 및 스마트카드를 포함하나 공중 액세스 또는 어떠한 다른 보안 관련에 대한 키들을 가질 필요는 없다.
도 8은 도 7 시스템의 중요한 기능 블록들을 도시한다. 비록 하나 이상의 WISP 및 하나 이상의 GSM 원격통신 네트워크가 존재할 수 있다고 이해되나, 도 8은 단지 하나의 WISP를 도시한다. 도 8은 시스템의 3개의 중요한 기능적 요소들을 도시하는바, MT 및 공중 액세스 제어기(Public Access Controller, PAC), GPRS/GSM 인증 및 지불 게이트웨이(GPRS/GSM Authentication and Billing gateway, GAGW)가그것이다. GAGW는 GSM/GPRS 네트워크와 IP 네트워크(예를 들면, 인터넷 또는 광역 IP 네트워크)를 인터페이스 하는 GSM 원격통신 네트워크의 전용 엔티티이다. GAGW는 또한 특히 인증 및 지불 서비스들에 관련된 필요한 WLAN-셀룰러 로밍 기능들을 제공한다.
PAC은 무선 액세스 네트워크로부터 인터넷 서비스들로의 액세스를 제어하는 WISP의 네트워크 엔티티이다. 본 예시에서, PAC은 MT에 IP 주소를 할당하고, 인터넷으로의 접속이 수행되기 전에 MT를 인증한다. 상기 PAC은 상기 MT 및 GAGW간의 인증 메시지들을 중계하고, 요금 기록을 수집하고 GAGW로 전송한다. PAC은 또한 MT와 인터넷간의 사용자 데이터 트래픽(traffic)을 중계한다. SIM 인증은 PAC에 대한 보충적인 서비스이며, PAC은 패스워드 기반의 인증과 같은 다른 인증 메커니즘들을 부가적으로 지원한다.
시스템의 인터페이스들이 이제 기술될 것이다.
MT-PAC 인터페이스는 인증 기능이 제공되는 IP 기반의 인터페이스이다. 상기 인증은 잘 알려진 표준적인 IP 프로토콜에 내장되거나 또는 현재의 프로토콜에 대한 확장자로 구현되도록 설계된다. MT 및 PAC은 이 인터페이스에서 그들의 IP 주소들을 사용해서 확인된다.
PAC-GAGW 인터페이스는 적절한 인증 프로토콜을 사용하는 IP 기반의 인터페이스이다. 전형적으로, 하나의 GAGW는 다수의 PAC들을 동시에 지원한다. 상기 GAGW는 그들의 IP 주소들을 사용해서 다양한 PAC들을 확인한다. 이러한 인터페이스에서, 상기 MT 확인은 SIM_B에 저장된 IMSI 코드에 기초한다.
GAGW-HLR 인터페이스는 고유 장비(implementation) 및 벤더(vendor specific)이다. GAGW는 PAC들로부터 셀룰러 기반을 감춘다. 그러므로, 비록 상기 기초가 되 셀룰러 네트워크가 다른 타입(GSM, GPRS)이거나 또는 다른 벤더에 의해 제공될 수도 있지만, 상기 PAC-GAGW 인터페이스는 항상 같다.
도 9는 도 7 및 8의 시스템의 주된 신호단계들을 도시한다. MT를 PAC으로 인증하기 위한 과정은 MT를 공중 액세스 네트워크로 접속을 시도할 때 전형적으로 트리거 된다. 이러한 경우에, MT는 동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol, DHCP) 서버(미도시)를 경유하여 IP 주소를 얻는다. 상기 DHCP 프로토콜 및 적절한 서버들은 당해 분야에 잘 알려져 있다. 상기 인증은 PAC을 지난 상기 네트워크가 액세스될 수 있기 전에 완성 되어야 한다. 상기 MT는 로밍 소프트웨어에 의해 인증된다. 대안적인 실시예에 있어서, 상기 인증은 MT가 SIM 인증을 사용해서 네트워크로 액세스하고자 하고, 로밍 어플리케이션이 동작될 때 자동적으로 트리거 된다.
인증의 개요가 상기 인증 과정동안 사용된 메시지들을 참조함에 의해 다음에 설명된다.
301. MT는 WISP1으로 접속하고, DHCP 서버로부터 IP 주소를 얻기 위해 PAC과 통신한다.
302. PAC은 SIM 인증, 공개 키 기반(Public Key Infrastructure, PKI) 또는 미리-공유된 키와 같은 지원된 인증 메커니즘에 관련된 정보를 전송한다.
303. MT는 SIM 인증이 지원되는지를 탐지한다. ME는 SIM_B로부터 IMSI를 요청한다.
304. SIM_B는 IMSI를 ME로 전송함으로써 IMSI(303) 요청에 응답한다.
305. MT는 예시 1 설명의 도입부에서 기술된 바와 같이 네트워크 액세스 식별자(Network Access Identifier, NAI) 형식으로 IMSI인 네트워크 액세스 식별자를 생성한다. MT는 예를 들면 Diffie-Hellman을 사용해서 PAC과 동적 보안 관련을 설정하고, 임시 보안 채널을 통해 암호화된 NAI를 전송한다. 대안적인 실시에에 있어서, 상기 NAI는 암호화 없이 클리어텍스트(cleartext)로 전송된다.
306. PAC은 NAI를 해독하고, 그것을 데이터 패킷내에서 전달하고, 다시 암호화되어, 보안 PAC-GAGW 인터페이스를 통해 GAGW로 전달한다. GAGW의 IP 주소는 PAC에서 정적으로 구성된다. 보안 채널은 이전에 준비된 공유비밀을 사용해서 PAC 및 GAGW간에 형성된다.
307. GAGW는 데이터 패킷이 유효한 PAC으로부터 온 것인지를 확인하고, 상기 패킷을 해독하고, NAI를 검사하고, IMSI를 뽑아내고 가장 근접한 MSC로 인증 요청을 가진 IMSI를 전송한다. 다음에, 상기 MSC는 IMSI에 의해 나타난 가입자의 홈 HLR을 알아내기 위하여 IMSI를 분석한다. 그리고 나서, 상기 MSC는 홈 HLR로 인증 요청을 전달한다.
308. 상기 홈 HLR은 하나 이상의 GSM 인증 트리플렛들(RAND, SRES, Kc)의 세트를 생성하고, 상기 세트를 GAGW로 전달하는 원조(originator) MSC로 상기 세트를 전송한다.
309. GAGW는 RAND들 및 적어도 Kc들을 사용해서 생성된 RAND들의 암호화 체크 섬을 포함하는 패킷을 생성한다. 상기 GAGW는 차후의 단계(314)에서의 추후 사용을 위해 SRES들을 보관한다.
310. PAC은 패킷을 해독하고 RAND들 및 암호화 체크 섬을 MT로 중계한다.
311. MT는 RAND들을 SIM_B로 입력하고, SIM_B는 대응하는 Kc 및 SRES 값들을 계산한다.
312. MT는 Kc들이 PAC에 의해 주어진 암호화 체크 섬과 일치하는지를 검사한다. 만약 그것들이 일치한다면, MT는 PAC이 HLR에 접속되었고 따라서 PAC은 신뢰할 수 있다는 점을 안다.
313. MT는 Kc들을 가진 SRES들에 대해 암호화 체크 섬을 생성하고, 체크 섬을 PAC으로 전송한다.
314. PAC은 SRES의 체크 섬을 GAGW로 전한다. GAGW는 체크 섬이 단계(308)에서 MSC로부터 수신한 SRES들과 일치하는지 여부를 검사한다. 만약 그것이 일치한다면, GAGW는 PAC으로 확인 메시지 ACK를 전송한다. 만약 그것이 불일치한다면, GAGW는 PAC으로 비확인 NACK를 전송한다.
315. 만약 PAC이 성공적인 인증을 확인하는 긍정적 확인 메시지 ACK를 수신하면, 그것은 인터넷으로의 액세스를 개방함으로써 상기 인증을 완성한다. 만약 PAC이 부정적인 메시지 NACK를 수신하면, 그것은 인터넷으로의 개방을 거부한다.
대안적인 실시예에 있어서, 상기 IMSI는 상기 NAI 대신에 선행하는 단계들에서 사용된다.
다음의 표들은 상기 시스템의 요소들간에 전송되는 파라미터들을 열거한다.
MT 및 GAGW간에 전송되는 주 파라미터들
파라미터 |
방향(to) |
암호화 |
설명 |
IMSI/NAI |
GAGW |
예 |
셀룰러 네트워크 측에 대한 사용자 ID |
RAND |
MT |
아니오 |
임의의 인증 챌린지 |
SRES |
GAGW |
예 |
HLR에 대한 인증 응답 |
Hash(K_MT) |
MT |
예 |
MT에 대한 인증 체크섬 |
Hash(K_GAGW) |
GAGW |
예 |
GAGW에 대한 인증 체크섬 |
MT 및 PAC간에 전송되는 주 파라미터들
파라미터 |
방향(to) |
암호화 ? |
설명 |
IMSI/NAI |
PAC |
예 |
셀룰러 네트워크 측에 대한 사용자 ID |
Bill_ind |
MT |
|
비용 정보 |
PAC 및 GAGW간에 전송되는 주 파라미터들
파라미터 |
방향(to) |
암호화 ? |
설명 |
Bill_ind |
PAC |
아니오 |
액세스 가격 정보 |
User_class |
PAC |
예 |
사용자 클래스/프로파일(영업. 소비자,...) |
K_RAN |
PAC |
예 |
무선 인터페이스 암호화 키 |
CDR |
GAGW |
예 |
사용자의 요금 기록(구조 tbd) |
유리하게, 선택적 user_class 파라미터는 서비스의 품질을 정의하는데 사용되며, 예를 들면 특별한 사용자에 대한 최대 밴드폭이다.
도 10은 도 7 및 8 시스템 인증의 상세한 신호 차트를 도시한다. 상기 차트는 다음의 단계들을 나타낸다.
(단계 401) MT는 IMSI를 가진 NAI를 포함하는 MT 기원 인증 개시 요청MT_PAC_AUTHSTART_REQ를 전송한다. 상기 요청은 전형적으로 또한 보호코드 MT_RAND(이동 IP의 상황에서는 또한 nonce로 알려진)를 포함한다.
(단계 402) PAC은 GAGW로 메시지 PAC_GAGW_AUTHSTART_REQ를 전송함에 의해 MT로부터 MT_PAC_AUTHSTART_REQ를 수신하고 GSM 트리플렛들을 요청하고, 상기 메시지는 또한 NAI 및 MT_RAND를 포함한다.
(단계 403) GAGW는 홈 GSM 원격통신 네트워크로부터 GSM 트리플렛들을 얻는다. 하나의 트리플렛으로 충분하지만, 상기 GSM 원격통신 네트워크는 복수의 트리플렛들을 반환할 수 있으며, 이러한 경우에는 몇 개의 트리플렛들은 폐기되거나 추후 사용을 위해 저장되거나, 더욱 유리하게는 그것들 모두는 보다 강력한 키를 생성하기 위하여 사용된다. 상기 홈 GSM 원격통신 네트워크는 NAI를 사용해서 인식된다.
(단계 404) GAGW는 암호화 알고리즘을 사용해서 적어도 상기 GSM 세션 키(들) Kc의 K를 생성한다. 유리하게, 상기 MT_RAND는 또한 암호화에 사용된다. GAGW는 GSM 트리플렛들의 GSM RAND(들)을 암호화하고, RAND(들) 및 K에 기초하여 암호화 체크 섬 또는 메시지 인증 코드(Message Authentication Code, MAC)를 계산하고, 인증 개시 응답 메시지 GAGW_PAC_AUTHSTART_RESP를 준비한다. GAGW 및 PAC 간의 암호화는 그들 고유의 공유비밀에 기초를 둔다.
(단계 411) GAGW는 RAND들, MAC, MT_RAND, 지불 정보 코드 및 지불 정보 코드에 대해서 계산된 지불 정보 MAC을 포함하는 인증 개시 응답 메시지 GAGW_PAC_AUTHSTART_RESP를 전송한다. 전형적으로, 상기 인증 개시 응답 메시지는생성되는 새로운 K의 유효주기를 결정하기 위한 세션 타임아웃 파라미터에 대한 필드 및 상기 세션의 상태에 대한 필드를 포함한다.
(단계 412) PAC은 PAC_MT_AUTHSTART_RESP 메시지로 인증 개시 응답 메시지 GAGW_PAC_AUTHSTART_RESP를 MT로 전달한다.
(단계 413) MT는 GAGW_PAC_AUTHSTART_RESP 및 PAC_MT_AUTHSTART_RESP에 의해 운반된 파라미터들이 실제로 상기 GSM 원격통신 네트워크에서 기원했는지를 SIGNrand로 테스트한다.
(단계 414) MT는 GAGW로부터 수신한 지불 정보를 다룬다. 전형적으로, 그것은 사용자에 의해 요청된 서비스의 가격에 대한 정보를 사용자에 제공한다. 대게, 이러한 가격은 다음중의 적어도 하나에 기초한다. 균일 가격(flat rate fee), 시간에 기초한 지불, MT로 또는 MT로부터 전송되는 데이터 패킷들의 수, 및 서비스 QoS의 품질이 그것이다. MT는 주어진 가격으로 서비스가 제공되어야 하는지를 사용자에게 묻는다. MT는 사용자로부터 답을 수신한다.
(단계 415) MT는 GAGW에 응답하는데 사용되기 위한 SRES들의 MAC을 생성한다.
(단계 416) 그리고 나서, MT는 적어도 상기 Kc들을 사용해서 액세스 비밀 K_pac_MT를 생성한다.
(단계 421) MT는 MT_PAC_AUTHSTART_REQ메시지를 생성하고 상기 PAC으로 전송한다. 상기 메시지는 상태 필드에 사용자가 서비스에 대한 지불을 수용했는지, SRES들의 MAC, 지불 코드의 MAC, 및 MT_RAND(인증 세션동안 전송된 모든 메시지들로서)를 보여주는 사용자의 답을 포함한다.
(단계 422) PAC은 MT_PAC_AUTHSTART_REQ 메시지의 데이터 및 부가적으로 NAI 및 PAC의 IP 주소를 포함하는 PAC_GAGW_AUTHSTART_REQ를 생성한다.
(단계 423) GAGW는 MT에 의해 전송되고 PAC_GAGW_AUTHANSWER_REQ에 의해 운반된 데이터가 변경되지 않았는가를 확인하기 위하여 SRES들의 MAC을 테스트한다.
(단계 424) 만약 GAGW가 이전 단계에서 테스트에 대한 긍정적인 답을 얻는다면, 그것은 단계(416)에서 MT에 의해 사용된 것과 같은 방식으로 액세스 키 Kpac_MT를 생성하고 단계(431)로 진행한다.
(단계 431) GAGW는 PAC으로 메시지 GAGW_PAC_AUTHANSWER_RESP_OK를 전송한다. 상기 메시지는 MT_RAND 및 코드들 filter_id, Kpac_MT 및 SIGNresult를 포함한다. 상기 filter_id 코드는 선택적이며 가입자의 사용자 클래스를 나타낸다. 이것은 예를 들면 더욱 많은 사용자를 위한 고 품질 접속인 QoS를 정의하는데 사용될 수 있다. 상기 SIGNresult는 GAGW로부터의 응답이 MT로 전송되는 중에 변경되지 않았음을 궁극적으로 확인하기 위한 메시지에 있는 데이터의 MAC이다.
(단계 441) PAC은 GAGW가 지불을 개시하도록 요청하는 PAC_GAGW_STARTBILLING_REQ 메시지에 의해 GAGW에 응답한다. 상기 메시지는 NAI 및 세션 ID(MT_RAND)를 포함한다.
(단계 442) GAGW는 MT가 지불을 허가했는지를 확인하기 위한 MT로부터의 응답을 검사한다.
(단계 451) 만약 MT가 지불을 허가했다면, GAGW는 지불 개시를 지시하기 위하여 PAC에 메시지 GAGW_PAC_STARTBILLING_RESP_OK를 전송한다.
(단계 452) PAC은 SIGNresult를 포함하는 PAC_MT_AUTHANSWER_RESP_OK 메시지를 MT로 전송한다.
(단계 453) MT는 PAC_MT_AUTHANSWER_RESP_OK 메시지를 수신하고 그것이 포함하는 SIGNresult를 검사한다. 만약 SIGNresult가 올바르다면, MT는 사용자에게 지불 개시를 알린다.
지불 코드의 MAC은 상기 PAC이 지불 코드를 변경할 수 없도록 적어도 Kc들을 사용해서 계산된다.
메시지 PAC_MT_AUTHANSWER_RESP_OK에서, 상기 MT는 인증 용어를 통지 받는다. 상기 MT는 인증 용어들이 기간이 만료되기 전에 그 자체를 재-인증한다. 만약 그것이 재-인증하지 않는다면, MT의 PAC으로의 접속은 자유롭게 되며(release), MT는 자체를 다시 인증할 수 있다.
유리하게, MT는 지불 정보를 수신하고 그것을 어떻게 처리할 것인지를 결정한다. 유리하게, MT의 사용자는 지불 정보 처리 방침을 정의할 수 있다. 이 방침은 예를 들면, 재-인증 또는 정상적인 인증의 경우에 아무런 지불정보가 사용자에게 제시되지 않는다는 것을 정의하기 위해 사용될 수 있다. 지불정보의 처리는 다른 엔티티들(MT, PAC, GAGW, MSC 및 HLR)간의 메시지 프로토콜에 영향을 미치지 않는다.
도 11a 및 도 11b는 인증동안의 PAC의 기능을 보여주는 흐름도를 함께 형성한다. 이 도면에서, 모든 블록들은 "MT" 또는 "GAGW"로 표시된 것들을 제외하고는PAC과 관련된다. 도면은 그들의 참조표시에 의해 각각의 블록들을 언급함으로서 기술될 것이다.
동작은 블록(501)으로부터 시작한다. MT는 MT_RAND를 포함하는 MT_PAC_AUTHSTART_REQ 메시지 및 NAI를 PAC으로 전송함으로써 PAC으로부터 인증을 요청하고, 따라서 거기서 인증 과정을 트리거한다(블록 511). PAC은 IP 주소 MT_IP를 MT에 대해 맵핑한다(블록 512). PAC은 그 NAI에 대해 맵핑된 IP 주소를 이미 가지고 있는지를 우선 검사한다. 만약 가지고 있다면, 그것은 데이터베이스 기록으로부터 맵핑을 복구한다(블록 513). 그렇지 않으면 그것은 IP 주소를 얻고 추후의 사용을 위하여 NAI와 함께 데이터 베이스에 그것을 저장한다.
IP 주소로 IMSI를 맵핑한 후에(블록 512), PAC은 NAI를 PAC_GAGW_AUTHSTART_REQ 메시지내 GAGW(블록 541)로 전달한다(블록 514). GAGW는 챌린지로서 사용되기 위한 임의의 수 RAND를 포함하는 GAGW_PAC_AUTHSTART_RESP 메시지에 의해 응답한다(블록 542). 블록(515)에서, 상기 PAC은 챌린지를 수신하고 세션 ID 코드 SESSION_ID를 MT_IP로 맵핑한다. 다음에, 상기 PAC은 MT_IP를 가진 SESSION_ID 및 IMSI를 저장함에 의하여 상기 데이터 베이스 기록을 갱신한다(블록 516). 그러면, 상기 PAC은 PAC_MT_AUTHSTART_RESP 메시지내에서 챌린지 RAND를 MT로 전송한다(블록 517). MT는 메시지를 수신하고(블록 502), 상기 챌린지 및 챌린지 자체에 대응한 암호화 체크섬 SIGN_SRES를 포함하는 MT_PAC_AUTHANSWER_REQ 메시지를 생성하고 응답한다(블록 503). 상기 PAC은 SIGN_SRES를 수신하고, 그것을 올바른지 여부를 검사하는 GAGW(블록 543)로 전달한다(블록 518). 상기 GAGW는SIGN_SRES가 올바른지 여부를 PAC에 알리기 위한 GAGW_PAC_AUTHSTART_RESP 메시지를 PAC에 반송한다(544). 대안적으로, GAGW는 올바른 SIGN_SRES를 계산할 수 있고, PAC 자체가 MT가 생성한 SIGN_SRES가 올바른지 여부를 확인하도록 하기 위하여 그것을 PAC으로 반송한다. 어느 경우든, PAC은 GAGW로부터의 응답을 확인하고(블록 519) 상기 응답에 기초하여 다음 행동을 결정한다(블록 520). 만약 상기 응답이 긍정적이라면, 그것은 성공적인 인증이고, 그러면 PAC은 지불을 개시하기 위하여 블록(523)으로 진행한다. 그렇지 않으면, 수행은 블록(521)으로 진행한다. 거기서, NACK는 인증에서의 오류를 나타내기 위하여 PAC_MT_AUTH_ANSWER_RESP_ERR로서 MT로 전송되고, SESSION_ID는 그것이 저장된 기록으로부터 제거된다(블록 522).
다음에, 지불과 관련된 다음 단계들이 설명될 것이다. 블록(523)에서, 메시지 PAC_GAGW_STARTBILLING_REQ는 GAGW로 전송된다. 상기 메시지는 GAGW에 GSM 송장에서 부가되기 위하여 MT의 사용자의 계좌에 요금을 적용할 가능성을 알린다. GAGW는 이러한 메시지를 수신하고(블록 547) 확인으로서 메시지 GAGW_PAC_STARTBILLING_RESP로 응답한다. 상기 메시지는 PAC에 의해 확인되며(블록 524), 승인 대신 부인의 경우에 상기 PAC은 블록(521)으로 반송한다. 그렇지 않으면, (블록 526) 확인 메시지 PAC_MT_AUTHSTART_RESP_OK가 가능한 지불의 개시를 확인하고 타이머가 개시되었다는 것을 확인하기 위하여 MT로 전송된다.
다음 단계에서, PAC은 아이들 모드이고, 주기적인 지불 갱신들을 제공한다. 이러한 갱신들은 데이터 패킷들의 전송 또는 수신과 같은 채무 사건들(debited events)에 의해 트리거 된다. PAC은 요금들을 조합할 수도 있고, 어떤 주기의 시간후에만 또는 요금의 어떤 트리거 정도에 도달한 후에 그렇게 모인 덩어리 총합(lump sum)에 대응하는 지불 갱신을 수행한다. 사건에 대해 비용을 지불할 때, 상기 PAC은 지불 갱신에 대하여 GAGW에게 알리기 위하여 PAC_GAGW_UPDATEBILLING_REQ를 전송한다. 상기 GAGW는 이러한 메시지를 수신하고(블록 547) 수신 메시지 GAGW_PAC_UPDATEBILLING_RESP에 의해 응답한다(블록 548). 상기 PAC은 영수증을 수신하고(블록 528), 그것이 긍정적인지를 검사한다(블록 529). 영수증이 부정적이라면, PAC은 MT가 WISP로 또는 WISP로부터 데이터 패킷들을 전송하는 것을 방지하고(블록 532), 지불정지를 GAGW로 전송하고 그의 재-인증을 위해서 MT로의 인증 요청을 전송한다(블록 533). 반면에, 블록(529)에서 영수증이 긍정적이라면, PAC은 세션 타임아웃을 검출하기 위해 타이머를 체크한다(블록 530). 만약 타임아웃이 검출되면, PAC은 계속해서 막고(블록 532) 위에서 기술된 것처럼 진행한다. 만약 타임아웃이 검출되지 않는다면, PAC 동작은 블록(527)으로 돌아온다.
도 12a로부터 12d는 도 7 시스템에서의 인증 동안의 GSM/GPRS 인증 및 지불 게이트웨이(GSM/GPRS Authentication and billing Gateway, GAGW)의 기능을 나타내는 흐름도를 함께 형성한다. 도 11a 및 도 11b에서 도시된 흐름도는 PAC의 기능을 기술하였고, 여기서도 같은 절차가 GAGW의 관점에서 고려된다. 상기 절차는 블록(601)으로부터 개시한다. PAC은 IMSI 및 (SIM_B에 의해 정의된) MT의 도메인 이름을 포함하는 PAC_GAGW_AUTHSTART_REQ 메시지를 GAGW로 전송한다. GAGW는 MT가 이미 인증되었는지를 검사한다(블록 611). 만약 이미 인증되었다면, (추후 기술되는) 인증 유효 타이머는 정지하고(블록 613), 현재의 사용자 정보가 사용된다(블록 615). 그렇지 않으면, 임시 사용자 ID가 IMSI에 의해 확인된 MT로 할당되고, 가입자의 데이터(IMSI 및 대응하는 사용자 ID)가 데이터 베이스의 기록에 저장된다.
그러면, MT 인증은 개시된다(블록 621). GAGW는 가장 근접한 MSC(681)로 전송된 GAGW_MSC_DATA_REQ 메시지에 의해 가입자의 홈 GSM 원격통신 네트워크로부터 GSM 트리플렛들을 요청한다(블록 623). MSC는 하나 이상의 GSM 트리플렛들 및 MSC가 그 사용자에 의한 상기 PAC 사용에 대한 지불을 허가할 것인지 여부에 관한 정보를 부가적으로 포함하는 MSC_GAGW_DATA_RESP 메시지에 의해 응답한다(블록 682). 상기 GAGW는 상기 응답을 확인한다(블록 627). 만약 사용자가 지불 서비스에 인증되지 않는다면, 또는 대안적으로 만약 상기 응답 타이머가 시간을 초과한다면(블록 625), GAGW는 인증 오류 메시지 GAGW_PAC_AUTHSTART_RESP ERROR를 PAC(블록 602)으로 전송한다(블록 629). 그렇지 않으면, 타이머가 시간 초과하지 않았고 응답의 확인이 긍적적이고 절차는 블록(633)으로부터 계속된다. GAGW는 데이터 베이스(블록 635)로부터 MT_RAND 및 인증되는 가입자에 관련된 적어도 하나의 GSM 트리플렛을 꺼내온다. 그러면 GAGW는 해시 함수 및 Kc를 사용하여 SIGNrand 및 사용된 (각각의) GSM 트리플렛(들)의 RAND를 계산한다. 이러한 어떤 수의 Kc들은 n*Kc로 지칭된다. 여기서, 에스테리스크는 곱셈을 나타내는 것이 아니고 다른 값의 파라미터들 Kc의 수를 나타낸다. 모든 다른 에스테리스크에도 또한 동일하게 적용된다. 곱셈을 위해서는, 에스테리스크 대신 도트 "ㆍ"가 사용된다. MSC는 전형적으로 하나의 요청에 응답하여 4개의 다른 GSM 트리플렛들에 대한 1개를 제공하므로, 하나 이상의트리플렛들이 인증을 위해 사용될 수 있다. 키들은 더 길고 재발생 주기는,이 주기에서 같은 키가 다시 사용된다, 증가하므로 단지 하나를 사용하는 대신 두 개 이상의 트리플렛들을 사용함으로써, 증가된 보안이 얻어진다. 이것은 형성된 인증 키들의 유효 기간을 더 증가시키도록 한다.
블록(637)에서, GAGW는 챌린지 및 GAGW_PAC_AUTHSTART_RESP 메시지내에서 그의 SIGNrand를 PAC(블록 603)으로 전송한다. 상기 PAC은 사용자가 지불을 받아들일 의향이 있는지를 나타내는 PAC_GAGW_AUTHSTART_REQ 메시지로 응답한다. 상기 GAGW은 그 메시지를 검사하고(블록 641), 만약 사용자가 지불을 받아들이지 않는다는 것을 보여준다면, GAGW는 통계 목적들(블록 639)을 위해 상기 응답을 저장하고(블록 643) PAC에 인증이 거부되었다는 것을 통지하기 위해 PAC으로 GAGW_PAC_AUTHANSWER_RESP 메시지를 전송한다. 통계적 목적들은 얼마나 많은 사용자들이 지불을 받아들였고, 얼마나 많은 사용자들이 지불을 받아들이지 않았는가에 관한 정보 수집을 포함한다. 이러한 정보는 WISP 오퍼레이터들 및 GSM 원격통신 네트워크 오퍼레이터들의 이윤을 극대화시키기 위하여 접속 가격을 최적화하는데 사용될 수 있다.
만약 메시지 PAC_GAGW_AUTHANSWER_REQ 메시지가 지불을 받아들일 의향이 있는 것을 나타낸다면, GAGW는 SIGNsres를 테스트한다(블록 645). 이러한 테스트는 MT에 의해 알려진 해시 함수 및 동일한 입력 데이터(MT_RAND, 사용된 GSM 트리플렛들 각각의 Kc 및 RAND)를 사용해서 SIGNsres를 계산함에 의해 수행된다. 테스트를 위해서, GAGW는 데이터 베이스로부터 입력 데이터를 꺼내온다(블록 647). 다음 단계로서(블록 649), GAGW는 SIGNsres가 실제로 올바른지를 테스트한다.
SIGNsres가 옳지 않다면, GAGW는 거부 메시지 GAGW_PAC_AUTHANSWER_RESP_ERR를 PAC(블록 606)으로 전송한다(블록 653).
SIGNsres가 올바르다면, GAGW는 MT에 액세스를 부여하고 Kpac_MT를 생성한다(블록 651). 그리고 나서, GAGW는 PAC(블록 607)으로 메시지 GAGW_PAC_AUTHANSWER_RESP_OK에 의한 액세스 수용을 전송한다(블록 655). 더욱이, GAGW는 PAC-특유 인증 티켓을 생성하고(블록 657), 그것을 저장한다(블록 663). 그러면, GAGW는 데이터 베이스내의 사용자 정보를 갱신하고(블록 659), Kpac_MT를 포함하는 사용자 데이터를 저장한다(블록 665). 마지막으로, GAGW는 (이미 블록 613에 관련해서 언급된) 인증 유효 타이머를 개시하고(블록 661) 회계 과정을 개시한다(블록 667). 인증 유효 타이머는 인증의 경과 시간을 데이터 베이스에 저장함에 의해 구현된다. 이것은 복수의 다른 사용자들에 대한 공통의 하드웨어(클록)의 사용 및 경과 시간과 현재 시간을 비교함에 의해 인증 만료의 간이한 검사를 가능하게 한다.
MT에 의한 WISP로의 액세스는 사용자의 GSM 계좌로 청구된다. MT가 WISP로 인증될 때, PAC은 지불 정보 수집을 개시한다. PAC은 접속 시간 및 전송된 데이터의 양에 대한 데이터 베이스를 유지한다. MT가 끊어지면, PAC은 이러한 정보를 GAGW에 전달한다. 그러면 GAGW는 GSM 호출 상세 기록(Call Detailed Record, CDR) 티켓을 생성하고 그것을 GSM으로부터 알려진 GSM 지불 시스템으로 전송한다.
도 13은 상기 네트워크로부터 MT로의 제어된 접속 해제의 주 신호 단계들을도시한다. 상기 접속 해제 과정은 MT가 접속해제 되어야 하는 것을 선택(블록 711)하는 것으로부터 개시된다. 상기 MT는 MT_PAC_DISCONNECT_REQ 메시지를 PAC으로 전송한다(블록 713). 상기 PAC은 GAGW에 지불 정지를 요청하는 PAC_GAGW_STOPBILLING_REQ 메시지를 전송한다(블록 721). GAGW는 PAC_GAGW__STOPBILLING_RESP 메시지를 전송함(블록 731)에 의해 응답한다. 마지막으로, 상기 PAC은 MT에 성공적인 접속 해제를 알리는 PAC_MT_DISCONNECT_RESP 메시지를 전송한다.
예시 2에서는, 터미널을 인증하는데 책임 있는 인증자 엔티티에 대한 기능이 네트워크 계층 라우터에 위치한다. 대안적으로, 상기 기능은 WLAN 액세스 포인트와 같은 링크 계층 요소에 있고, 상기 경우에 있어서, MT 및 WLAN 액세스 포인트는 IP 보다는 링크 계층 프로토콜에 기반을 둔다.
예시 3
본 발명의 상기 기능적인 구조는 수개의 적절한 프로토콜들을 사용해서 구현될 수 있다. 그러나, 본 예시에서는 인터넷 키 교환(Internet Key Exchange, IKE, RFC 2409) 프로토콜의 개선된 버전이 MT 및 PAC 간의 통신에서 사용된다. 사용자 서비스에서의 원격 인증 다이얼(Remote Dial In User Service, RADIUS, RFC 2138, RFC 2139) 프로토콜이 PAC 및 GAGW간의 통신에 대해 사용된다. PAC의 기능은 필요하다면 액세스 포인트 서버의 내부로 통합될 수 있다는 점 또한 주의해야 한다. 그러나, 액세스 포인트로부터의 PAC 기능을 분리함으로써, 핸드오버들은 구현하기가 더 쉽고 따라서 복수의 액세스 포인트들을 포함하는 장치들에 적합하다. 도 14는MT 및 PAC간에 IKE+로 알려진 개선된 IKE 프로토콜이 사용될 때의 MT, PAC 및 GAGW간의 주된 신호를 도시한다.
HDR은 교환 타입이 페이로드 오더링들(payload orderings)을 정의하는 인터넷 보안관련 및 키 관리 프로토콜(Internet Security Association and Key Management Protocol, ISAKMP, RFC 2409)이다. HDR*로 쓰여질 때 그것은 페이로드 암호화를 나타낸다. SA는 하나 이상의 제안 및 변형 페이로드들(Proposal and Transform payloads)을 가진 SA 교섭 페이로드(negotiation payload)이다. KE는 키 교환 페이로드이다. IDmt는 MT에 대한 아이덴티티 페이로드이다.
IKE+ 프로토콜이 이제 상세히 기술될 것이다.
IKE+ 프로토콜은 개선점들을 가진 IKE 메커니즘들을 사용한다. 이러한 인증 모드는 RFC2409에서 정의된 것들의 확장자이며, 1999년 12월의 draft-ietf-ipsec-isakmp-hybrid-auth-03.txt, "IKE에 대한 복합형 인증 모드"에서 Litvin M., Shamir R., Zegman T.에 의해 제안된 것과 관련된다. 상기 프로토콜은 MT 및 PAC 간의 두방향 인증을 위해 설계되었고 페이스 1에서 GSM 인증을 사용한다. 교환은 RFC2409에서의 것들과 달리 대칭적이지 않다. 대신에, 모든 IKE 교섭자들은 그들이 다른 요소들과 통신하므로 그들이 어디서 수행하는지를 알아야 한다. MT는 인증관련 함수들에 대해 그에 부착된 SIM_B를 사용하는 반면에, PAC은 GSM 원격통신 네트워크에서 인증 서버(GAGW)에, 사슬내에, 의존한다.
SIM_B <---> MT <------------> PAC <------> GAGW
MT 및 PAC간의 IKE 교섭(negotiation)은 표준적인 ISAKMP 페이로드신텍스(syntex)를 사용한다. 다른 메시지들은 동일한 신텍스(syntex)를 가지지 않으며, 의존적인 수단이다.
이러한 교환은 RFC2409에서 정의된 것들보다 오히려 더욱 복잡하므로, 단지 IKE 메인 모드에서만 정의된다. 다음의 파라미터들은 상기 교환에서 사용된다. 그들은 추후 기술되는 표준적인 ISAKMP에 포함된다.
IMSISIM 카드로부터 읽혀지는 IMSI
MT_RANDMT에 의해 생성되는 임의의 수
RANDGAGW에 의해 주어진 임의의 수
SIGNrandHMAC(Kc*n, RAND*nlMT_RANDlbillinginfo)로서 GAGW에 의해 계산되고, 여기서 HMAC은 RFC2104에서 기술된 HMAC 모드에 적용되는 RFC1321의 MD5 알고리즘이고, Kc는 SIM 카드로부터의 암호화 키이다.
SIGNsresHMAC(Kc*n, SRES*nl|IMSI|MT_RAND)로서 MT 및 GAGW에 의해 계산되고, 여기서 SRES는 SIM 카드로부터의 인증자이다.
Kpac_MT HMAC(Kc*n, RAND*n|IMSI|MT_RAND)로서 GAGW 및 MT에 의해 계산된다.
여기서. 바 "|"는 스트링 연결에 관한 것이고, 여기서 2 세트들의 숫자들은 예를 들면 1234|567 = 1234567과 같이 연결된다.
이하에서 도시된 바와 같이, 교환은 인증의 비대칭 때문에 MT 및 PAC간의 중간에 있는 자의 공격을 받기 쉽다. 그러나, 만약 교환이 무선 LAN과 같은 매체를 통해서 사용된다면, 이러한 종류의 현행 공격은 어렵다. GAGW가 단지 보안 채널들을 통해 아는 PAC들에만 얘기한다는 사실은 그러한 공격의 성공 가능성을 더욱 감소시킨다.
교환의 보안은 공개 키 기술로 개선될 수 있으며, 이것은 중간에 있는 자의 공격의 위협을 제거하지 않으나, 사용자의 IMSI를 보호한다. MT는 PAC으로부터 GAGW의 증명서를 요구할 수 있고, IDmt 페이로드에서 전송되는 IMSI 값을 암호화하기 위해 그 안에 공개키를 사용하기 때문이다. 상기 IMSI 값은 단지 MT 및 GAGW에게만 알려지고, 추후 기술되는 바와 같이, 또한 PAC를 MT로 인증하기 위해 사용될 수 있다.
MT의 IMSI를 운반하기 위해 ID 페이로드가 사용될 때, ISAKMP 포괄적 페이로드 헤더에서의 ID 타입 필드는 ID_USER_FQDN으로 세팅된다.
다음의 값들은 IKE 동등한 것들이 취해야 하는 역할을 확인한다. 값들은 인증 방법 속성을 위해 RFC2409에서 정의된 개인 용도 범위로부터 취해지고, 상호 동의한 당사자들 사이에서 사용되어야 한다.
타입값설명
GSMAuthInitMT65100MT에 의해 개시된 IKE 교섭
GSMAuthInitPAC65101PAC에 의해 개시된 IKE 교섭
도 14는 MT가 IKE 교섭의 개시자(initiator)일 때 교환이 어떻게 동작하는지를 도시한다.
단지 가장 최초의 2개의 메시지들이 교섭된 IKE SA에 영향을 미치는 경우에, 정규의 IKE에 대한 가장 현격한 예외가 행해지고, 마지막 SA의 유효기간은 GAGW에의해 선택된 세션 타임아웃 값으로 세팅될 것이다. 초기의 유효기간은 교섭이 종료되고 마지막 값이 세팅되기에 충분히 긴 시간으로 취해진다.
MT 및 PAC간의 액세스 키 Kpac_MT는 SKEYID = prf(g^xy, CKY-I|CKY-R)로서 생성된다. SKEYID_{a,d,e}에 대한 값들은 SKEYID에 기초하여 보통의 방식으로 계산된다.
만약 GAGW가 IMSI를 인식할 수 있다면, 그것은 SIGNrand를 계산한다. RAND 및 SIGNrand를 MT로 전송하기 위해서, PAC은 MT_RAND) 및 해시 페이로드들(HASH(1))을 각각 사용한다. 만약 단일의 메시지에서 하나 이상의 RAND를 전송할 필요가 있다면, 그것들은 동일한 MT_RAND 페이로드에서 연결될 수 있거나, 또는 많은 MT_RAND들이 전송될 수 있다. GSM RAND의 크기는 자주 변화하지 않으므로 수신기는 쉽게 송신기의 선택을 결정할 수 있다. 만약 IMSI 확인이 실패한다면, PAC은 INVALID-ID-INFORMATION으로 세팅된 통지 타입으로 통지 페이로드를 사용함에 의하여 그것을 MT로 지시한다. 다른 의존적인 구현에서, 오류 코드들이 통지 페이로드에 부가적으로 전송될 수 있다.
GAGW는 또한 지불정보를 전달하고, PAC은 그것을 통지 페이로드(NOTIFY)에서 MT로 전달한다. 통지 페이로드에 대한 상태코드는 BILLING_INFO이며, 사적 범위로부터 값 32768을 사용한다. MT를 사용하는 사람은 그녀가 부과된 요금을 수용할 것인지에 대해 문의되어야만 한다. 만약 수용한다면, 또는 만약 소정의 타이머가 만료한다면, 교환은 메시지 7로 계속된다. 그렇지 않으면 MT는 통지 타입 ATTRIBUTES-NOT-SUPPORTED으로 통지 메시지를 PAC으로 전송한다. MT는 PAC에서 프로토콜 기계가 과도하게 지연되지 안도록 상대적으로 짧은 시간의 타이머를 사용해야 한다.
MT는 SIGNsres를 계산하고, 그것을 HASH(2)내에서 PAC으로 전송하고, PAC은 그것을 확인을 위해 GAGW로 전달한다. 확인이 성공하면, GAGW의 응답 메시지는 추후 사용을 위해 MT 및 PAC간의 액세스 키(Kpac_MT) 및 GAGW로 MT의 세션에 대한 타임아웃 값을 포함한다. GAGW에 의해 선택된 타임아웃 값은 이전에 IKE 교섭에서 일치된 것을 갱신한다. 따라서 PAC은 갱신된 IKE SA를 MT로 전송해야 한다. PAC은 Kpac_MT 값을 MT로 전송하지 않으나, 대신 갱신된 SA 페이로드의 주요부를 암호화하기 위해 그것을 사용한다. 이것은 <SA_b>Kpac_MT로 도시된다. GAGW로부터의 SIGNresult 값은 IKE 전송을 위해 HASH(3)에 포장된다. 만약 GAGW가 MT의 아이덴티티를 확인할 수 없다면, PAC은 AUTHENTICATION-FAILED로 세팅된 통지 타입을 가진 통지 페이로드를 사용함에 의해 그것을 MT에 알린다.
도 15는 PAC이 개시자일 때 도 14 절차의 소규모 변형을 도시한다. 하나의 여분의 메시지가 작업으로 통과하는 인증을 위해 필요하다. PAC은 제1 메시지에서 GAGW의 인증서를 포함할 수 있으나, 이러한 방식으로 MT는 그것이 인증서가 필요한지를 결정할 수 있다. GAGW, 및 변화하지 않은 부분은 도 15로부터 생략된다.
도 16는 본 발명의 실시예에 따른 인증 시스템의 절차를 기술한다. 상기 인증은 1998년 3월에 L. Blunk and Vollbrecht에 의한 RFC 2284로부터 알려진 확장 가능한 인증 프로토콜(Extensible Authentication Protocol, EAP), "PPP 확장 가능한 인증 프로토콜(PPP Extensible Authentication Protocol, EAP)"을 사용한다. 도16의 실시예는 또한 위에서 기술된 실시예들의 어떤 것들과도 결합될 수 있다.
EAP는 근본적으로 인증 방법의 상세한 점들을 알 필요가 있는 액세스 포인트 없이 그의 AAA서버로 PPP 클라이언트 인증을 가능하게 하는 포인트-포인트 프로토콜(Point-to-Point Protocol, PPP) 인증 구조이다.
본 실시예에서, PAC은 GAGW로부터 성공 또는 실패표시를 얻을 때까지, MT 및 GAGW간의 EAP 패킷들을 전달한다.
EAP를 사용해서, 인증 방법의 상세한 점들은 MT 및 HAAA에 의해 알려진 필요가 있으나, PAC과 같은 중간적 인증자에 의해 알려질 필요는 없다. 따라서, EAP 프로토콜은 사실상 그들이 포함하는 것을 고려하지 않고 EAP 패킷들을 전달하는 중계자(relay)인 경우에 클라이언트-AAA 서버 프로토콜이다. PAC은 단지 인증의 결과(성공 또는 실패)에만 관심이 있다. 부가적으로, 세션 키가 인증과정의 부분으로서 생성되고, 이 키는 PAC으로 분배될 것이다.
도 16은 성공적인 SIM 인증에서 전송되는 EAP 패킷들을 도시한다. 상기 EAP 인증은 전형적으로 MT에 타입 1(아이덴티티)을 가진 EAP 요청을 발행하는 PAC과 함께 개시한다. MT는 MT의 아이덴티티를 포함하는 EAP 응답/아이덴티티로 응답한다. 로밍 환경에서, 상기 아이덴티티는 네트워크 액세스 식별자(Network Access Identifier, NAI)이다.
MT의 EAP 응답/아이덴티티 패킷에 이어서, 터미널은 HAAA로부터 타입 GSMSIM의 EAP 요청을 수신하고 대응하는 EAP 응답들을 전송한다. 타입 GSMSIM의 EAP 패킷들은 또한 서브타입 필드를 가진다. 상기 제1 GSMSIM 타입 EAP 요청은 서브 타입개시에 관한 것이다. 이러한 패킷은 HAAA에 의해 지원되는 가장 작고 가장 위대한 GSM SIM 프로토콜 버전 번호를 포함한다. 상기 MT의 응답(EAP 응답/GSMSIM/개시)은 (EAP 요청의 최소 및 최대 버전들간의 있어야 하는) MT의 버전 번호, MT의 키 유효기간 제안(proposal), 및 MT에 의해 생성된 임의의 수 MT_RAND를 포함한다. 모든 차후의 EAP 요청 및 응답 패킷들은 MT의 MT의 EAP 응답/GSMSIM/개시 패킷과 동일한 버전을 포함한다. EAP 응답/GSMSIM/개시를 수신한 후에, 인증 서버는 GSM 네트워크로부터 GSM 트리플렛들을 얻고 공유 세션 키 K를 생성한다.
인증 서버가 전송하는 다음 EAP 요청은 타입 GSMSIM 및 서브타입 챌린지에 대한 것이다. 그것은 RAND 챌린지들, HAAA에 의해 결정된 키 유효기간, 및 챌린지 및 유효기간에 대한 인증자를 포함한다. 이러한 메시지를 수신하면, MT는 SIM 카드 상에 인증 알고리즘을 동작시키고 MAC_RAND 인증자의 복사본을 계산한다. 그리고 나서, MT는 계산한 MAC_RAND가 수신된 MAC_RAND와 동일한지 여부를 확인한다. 만약 상기 MAC_RAND들이 일치하지 않는다면, MT는 SIM 인증을 취소한다.
모든 검사에 합격하면, MT는 MT의 응답 MAC_SRES를 포함하는 EAP 응답/GSMSIM/챌린지에 응답한다. HAAA는 MEC_SRES가 올바른지를 확인하고, 인증이 성공적이라는 것을 나타내는 EAP 성공 패킷을 전송한다. HAAA는 그것이 PAC에 전송하는 메시지에 유도된 세션 키를 포함한다.
상기 EAP 패킷들은 만약 PAC이 다이얼-업 서버라면 PPP 프로토콜에 의해 MT 및 PAC간에 전달될 수 있다. 다른 프로토콜들도 또한 사용될 수 있다. 예를 들면, 만약 PAC이 국부 영역 네트워크(Local Area Network, LAN)상의 인증자 포트 액세스엔티티(Authenticator Port Access Entity, PAE)라면, 그러면 2000년 11월 29일자 IEEE 초안 P802.1X/D9 EAP에 의해 제안된 LAN 프로토콜을 통한 EAP 캡슐화(EAP encapsulation over LAN protocol, EAPOL)가 또한 사용될 수 있다.
본 발명의 특별한 구현들 및 실시예들이 기술되었다. 본 발명은 위에서 제시된 실시예들의 상세한 설명에 한정되지 않는다는 것은 당업자에 명백할 것이나, 본 발명의 특성들로부터 이탈하지 않고 동등한 방법들을 사용해서 다른 실시에들에서 구현될 수 있다. 예를 들면, 한가지 실시예에서, MT는 물리적으로 SIM_B를 가진 이동국으로터 분리된 단위이다. 그리고 나서, MT는 이동국으로의 영구적 링크 또는 임시적 링크 예를 들면, 블루투스 링크(Bluetooth link)와 같은 저 전력 무선 주파수 링크를 형성한다. 이러한 경우에, 원격통신 네트워크가 인증을 위한 어떠한 분리 가능한 SIM들을 사용하는 것은 필요하지 않다. SIM 기능은 분리 불가능한 방식으로 이동국으로 통합될 수 있고, 예컨대, Ki 또는 그의 동등한 것은 이동국의 비휘발성 메모리 내에 저장될 수 있다. 자연적으로, 이동국이 SIM을 사용하도록 혹은 그렇지 않도록 설계되든 불문하고 이동국의 인증 기능이 터미널 부분에 의해 액세스 가능하도록, 이동노드는 이동국으로 통합될 수 있다. 다른 실시예에서, 패킷데이터 네트워크는 LAN 또는 광역 네트워크와 같은 고정된 패킷데이터 네트워크이다. 더 많은 실시예에서, 상기 창작된 인증은 예컨대, WWW 이동 또는 인터넷 뱅킹 서비스 등에 대한 이동노드를 인증하기 위해 사용된다. 그러므로, 본 발명의 범주는 첨부된 특허청구범위들에 의해 단지 제한된다.
약어/참조기호
AAA(Authentication, Authorization and Accounting) : 인증, 감사 및 회계
FA(Foreign Agent) : 외부 에이전트
FAAA(Foreign Authentication, Authorization and Accounting server) : 외부 인증, 감사 및 회계 서버
GAGW(GSM Authentication Gateway) : GSM 인증 게이트웨이
GSM(Global System for Mobile communication) : 이동통신에 대한 범용 시스템
GSM triplet(RAND, Kc, and SRES) : GSM 트리플렛(RAND, Kc, and SRES)
HA(Home Agent) : 홈 에이전트
HAAA(Home Authentication, Authorization and Accounting server) : 홈 인증, 감사 및 회계 서버
HDR(Internet Security Association and Key Management Protocol(ISAKMP) header whose exchange type defines the payload orderings) : 그의 교환 타입이 페이로드 주문들을 정의하는 인터넷 보안 관련 및 키 관리 프로토콜 헤더
HLR(Home Location Register(a GSM telecommunication network element) : 홈 로케이션 레지스터(GSM 원격통신 네트워크 요소)
IMSI(International Mobile Subscriber Identity, used in GSM) : GSM에서 사용되는 국제 이동 가입자 아이덴티티
IPsec(Internet Protocol Security protocol) : 인터넷 보안 프로토콜
ISAKMP(Internet Security Association and Key Management Protocol) : 인터넷 보안 협회 및 키 관리 프로토콜
Kc(A 64 bit long key produced by a SIM) : SIM에 의해 생성된 64 비트 록 키
Ki(Subscriber authentication key, used in GSM and stored on the GSM telecommunication network(for example HLR) and on the SIM) : GSM에서 사용되고, GSM 원격통신 네트워크(예컨대 HLR) 및 SIM상에 저장된 가입자 인증키
MD5(Message Digest 5) : 메시지 다이제스트 5
MT(Mobile Node(Mobile IP client) : 이동노드(이동 IP 클라이언트)
MSC(Mobile Switching Center(a GSM telecommunication network element)) : 이동 스위칭 센터(GSM 원격통신 네트워크 요소
MT(Mobile node) : 이동노드
NAI(Network Access Identifier, for example user@nokia.com or imsi@gsm.org) : 네트워크 액세스 식별자, 예를 들면 user@nokia.com or imsi@gsm.org
RAND(A 128 bit random number used as a challenge in GSM authentication) : GSM 인증에서 챌린지로서 사용된 128 비트 임의의 수
MT_RAND(A random key for protecting against replay attacks, MT generated) : MT가 발생한 역 공격들로부터 보호하기 위한 임의의 키
SIM(Subscriber Identity Module) : 가입자 아이덴티티 모듈
SPI(Security Parameter Index) : 보안 파라미터 인덱스
SRES(Signed Response, a 32 bit response in GSM authentication) : GSM 인증에서의 32 비트 응답으로, 부호화된 응답