문맥 (context)
이동 시스템에서, 보안은 네트워크와 이동 단말기의 기능성의 중추부이다. 이동 단말기가 다른 네트워크에서 자유롭게 로밍 할 수 있다는 사실로 인해서, 현재 이동 단말기를 서비스 하고 있는 네트워크와 이동 단말기 사이에 상호 신뢰할 수 있는 상관 관계를 확립시킬 필요가 있다. 이러한 상호 신뢰할 수 있는 상관 관계(이후 상호 신뢰관계(trusted relationships)라고 함)는 이동 단말기와 방문 네트워크가 상호 간의 인증(authentication)을 수행하고 그리고 데이터 암호화와 무결성 보호(integrity protection)를 사용하게 준비되어야 한다. 이동 단말기를 다른 네트워크에서 로밍함으로서, 이동 단말기에서 게이트웨이로 보안 연계(security association)를 확립시킬 필요가 제기되고, 상기 게이트웨이는 이동 단말기에 의해 이미 신뢰를 받은 네트워크로의 액세스를 제공한다. 이미 신뢰를 받은 네트워크로는 예를 들어 코포레이트 인트라넷(corporate Intranet)을 들 수 있다. 신뢰를 받은 네트워크는 또한 예를 들어 코포레이트 인트라넷의 원거리 클라이언트 또는 원거리 네트워크에 신뢰된 접속을 확립할 수 있는 인터넷 세그먼트이다.
1쌍의 호스트 사이에, 호스트와 보안 게이트웨이 사이에, 또는 2개 보안 게이트웨이 사이에 보안 연계(SA; Security Associations)를 확립하는 일은 인터넷국제표준화기구(IETF:Internet Engineering Task Force) IP보안구조(IPsec) 표준, 즉, Request for comments(RFC 2401)에서 논의 된다. IPsec구조는, 자연적으로 IPv6에 주어지고 또한 IPv4에서도 이용할 수 있는 보안 프로토콜 AH(Authentication Header) 및 ESP(Encapsulation Security Payload)에 의지한다. IPsec은 2개 타입의 데이터베이스 즉, SPD(Security Policy Database)와 SAD(Security Association Database)에 의지한다. 상기 SPD는 주어진 보안 연계(SA)에 할당된 주어진 패킷에 기본한 기준을 정의 한다. 상기 SAD는 사용된 알고리즘과 키와 같은 주어진 보안 연계(SA)와 상관된 매개변수를 기재한다. 보안 연계(SA)는, 현실적으로 존재하지 않는 보안 연계(SA)와 패킷이 상관된 판단으로 자동적으로 또는 유저로부터의 요청에 수동적으로 확립되어 진다. 보안 연계를 확립하는 일은 IKE(Internet Key Exchange) 프로토콜을 사용하여 실시된다. IKE의 현재 버젼은 예를 들어, IETF 문서 draft-ietj-ipsec-ikev2-17.txt에 기술된 IKE버젼2 이다.
상기 IPsec구조는 특히, 이동 단말기의 현재 방문하고 있는 네트워크에 위치한 게이트웨이와 이동 단말기와의 사이에 보안 연계를 확립할 필요가 있는 무선LAN(Wireless Local Area Networks)에서 유용한 것이다. 상기 게이트웨이는 트러스티드(trusted) 제2네트워크에 액세스 하는데 사용된다. 제2네트워크는 예를 들어, 코포레이트 인트라넷 또는 그외 다른 트러스티드 네트워크 이다. 보안 연계의 확립은 상기 네트워크에 대한 이동 단말기의 인증과 관련하여 실시된다. 상기 네트워크에 대한 이동 단말기의 인증은 예를 들어, 3GPP(3rd Generation Partnership Project) 명세서 TS 33.234 V6.0.0(2004-03)에 기재되어 있다. 홈 네트워크에 대한 이동 단말기의 인증과 이동 단말기에 대한 홈 네트워크의 인증 동안에, 제2네트워크에 대한 액세스 지점으로 사용되는 게이트웨이를 인증할 필요도 있다. 다르게는, 폴스(false) 게이트웨이를 사용하여 중간 개입자 공격(man-in-the-middle attack)을 수행하고 그리고 데이터를 기록할 수 있을 것이며, 상기 데이터는 후에, 플레이백 타입의 공격(attack)에 사용되는 것이다.
종래 기술에서 상호 작용하는 이동 통신 시스템과 무선LAN의 시나리오로, 원격 호스트와 게이트웨이에 의해 통신하는 모바일 노드를 설명하는 도1을 참고로 하여 설명한다. 도1에서는 게이트웨이(114)와 원격 호스트(122)가 접속된 IP네트워크(120)가 있다. 게이트웨이(114)와 원격 호스트 사이에는 보안 연계(124)가 있고, 보안 연계는 IP 네트워크를 통해 안전하게 게이트웨이(114)에서 원격 호스트(122)로 트래픽(traffic)을 전달한다. 모바일 노드(100)는 무선LAN(110)을 사용하여 게이트웨이(114)와 통신한다. 무선LAN(110)의 서비스 구역은 적어도 기지국(112)에 의한 서비스를 받는다. 무선LAN(110)은 또한 AAA(Authentication, Authorization and Accounting)프록시(116)와 상관 된다. 상기 AAA프록시는 예를 들어, RADIUS(Remote Authentication Dial In User Service) 또는 DIAMETER(Diameter Base Protocol)프로토콜을 사용하는 게이트웨이(114)와 통신한다. RADIUS프로토콜은 IETF 문서 RFC 2865에서 정의되고 그리고 DIAMETER프로토콜은 RFC 3588에서 정의 된다. AAA프록시는 AAA서버(132)와도 통신하고, 상기 서버는 모바일 노드(100)의 홈 네트워크로 있는 네트워크(130)와 관련하여 있다. AAA서버(132)는 차례로 모바일 노드(100)와 상관된 인증 및 암호 정보를 구하기 위해 HLR(Home Location Register)에 액세스 한다. 인증 및 암호화 정보는 실질적으로 HLR(134)과 관련하여 있는 AuC(Authentication Center)에 저장된다. 이하에서는, AuC 기능성은 분리하여 논의되지 않고, HLR(134)과 같은 HLR의 부분으로 고려된다.
이하에서 도2를 참고로 하여 설명한다. 도2는 종래 기술에서 IKEv2 보안 연계 초기화에 따르는 EAP(Extensible Authentication Protocol) 인증 및 키 합의(key agreement) 신호동작을 설명하는 도면이다. 상기 신호동작은 또한 EAP 가입자 ID모듈(SIM; Subscriber Identity Module)을 인증하는 경우에도 적용할 수 있는 것으로 인식되어 진다. EAP는 IETF 문서 RFC 2284에서 정의 된다. 신호동작의 목적은, 모바일 노드(100)의 홈 네트워크를 나타내는 AAA서버(132)와 모바일 노드(100)를 공통적으로 인증하고 그리고 모바일 노드(100)와 게이트웨이(114)를 공통적으로 인증하는 것이다. 도2는 또한 게이트웨이(114)의 증명서(certificate)를 점검하는 동작이 갖고 있는 문제를 해명하는 도면이다.
시간(t1)에서, 모바일 노드(100)는 증명기관(CA; Certification Authority) 증명서, 즉 다른 말로 표현하면, 다른 증명서를 확인하는데 사용되는 기본 증명서(root certificate)를 소유한다. CA 증명서는 다른 증명서가 신뢰를 받기 전에 소유를 요청하여야 한다. 증명기관은 개인 키를 지급하는 모든 증명서에 서명을 한다. 대응 증명기관 공개 키(public key)는 자체가 CA 증명서로 불리어지는 증명서 내에 포함된다. 모바일 노드(100)는 증명기관(CA)의 개인 키로 서명된 증명서를 신뢰하게 하기 위해서 트러스티드 루트 라이브러리(trusted root library)에 이러한 CA 증명서를 갖고 있어야 한다. 트러스티드 루트 라이브러리는 모든 CA 증명서를 포함하고 있다. 그외 존재하는 증명서는 모바일 노드(100)와 통신하는 대등 존재물에 의해 생성된 서명을 확인할 필요가 있다. 모바일 노드(100)는, 모바일 노드(100)와 통신하는 다른 존재물이 다른 증명기관을 사용하여 공개 키를 서명하기 때문에, 다수의 CA 증명서를 소유할 필요가 있다. 예를 들어, 다른 무선LAN에 있는 다른 게이트웨이는 다른 증명기관에 의해 증명되어진 증명서를 갖는다. 따라서, 게이트웨이(114)와 통신을 확립하기 전에, 모바일 노드(100)는 게이트웨이(114)에 의해 사용된 CA 증명서를 획득하여야 한다. 종래 기술에서는 CA 증명은 모바일 노드에 수동적으로 구성되어 왔다. 이러한 사실은 CA 증명서가 홈 네트워크 오퍼레이터에 의해 제공된 가입자 ID 모듈(SIM)과 같은 스마트 카드상에서 모바일 노드에 전달되는 것을 수반한다. 모바일 노드 유저는 또한 수동식으로 모바일 노드(100)에 CA 증명서를 다운로드 한다. 유저 서명의 활성화로, 홈 네트워크는 또한, 임의적인 보안 통신이 모바일 노드(100)에 의해 개시되기 전에 모바일 노드(100)로 다수의 CA 증명서를 밀어내도록 결정 한다. 이러한 해결 방식의 결점은 모바일 노드(100)가 다수의 CA 증명서를 필요로 하며, 이 중 단지 몇 개의 CA 증명서만이 실제 이용된다는 점이다. 더우기, 방문 네트워크를 경유하는 안전한 통신을 확립하는데 필수적인 CA 증명서가, 방문 네트워크로 전해질 때에 모바일 노드(100)가 소유한 CA 증명서에서 빠질 수 있을 것이다. 모바일 노드(100)에 대해 미리 모든 CA 증명서를 획득하는 것이 가능하지 않을 수도 있다.
시간(t1)에서, 모바일 노드(100)는 IKE를 사용하여 보안 연계 개시를 시작한다. 무선LAN 접속은 모바일 노드(100)와 게이트웨이(114) 사이에서 일어난다. IKE 개시 상태에서, 모바일 노드(100)는 화살표(201)로 도2에서 설명되어진 바와 같이 IKE_SA_INIT 메시지를 게이트웨이(114)로 보낸다. 상기 메시지는 IKE 헤더, 모바일 노드(100)의 공개 디피-헬만 값(public Diffie-Hellman value), 모바일 노드(100)에 의해 제안된 알고리즘 및, 제1임시 값을 갖고, 상기 제1임시 값은 반복되지 않는 무작위 값 즉, 무의미한 값 이다. 게이트웨이(114)는 화살표(202)로 설명되는 바와 같이 IKE_SA_INIT 메시지를 보내어 반응한다. 상기 메시지는 IKE 헤더, 게이트웨이(114)의 공개 디피-헬만 값, 게이트웨이(114)에 의해 선택된 알고리즘, 및 게이트웨이(114)에 의해 선택된 제2임시 값을 포함한다.
IKE 인증 단계에서, 모바일 노드(100)는 식별 MS-Id와, 모바일 노드(100)를 인증하고 그리고 모바일 노드(100)가 조기 IKE_SA_INIT 메시지의 송신기 임을 확인하는 값과, 인증용 모바일 노드(100)에 의해 제안된 알고리즘 및, 트래픽 내역을 함유한 IKE_AUTH 메시지를 보내고, 상기 메시지는 보안 연계용 근원지(source)와 목적지 IP어드레스에 정보를 제공하는 것이다. 게이트웨이(114)는 MS-Id를 함유한 EAP 응답/식별(Response/Identity) 메시지를 AAA프록시(116)로 보내고, 상기 프록시는 예를 들어 DIAMETER 패킷에 싸여져 보호되어 있다. 상기 메시지는 화살표(204)로 설명되어 진다. AAA프록시(116)는 NAI(Network Access Identifier) 영역에 기본한 적절한 AAA서버로 경로가 이어진다. MS-Id는 상기 NAI에 포함된다. 상기 영역은 모바일 노드(100)의 홈 네트워크를 식별한다. AAA프록시(116)는 화살표(205)로 설명되는 바와 같이 AAA서버(132)로 EAP 응답(Response)/식별(Identity) 메시지를 보낸다. AAA 서버(132)는 모바일 노드(100)용의 사용 않은 인증 벡터를 가졌는지를 점검한다. 만일, 사용 않은 인증 벡터가 없으면, AAA서버(132)는 화살표(206)로 설명되는 바와 같이 모바일 노드(100) 식별 MS-Id를 HLR(134)로 보낸다. HLR(134)은 화살표로 설명되는 바와 같이 적어도 1개의 인증 벡터에 반응한다. 인증 벡터는 적어도 1개의 무작위 값(RAND), 예상 응답 값(XRES), 암호 키(CK; Ciphering Key), 무결성 키(Integrity Key), 인증 토큰(AUTN; authentication token)을 포함한다. 그 결과로, 적어도 수신된 무작위 값(RAND)을 사용하여, AAA서버(132)는 마스터 세션 키(MSK; Master Session Key)를 산정 한다(compute). 본 발명의 일 실시예에서는, 상기 MSK가 수신된 CK 및 IK를 사용하여 산정 된다. 그리고, CK 및 IK는 HLR(134)과 관련하여 AuC에 보안 키(K)를 사용하여 RAND 값에서 초기에 산정되어져 있는 것임에 주의 한다.
AAA서버(132)는 RAND 와 AUTN 값과, 모바일 노드(100)용 보호 가명(protected pseudonym) 및, 다음 재-인증 식별(next re-authentication identity)을 포함하는 EAP 요청(Request)/AKA-질의(Challenge) 메시지를 형성한다. 두문자어 AKA는 ''Authentication and Key Agreement''를 나타낸다. 상기 메시지는 MAC 값을 사용하여 보호되고, 상기 값은 키로서 MSK를 가진 보안 해시(hash) 알고리즘을 사용하여 생성된다. 그 결과, AAA서버(132)는 EAP 요청/AKA-질의 메시지를 화살표(208)로 설명되는 바와 같이 AAA프록시(116)로 보낸다. AAA프록시는 EAP 요청/AKA-질의 메시지를 게이트웨이(114)로 보낸다.
시간(t2)에서, 게이트웨이(114)는 CA에 의해 서명되어져 있는 그 자신의 증명서(GW-cert)와, IKE_AUTH 메시지에 EAP 요청/AKA-질의 메시지 내용을 갖는다. 게이트웨이(114)는 또한, "서명" 매개변수로서 도2에서 설명되는 IKE_AUTH 메시지를 서명하고, 그리고 화살표(210)로 설명되는 바와 같이 모바일 노드(100)로 IKE_AUTH 메시지를 보낸다.
시간(t3)에서, 상기 메시지(210)를 수신한 후에, 모바일 노드(100)는 메시지(210)에 기재된 "서명"이 게이트웨이(114)의 공개 키를 사용한 정정인지를 확인한다. 게이트웨이(114)의 공개 키는 예를 들어 방금 보내진 게이트웨이(114)의 증명서(GW-cert)에 주어진다. 게이트웨이의 증명서의 유효성은 모바일 노드(100)에 의해 점검된다. 모바일 노드(100)는 게이트웨이의 증명이 CA에 의해 서명되어져 있음을 확인하여, 예를 들어, 모바일 노드가 CA 증명에서 CA 공개 키를 획득하고 그리고 CA 공개 키를 사용한 CA 서명을 해독하여 구한 제2메시지 다이제스트에 대해 게이트웨이의 증명에서 산출된 제1메시지 다이제스트를 비교한다. 이러한 결과로, 모바일 노드(100)는 적어도 메시지(210)에서 구한 RAND 값을 사용하는 마스터 세션 키(MSK)를 형성한다. 전개 과정은 먼저 IK 값과 CK 값을 보안 키(K)를 사용하는 RAND 값에서 유도하는 과정을 포함한다. 따라서, AAA 서버(132)와 모바일 노드(100)에 MSKs는 동일하게 있어야 한다. 모바일 노드(100)는 노드와 HLR(134)에 의해 할당된 보안 키(K)를사용하는 RES 값을 산정 한다. 모바일 노드(100)는 EAP 요청/AKA-질의 메시지에 RES 값을 포함한다. 모바일 노드(100)는 또한 상기 메시지에 포함된 MAC 값을 산정 한다. 상기 메시지는 상기 키로서 MSK를 가진 보안 해시 알고리즘을 사용하여 생성되는 MAC 값을 사용하여 보호 된다. 모바일 노드(100)는 화살표(211)로 설명되는 바와 같이 메시지를 보낸다. 상기 메시지는 부가로 화살표(212, 213)로 설명되는 바와 같이 AAA 프록시(116)로 게이트웨이(114)에 의해 보내지고 그리고 AAA 서버(132)로 AAA 프록시(116)에 의해 보내진다.
시간(t4)에서는, 메시지(213)를 수신한 후에, AAA서버(132)는 MSK 사용하는 MAC 값을 확인 한다. AAA서버(132)는 또한, 현재 인증 벡터에, 즉, AAA서버에 의해 초기에 보내진 대응 RAND 값에서 나온 인증 벡터에, XRES 값에 대해 주어진 RES 값을 대비한다. 만일 상기 대비가 성공적으로 인증되었으면, AAA 서버(132)는 화살표(214)로 설명되는 바와 같이 AAA프록시(116)로 EAP 성공 메시지를 보낸다. 만일 일부 가외 키동작 재료(extra keying material)가 무선LAN 기술의 특정 기밀성 및/또는 무결성 보호를 위해 요청을 받게 되면, AAA서버(132)는 그것을 패킷 운반 EAP 성공 메시지에 포함시킨다. AAA서버(132)는, EAP 레벨 메시지가 아닌, 기본적인 AAA프로토콜 메시지에 상기 키동작 재료를 포함한다. 화살표(215, 216)로 설명되는 바와 같이, AAA프록시(116)는 메시지를 게이트웨이(114)로 전진시키고, 게이트웨이는 상기 메시지를 모바일 노드(100)로 보낸다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
모바일 노드(100)가 게이트웨이(114)의 증명서(GW-cert) 유효성을 점검하기 위해 수행하는 구체적인 동작 과정은 무엇인가?
추론 과정 (compact_reasoning)
-
1과제 해석
task_interpretation모바일 노드가 게이트웨이의 증명서 유효성을 확인하는 기술적 절차를 묻는 질문이다.
-
2정보 추출
information_extraction모바일 노드가 게이트웨이의 공개 키를 확인하고 CA 서명을 해독하는 과정을 추출한다.
- 모바일 노드(100)는 메시지(210)에 기재된 "서명"이 게이트웨이(114)의 공개 키를 사용한 정정인지를 확인한다.
- 게이트웨이(114)의 공개 키는 예를 들어 방금 보내진 게이트웨이(114)의 증명서(GW-cert)에 주어진다.
-
3근거 선택
evidence_selection증명서 유효성 점검을 위한 다이제스트 비교 과정을 핵심 근거로 선택한다.
- 모바일 노드가 CA 증명에서 CA 공개 키를 획득하고 그리고 CA 공개 키를 사용한 CA 서명을 해독하여 구한 제2메시지 다이제스트에 대해 게이트웨이의 증명에서 산출된 제1메시지 다이제스트를 비교한다.
-
4논리 통합
logical_integration게이트웨이 증명서 내의 공개 키 획득 -> CA 서명 해독 -> 다이제스트 비교 순으로 논리적 단계를 연결한다.
-
5결론 도출
conclusion_formulation모바일 노드가 CA 공개 키를 통해 서명을 해독하고 두 다이제스트를 비교함으로써 유효성을 확인한다는 결론을 도출한다.
- 모바일 노드(100)는 게이트웨이의 증명이 CA에 의해 서명되어져 있음을 확인하여, 예를 들어, 모바일 노드가 CA 증명에서 CA 공개 키를 획득하고 그리고 CA 공개 키를 사용한 CA 서명을 해독하여 구한 제2메시지 다이제스트에 대해 게이트웨이의 증명에서 산출된 제1메시지 다이제스트를 비교한다.
-
6답변 생성
answer_generation추출된 절차를 바탕으로 기술적 동작 방식을 서술형으로 작성한다.
- 모바일 노드가 CA 증명에서 CA 공개 키를 획득하고 그리고 CA 공개 키를 사용한 CA 서명을 해독하여 구한 제2메시지 다이제스트에 대해 게이트웨이의 증명에서 산출된 제1메시지 다이제스트를 비교한다.
최종 답변 (final_answer)
모바일 노드(100)는 게이트웨이(114)의 증명서(GW-cert)에 주어진 공개 키를 확인한 후, CA 증명에서 CA 공개 키를 획득한다. 이후 CA 공개 키를 사용하여 CA 서명을 해독함으로써 얻은 제2메시지 다이제스트와, 게이트웨이의 증명에서 산출된 제1메시지 다이제스트를 비교하여 게이트웨이의 증명이 CA에 의해 서명되었는지와 유효성을 점검한다.
핵심 해석 (core_interpretation)
모바일 노드가 게이트웨이의 증명서(GW-cert) 유효성을 점검하기 위해 CA 공개 키로 CA 서명을 해독하여 얻은 제2메시지 다이제스트와 게이트웨이 증명에서 산출된 제1메시지 다이제스트를 비교하는 인증 메커니즘이다.