KR20220100669A - 서비스 애플리케이션과의 암호화된 통신을 위해 통신 네트워크에서의 애플리케이션 키 생성 및 관리를 위한 방법, 디바이스 및 시스템 - Google Patents
서비스 애플리케이션과의 암호화된 통신을 위해 통신 네트워크에서의 애플리케이션 키 생성 및 관리를 위한 방법, 디바이스 및 시스템 Download PDFInfo
- Publication number
- KR20220100669A KR20220100669A KR1020227020123A KR20227020123A KR20220100669A KR 20220100669 A KR20220100669 A KR 20220100669A KR 1020227020123 A KR1020227020123 A KR 1020227020123A KR 20227020123 A KR20227020123 A KR 20227020123A KR 20220100669 A KR20220100669 A KR 20220100669A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- application
- anchor
- identifier
- generating
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 165
- 238000000034 method Methods 0.000 title claims description 75
- 230000004044 response Effects 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 230000015654 memory Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 46
- DJGAAPFSPWAYTJ-UHFFFAOYSA-M metamizole sodium Chemical compound [Na+].O=C1C(N(CS([O-])(=O)=O)C)=C(C)N(C)N1C1=CC=CC=C1 DJGAAPFSPWAYTJ-UHFFFAOYSA-M 0.000 description 39
- 238000007726 management method Methods 0.000 description 22
- 230000008901 benefit Effects 0.000 description 8
- 238000013523 data management Methods 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/061—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 개시 내용은 일반적으로 통신 네트워크를 통한 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신에 관련된 것이다. 이러한 암호화된 통신은 통신 네트워크에 의해 생성 및 관리되는 다양한 계층적 레벨의 암호화 키에 기반할 수 있다. 이러한 암호화된 통신 및 키 관리는 가입될 수 있는 서비스로서 통신 네트워크에 의해 단말 디바이스에 제공될 수 있다. 다양한 레벨의 암호화 키를 관리하여 통신 네트워크의 유연성을 향상시키고 잠재적인 보안 침해를 줄일 수 있다.
Description
본 개시 내용은 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 위한 앵커 키 및 애플리케이션 키 생성 및 관리에 관련된 것이다.
통신 네트워크에서, 단말 디바이스와 서비스 애플리케이션 간의 데이터 흐름의 전송을 지원하기 위해 통신 세션 및 데이터 경로가 수립될 수 있다. 이러한 데이터 흐름의 전송은 암호화/복호화 키로 보호될 수 있다. 다양한 레벨의 암호화/복호화 키의 생성 및 유효성 관리는, 통신 네트워크에서 단말 디바이스를 통신 네트워크에 인증하기 위한 등록 절차 동안 그리고 단말 디바이스와 서비스 애플리케이션 간의 활성 통신 세션 동안 다양한 네트워크 기능부 또는 네트워크 노드의 협력적인 노력에 의해 제공될 수 있다.
본 개시 내용은 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 위한 앵커 키 및 애플리케이션 키 생성 및 관리에 관련된 것이다.
일부 구현예에서, 단말 디바이스와 서비스 애플리케이션 간의 통신 네트워크를 통한 암호화된 데이터 전송을 위해 단말 디바이스에 의해 애플리케이션 키를 생성하는 방법이 개시된다. 방법은 앵커 키에 기반하여 초기 애플리케이션 키를 생성하는 단계; 서비스 애플리케이션에 초기 통신 요청을 전송하는 단계; 서비스 애플리케이션으로부터 응답을 수신하는 단계; 응답으로부터 키 시드를 추출하는 단계; 앵커 키 및 키 시드에 기반하여 애플리케이션 키를 생성하는 단계; 및 애플리케이션 키에 기반하여 서비스 애플리케이션과의 암호화된 데이터 통신 세션을 수립하기 위한 데이터 전송 요청을 서비스 애플리케이션에 전송하는 단계를 포함한다.
위의 구현예에서, 키 시드는 초기 애플리케이션 키에 기반하여 응답으로부터 추출될 수 있다. 특히, 응답은 서비스 애플리케이션에 의해 암호화되고, 키 시드는 단말 디바이스에 의해 초기 애플리케이션 키를 사용하여 응답을 복호화함으로써 응답으로부터 추출된다.
일부 다른 구현예에서, 단말 디바이스와 서비스 애플리케이션 간의 통신 네트워크를 통한 암호화된 데이터 전송을 위해 통신 네트워크 내의 애플리케이션 키 관리 네트워크 노드에 의해 애플리케이션 키를 생성하는 방법이 개시된다. 이 방법은, 서비스 애플리케이션에 대한 제1 식별자 및 통신 네트워크의 인증 네트워크 노드에 의해 생성된 앵커 키에 대한 제2 식별자를 포함하는 제1 애플리케이션 키 요청을 서비스 애플리케이션으로부터 수신하는 단계; 제2 식별자에 대응하는 앵커 키를 획득하고, 앵커 키에 기반하여 초기 애플리케이션 키를 생성하는 단계; 제1 난수를 생성하고 제1 난수에 기반하여 키 시드를 형성하는 단계; 제1 애플리케이션 키 요청에 응답하여 초기 애플리케이션 키 및 키 시드를 서비스 애플리케이션에 전송하는 단계; 앵커 키 및 제1 난수에 기반하여 애플리케이션 키를 생성하는 단계; 서비스 애플리케이션에 대한 제1 식별자 및 키 시드로부터 도출된 앵커 키에 대한 제3 식별자를 포함하는 제2 애플리케이션 키 요청을 서비스 애플리케이션으로부터 수신하는 단계; 및 애플리케이션 키를 서비스 애플리케이션에 전송하는 단계를 포함한다.
일부 다른 구현예에서, 네트워크 디바이스가 개시된다. 네트워크 디바이스 메인은 하나 이상의 프로세서 및 하나 이상의 메모리를 포함하고, 하나 이상의 프로세서는 하나 이상의 메모리로부터 위의 방법 중 임의의 하나의 방법을 구현하기 위한 컴퓨터 코드를 판독하도록 구성된다.
또 다른 일부 구현예에서, 컴퓨터 프로그램 제품이 개시된다. 컴퓨터 프로그램 제품은 컴퓨터 코드가 저장된 비일시적 컴퓨터 판독 가능 프로그램 매체를 포함할 수 있으며, 컴퓨터 코드는 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금 위의 방법 중 임의의 하나의 방법을 구현하게 한다.
전술한 실시예 및 그 구현예의 다른 양태 및 대안은 아래의 도면, 상세한 설명, 및 청구항에서 보다 상세히 설명된다.
도 1은 단말 디바이스, 캐리어 네트워크, 데이터 네트워크, 및 서비스 애플리케이션을 포함하는 예시적인 통신 네트워크를 도시한 것이다.
도 2는 통신 네트워크에서 예시적인 네트워크 기능부 또는 네트워크 노드를 도시한 것이다.
도 3은 무선 통신 네트워크에서 예시적인 네트워크 기능부 또는 네트워크 노드를 도시한 것이다.
도 4는 무선 통신 네트워크에서 사용자 인증 및 애플리케이션 앵커 키의 생성을 위한 예시적인 구현예를 도시한 것이다.
도 5는 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 다양한 레벨에서의 키 생성을 위한 다양한 네트워크 노드 및 네트워크 기능부의 예시적인 기능도를 도시한 것이다.
도 6은 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 다양한 레벨의 암호화 키를 생성하기 위한 예시적인 로직 흐름을 도시한 것이다.
도 7은 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 애플리케이션 키 관리 서비스 가입 및 다양한 레벨에서의 키 생성을 위한 예시적인 아키텍처 뷰 및 다양한 네트워크 노드 및 네트워크 기능부를 도시한 것이다.
도 8은 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 애플리케이션 키 관리 서비스 가입, 사용자 인증, 및 애플리케이션 앵커 키의 생성을 위한 예시적인 로직 흐름을 도시한 것이다.
도 9는 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 애플리케이션 키 관리 서비스 가입, 사용자 인증, 및 다양한 레벨의 암호화 키 생성을 위한 예시적인 로직 흐름을 도시한 것이다.
도 10은 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 애플리케이션 키 관리 서비스 가입, 사용자 인증, 및 다양한 레벨의 암호화 키 생성을 위한 다른 예시적인 로직 흐름을 도시한 것이다.
도 11은 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 애플리케이션 키 관리 서비스 가입, 사용자 인증, 및 다양한 레벨의 암호화 키 생성을 위한 다른 예시적인 로직 흐름을 도시한 것이다.
도 12는 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 애플리케이션 키 관리 서비스 가입, 사용자 인증, 및 다양한 레벨의 암호화 키 생성을 위한 또 다른 예시적인 로직 흐름을 도시한 것이다.
도 13은 무선 통신 네트워크에서 유효하지 않은 애플리케이션 앵커 키 또는 애플리케이션 키를 업데이트하기 위한 예시적인 로직 흐름을 도시한 것이다.
도 14는 다양한 레벨의 암호화 키가 무효화되는 다양한 시나리오에서 재인증/등록을 위한 예시적인 로직 흐름을 도시한 것이다.
도 2는 통신 네트워크에서 예시적인 네트워크 기능부 또는 네트워크 노드를 도시한 것이다.
도 3은 무선 통신 네트워크에서 예시적인 네트워크 기능부 또는 네트워크 노드를 도시한 것이다.
도 4는 무선 통신 네트워크에서 사용자 인증 및 애플리케이션 앵커 키의 생성을 위한 예시적인 구현예를 도시한 것이다.
도 5는 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 다양한 레벨에서의 키 생성을 위한 다양한 네트워크 노드 및 네트워크 기능부의 예시적인 기능도를 도시한 것이다.
도 6은 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 다양한 레벨의 암호화 키를 생성하기 위한 예시적인 로직 흐름을 도시한 것이다.
도 7은 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 애플리케이션 키 관리 서비스 가입 및 다양한 레벨에서의 키 생성을 위한 예시적인 아키텍처 뷰 및 다양한 네트워크 노드 및 네트워크 기능부를 도시한 것이다.
도 8은 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 애플리케이션 키 관리 서비스 가입, 사용자 인증, 및 애플리케이션 앵커 키의 생성을 위한 예시적인 로직 흐름을 도시한 것이다.
도 9는 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 애플리케이션 키 관리 서비스 가입, 사용자 인증, 및 다양한 레벨의 암호화 키 생성을 위한 예시적인 로직 흐름을 도시한 것이다.
도 10은 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 애플리케이션 키 관리 서비스 가입, 사용자 인증, 및 다양한 레벨의 암호화 키 생성을 위한 다른 예시적인 로직 흐름을 도시한 것이다.
도 11은 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 애플리케이션 키 관리 서비스 가입, 사용자 인증, 및 다양한 레벨의 암호화 키 생성을 위한 다른 예시적인 로직 흐름을 도시한 것이다.
도 12는 무선 통신 네트워크에서 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 애플리케이션 키 관리 서비스 가입, 사용자 인증, 및 다양한 레벨의 암호화 키 생성을 위한 또 다른 예시적인 로직 흐름을 도시한 것이다.
도 13은 무선 통신 네트워크에서 유효하지 않은 애플리케이션 앵커 키 또는 애플리케이션 키를 업데이트하기 위한 예시적인 로직 흐름을 도시한 것이다.
도 14는 다양한 레벨의 암호화 키가 무효화되는 다양한 시나리오에서 재인증/등록을 위한 예시적인 로직 흐름을 도시한 것이다.
도 1에서 100으로 도시된 예시적인 통신 네트워크는 단말 디바이스(110 및 112), 캐리어 네트워크(102), 다양한 서비스 애플리케이션(140), 및 다른 데이터 네트워크(150)를 포함할 수 있다. 캐리어 네트워크(102)는, 예를 들어, 액세스 네트워크(120) 및 코어 네트워크(130)를 포함할 수 있다. 캐리어 네트워크(102)는 단말 디바이스(110 및 112) 사이에서, 단말 디바이스(110 및 112)와 서비스 애플리케이션(140) 사이에서, 또는 단말 디바이스(110 및 112)와 다른 데이터 네트워크(150) 사이에서, 음성, 데이터, 및 다른 정보(집합적으로 데이터 트래픽이라고 지칭됨)를 전송하도록 구성될 수 있다. 이러한 데이터 전송을 위해 통신 세션 및 해당 데이터 경로가 수립 및 구성될 수 있다. 액세스 네트워크(120)는 코어 네트워크(130)에 대한 단말 디바이스(110 및 112)의 네트워크 액세스를 제공하도록 구성될 수 있다. 코어 네트워크(130)는, 통신 세션을 제어하고, 네트워크 액세스 관리 및 데이터 트래픽 라우팅을 수행하도록 구성된 다양한 네트워크 노드 또는 네트워크 기능부를 포함할 수 있다. 서비스 애플리케이션(140)은 캐리어 네트워크(102)의 코어 네트워크(130)를 통해 단말 디바이스(110 및 112)에 의해 액세스 가능한 다양한 애플리케이션 서버에 의해 호스팅될 수 있다. 서비스 애플리케이션(140)은 코어 네트워크(130) 외부의 데이터 네트워크로서 구축될 수 있다. 마찬가지로, 다른 데이터 네트워크(150)는 코어 네트워크(130)를 통해 단말 디바이스(110 및 112)에 의해 액세스될 수 있고, 캐리어 네트워크(102)에서 인스턴스화되는 특정 통신 세션의 데이터 목적지 또는 데이터 소스로서 나타날 수 있다.
도 1의 코어 네트워크(130)는 캐리어 네트워크(102)의 서비스 영역의 네트워크 커버리지를 제공하기 위해 지리적으로 분산되고 상호 연결된 다양한 네트워크 노드 또는 기능부를 포함할 수 있다. 이러한 네트워크 노드 또는 기능부는 전용 하드웨어 네트워크 요소로서 구현될 수 있다. 대안적으로, 이러한 네트워크 노드 또는 기능부는 가상 머신으로서 또는 소프트웨어 엔티티로서 가상화되고 구현될 수 있다. 네트워크 노드는 각각 하나 이상의 타입의 네트워크 기능부로 구성될 수 있다. 이러한 네트워크 노드 또는 네트워크 기능부는 코어 네트워크(130)의 프로비저닝 및 라우팅 기능을 집합적으로 제공할 수 있다. "네트워크 노드" 및 "네트워크 기능부"라는 용어는 본 개시 내용에서 상호교환적으로 사용된다.
도 2는 통신 네트워크(200)의 코어 네트워크(130)에서 네트워크 기능부의 예시적인 분할을 추가로 도시한 것이다. 네트워크 노드 또는 기능부의 단일 인스턴스만이 도 2에 도시되어 있지만, 본 기술 분야의 통상의 기술자는 이러한 네트워크 노드 각각이 코어 네트워크(130) 전체에 분산된 네트워크 노드의 다중 인스턴스로서 인스턴스화될 수 있다는 것을 이해하고 있다. 도 2에 도시된 바와 같이, 코어 네트워크(130)는 네트워크 노드, 예를 들어, 액세스 관리 네트워크 노드(access management network node)(AMNN)(230), 인증 네트워크 노드(authentication network node)(AUNN)(260), 네트워크 데이터 관리 네트워크 노드(network data management network node)(NDMNN)(270), 세션 관리 네트워크 노드(session management network node)(SMNN)(240), 데이터 라우팅 네트워크 노드(data routing network node)(DRNN)(250), 정책 제어 네트워크 노드(policy control network node)(PCNN)(220), 및 애플리케이션 데이터 관리 네트워크 노드(application data management network node)(ADMNN)(210)를 포함할 수 있지만 이에 제한되지는 않는다. 다양한 통신 인터페이스를 통한 다양한 타입의 네트워크 노드 간의 예시적인 시그널링 및 데이터 교환은 도 2에서 다양한 실선 연결 라인으로 표시된다. 이러한 시그널링 및 데이터 교환은 미리 결정된 포맷 또는 프로토콜을 따르는 시그널링 또는 데이터 메시지에 의해 운반될 수 있다.
도 1 및 도 2에서의 전술한 구현예는 무선 및 유선 통신 시스템 모두에 적용될 수 있다. 도 3은 도 2의 통신 네트워크(200)의 일반적인 구현예에 기반한 예시적인 셀룰러 무선 통신 네트워크(300)를 도시한 것이다. 도 3은, 무선 통신 네트워크(300)가 사용자 장비(user equipment)(UE)(310)(도 2의 단말 디바이스(110)로서 기능함), 무선 액세스 네트워크(radio access network)(RAN)(320)(도 2의 액세스 네트워크(120)로서 기능함), 서비스 애플리케이션(140), 데이터 네트워크(data network)(DN)(150), 및 코어 네트워크(130)를 포함하되, 코어 네트워크(130)는 액세스 관리 기능부(access management function)(AMF)(330)(도 2의 AMNN(230)으로 기능함), 세션 관리 기능부(session management function)(SMF)(340)(도 2의 SMNN(240)으로 기능함), 애플리케이션 기능부(application function)(AF)(390)(도 2의 ADMNN(210)으로 기능함), 사용자 평면 기능부(user plane function)(UPF)(350)(도 2의 DRNN(250)으로 기능함), 정책 제어 기능부(policy control function)(PCF)(322)(도 2의 PCNN(220)으로 기능함), 인증 서버 기능부(authentication server function)(AUSF)(360)(도 2의 AUNN(260)으로 기능함), 및 범용 데이터 관리(universal data management)(UDM) 기능부(370)(도 2의 NDMNN(270)으로 기능함)을 포함할 수 있다는 것을 도시한 것이다. 다시, 무선 통신 네트워크(300)(특히 코어 네트워크(130))의 일부 네트워크 기능부 또는 노드에 대한 단일 인스턴스만이 도 3에 도시되어 있지만, 본 기술 분야의 통상의 기술자는 이러한 네트워크 노드 또는 기능부 각각이 무선 통신 네트워크(300) 전체에 분산된 다중 인스턴스를 가질 수 있다는 것을 이해하고 있다.
도 3에서, UE(310)는 RAN(320)을 통해 코어 네트워크(130)에 액세스하도록 구성된 다양한 타입의 모바일 디바이스로서 구현될 수 있다. UE(310)는 모바일폰, 랩톱 컴퓨터, 태블릿, 사물 인터넷(Internet-Of-Thing)(IoT) 디바이스, 분산 센서 네트워크 노드, 웨어러블 디바이스 등을 포함할 수 있지만 이에 제한되지는 않는다. RAN(320)은, 예를 들어, 캐리어 네트워크의 서비스 구역 전체에 분산된 복수의 무선 기지국을 포함할 수 있다. UE(310)와 RAN(320) 사이의 통신은 도 3에서 311로 표시된 바와 같이 OTA (over-the-air) 무선 인터페이스에서 운반될 수 있다.
계속해서 도 3을 참조하면, UDM(370)은 사용자 계약 및 가입 데이터를 위한 영구 스토리지 또는 데이터베이스를 형성할 수 있다. UDM은, 사용자 인증을 위한 장기 보안 크리덴셜을 저장하고, 이러한 장기 보안 크리덴셜을 입력으로 사용하여 아래에서 더 자세히 설명되는 바와 같은 암호화 키의 계산을 수행하기 위한 인증 크리덴셜 저장소 및 처리 기능부(도 3의 370에 표시된 바와 같은 ARPF)를 더 포함할 수 있다. UDM/ARPF 데이터의 무단 노출을 방지하기 위해, UDM/ARPF(370)는 네트워크 운영자 또는 제3자의 안전한 네트워크 환경에 위치될 수 있다.
AMF/SEAF(330)는 이들 네트워크 노드 또는 기능부를 연결하는 다양한 실선으로 표시된 통신 인터페이스를 통해 RAN(320), SMF(340), AUSF(360), UDM/ARPF(370), 및 PCF(322)와 통신할 수 있다. AMF/SEAF(330)는, UE 대 비액세스 계층(non-access stratum)(NAS) 시그널링 관리와, 코어 네트워크(130)에 대한 UE(310)의 등록 및 액세스의 프로비저닝과, 특정 UE의 통신 요구를 지원하기 위한 SMF(340)의 할당을 담당할 수 있다. AMF/SEAF(330)는 UE 이동성 관리를 추가로 담당할 수 있다. AMF는 또한, 아래에서 더 자세히 설명되는 바와 같이, 다양한 레벨의 암호화/복호화 키의 사용자 인증 및 관리를 위해 AUSF(360) 및 UE(310)와 상호 작용하는 보안 앵커 기능부(security anchor function)(SEAF)(도 3의 330으로 표시됨)를 포함할 수 있다. AUSF(360)는 AMF/SEAF(330)로부터의 사용자 등록/인증/키 생성 요청을 종료하고, UDM/ARPF(370)와 상호작용하여 이러한 사용자 등록/인증/키 생성을 완료할 수 있다.
SMF(340)는 무선 통신 네트워크(300)에서 인스턴스화되는 특정 통신 세션을 위해 AMF/SEAF(330)에 의해 할당될 수 있다. SMF(340)는 사용자 데이터 평면에서 통신 세션 및 그 세션 내의 데이터 흐름을 지원하기 위한 UPF(350)의 할당과, 할당된 UPF(350)의 프로비저닝/조절(예컨대, 할당된 UPF(350)에 대한 패킷 검출 및 포워딩 규칙의 공식화)을 담당할 수 있다. SMF(340)에 의해 할당되는 대신에, UPF(350)는 특정 통신 세션 및 데이터 흐름을 위해 AMF/SEAF(330)에 의해 할당될 수 있다. SMF(340) 및 AMF/SEAF(330)에 의해 할당 및 프로비저닝된 UPF(350)는 데이터 라우팅 및 포워딩과 특정 통신 세션에 의한 네트워크 사용 보고를 담당할 수 있다. 예를 들어, UPF(350)는 UE(310)와 DN(150) 사이에서 그리고 UE(310)와 서비스 애플리케이션(140) 사이에서의 종단간 데이터 흐름의 라우팅을 담당할 수 있다. DN(150) 및 서비스 애플리케이션(140)은 무선 통신 네트워크(300)의 운영자 또는 제3자 데이터 네트워크 및 서비스 제공자에 의해 제공되는 데이터 네트워크 및 서비스를 포함할 수 있지만 이에 제한되지는 않는다.
서비스 애플리케이션(140)은, 예를 들어, 코어 네트워크(130)에 의해 제공되는 네트워크 노출 기능부(도 3에는 도시되지 않았지만, 후술되는 도 7에 도시됨)를 통해, AF(390)에 의해 관리 및 프로비저닝될 수 있다. SMF(340)는, (예컨대, UE(310)와 서비스 애플리케이션(140) 사이에서) 서비스 애플리케이션(140)을 포함하는 특정 통신 세션을 관리할 때, 313으로 표시된 통신 인터페이스를 통해 서비스 애플리케이션(140)과 연관된 AF(390)와 상호작용할 수 있다.
PCF(322)는 AMF/SEAF(330) 및 SMF(340)로의 UE(310)와 연관된 통신 세션에 적용 가능한 다양한 레벨의 정책 및 규칙을 관리하고 제공하는 것을 담당할 수 있다. 이와 같이, AMF/SEAF(330)는, 예를 들어, UE(310)와 연관되고 PCF(322)로부터 획득된 정책 및 규칙에 따른 통신 세션에 대해 SMF(340)를 할당할 수 있다. 마찬가지로, SMF(340)는 PCF(322)로부터 획득된 정책 및 규칙에 따른 통신 세션의 데이터 라우팅 및 포워딩을 처리하기 위해 UPF(350)를 할당할 수 있다.
도 2 내지 도 14 및 아래에서 기술되는 다양한 예시적인 구현예가 셀룰러 무선 통신 네트워크에 기반하지만, 본 개시 내용의 범위는 이에 제한되지는 않고, 다른 타입의 무선 및 유선 통신 네트워크에 대해 기본적인 원리가 적용 가능하다.
도 3의 무선 통신 네트워크(300)에서의 네트워크 식별 및 데이터 보안은 AMF/SEAF(330), AUSF(360), 및 UDM/ARPF(370)에 의해 제공되는 사용자 인증 프로세스를 통해 관리될 수 있다. 특히, UE(310)는 먼저 네트워크 등록을 위해 AMF/SEAF(330)와 통신할 수 있고, 그 후 UDM/ARPF(370) 내의 사용자 계약 및 가입 데이터에 따라 AUSF(360)에 의해 인증될 수 있다. 무선 통신 네트워크(300)에 대한 사용자 인증 후에 UE(310)에 대해 수립된 통신 세션은 다양한 레벨의 암호화/복호화 키에 의해 보호될 수 있다. 다양한 키의 생성 및 관리는 통신 네트워크 내의 AUSF(360) 및 다른 네트워크 기능부에 의해 조정될 수 있다.
무선 통신 네트워크(300)에 대한 UE(310)의 인증은 UE(310)와 연관된 네트워크 식별자의 검증에 기반할 수 있다. 일부 구현예에서, UE(310)는 메인 모바일 장비(mobile equipment)(ME) 외에도 식별 모듈을 포함할 수 있다. ME는, 예를 들어, 정보 처리 능력(하나 이상의 프로세서 및 하나 이상의 메모리)을 갖고, UE(310)에 대한 통신 및 처리 요구를 제공하기 위해 모바일 운영 체제 및 다른 소프트웨어 컴포넌트가 설치된 메인 단말 디바이스를 포함할 수 있다. 식별 모듈은 사용자를 식별 및 통신 네트워크에 인증하고 사용자를 ME와 연관시키기 위해 UE(310)에 포함될 수 있다. 식별 모듈은 다양한 세대의 가입자 식별 모듈(subscriber identification module)(SIM)로서 구현될 수 있다. 예를 들어, 식별 모듈은 범용 가입자 식별 모듈(universal subscriber identity module)(USIM) 또는 범용 통합 회로 카드(universal integrated circuit card)(UICC)로서 구현될 수 있다. 식별 모듈은 사용자 식별자 또는 그 파생물을 포함할 수 있다. 사용자 식별자는 사용자가 무선 통신 네트워크(300)에 처음 가입할 때 통신 네트워크의 운영자에 의해 할당될 수 있다.
예를 들어, 사용자 식별자는 무선 통신 네트워크의 운영자에 의해 사용자에게 할당된 가입 영구 식별자(subscription permanent identifier)(SUPI)를 포함할 수 있다. 일부 구현예에서, SUPI는 국제 모바일 가입자 식별 번호(international mobile subscriber identification number)(IMSI), 또는 네트워크 액세스 식별자(network access identifier)(NAI)를 포함할 수 있다. SUPI의 대안으로, 사용자 식별자는 가입 은닉 식별자(subscription concealed identifier)(SUCI)와 같은 은닉된 식별자의 형태로 제공될 수 있다. SUCI에서 사용자의 식별자는 암호화에 의해 은닉되어 보호될 수 있다. 예를 들어, SUCI는: 1) 미리 결정된 개수의 정보 비트(예컨대, 값 0 내지 7에 대한 3개의 비트, 여기서 값 0은 사용자 식별자가 IMSI 타입임을 나타낼 수 있고, 값 1은 사용자 식별자가 NAI 타입임을 나타낼 수 있고, 다른 값은 다른 가능한 타입을 위해 예약될 수 있음)를 점유할 수 있는 SUPI 타입; 2) 사용자가 가입한 무선 네트워크에 대한 홈 네트워크 식별자 ― 상기 홈 네트워크 식별자는, 사용자를 위한 SUPI가 IMSI 타입인 경우, 무선 통신 네트워크(300)의 운영자를 위한 모바일 국가 코드(mobile country code)(MCC) 및 모바일 네트워크 코드(mobile network code)(MNC)를 포함할 수 있고, 대안적으로는, 사용자를 위한 SUPI가 NAI 타입인 경우, 예컨대, IETF RFC 7542의 섹션 2.2에 지정된 식별자를 포함할 수 있음 ―; 3) 무선 통신 네트워크(300)의 운영자에 의해 할당된 라우팅 표시자(routing indicator)(RID) ― 상기 라우팅 표시자는, 위의 홈 네트워크 식별자와 함께, UE(310)와 연관된 AUSF 및 UDM을 결정함 ―; 4) 보호 없음(널 체계(null-scheme)) 또는 보호 있음(넌 널 체계(non-null-scheme)) 사이의 선택을 나타내기 위한 보호 체계 식별자(protection scheme identifier)(PSI); 5) SUPI를 보호하기 위해 홈 네트워크에 의해 제공되는 공개 키에 대한 식별자를 지정하기 위한 홈 네트워크 공개 키 식별자(home network public key identifier)(이 식별자 값은 위의 PSI가 널 체계를 나타낼 때 0으로 설정될 수 있음); 및 6) 위의 PSI가 넌 널 체계(non-null-scheme)를 나타낼 때, 예컨대, 타원 곡선 암호화를 사용하여 홈 네트워크 공개 키에 의해 암호화된 IMSI의 모바일 가입자 식별 번호(MSIN) 부분 또는 NAI를 포함할 수 있고, 위의 PSI가 널 체계를 나타낼 때 (암호화 없는) MSIN 또는 NAI를 포함할 수 있는 체계 출력을 포함할 수 있다. SUCI에 대한 일례로서, IMSI가 234150999999999인 경우, 즉, MCC = 234, MNC = 15, 및 MSIN = 0999999999이고, 그리고, RID가 678이고 홈 네트워크 공개 키 식별자가 27이라고 가정하면, 보호되지 않은 SUCI는 {0, (234, 15), 678, 0, 0, 및 0999999999}를 포함하고, 보호된 SUCI는 {0, (234, 15), 678, 1, 27, <공개 키 식별자 27에 의해 표시된 공개 키를 사용한 0999999999의 타원 곡선 암호화>}를 포함할 수 있다.
코어 네트워크(130)를 통한 UE(310)와 다른 UE, DN(150), 또는 서비스 애플리케이션(140) 간의 통신 세션의 데이터 경로 부분이, 예를 들어, 코어 네트워크(130) 내의 안전한 통신 환경을 벗어나 있을 수 있기 때문에, 이러한 데이터 경로에서 전송되는 사용자 식별자 및 사용자 데이터는 그에 따라 안전하지 않은 네트워크 환경에 노출될 수 있으며 보안이 침해될 수 있다. 이와 같이, 다양한 레벨의 암호화/복호화 키를 사용하여 통신 세션에서 전송되는 데이터를 추가로 보호하는 것이 바람직할 수 있다. 위에서 나타낸 바와 같이, 이들 키는 무선 통신 네트워크(300)에 대한 사용자 인증 프로세스와 함께 AUSF(360)에 의해 관리될 수 있다. 이러한 암호화/복호화 키는 다수의 레벨에서 그리고 계층적 방식으로 구성될 수 있다. 예를 들어, 무선 통신 네트워크(300)의 서비스에 대한 초기 가입 시에 AUSF(360)에 의해 UE(310)에 대한 제1 레벨 기본 키가 생성될 수 있다. 무선 통신 네트워크에 대한 각각의 등록 및 인증 시에 UE(310)에 대해 제2 레벨 기본 키가 구성될 수 있다. 이러한 제2 레벨 기본 키는 UE(310)에 대한 등록 세션 동안 유효할 수 있고, 다른 상위 레벨 키를 생성하기 위한 기본 키로서 사용될 수 있다. 이러한 상위 레벨 키의 예는 통신 세션에서 데이터를 전송하기 위한 실제 암호화/복호화 키로 사용하기 위해 더 높은 레벨의 키를 도출하는 데 사용될 수 있는 앵커 키를 포함할 수 있다.
이러한 다중 레벨 키 체계는 UE(310) 및 서비스 애플리케이션(140)을 포함하는 통신 세션에 특히 유용할 수 있다. 특히, 애플리케이션 앵커 키는 기본 키에 기반하여 생성되어 UE(310)와 다수의 서비스 애플리케이션 간의 통신을 위한 보안 앵커로서 관리될 수 있다. UE(310)에 대한 서로 다른 서비스 애플리케이션(140)과의 서로 다른 통신 세션은 서로 다른 데이터 암호화/복호화 키를 사용할 수 있다. 이러한 서로 다른 데이터 암호화/복호화 키는 앵커 키에 기반하여 각각 독립적으로 생성 및 관리될 수 있다.
일부 구현예에서, 코어 네트워크(130)는 서비스 애플리케이션을 위한 인증 및 키 관리(AKMA)를 위한 특별한 아키텍처를 포함하도록 구성될 수 있다. 예를 들어, 무선 통신 네트워크(300)는 자신의 코어 네트워크(130)에 AKMA 앵커 기능부(AAnF) 또는 네트워크 노드를 더 포함할 수 있다. 예시적인 AAnF(380)가 도 3에 도시되어 있다. AAnF(380)는, AUSF(360) 및 다양한 서비스 애플리케이션과 연관된 다양한 AF(390)와 협력하여 다양한 서비스 애플리케이션을 위한 데이터 암호화/복호화 키의 생성 및 관리를 담당할 수 있다. AAnF(380)는 UE(310)에 대한 보안 컨텍스트의 유지를 추가로 담당할 수 있다. 예를 들어, AAnF(380)의 기능은 일반 부트스트래핑 아키텍처(general bootstrapping architecture)(GBA)에서의 부트스트래핑 서버 기능부(bootstrapping server function)(BSF)와 유사할 수 있다. 다수의 AAnF(380)가 코어 네트워크(130)에 구축될 수 있고 각각의 AAnF(380)는 하나 이상의 서비스 애플리케이션 및 해당 AF(390)의 키 관리와 연관되고 이를 담당할 수 있다.
도 4 및 5는 위의 계층적 AKMA에 대한 예시적인 구현예를 도시한 것이다. 예를 들어, 도 4는 서비스 애플리케이션을 포함하는 통신 세션을 위한 기본 키 및 앵커 키의 생성을 위한 구현예(400)를 도시한 것이다. 구체적으로, 구현예(400)는 사용자 인증 절차(402) 및 앵커 키 생성 절차(404)를 포함할 수 있다. 사용자 인증 절차(402)는, 예를 들어, UE(310), AMF/SEAF(330), AUSF(360), 및 UDM/ARPF(370)로부터의 동작을 포함할 수 있다. 예를 들어, UE(310)는 무선 통신 네트워크에 진입하면 AMF/SEAF(330)로 네트워크 등록 및 인증 요청을 전달할 수 있다. 이러한 요청은 AMF/SEAF(330)에 의해 AUSF(360)로 포워딩되어 처리될 수 있다. 인증 프로세스 동안, AUSF(360)는 UDM/ARPF(370)로부터 사용자 계약 및 가입 정보를 획득할 수 있다. 예를 들어, 5G 무선 시스템을 위한 인증 프로세스는 5G-AKA(Authentication and Key Agreement) 프로토콜 또는 EAP-AKA(Extended Authentication Protocol-AKA)에 기반할 수 있다. 인증에 성공하면, UDM/ARPF(370)에 의해 인증 벡터가 생성될 수 있고, 이러한 인증 벡터는 AUSF(360)에 전송될 수 있다. 성공적인 사용자 인증 절차(402)에 이어, 기본 키는 UE(310) 측과 네트워크 측의 AUSF(360) 모두에서 생성될 수 있다. 이러한 기본 키는 KAUSF라고 지칭될 수 있다.
도 4에서 410 및 420으로 추가로 도시된 바와 같이, 앵커 키는 앵커 키 생성 절차(404)에서 UE(310) 및 AUSF(360) 모두에서의 기본 키 KAUSF에 기반하여 도출될 수 있다. 이러한 앵커 키는 KAKMA로 지칭될 수 있다. 도 4에서 412 및 422로 추가로 도시된 바와 같이, 앵커 키 KAKMA에 대한 식별자는 UE(310) 및 AUSF(360)에서 생성될 수 있다. 이러한 식별자는 KID로 지칭될 수 있다.
도 5는 기본 키 KAUSF(502) 및 앵커 키 KAKMA(504)의 생성 외에도, UE와 서비스 애플리케이션 간의 암호화된 통신을 위한 애플리케이션 키(506)의 생성을 위한 예시적인 구현예(500)를 추가로 도시한 것이다. 도 5에 도시된 바와 같이, KAF로 표시된 애플리케이션 키(506)는, 앵커 키 KAKMA(504)에 기반하여 네트워크 측과 UE 측 모두에서 생성될 수 있다. 특히 네트워크 측에서, 앵커 키 KAKMA(504)는 기본 키 KAUSF(502)에 기반하여 AUSF(360)에 의해 생성될 수 있지만, 애플리케이션 키 KAF(506)의 생성은 AAnF(380)를 포함할 수 있다. 도 5의 UE 측에서, 앵커 키 KAKMA(504) 및 애플리케이션 키 KAF(506)의 생성은 UE의 모바일 장비(ME) 부분(510)에 의해 수행되는 것으로 도시되어 있다. 특히, UE 측에서의 이러한 키 생성은 주로 UE 내의 식별 모듈(예컨대, SIM)을 포함하는 사용자 인증 절차(402)가 완료된 후 ME의 처리력 및 능력을 이용하는 것을 수반할 수 있다.
도 4 및 도 5에 도시된 애플리케이션 키 관리 체계에서, 하나 이상의 AAnF(380)는 코어 네트워크에 분산될 수 있고, 하나 이상의 AAnF(380) 각각은 하나 이상의 AF(390)와 연관될 수 있다. 이와 같이, 하나 이상의 AAnF(380) 각각은 하나 이상의 서비스 애플리케이션과 연관될 수 있고, 이러한 서비스 애플리케이션을 포함하는 암호화된 통신을 위한 애플리케이션 키의 생성 및 관리를 담당할 수 있다. 이러한 서비스 애플리케이션 중 하나에 대한 각각의 애플리케이션 키 모두는 동일한 앵커 키 KAKMA(504)에 기반하여 생성될 수 있지만, 네트워크 측에서 이러한 애플리케이션 키는 해당 AAnF(380)에 의해 독립적으로 생성될 수 있다.
도 6은 UE(310)와 해당 AF(390) 사이의 암호화된 통신을 가능하게 하기 위한 서비스 애플리케이션과 연관된 애플리케이션 키의 생성을 위한 예시적인 로직 흐름(600)을 추가로 도시한 것이다. 단계 601-1에서, UE(310)는 먼저 (도 4의 402와 유사한) AMF/SEAF(330), AUSF(360), 및 UDM/ARPF(370)에 의해 성공적으로 등록 및 인증될 수 있다. UE 등록 및 인증에 이어, 기본 키 KAUSF가 생성될 수 있다. 단계 601-2에서, 앵커 키 KAKMA 및 해당 식별자 KID는 UE 측 및 (도 4의 410, 412, 420, 및 422와 유사한) 네트워크 측 모두에서 생성될 수 있다. 단계 602에서, UE(310)는 통신 요청 메시지를 전송함으로써 AF(390)와 연관된 서비스 애플리케이션과의 통신 세션을 개시한다. 요청은, 단계 601-2에서 생성되고, 단계 601-1에서 생성된 앵커 키 KAKMA와 연관된 식별자 KID를 포함할 수 있다. 단계 603에서, AF(390)는 AAnF(380)에 키 요청 메시지를 전송할 수 있으며, 여기서 키 요청 메시지는 앵커 키 식별자 KID 및 AF(390)의 식별자 AFID를 포함한다. 단계 604에서, AAnF(380)는 앵커 키 식별자 KID와 연관된 앵커 키 KAKMA를 AAnF(380)에서 찾을 수 있는지 여부를 결정한다. AAnF(380)에서 KAKMA가 발견되면, 로직 흐름(600)은 계속해서 단계 607로 진행한다. 그렇지 않으면, AAnF(380)는 앵커 키 식별자 KID를 운반하는 단계 604에서 AUSF(360)에 앵커 키 요청을 전송할 수 있고, AUSF(360)가 AAnF(380)로부터의 앵커 키 요청에 응답하여 앵커 키 식별자 KID에 따른 앵커 키 KAKMA를 식별한 후, 단계 605에서 AUSF(360)로부터 앵커 키 KAKMA를 수신할 수 있다. 단계 606에서, AAnF(380)는, 애플리케이션 키 KAF가 AAnF(380)에서 이전에 도출되지 않았거나 이미 만료되었다면, 앵커 키 KAKMA에 기반하여 애플리케이션 키 KAF를 도출한다. 도출된 KAKMA는 애플리케이션 키 유효 기간(또는 만료 시간)과 연관될 수 있다. 단계 607에서, AAnF(380)는 애플리케이션 키 KAF 및 해당 만료 시간을 AF(390)에 전송할 수 있다. AAnF(380)로부터 KAKMA를 획득한 후, AF는 단계 602에서 UE(310)로부터 전송된 통신 요청에 최종적으로 응답할 수 있다. 예를 들어, 단계 608의 응답은 KAF에 대한 만료 시간을 포함할 수 있고, 이러한 만료 시간은 UE(310)에 의해 레코딩 및 저장될 수 있다.
도 7은 위에 개시된 다양한 네트워크 기능부에 의한 AKMA 구현예를 위한 다른 예시적인 아키텍처 뷰(700)를 도시한 것이다. AMF/SEAF(330), AUSF(360), AF(390), UDM/ARPF(370), UE(310), 및 AAnF(380)와 같은 다양한 기능부는 이들 네트워크 기능부와 연관된 다양한 인터페이스를 통해, 예를 들어, 도 7에 표시된 바와 같은, AMF/SEAF(330)를 위한 Namf 인터페이스, AUSF(360)를 위한 Nausf 인터페이스, AF(390)로부터의 Naf 인터페이스, UDM/ARPF(370)를 위한 Nudm 인터페이스, 및 AAnF(380)를 위한 Naanf 인터페이스를 통해, 위에 설명된 예시적인 구현예에 따라 서로 상호작용하도록 도시되어 있다. 도 7은 서비스 애플리케이션과 연관된 AF(390)에 코어 네트워크의 능력 노출을 제공하기 위한 게이트웨이로서 네트워크 노출 기능부(network exposure function)(NEF)(702)를 추가로 도시한 것이다. 도 7의 예시적인 아키텍처 뷰(700)에서, UE(310)는 Ua 인터페이스를 통해 AF(390)와 통신하고, N1 인터페이스를 통해 AMF/SEAF(330)와 통신할 수 있다. UE(310)로부터 코어 네트워크로의 통신은 RAN(320)에 의해 중계된다.
전술한 구현예에서, AUSF, UDM, AUSF, 및 AAnF는 UE(310)의 홈 네트워크에 속한다. 이들은 운영자 또는 승인된 제3자가 제공하는 안전한 네트워크 환경 내에 위치될 수 있으며, 승인되지 않은 네트워크 액세스에는 노출되지 않을 수 있다. 로밍 시나리오에서, 홈 UDM 및 AUSF는 UE를 위해 인증 정보를 제공하고, UE의 로밍 위치를 유지하며, 방문 네트워크(visited network)에 가입 정보를 제공한다.
애플리케이션 키 생성 및 서비스 애플리케이션과의 통신 세션에서 전송된 데이터의 암호화/복호화에는 상당한 레벨의 컴퓨팅 능력 및 에너지 소비를 요구하는 실질적인 데이터 처리가 수반될 수 있다. 이러한 레벨의 계산이 불가능한 일부 저가형 UE는 위에서 설명한 데이터 암호화/복호화를 의무화하는 경우 서비스 애플리케이션과 통신하지 못할 수 있다. 아래에 설명되는 일부 추가 구현예에서, UE가 애플리케이션 키에 의해 보호되거나 보호되지 않는 데이터 흐름과 함께 서비스 애플리케이션과 통신할 수 있도록 하기 위한 옵션이 제공될 수 있다. 이와 같이, 애플리케이션 키 생성 및 데이터 암호화/복호화를 적시에 수행할 수 없는 저가형 UE는, 그럼에도 불구하고 서비스 애플리케이션과의 보호되지 않은 통신 세션을 요청할 수 있는 옵션을 가질 수 있으므로 복잡한 키 생성 및 데이터 암호화/복호화를 수행할 필요성이 방지될 수 있다.
이러한 옵션은 서비스 가입 메커니즘을 통해 제공될 수 있다. 예를 들어, AKMA는 UE가 가입할 수 있는 서비스로 제공될 수 있다. 예를 들어, UE는 AKMA 서비스에 가입하거나 가입하지 않을 수 있다. UE가 AKMA 서비스에 가입한 경우, UE는 서비스 애플리케이션과의 보호된 통신 세션을 요청할 수 있다. UE 및 다양한 네트워크 기능부(예를 들어, AAnF(380))는 데이터 암호화/복호화를 위해 필요한 애플리케이션 키 생성을 상응하게 수행할 수 있다. 그렇지 않고, UE가 AKMA 서비스에 가입하지 않은 경우, UE는 서비스 애플리케이션과의 비보호된 통신 세션만을 요청할 수 있고, 애플리케이션 키 및 데이터 암호화/복호화가 필요하지 않을 수 있다.
또 다른 예를 들어, AKMA 서비스에 전적으로 가입하기보다는, UE는 네트워크 노출 기능부를 통해 통신 네트워크에 사용 가능하고 등록된 서비스 애플리케이션의 전무, 일부, 또는 전부를 위해 AKMA 서비스에 가입할 수 있다. UE가 특정 서비스 애플리케이션을 위해 AKMA 서비스에 가입한 경우, UE는 해당 서비스 애플리케이션과의 보호된 통신 세션을 요청할 수 있다. UE 및 다양한 네트워크 기능부(예를 들어, AAnF(380))는 데이터 암호화/복호화를 위해 필요한 애플리케이션 키 생성을 상응하게 수행할 수 있다. 그렇지 않고, UE가 특정 서비스 애플리케이션을 위해 AKMA 서비스에 가입하지 않은 경우, UE는 해당 서비스 애플리케이션과의 비보호된 통신 세션만을 요청할 수 있고, 해당 특정 서비스 애플리케이션과의 통신을 위한 애플리케이션 키 및 데이터 암호화/복호화는 필요하지 않을 수 있다.
서비스 애플리케이션을 위한 AKMA 서비스의 UE 가입 정보는 UDM/ARPF(370)에 의해 네트워크 측에서 관리될 수 있다. 특히, UDM/ARPF(370)는 각 UE에 대한 AKMA 서비스 가입 정보를 추적할 수 있다. UDM/ARPF(370)는 AUSF(360)와 같은 통신 네트워크의 다른 네트워크 기능부에 대한 인터페이스를 제공하여, 특정 UE의 AKMA 서비스 가입 정보를 요청하도록 구성될 수 있다. 예를 들어, UDM/ARPF(370)는 UE AKMA 서비스 가입 정보를 요청 시에 도 7에 도시된 Nudm 인터페이스를 통해 AUSF(360)에 전달할 수 있다. 이러한 구현예에서, UDM/ARPF(370)는 기본적으로 다른 사용자 데이터 관리 기능 외에도 AKMA 서비스 가입 정보의 저장소 역할을 하도록 구성된다. 대안적으로, UDM/ARPF(370)와는 별개의 전용 네트워크 기능부가 코어 네트워크에 포함되어, AKMA 서비스 가입을 관리하도록 구성될 수 있다.
이러한 가입 정보는 UDM/ARPF(370)에 다양한 형태로 레코딩될 수 있다. 가입 정보는 UE에 의해 인덱싱될 수 있다. 예를 들어, 각각의 AKMA 서비스 가입은 UE 식별자와 연관될 수 있다. 각각의 AKMA 서비스 가입은 (1) UE가 AKMA 서비스에 가입했는지 여부에 대한 표시자, (2) UE의 가입과 연관된 하나 이상의 AAnF에 대한 식별자, 및 (3) AAnF에 해당하는 앵커 키 KAKMA의 유효 기간(또는 만료 시간) 중 하나 이상을 더 포함할 수 있다. AAnF에 대한 식별자는 AAnF의 네트워크 어드레스의 형태로 제공될 수 있다. 대안적으로, AAnF의 식별자는 AAnF의 FQDN(full qualified domain name)의 형태로 제공될 수 있다. 각각의 UE는 자신이 가입하는 하나 이상의 AAnF에 대응할 수 있다.
이에 대응하여, UE의 식별 모듈(예컨대, 범용 가입자 식별 모듈(USIM) 또는 범용 통합 식별 카드(UICC))은 UE를 위한 AKMA 서비스 가입 정보를 포함할 수 있다. 이러한 가입 정보는 (1) UE가 AKMA 서비스에 가입했는지 여부에 대한 표시자, (2) UE의 AKMA 서비스 가입과 연관된 하나 이상의 AAnF의 식별자, (3) AAnF에 해당하는 앵커 키 KAKMA의 유효 기간, 및 (4) UE가 가입한 애플리케이션 서비스에 해당하는 AF의 식별자 중 하나 이상을 포함할 수 있다. 다시, AAnF에 대한 식별자는 AAnF의 네트워크 어드레스의 형태로 제공될 수 있다. 대안적으로, AAnF의 식별자는 AAnF의 FQDN의 형태로 제공될 수 있다. 각각의 UE는 하나 이상의 가입된 AAnF에 대응할 수 있다. 마찬가지로, AF에 대한 식별자는 AF의 네트워크 어드레스의 형태로 제공될 수 있다. 대안적으로, AF의 식별자는 AF의 FQDN의 형태로 제공될 수 있다. 각각의 UE는 하나 이상의 AF에 대응할 수 있다. 일부 구현예에서, 다수의 AF는 동일한 AAnF와 연관될 수 있지만, 각 AF는 하나의 AAnF에만 연관될 수 있다.
도 8은, UE가 AKMA 서비스에 가입한 경우, 앵커 키 KAKMA의 생성 및 사용자 인증을 위한 예시적인 로직 흐름(800, 850, 및 860)을 도시한 것이다. 로직 흐름(800)은 예시적인 UE 등록 및 인증 절차를 도시하는 반면, 로직 흐름(850)은 앵커 키 KAKMA의 생성을 위한 예시적인 프로세스를 도시하며, 로직 흐름(860)은 로직 흐름(850)에 대한 대안으로서, 앵커 키 KAKMA의 생성을 위한 다른 예시적인 프로세스를 도시한 것이다. 840으로 도시된 바와 같이, UE(310)는 AKMA 서비스에 가입할 수 있고, UE(310)에 해당하는 AKMA 서비스 가입 정보는 UE(310)에 레코딩될 수 있다. 이러한 가입 정보는 UE(310)가 AKMA 서비스에 가입했는지 여부에 대한 표시자; 하나 이상의 AAnF 식별자; 하나 이상의 AF 식별자; 및 AKMA 앵커 키 유효 기간 중 하나 이상의 조합을 포함할 수 있다. 842로 추가로 표시된 바와 같이, UDM/ARPF(370)에 레코딩된 해당 사용자 가입 정보는 UE(310)가 AKMA 서비스에 가입했는지 여부에 대한 표시자; 하나 이상의 AAnF 식별자; 및 AKMA 앵커 키 유효 기간 중 하나 이상을 포함할 수 있다. UE 등록 및 인증 절차 동안, UDM/ARPF(370)는 AKMA 서비스 가입 정보를 AUSF(360)에 전송할 수 있다. 성공적인 UE 등록 및 인증 시, AUSF(360)는 UDM/ARPF(370)로부터 수신된 AKMA 서비스 가입 정보에 기반하여 AKMA 앵커 키를 도출할 수 있다. 한편, UE(310)는 또한 UE(310)에 저장된 AKMA 서비스 가입 정보에 기반하여 AKMA 앵커 키를 도출할 수 있다.
UE 등록/인증 및 AKMA 앵커 키 생성을 위한 특정 예시적인 단계는 도 8의 단계 801 내지 810에 의해 예시된다. 단계 801에서, UE(310)는 네트워크에 대한 UE(310)의 등록/인증을 개시하라는 요청 메시지를 AMF/SEAF(330)에 전송한다. AMF/SEAF(330)는 UE가 로밍 중인 시나리오에서 UE의 홈 네트워크에 의해 또는 방문 네트워크에 의해 제공될 수 있다. 요청 메시지는 SUCI 또는 5G-GUTI(5G-Globally Unique Temporary UE Identity)와 같은 UE(310)의 사용자 식별자를 포함할 수 있다. 단계 802에서, AMF/SEAF(330)는 AUSF(360)에 AUSF 인증 요청(예컨대, Nausf_UEAuthentication_Authenticate Request)을 전송한다. 이러한 AUSF 요청은 UE(310)의 SUCI 또는 SUPI를 포함할 수 있다. 단계 801의 등록/인증 요청이 5G-GUTI를 포함하는 경우, AMF/SEAF(330)는 먼저 UE의 홈 AMF로부터 SUPI를 획득할 수 있다. 그것이 실패하면, AMF/SEAF(330)는 UE(310)로부터 SUCI를 획득할 수 있다. AUSF 요청은 UE(310)에 대한 서비싱 네트워크(servicing network)(SN)의 식별자 또는 이름을 더 포함할 수 있다. 단계 803에서, AUSF(360)(UE에 대한 홈 AUSF)가 SN 이름이 유효하다고 결정한 후, AUSF(360)는 UDM/ARPF(370)로의 사용자 인증 요청 메시지(예컨대, Nudm_UEAuthentication_Get Request)를 개시한다. 이러한 사용자 인증 요청 메시지는 UE(310)의 SUCI 또는 SUPI를 포함할 수 있으며, SN 이름을 더 포함할 수 있다.
계속해서 도 8의 단계 804에서, UDM/ARPF(370)는 단계 803의 사용자 인증 요청 메시지를 수신하고, 메시지에 포함된 SUCI를 복호화하여 SUPI를 획득할 수 있다. 그 후, UDM/ARPF(370)는 사용자 인증의 타입(예컨대, 5G-AKA 또는 EAP-AKA)을 결정하고, 인증 벡터를 생성한다. UDM/ARPF(370)는 UE(310)가 AKMA 서비스에 가입했는지 여부를 결정하기 위해 자신의 가입 데이터 저장소에 추가로 질의하고, 가입했다면 UE(310)에 대한 AKMA 서비스 가입 정보를 획득한다. 그 후, UDM/ARPF(370)는, 인증 벡터, SUCI로부터 복호화된 SUPI, 및/또는 AUSF(360)로의 UE(310)를 위한 AKMA 서비스 가입 정보를 포함하는 리턴 메시지(예컨대, Nudm_UEAuthentication_Get the response)로 단계 803의 사용자 인증 요청 메시지에 응답한다. UDM/ARPF(370)에 의해 생성되고, 리턴 메시지에 포함된 인증 벡터는, 예를 들어, 인증 토큰(AUTN), 난수(RAND), 및/또는 다양한 인증 키를 포함할 수 있다. UE에 대한 AKMA 서비스 가입 정보는, 예를 들어, 하나 이상의 AAnF에 대한 식별자, 및/또는 AKMA 앵커 키의 유효 기간을 포함할 수 있다.
추가로 단계 805에서, AUSF(360)는 단계 804에서 UDM/ARPF(370)로부터 전송된 인증 벡터를 검증하고, 메인 인증 절차를 개시한다. 이러한 인증 절차는, 예를 들어, 5G-AKA 또는 EAP-AKA에 기반할 수 있다. 메인 인증 절차를 성공적으로 완료한 후, UE(310) 및 AUSF(360)는 모두 기본 키 KAUSF를 생성했을 것이다. UE(310) 및 AMF/SEAF(330)는 계층 및 비계층 액세스 키를 추가로 생성했을 것이다.
도 8의 단계 805에 이어서 로직 흐름(850)은 앵커 키 생성을 위한 예시적인 구현예를 도시한 것이다. 구체적으로, 단계 806에서, UE 메인 인증 로직 흐름(850)이 성공한 후, UE(310) 및 AUSF(360)는 AKMA 앵커 키 KAKMA = KDF (KAUSF , AKMA 타입, RAND, SUPI, AAnF 식별자)를 생성할 수 있다. "KDF"라는 용어는 HMAC-SHA-256(안전한 해시 알고리즘을 위한 256-비트 해시 기반 메시지 인증 코드)을 포함한 예시적인 키 생성 알고리즘을 나타낸다. KAUSF는 기본 키를 나타낸다. "AKMA 타입" 파라미터는 다양한 AKMA 타입을 나타내며, 예를 들어, AKMA는 ME(UE의 ME 부분은 키 생성 및 암호화/복호화 계산을 담당함)에 기반할 수 있다. 다른 예를 들어, AKMA는 UICC에 기반할 수 있으며, 여기서 UE의 UICC에서의 처리 능력은 키 생성 및 암호화/복호화에 사용된다. "RAND" 파라미터는 위의 단계 804에서 UDM/ARPF(370)에 의해 생성된 인증 벡터의 난수를 나타낸다. AAnF 식별자는 AAnF의 네트워크 어드레스 또는 AAnF의 FQDN을 포함할 수 있다. 위의 예시적인 KDF 계산은 위에서 논의한 모든 파라미터를 나열하지만, 이러한 모든 파라미터를 계산에 포함할 필요는 없다. 이러한 파라미터의 조합은 KDF 계산 및 KAKMA 생성에 사용될 수 있다. 일부 구현예에서, KAUSF 파라미터는 필수가 될 수 있고 다른 파라미터는 선택사항이 될 수 있다. 일부 다른 구현예에서, KAUSF 파라미터 및 AKMA 가입 정보의 적어도 일부(예컨대, AKMA 타입, AAnF 식별자)는 필수가 될 수 있고 다른 파라미터는 선택사항이 될 수 있다.
단계 807에서, UE(310) 및 AUSF(360)는 AKMA 앵커 키에 대한 식별자를, 예를 들어, KID=RAND@AAnF 식별자, 또는 KID=base64encode(RAND)@AAnF 식별자로 생성할 수 있다. 여기서, RAND는 위의 UDM/ARPF(370)로부터 획득된 인증 벡터의 난수이며, AAnF 식별자는 AAnF 네트워크 어드레스 또는 FQDN 어드레스를 포함한다. "base64encode"로 정의된 예시적인 인코딩 방법은, 예를 들어, IEFT RFC 3548 프로토콜에서 지정된다. 또한, 단계 808에서, AUSF(360)는, 단계 806에서 AKMA 앵커 키를 계산하고 단계 807에서 AKMA 앵커 키 식별자를 계산한 후, 푸시 메시지를 AAnF(380)에 전송할 수 있다. 푸시 메시지는, 예를 들어, 앵커 키 KAKMA 및 앵커 키 식별자 KID를 포함할 수 있다.푸시 메시지는 앵커 키 KAKMA에 대한 유효 기간을 더 포함할 수 있다. 그 후 AAnF(380)는 앵커 키 KAKMA 및 앵커 키 식별자 KID를 저장할 수 있다. AAnF(380)는 AAnF(380)에서 로컬 키 관리 전략에 따라 결정된 앵커 키 KAKMA에 대한 로컬 유효 기간을 추가로 식별할 수 있다. AAnF(380)는 앵커 키에 대한 로컬 유효 기간과 단계 808에서 AUSF(360)로부터 수신한 앵커 키에 대한 유효 기간을 비교하여 더 작은 값을 앵커 키에 대한 실제 유효 기간으로 사용할 수 있다. 단계 808에서 AUSF(360)가 AAnF(380)에 전송한 메시지에 앵커 키에 대한 유효 기간이 없으면, AAnF(380)는 로컬 유효 기간을 앵커 키에 대한 실제 유효 기간으로 사용할 수 있다. AAnF(380)에서 앵커 키에 대한 로컬 유효 기간이 발견되지 않으면, 단계 808에서 AUSF(360)로부터 수신된 유효 기간은 앵커 키에 대한 실제 유효 기간으로 사용될 수 있다. 또한, 단계 809에서, AAnF(380)는 단계 808에서 AUSF(360)로부터 AAnF(380)로의 푸시 메시지의 성공적인 전송 시 AUSF(360)에 응답을 전송한다.
로직 흐름(860)은 위의 로직 흐름(850)에 대한 대안으로서 앵커 키 생성을 위한 예시적인 구현예를 추가로 예시한 것이다. 로직 흐름(860)의 단계(806A, 807A, 808A, 및 809A)는 각각 단계(806, 807, 808, 및 809)에 대응한다. 로직 흐름(860)은 로직 흐름(850)과 유사하지만, 제외되는 것은 앵커 키 KAKMA에 대한 식별자 KID가 네트워크 측의 AUSF(360)가 아닌 AAnF(380)에 의해 생성된다는 것이다(AAnF(380)에 의해 수행되는 것으로 단계 808A에 의해 도시됨). 이에 대응하여, AUSF(360)로부터 AAnF(380)로 전송된 푸시 메시지는 파라미터 RAND를 포함할 수 있으며, 이러한 파라미터 RAND는 단계 808A에서 AAnF(380)에 의한 KID의 생성을 위한 컴포넌트 중 하나로 사용될 수 있다. 로직 흐름(860)의 다양한 다른 단계에 대한 세부사항은 로직 흐름(850)에 대한 위의 설명에서 찾을 수 있다.
위의 로직 흐름(850 또는 860)에 따른 앵커 키의 성공적인 생성 후에, UE(310)는 아래에서 더 상세히 설명되는 바와 같이 AF(390)와의 통신을 개시할 수 있다. 마지막으로 도 8의 경우, 단계 810에 도시된 바와 같이, AMF/SEAF(330)는 단계 801의 등록/인증 요청의 성공적인 완료 및 가입된 AAnF에 대한 앵커 키 생성의 성공적인 완료를 나타내는 응답 메시지를 UE(310)에 전송할 수 있다. 일부 다른 대안적인 구현예에서, 단계 810은 단계 801의 등록/인증 요청의 성공적인 완료를 표시하기 위해 단계 806 이전에 수행될 수 있다.
도 8에 대한 위의 구현예에서, AKMA 서비스는 필수가 아니라 옵션으로 제공되고, 가입을 위해 UE에 제공된다. 가입 정보는 홈 네트워크 측의 UDM/ARPF(370)에 의해 그리고 UE(310)에서 저장 및 관리될 수 있다. 이와 같이, UE(310)에는 AKMA 서비스에 가입하거나 AKMA 서비스에 가입하지 않는 옵션이 제공된다. UE가 AKMA 서비스에 가입하지 않은 경우(예를 들어, UE가 키 생성 및 데이터 암호화를 처리할 능력이 부족한 경우), UE는 애플리케이션 앵커 키를 생성하는 프로세스를 포기하고, 애플리케이션 키를 사용하지 않고 애플리케이션 서버와 통신할 수 있다. UE가 AKMA에 가입하는 경우, 가입 정보는, AKMA 앵커 키 및 해당 식별자의 생성을 위해, 선택적인 파라미터 AAnF ID 및 단계 806, 806A, 807, 및 807A에서 AKMA 타입에 의해 표시되는 바와 같이, 선택적으로 사용될 수 있다.
애플리케이션 앵커 키 KAKMA는, 도 8에서 상술한 바와 같이 일단 생성되면, UE(310)와 UE(310)가 AKMA 서비스에 가입한 서비스 애플리케이션 간의 암호화된 통신을 위한 애플리케이션 키를 생성하기 위한 기초로서 사용될 수 있다. 도 8과 관련하여 위에서 예시된 바와 같이, UDM/ARPF(370)에 의해 생성된 인증 벡터의 난수 RAND와 같은 파라미터는 KID를 구성하기 위해 사용될 수 있다(예를 들어, 도 8의 단계 807 및 808 참조). 식별자 KID는 UE(310)와 서비스 애플리케이션 간의 각각의 통신 동안 해당 AKMA 앵커 키를 식별하기 위한 검색 인덱스로서 추가로 사용될 수 있다. 코어 네트워크의 안전한 환경를 벗어난 데이터 경로를 통한 RAND 파라미터와 같은 이러한 파라미터의 빈번한 전송은 이러한 파라미터의 보안 침해 또는 누출로 이어질 수 있다. 도 9 내지 도 12의 로직 흐름에 예시되고 아래에 설명되는 서비스 애플리케이션과의 암호화된 통신을 위한 애플리케이션 키 생성의 예시적인 구현예는 이러한 파라미터의 보안 위험을 줄이기 위한 체계를 제공할 수 있다.
도 9 내지 도 12에서, 예를 들어, 도 8에 예시된 바와 같은 인증 및 앵커 키 생성 단계 801 내지 806에 따라 UE(310)의 메인 등록 및 인증과 애플리케이션 앵커 키를 생성한 후, UE(310)는 초기 애플리케이션 키를 생성하고, 서비스 애플리케이션과 연관된 AF에 통신 요청을 전송할 수 있다. AF는 AAnF로부터 초기 애플리케이션 키를 획득할 수 있다. 한편, AAnF는 새로운 난수(NewRAND) 또는 새로운 앵커 키 식별자를 생성하고, AF를 통해 UE(310)로 NewRAND 또는 새로운 앵커 키 식별자를 전송할 수 있다. 그 후, UE는 NewRAND 또는 새로운 앵커 키 식별자에 기반하여 새로운 애플리케이션 키를 생성할 수 있고, 새로운 애플리케이션 키를 사용하여 서비스 애플리케이션과의 실제 통신 세션을 요청 및 수립할 수 있다. 새로운 애플리케이션 키를 생성하는 데 사용되는 NewRAND 및 새로운 앵커 키 식별자는 새로운 애플리케이션 키의 생성을 위한 키 시드(key seed)로 지칭될 수 있다.
도 9 내지 도 12에서 840으로 도시된 바와 같이, UE(310)가 AKMA 서비스에 가입했고, UE(310)에 저장된 AKMA 서비스 가입 정보가 UE가 AKMA 서비스에 가입했는지 여부에 대한 표시자; 하나 이상의 AAnF 식별자; 하나 이상의 AF 식별자; 및 AKMA 앵커 키 유효 기간 중의 하나 이상의 조합을 포함할 수 있다고 가정한다. 도 9 내지 도 12의 842로 추가로 표시된 바와 같이, UDM/ARPF(370)에 레코딩된 해당 사용자 가입 정보는 UE가 AKMA 서비스에 가입했는지 여부에 대한 표시자; 하나 이상의 AAnF 식별자; 및 AKMA 앵커 키 유효 기간 중 하나 이상을 포함할 수 있다. AAnF에 대한 식별자는 AAnF의 네트워크 어드레스의 형태로 제공될 수 있다. 대안적으로, AAnF의 식별자는 AAnF의 FQDN의 형태로 제공될 수 있다. 각각의 UE는 하나 이상의 가입된 AAnF에 대응할 수 있다. 마찬가지로, AF에 대한 식별자는 AF의 네트워크 어드레스의 형태로 제공될 수 있다. 대안적으로, AF의 식별자는 AF의 FQDN의 형태로 제공될 수 있다. 각각의 UE는 하나 이상의 AF에 대응할 수 있다. 일부 구현예에서, 다수의 AF는 동일한 AAnF와 연관될 수 있지만, 각 AF는 하나의 AAnF에만 연관될 수 있다.
도 9의 로직 흐름(900)으로 돌아가서 그리고 901로 도시된 바와 같이, UE(310), AMF/SEAF(330), AUSF(360), 및 UDM/ARPF(370)는 먼저 도 8에 도시된 바와 같은 인증 및 앵커 키 생성 단계 801 내지 806에 따라 UE(310)의 메인 등록 및 인증과 AKMA 앵커 키의 생성을 수행할 수 있다. 메인 인증 및 AKMA 앵커 키 생성을 위한 세부사항은 도 8과 관련하여 위에서 설명되었다. 단계 907에서, UE(310) 및 AUSF(360)는 AKMA 앵커 키에 대한 초기 식별자를, 예를 들어, KID=RAND@AAnF ID, 또는 KID=base64encode(RAND)@AAnF ID로 생성한다. UE 등록 및 인증에 성공하면, 단계 908에서, AMF/SEAF(330)는 등록 및 인증이 성공했음을 나타내는 응답 메시지를 UE(310)에 전달한다. 단계 908은 다른 시간에 수행될 수 있다. 예를 들어, 단계 908은 절차 901 중 단계 806 이전에 수행될 수 있다.
계속해서 도 9를 참조하면, 단계 909에서, UE(310)는 초기 애플리케이션 키 Kin-AF=KDF (KAKMA, RAND, AF ID)를 생성할 수 있고, 여기서 KDF는 도 8의 단계 806과 관련하여 설명된 예시적인 키 생성 알고리즘을 나타낸다. 단계 910에서, UE(310)는 서비스 애플리케이션과 연관된 AF(390)에 초기 통신 요청을 전송한다. 초기 통신 요청은, 예를 들어, AKMA 앵커 키에 대한 식별자 KID를 포함할 수 있다. 또한 단계 911에서, AF(390)는 UE(310)로부터 초기 통신 요청을 수신하고, 초기 애플리케이션 키 Kin-AF에 대한 요청을 KID에 포함된 AAnF ID에 따라 AAnF(380)에 전송한다. AF(390)로부터의 초기 애플리케이션 키 Kin-AF에 대한 요청은, 예를 들어, KID 및 AF에 대한 식별자 AFID를 포함할 수 있다. AAnF(380)는 단계 911에서 AF(390)로부터 전송된 KID에 따라 AKMA 앵커 키 KAKMA를 질의할 수 있다. AAnF(380)가 AKMA 앵커 키 KAKMA를 찾으면, 로직 흐름(900)은 914로 진행할 수 있다. AAnF(380)가 AKMA 앵커 키 KAKMA를 찾지 못한 경우, AAnF(380)는 단계 912에서 AKMA 앵커 키 요청을 AUSF(360)에 전송할 수 있다. 이러한 요청은 KID를 포함할 수 있다. 단계 912의 요청을 수신하면, AUSF(360)는 KID에 따라, 요청된 AKMA 앵커 키 KAKMA를 식별할 수 있고, 단계 913에서 KAKMA 및 그 유효 기간으로 AAnF(380)에 응답할 수 있다. 단계 914에서, AAnF(380)는 그 후 앵커 키 KAKMA 및 그 유효 기간을 저장할 수 있다. AAnF(380)는 AAnF(380)에서 로컬 키 관리 전략에 따라 결정된 앵커 키 KAKMA에 대한 로컬 유효 기간을 추가로 식별할 수 있다. AAnF(380)는 앵커 키에 대한 로컬 유효 기간과 단계 808에서 AUSF(360)로부터 수신한 앵커 키에 대한 유효 기간을 비교하여 더 작은 값을 앵커 키에 대한 실제 유효 기간으로 사용할 수 있다. 단계 808에서 AUSF(360)가 AAnF(380)에 전송한 메시지에 앵커 키에 대한 유효 기간이 포함되지 않으면, AAnF(380)는 로컬 유효 기간을 앵커 키에 대한 실제 유효 기간으로 사용할 수 있다. AAnF(380)에서 앵커 키에 대한 로컬 유효 기간이 발견되지 않으면, 단계 808에서 AUSF(360)로부터 수신된 유효 기간은 앵커 키에 대한 실제 유효 기간으로 사용될 수 있다. 또한 단계 914에서, AAnF(380)는 Kin-AF=KDF (KAKMA, RAND, AFID)에 기반하여 Kin-AF를 생성할 수 있다. 예시적인 키 계산 KDF 알고리즘은 도 9의 단계 909 및 도 8의 단계 806과 관련하여 이전에 설명되었다.
계속해서 도 9를 참조하면, 단계 915에서, AAnF(380)는 NewRAND로 표시된 새로운 난수를 생성할 수 있다. AAnF(380)는 AKMA 앵커 키에 대한 새로운 식별자를 KID-New=NewRAND@AAnF ID, 또는 KID-New=Base64Encode(NewRAND)@AAnF ID로 추가로 생성할 수 있다. 단계 916에서, AAnF(308)는 단계 911에서의 초기 Kin-AF에 대한 요청에 대한 응답을 전송한다. 이러한 응답은 초기 애플리케이션 키 Kin-AF, NewRAND, KID-New, 및/또는 KID-New의 유효 기간을 포함할 수 있다. 일부 구현예에서, KID-New에 대한 유효 기간은 AKMA 앵커 키에 대한 유효 기간보다 더 길 수는 없다. 단계 917(아래의 설명 참조)이 단계 916 이전에 수행되는 경우, 단계 916의 응답은 아래의 단계 917에서 생성되는 New KAF를 더 포함할 수 있다.
단계 917에서, AAnF(380)는 새로운 애플리케이션 키 KAF-New를 KAF-New=KDF (KAKMA, NewRAND, AFID)로 생성한다. KDF 알고리즘은 이미 위에서 설명한 것과 유사하다. 단계 917은 대안적으로 단계 916 이전에 수행될 수 있다. 단계 918에서, AF(390)는 KAF-New 및 KID-New의 쌍을 레코딩할 수 있다. AF(390)는 단계 910의 요청에 추가로 응답하고, 응답 메시지를 UE(310)에 전송할 수 있다. 이러한 응답 메시지는 새로운 난수 NewRAND 및/또는 새로운 AKMA 앵커 키 식별자 KID-New를 포함할 수 있다. 응답 메시지는 KAF-New에 대한 유효 기간을 추가로 포함할 수 있다. 일부 구현예에서, 이 응답 메시지의 전송은 Kin-AF를 사용하여 암호화될 수 있다. 즉, 단계 918에서 응답의 다양한 전송된 컴포넌트는 Kin-AF를 사용하여 암호화될 수 있다. 이후, AF(390)는 초기 Kin-AF를 제거할 수 있다.
단계 919에서, UE(310)는 단계 918의 응답을 수신한다. 응답이 Kin-AF로 암호화된 경우, UE(310)는 단계 909에서 도출한 Kin-AF를 사용하여 응답을 복호화할 수 있다. 응답이 NewRAND를 포함하는 경우, UE(310)는 복호화 후에 응답에 포함된 NewRAND 컴포넌트를 획득할 수 있다. UE(310)는 그 후 AKMA 앵커 키에 대한 새로운 식별자 KID-New를 Kin-AF=NewRAND@AAnF ID로 생성할 수 있다. 암호화된 KID-New가 단계 918의 응답에 이미 포함되어 있는 경우, UE(310)는 응답을 복호화하여 KID-New를 직접 획득할 수 있다.
단계 920에서, UE(310)는 새로운 애플리케이션 키 KAF-New를 KAF-New=KDF (KAKMA, newRAND, AF ID)로 생성할 수 있고, 여기서 KDF는 도 8의 단계 806과 관련하여 위에서 설명된 키 생성 알고리즘이다. UE(310)는 새로운 AKMA 앵커 키 ID KID-New 및 새로운 애플리케이션 키 KAF-New를 저장할 수 있다. 새로운 애플리케이션 키 KAF-New에 대한 유효 기간이 단계 918의 응답에 포함된 경우, UE(310)는 또한 응답을 복호화하여 KAF-New에 대한 유효 기간을 획득하고 이를 로컬에 저장할 수 있다.
단계 921에서, UE(310)는 AF(390)에 대한 다른 통신 요청을 개시할 수 있다. 요청 메시지는 AKMA 앵커 키에 대한 새로운 식별자 KID-New를 포함할 수 있고, 요청 메시지는 새로운 애플리케이션 키 KAF-New를 사용하여 UE(310)에 의해 추가로 암호화될 수 있다. 단계 922에서, AF(390)는 단계 921의 통신 요청을 수신하고, 먼저 새로운 애플리케이션 키 KAF-New가 로컬에 존재하는지 여부를 결정할 수 있다. KAF-New가 로컬에 존재하는 경우, AF(390)는 이러한 KAF-New를 사용하여 단계 921에서 UE(310)로부터의 통신 요청을 복호화할 수 있다. AF(390)가 KAF-New를 찾을 수 없는 경우, AF(390)는 새로운 애플리케이션 키 KAF-New에 대한 요청 메시지를 AAnF(380)에 전송할 수 있다. 요청 메시지는 AKMA 앵커 키에 대한 새로운 식별자 KID-New 및 AFID를 포함할 수 있다. 단계 923에서, AAnF(380)는 단계 922로부터의 요청 메시지를 수신하고, KID-New에 기반하여 새로운 애플리케이션 키 KAF-New를 질의하고, KAF-New를 AF(390)에 리턴한다. 단계 916이 KAF-New에 대한 유효 기간을 포함하지 않은 경우, 이러한 유효 기간은 단계 923에서의 AF(390)로의 응답 메시지에 포함될 수 있다. 마지막으로 단계 924에서, AF(390)는 KAF-New를 사용하여 단계 921에서 UE(310)로부터 전송된 통신 요청을 복호화하고, UE(310)와의 통신을 수립하기 위해 UE(310)에 응답할 수 있다. 이러한 응답은 새로운 애플리케이션 키 KAF-New에 대한 유효 기간을 포함할 수 있다.
도 10은 도 9에 대한 대안적인 구현예로서 로직 흐름(1000)을 도시한 것이다. 로직 흐름(1000)은 도 9의 로직 흐름(900)과 유사하지만(도 9 및 도 10에서 동일한 라벨링으로 도시됨), 제외되는 것은 도 9의 단계(907)가 도 10에서 제거된다는 것이다(1002로 표시됨). 이와 같이, 도 10의 AUSF(360)는 AKMA 앵커 키에 대한 초기 식별자 KID를 생성할 필요가 없을 수 있다. 따라서, 도 10의 단계 1012(밑줄친 단계로 도시됨)는 도 9의 단계 912를 대체한다. 특히, AUSF(360)에서는 초기 KID가 생성되지 않기 때문에, AAnF(380)로부터 AUSF(360)로의 AKMA 앵커 키 정보에 대한 요청은 KID가 아닌 RAND 하에서 질의될 수 있다. AAnF(380)는 도 10의 단계 911에서 AF(390)로부터 수신한 KID로부터 RAND 파라미터를 도출할 수 있다.
도 11은 도 9 및 도 10의 로직 흐름(900 및 1000)에 대한 대안으로서 다른 로직 흐름(1100)을 도시한 것이다. 로직 흐름(1100)은 도 9의 로직 흐름(900)과 유사하지만(도 9 및 도 10에서 동일한 라벨링으로 도시됨), 도 9와의 차이점은 도 11에 주석이 달려 있다. 예를 들어, 단계 1102 및 1104(도 11에서 밑줄친 단계)가 로직 흐름(1100)에 추가된다. 특히, 단계 1102에서, AKMA 앵커 키는, 도 9의 단계 912 및 913(이들 단계는 도 11의 구현에에서 1106으로 표시된 바와 같이 제거됨)에서 구현된 바와 같이, AUSF(360)로부터 AAnF(380)에 의해 수동적으로 요청되기보다는 AUSF(360)에 의해 생성되면, AUSF(360)로부터 AAnF(380)로 능동적으로 푸시된다. 단계 1104에서, AAnF(380)는, AKMA 앵커 키가 AAnF(380)에 의해 성공적으로 수신된 경우, AUSF(360)에 응답을 제공한다. 또한, 도 11의 단계 914는, 도 10의 동일한 단계와 비교할 때, 도 11에 나타낸 바와 같이 수정될 수 있는데, 그 이유는 단계 1102에서 AUSF(360)로부터의 능동적 푸시의 결과로서, AAnF(380)가 이미 AKMA 앵커 키를 가지고 있을 것이기 때문이다.
도 12는 도 9, 도 10, 및 도 11의 로직 흐름(900, 1000, 및 1100)에 대한 대안으로서 또 다른 로직 흐름(1200)을 도시한 것이다. 로직 흐름(1200)은, 도 9의 단계 907, 912, 및 913이 1201 및 1206에 의해 도시된 바와 같이 제거되고, 단계 914가 도 11에 나타낸 바와 같이 도 9로부터 수정되고, 그리고 푸시 단계 1202 및 1204가 추가된다는 점에서, 도 10의 로직 흐름(1000) 및 도 11의 로직 흐름(1100) 둘 모두의 구현예를 따른다. 이와 같이, 도 12의 구현예에서, AKMA 앵커 키는 도 11의 구현예와 마찬가지로, AUSF(360)로부터 AAnF(380)로 능동적으로 푸시된다. 또한, AUSF(360)에서 어떠한 초기 KID도 생성할 필요가 없는데, 그 이유는, 단계 1202 및 1204에서 정보 푸시의 결과로서, AKMA 앵커 키를 질의하기 위한 요청을 나중에 AUSF(360)로 보낼 필요가 없기 때문이다.
도 9 내지 도 12에 도시된 구현예에서, 새로운 난수가 AAnF(380)에 의해 생성되어, AKMA 앵커 키에 대한 새로운 애플리케이션 키 및 새로운 식별자의 생성을 위해 사용된다. UDM/ARPF(370)에 의해 인증 벡터의 일부로서 생성된 원래 RAND는 제한된 방식으로 다양한 네트워크 기능부 간에만 전송될 수 있으므로 보안 침해에 덜 노출될 수 있다. UE(310)와 AF(390) 간의 각 통신에 대해 새로운 난수가 생성될 수 있으므로, 하나의 새로운 난수의 보안 침해가 별도의 통신 세션에 대한 위험을 제기하지는 않을 수 있다. 따라서, 통신 보안은 도 9 내지 도 12의 구현예에서 향상된다.
전술한 바와 같이, 통신 보안을 더욱 향상시키기 위해, UE(310)와 서비스 애플리케이션 간의 암호화된 통신에 관련된 다양한 키는 유효 기간(또는 만료 시간)과 연관될 수 있다. 즉, 이들 키는 해당 유효 기간 내에서만 유효하다. 특히, 이들 키가 유효하지 않게 되는 경우, UE(310)와 서비스 애플리케이션 간의 통신은 암호화에 의해 보호되지 않을 수 있다. 이와 같이, 이들 키가 유효하지 않게 되면 업데이트되어야 할 수 있다. 아래에서 설명되는 도 13 내지 도 14는 다양한 키(예컨대, AKMA 앵커 키 및 애플리케이션 키를 포함함)가 유효하지 않거나 유효하지 않게 되는 경우 이들 키를 업데이트하기 위한 다양한 구현예를 도시한 것이다.
도 13은 유효하지 않는 키를 업데이트하기 위한 UE 개시 구현예(1300)를 도시한 것이다. 사용자 인증 절차(402) 및 단계(410, 412, 420, 422)는 도 4와 관련하여 설명한 해당 단계와 동일하다. 위의 도 4의 설명은 도 13의 이들 단계에 적용된다. 이들 단계에 따라 AKMA 앵커 키가 생성될 수 있다. 단계 1301에서, UE(310)는 AKMA 앵커 키 또는 AKMA 애플리케이션 키가 유효하지 않거나 유효하지 않게 된다는 것을 결정한다. 그 후, UE(310)는 유효하지 않은 AKMA 앵커 키 또는 애플리케이션 키, 해당 유효 기간, 및 유효하지 않은 AKMA 앵커 키에 대한 식별자를 삭제한다.
단계 1302에서, UE가 유휴 상태에 있을 경우, UE는 무선 네트워크(AMF/SEAF(330) 또는 AUSF(360)와 같은 네트워크 기능부)에 대한 등록 요청 메시지를 개시할 수 있다. 이러한 등록 요청 메시지는 UE 보안 컨텍스트가 유효하지 않음을 나타내는, 예를 들어, 7의, SUCI, 또는 5G-GUTI 및 ngKSI(보안 컨텍스트 인덱스)를 포함할 수 있다. UE(310)가 긴급하지 않은 서비스(non-emergency service) 또는 우선순위가 높지 않은 서비스(non-high-priority service)를 처리하는 활성 상태에 있고 UE(310)가 유휴 상태에 진입하는 경우, UE는 네트워크에 대한 등록 요청을 개시할 수 있다. UE(310)가 긴급 서비스 또는 높은 우선순위 서비스를 처리하는 활성 상태에 있는 경우, UE는 긴급 또는 높은 우선순위 서비스가 완료될 때까지 기다렸다가 유휴 상태로 진입하여 네트워크에 대한 등록 요청을 개시할 수 있다. 일부 다른 구현예에서, UE가 활성 상태에 있는 경우, UE는 활성 서비스의 긴급성 또는 우선순위에 관계없이 활성 서비스의 완료를 기다린 다음 네트워크에 대한 등록 요청을 개시할 수 있다.
단계 1303에서, UE는 네트워크와의 메인 인증 및 등록을 거친 후 새로운 AKMA 앵커 키 및/또는 애플리케이션 키를 생성하고, 이러한 새로운 키에 대한 유효 기간 및 식별자를 결정할 수 있다. UE와 네트워크는 모두 이들 키, 유효 기간, 및 식별자를 레코딩한다.
도 14는 유효하지 않은 AKMA 키의 네트워크 개시 업데이트를 도시한 것이다. 도 14에서, UE는 AKMA 서비스에 가입했을 수 있다. 도 14의 840에서, UE에 해당하는 AKMA 서비스 가입 정보가 UE에 레코딩될 수 있다. 이러한 가입 정보는 UE가 AKMA 서비스에 가입했는지 여부에 대한 표시자; 하나 이상의 AAnF 식별자; 하나 이상의 AF 식별자; 및 AKMA 앵커 키 유효 기간 중 하나 이상의 조합을 포함할 수 있다. 도 14의 842에서, UDM/ARPF(370)에 레코딩된 해당 사용자 가입 정보는 UE가 AKMA 서비스에 가입했는지 여부에 대한 표시자; 하나 이상의 AAnF 식별자; 및 AKMA 앵커 키 유효 기간 중 하나 이상을 포함할 수 있다. UE 등록 및 인증 절차 동안, UDM/ARPF(370)는 AKMA 서비스 가입 정보를 AUSF(360)에 전송할 수 있다.
도 14의 단계 1401에서, UE와 네트워크는 메인 인증 절차를 완료하고, AKMA 앵커 키 KAKMA 및 해당 식별자 KID, AKMA 애플리케이션 키 KAF, 및 이들 키의 유효 기간을 생성한다. 이들 키는 여러 가지 이유로 유효하지 않을 수 있다. 도 14에서, 로직 흐름(1460, 1470, 및 1480)은 이들 키 중 적어도 하나가 유효하지 않게 되는 다양한 예시적인 시나리오 하에서 키 업데이트를 도시한 것이다.
예시적인 로직 흐름(1460)에 대해, AKMA 앵커 키는 유효하지 않을 수 있다. 단계 1402에서, UE(310)는 AF(390)에 대한 통신 요청을 개시할 수 있다. 통신 요청은 AKMA 앵커 키에 대한 식별자 KID를 포함할 수 있다. 단계 1403에서, AF(390)는 KID 및 AFID를 포함하는 초기 애플리케이션 키 요청 메시지를 KID의 AAnF 식별자에 따라 AAnF(380)에 전송할 수 있다. 단계 1404에서, AAnF(380)는 KID에 따라 AKMA 앵커 키 KAKMA를 질의할 수 있다. AAnF(380)가 AKMA 앵커 키 KAKMA를 찾지 못한 경우, AAnF(380)는 AKMA 앵커 키 요청 메시지를 AUSF(360)에 전송할 수 있다. 요청 메시지는 KID를 포함할 수 있다. 단계 1405에서, AUSF(360)는 KID에 따라 유효한 AKMA 앵커 키를 질의할 수 있고, 유효한 AKMA 앵커 키를 찾지 못할 수도 있다. 그러면, AUSF(360)는 유효한 AKMA 앵커 키가 발견되지 않았음을 나타내는 실패 메시지로 AAnF(380)에 응답할 수 있다. 단계 1406에서, AAnF(380)는 유효한 AKMA 앵커 키가 발견되지 않았음을 나타내는 실패 메시지로 AF(390)에 응답한다. 단계 1407에서, AF(390)는 유효한 AKMA 앵커 키가 발견되지 않았음을 나타내는 실패 메시지로 UE(310)에 응답할 수 있다. 단계 1408에서, UE(310)는 네트워크에 대한 다른 등록 요청을 개시한다. 이러한 등록 요청 메시지는 UE 보안 컨텍스트가 유효하지 않음을 나타내는, 예를 들어, 7의, UE의 SUCI, 또는 UE의 5G-GUTI 및 ngKSI(보안 컨텍스트 인덱스)를 포함할 수 있다. 단계 1409에서, UE(310)와 네트워크가 다른 메인 인증 및 등록을 완료한 후, 새로운 AKMA 앵커 키 및/또는 AKMA 애플리케이션 키, 이들의 식별자, 및/또는 유효 기간이 생성될 수 있다. UE(310)와 네트워크는 이들 키, 유효 기간, 및 식별자를 저장할 수 있다.
예시적인 로직 흐름(1470)의 경우, 애플리케이션 키가 만료되었을 수 있다. 단계 1410에서, UE(310)는 AF(390)에 대한 통신 요청을 개시할 수 있다. 통신 요청은 AKMA 앵커 키에 대한 식별자 KID를 포함할 수 있다. 단계 1411에서, AF(390)는 애플리케이션 키가 만료되었다고 결정할 수 있다. 단계 1412에서, AF(390)는 애플리케이션 키가 만료되었음을 나타내는 실패 메시지로 UE(310)에 응답할 수 있다. 단계 1413에서, UE(310)는 네트워크에 대한 다른 등록 요청을 개시한다. 이러한 등록 요청 메시지는 UE 보안 컨텍스트가 유효하지 않음을 나타내는, 예를 들어, 7의, UE의 SUCI, 또는 UE의 5G-GUTI 및 ngKSI(보안 컨텍스트 인덱스)를 포함할 수 있다. 단계 1414에서, UE(310)와 네트워크가 다른 메인 인증 및 등록을 완료한 후, 새로운 AKMA 앵커 키 및/또는 AKMA 애플리케이션 키, 이들의 식별자, 및/또는 유효 기간이 생성될 수 있다. UE(310)와 네트워크는 이들 키, 유효 기간, 및 식별자를 저장할 수 있다.
예시적인 로직 흐름(1480)에 대해, AKMA 앵커 키는 만료되었을 수 있다. 단계 1415에서, UE(310)는 AF(390)에 대한 통신 요청을 개시할 수 있다. 통신 요청은 AKMA 앵커 키에 대한 식별자 KID를 포함할 수 있다. 단계 1416에서, AF(390)는 KID 및 AFID를 포함하는 애플리케이션 키 요청 메시지를 KID의 AAnF 식별자에 따라 AAnF(380)에 전송할 수 있다. 단계 1417에서, AAnF(380)는 AKMA 앵커 키 KAKMA가 만료되었음을 결정할 수 있다. 단계 1418에서, AAnF(380)는 AKMA 앵커 키가 만료되었음을 나타내는 실패 메시지로 AF(390)에 응답한다. 단계 1419에서, AF(390)는 AKMA 앵커 키가 만료되었음을 나타내는 실패 메시지로 UE(310)에 응답할 수 있다. 단계 1420에서, UE(310)는 네트워크에 대한 다른 등록 요청을 개시한다. 이러한 등록 요청 메시지는 UE 보안 컨텍스트가 유효하지 않음을 나타내는, 예를 들어, 7의, UE의 SUCI, 또는 UE의 5G-GUTI 및 ngKSI(보안 컨텍스트 인덱스)를 포함할 수 있다. 단계 1421에서, UE(310)와 네트워크가 다른 메인 인증 및 등록을 완료한 후, 새로운 AKMA 앵커 키 및/또는 AKMA 애플리케이션 키, 이들의 식별자, 및/또는 유효 기간이 생성될 수 있다. UE(310)와 네트워크는 이들 키, 유효 기간, 및 식별자를 저장할 수 있다.
따라서, 도 1 내지 도 14에 대해 위에서 설명된 구현예는 통신 네트워크가 단말 디바이스에 의해 가입될 수 있는 애플리케이션 키 서비스를 제공하기 위한 아키텍처를 제공한다. 이러한 구현예는 통신 네트워크를 통해 단말 디바이스와 서비스 애플리케이션 간의 암호화된 통신을 가능하게 하기 위한 다양한 계층적 레벨의 키를 생성, 관리, 및 업데이트하기 위한 다양한 체계를 추가로 제공한다. 개시된 구현예는 서비스 애플리케이션과의 통신에서 유연성을 촉진하고 보안 침해 위험을 줄인다.
위의 첨부 도면 및 설명은 특정 예시적인 실시예 및 구현예를 제공한다. 그러나, 기술된 발명의 대상은 다양한 상이한 형태로 구현될 수 있고, 따라서, 커버되거나 청구된 발명의 대상은 본원에 설명된 임의의 예시적인 실시예에 제한되지 않는 것으로 해석되도록 의도된다. 청구되거나 커버되는 발명의 대상에 대해 합리적으로 넓은 범위가 의도된다. 무엇보다도, 예를 들어, 발명의 대상은 방법, 디바이스, 컴포넌트, 시스템, 또는 컴퓨터 코드를 저장하기 위한 비일시적 컴퓨터 판독 가능 매체로서 구현될 수 있다. 따라서, 실시예는, 예를 들어, 하드웨어, 소프트웨어, 펌웨어, 저장 매체, 또는 이들의 임의의 조합의 형태를 취할 수 있다. 예를 들어, 위에서 설명된 방법 실시예는 메모리 및 프로세서를 포함하는 컴포넌트, 디바이스, 또는 시스템에 의해, 메모리에 저장된 컴퓨터 코드를 실행함으로써 구현될 수 있다.
명세서 및 청구항 전반에 걸쳐, 용어는 명시적으로 언급된 의미를 넘어 문맥에서 암시되거나 의미되는 뉘앙스 의미를 가질 수 있다. 마찬가지로, 본원에서 사용되는 "일 실시예/구현예에서"라는 문구는 반드시 동일한 실시예를 지칭하는 것은 아니며, 본원에서 사용되는 "다른 실시예/구현예에서"라는 문구는 반드시 다른 실시예를 지칭하는 것은 아니다. 예를 들어, 청구된 발명의 대상은 전체적으로 또는 부분적으로 예시적인 실시예의 조합을 포함하도록 의도된다.
일반적으로, 용어는 문맥에서의 사용으로부터 적어도 부분적으로 이해될 수 있다. 예를 들어, 본원에 사용되는 "및", "또는", 또는 "및/또는"과 같은 용어는 이러한 용어가 사용되는 문맥에 적어도 부분적으로 의존할 수 있는 다양한 의미를 포함할 수 있다. 일반적으로, "또는"은 A, B, 또는 C와 같은 목록을 연결하는 데 사용되는 경우, 본원에서 배타적인 의미로 사용되는 A, B, 또는 C 뿐만 아니라 본원에서 포괄적인 의미로 사용되는 A, B, 및 C를 의미하는 것으로 의도된다. 또한, 본원에 사용되는 용어 "하나 이상"은 문맥에 따라 적어도 부분적으로, 임의의 특징, 구조, 또는 특성을 단수의 의미로 기술하는 데 사용될 수 있거나, 특징, 구조, 또는 특성의 조합을 복수의 의미로 기술하는 데 사용될 수 있다. 유사하게, 단수 형태 또는 상기와 같은 용어는 문맥에 따라 적어도 부분적으로, 단수의 형태를 표현하거나 복수의 형태를 표현하는 것으로 이해될 수 있다. 또한, "~에 기반한"이라는 용어는 전적으로 배타적 요인 세트를 표현하기 위한 것만은 아니며, 대신에 적어도 부분적으로는 문맥에 따라, 반드시 명시적으로만 설명되지는 않는 추가 요인의 존재를 허용할 수 있는 것으로 이해될 수 있다.
본 명세서 전반에 걸쳐 특징, 이점, 또는 유사한 언어에 대한 언급이, 본 해결책으로 실현될 수 있는 모든 특징 및 이점이 본 발명의 임의의 단일 구현예에 포함되거나 포함되어야 하는 것을 의미하는 것은 아니다. 오히려, 특징 및 이점을 나타내는 언어는, 일 실시예와 관련하여 설명된 특정의 특징, 이점, 또는 특성이 본 해결책의 적어도 하나의 실시예에 포함된다는 것을 의미하는 것으로 이해된다. 따라서, 본 명세서 전반에 걸쳐 특징 및 이점, 및 유사한 언어에 대한 논의는 동일한 실시예를 참조할 수 있지만 반드시 그런 것은 아니다.
또한, 본 해결책의 설명된 특징, 이점, 및 특성은 하나 이상의 실시예에서 임의의 적합한 방식으로 조합될 수 있다. 관련 기술 분야의 통상의 기술자는, 본원의 상세한 설명에 비추어, 본 해결책이 특정 실시예의 하나 이상의 특정 특징 또는 이점 없이도 실시될 수 있음을 인식할 것이다. 다른 경우에, 본 해결책의 모든 실시예에 존재하지 않을 수 있는 추가 특징 및 이점이 특정 실시예에서 인식될 수 있다.
Claims (29)
- 단말 디바이스와 서비스 애플리케이션 간의 통신 네트워크를 통한 암호화된 데이터 전송을 위해 단말 디바이스에 의해 애플리케이션 키를 생성하는 방법에 있어서,
앵커 키에 기반하여 초기 애플리케이션 키를 생성하는 단계;
서비스 애플리케이션에 초기 통신 요청을 전송하는 단계;
상기 서비스 애플리케이션으로부터 응답을 수신하는 단계;
상기 응답으로부터 키 시드를 추출하는 단계;
상기 앵커 키 및 상기 키 시드에 기반하여 애플리케이션 키를 생성하는 단계; 및
상기 애플리케이션 키에 기반하여 상기 서비스 애플리케이션과의 암호화된 데이터 통신 세션을 수립하기 위해 상기 서비스 애플리케이션에 데이터 전송 요청을 전송하는 단계
를 포함하는, 단말 디바이스와 서비스 애플리케이션 간의 통신 네트워크를 통한 암호화된 데이터 전송을 위해 단말 디바이스에 의해 애플리케이션 키를 생성하는 방법. - 제1항에 있어서,
상기 키 시드는 상기 초기 애플리케이션 키에 기반하여 상기 응답으로부터 추출되는 것인, 방법. - 제2항에 있어서,
상기 응답은 상기 서비스 애플리케이션에 의해 암호화되고, 상기 키 시드는 상기 단말 디바이스에 의해 상기 초기 애플리케이션 키를 사용하여 상기 응답을 복호화함으로써 상기 응답으로부터 추출되는 것인, 방법. - 제2항에 있어서,
상기 초기 애플리케이션 키를 생성하는 단계 이전에, 상기 방법은:
상기 단말 디바이스를 상기 통신 네트워크에 등록하기 위한 인증 프로세스가 성공적으로 완료되면 기본 인증 키를 생성하는 단계; 및
상기 기본 인증 키에 기반하여 상기 앵커 키를 생성하는 단계
를 더 포함하는 것인, 방법. - 제4항에 있어서,
상기 통신 네트워크에 의해 제공되는 애플리케이션 앵커 키 관리 서비스에 대한 상기 단말 디바이스의 가입을 위한 가입 데이터 패킷을 획득하는 단계; 및
상기 가입 데이터 패킷으로부터 상기 서비스 애플리케이션에 대한 가입 데이터세트를 추출하는 단계
를 더 포함하는, 방법. - 제5항에 있어서,
상기 가입 데이터세트는, 상기 서비스 애플리케이션 및 상기 애플리케이션 앵커 키 관리 서비스와 연관된 상기 통신 네트워크 내의 애플리케이션 키 관리 네트워크 노드의 식별자를 포함하는 것인, 방법. - 제6항에 있어서,
상기 앵커 키를 생성하는 단계는, 상기 기본 인증 키에 기반하여, 그리고 추가로 상기 애플리케이션 키 관리 네트워크 노드의 식별자, 상기 단말 디바이스와 연관된 사용자 네트워크 모듈의 식별자, 상기 사용자 네트워크 모듈의 타입, 상기 단말 디바이스를 상기 통신 네트워크에 등록하기 위한 인증 프로세스 동안 생성된 인증 데이터세트, 및 상기 서비스 애플리케이션에 대한 상기 가입 데이터세트의 컴포넌트 중 적어도 하나에 기반하여, 상기 앵커 키를 생성하는 단계를 포함하는 것인, 방법. - 제7항에 있어서,
상기 인증 데이터세트는 상기 단말 디바이스를 상기 통신 네트워크에 등록하기 위한 인증 프로세스에서 생성된 난수를 포함하고,
상기 앵커 키를 생성하는 단계는, 상기 기본 인증 키, 및 상기 애플리케이션 키 관리 네트워크 노드의 식별자와 상기 난수 중 적어도 하나에 기반하여 상기 앵커 키를 생성하는 단계를 포함하는 것인, 방법. - 제8항에 있어서,
상기 앵커 키에 대한 초기 식별자를 생성하는 단계를 더 포함하고, 상기 서비스 애플리케이션에 대한 초기 통신 요청은 상기 앵커 키에 대한 초기 식별자를 포함하는 것인, 방법. - 제9항에 있어서,
상기 앵커 키에 대한 초기 식별자를 생성하는 단계는 상기 난수 및 상기 애플리케이션 키 관리 네트워크 노드의 식별자에 기반하여 상기 앵커 키에 대한 초기 식별자를 생성하는 단계를 포함하는 것인, 방법. - 제10항에 있어서,
상기 키 시드는 상기 애플리케이션 키 관리 네트워크 노드에 의해 생성된 제2 난수를 포함하는 것인, 방법. - 제11항에 있어서,
상기 방법은, 상기 제2 난수 및 상기 애플리케이션 키 관리 네트워크 노드의 식별자에 기반하여 상기 앵커 키에 대한 제2 식별자를 생성하는 단계를 더 포함하고,
상기 데이터 전송 요청은 상기 앵커 키에 대한 제2 식별자를 포함하는 것인, 방법. - 제10항에 있어서,
상기 키 시드는 상기 애플리케이션 키 관리 네트워크 노드에 의해 생성된 제2 난수 및 상기 앵커 키에 대한 제2 식별자를 포함하고,
상기 애플리케이션 키를 생성하는 단계는 상기 앵커 키 및 상기 제2 난수에 기반하여 상기 애플리케이션 키를 생성하는 단계를 포함하는 것인, 방법. - 제13항에 있어서,
상기 애플리케이션 키 관리 네트워크 노드에 의해 생성된 상기 앵커 키에 대한 제2 식별자는 상기 제2 난수 및 상기 애플리케이션 키 관리 네트워크 노드에 대한 식별자를 포함하는 것인, 방법. - 제14항에 있어서,
상기 데이터 전송 요청은 상기 앵커 키에 대한 제2 식별자를 포함하는 것인, 방법. - 제5항에 있어서,
상기 가입 데이터 패킷은 상기 애플리케이션 앵커 키 관리 서비스에 대한 상기 단말 디바이스의 가입 동안 상기 단말 디바이스에 저장되는 것인, 방법. - 제5항에 있어서,
상기 앵커 키를 생성하는 단계는 안전한 해시(Hash) 알고리즘에 더 기반하는 것인, 방법. - 제17항에 있어서,
상기 초기 애플리케이션 키를 생성하는 단계는 상기 안전한 해시 알고리즘에 더 기반하는 것인, 방법. - 제18항에 있어서,
상기 애플리케이션 키를 생성하는 단계는 상기 안전한 해시 알고리즘에 더 기반하는 것인, 방법. - 단말 디바이스와 서비스 애플리케이션 간의 통신 네트워크를 통한 암호화된 데이터 전송을 위해 통신 네트워크 내의 애플리케이션 키 관리 네트워크 노드에 의해 애플리케이션 키를 생성하는 방법에 있어서,
서비스 애플리케이션에 대한 제1 식별자 및 통신 네트워크의 인증 네트워크 노드에 의해 생성된 앵커 키에 대한 제2 식별자를 포함하는 제1 애플리케이션 키 요청을 상기 서비스 애플리케이션으로부터 수신하는 단계;
상기 제2 식별자에 대응하는 상기 앵커 키를 획득하고, 상기 앵커 키에 기반하여 초기 애플리케이션 키를 생성하는 단계;
제1 난수를 생성하고, 상기 제1 난수에 기반하여 키 시드를 형성하는 단계;
상기 제1 애플리케이션 키 요청에 응답하여 상기 초기 애플리케이션 키 및 상기 키 시드를 상기 서비스 애플리케이션에 전송하는 단계;
상기 앵커 키 및 상기 제1 난수에 기반하여 상기 애플리케이션 키를 생성하는 단계;
상기 서비스 애플리케이션에 대한 상기 제1 식별자 및 상기 키 시드로부터 도출된 상기 앵커 키에 대한 제3 식별자를 포함하는 제2 애플리케이션 키 요청을 상기 서비스 애플리케이션으로부터 수신하는 단계; 및
상기 애플리케이션 키를 상기 서비스 애플리케이션에 전송하는 단계
를 포함하는, 단말 디바이스와 서비스 애플리케이션 간의 통신 네트워크를 통한 암호화된 데이터 전송을 위해 통신 네트워크 내의 애플리케이션 키 관리 네트워크 노드에 의해 애플리케이션 키를 생성하는 방법. - 제20항에 있어서,
상기 앵커 키를 획득하는 단계는, 상기 제2 식별자를 포함하는 앵커 키 요청을 상기 통신 네트워크의 인증 네트워크 노드에 전송하고, 상기 앵커 키 요청에 대한 응답으로서 상기 인증 네트워크 노드로부터 상기 앵커 키를 수신하는 단계를 포함하는 것인, 방법. - 제20항에 있어서,
상기 앵커 키를 획득하는 단계는, 상기 단말 디바이스가 인증 프로세스 동안 상기 통신 네트워크에 등록할 때 상기 통신 네트워크에 의해 생성된 제2 난수를 포함하는 앵커 키 요청을 상기 통신 네트워크의 인증 네트워크 노드에 전송하고, 상기 앵커 키 요청에 대한 응답으로서 상기 인증 네트워크 노드로부터 상기 앵커 키를 수신하는 단계를 포함하는 것인, 방법. - 제20항에 있어서,
상기 앵커 키를 획득하는 단계는 인증 네트워크 노드로부터 이전에 수신된 애플리케이션 키 관리 네트워크 노드에 저장된 상기 앵커 키를 검색하는 단계를 포함하는 것인, 방법. - 제20항에 있어서,
상기 키 시드는 상기 제1 난수를 포함하고,
상기 앵커 키에 대한 제3 식별자는 상기 제1 난수 및 상기 애플리케이션 키 관리 네트워크 노드에 대한 제4 식별자를 포함하는 것인, 방법. - 제20항에 있어서,
상기 초기 애플리케이션 키를 생성하는 단계는, 상기 앵커 키에 기반하여 그리고 추가로 상기 제1 식별자에 기반하여 상기 초기 애플리케이션 키를 생성하는 단계를 포함하는 것인, 방법. - 제20항에 있어서,
상기 초기 애플리케이션 키를 생성하는 단계는, 상기 앵커 키에 기반하여 그리고 추가로 제2 난수에 기반하여 상기 초기 애플리케이션 키를 생성하는 단계를 포함하고, 상기 제2 난수는 상기 단말 디바이스가 인증 프로세스 동안 상기 통신 네트워크에 등록할 때 상기 통신 네트워크에 의해 생성된 것인, 방법. - 제20항에 있어서,
상기 애플리케이션 키를 생성하는 단계는, 상기 앵커 키 및 상기 제1 난수에 기반하여 그리고 추가로 상기 제1 식별자에 기반하여 상기 애플리케이션 키를 생성하는 단계를 포함하는 것인, 방법. - 하나 이상의 프로세서 및 하나 이상의 메모리를 포함하는 디바이스에 있어서,
상기 하나 이상의 프로세서는 상기 하나 이상의 메모리로부터 제1항 내지 제27항 중 어느 한 항의 방법을 구현하기 위한 컴퓨터 코드를 판독하도록 구성된 것인, 디바이스. - 컴퓨터 코드가 저장되어 있는 비일시적 컴퓨터 판독 가능 프로그램 매체를 포함하는 컴퓨터 프로그램 제품에 있어서,
상기 컴퓨터 코드는, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 제1항 내지 제27항 중 어느 한 항의 방법을 구현하게 하는 것인, 컴퓨터 프로그램 제품.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/072446 WO2021093163A1 (en) | 2020-01-16 | 2020-01-16 | Method, device, and system for application key generation and management in a communication network for encrypted communication with service applications |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220100669A true KR20220100669A (ko) | 2022-07-15 |
Family
ID=75911714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227020123A KR20220100669A (ko) | 2020-01-16 | 2020-01-16 | 서비스 애플리케이션과의 암호화된 통신을 위해 통신 네트워크에서의 애플리케이션 키 생성 및 관리를 위한 방법, 디바이스 및 시스템 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220337408A1 (ko) |
EP (1) | EP4091310A4 (ko) |
KR (1) | KR20220100669A (ko) |
CN (1) | CN114946153A (ko) |
WO (1) | WO2021093163A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220330019A1 (en) * | 2020-03-31 | 2022-10-13 | Zte Corporation | Parameters for application communication establishment |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4385228A1 (en) * | 2021-08-09 | 2024-06-19 | Telefonaktiebolaget LM Ericsson (publ) | Akma key diversity for multiple applications in ue |
WO2023125642A1 (zh) * | 2021-12-31 | 2023-07-06 | ***通信有限公司研究院 | 认证和/或密钥管理方法、第一设备、终端及通信设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8397062B2 (en) * | 2009-04-21 | 2013-03-12 | University Of Maryland, College Park | Method and system for source authentication in group communications |
TW201628371A (zh) * | 2011-03-23 | 2016-08-01 | 內數位專利控股公司 | 確寶網路通訊系統及方法 |
DE102015225270A1 (de) * | 2015-12-15 | 2017-06-22 | Siemens Aktiengesellschaft | Verfahren und Sicherheitsmodul zum Bereitstellen einer Sicherheitsfunktion für ein Gerät |
ES2855164T3 (es) * | 2017-02-08 | 2021-09-23 | Nokia Solutions & Networks Oy | Mejora de la integridad de la información específica de un centro de datos |
-
2020
- 2020-01-16 EP EP20887214.3A patent/EP4091310A4/en active Pending
- 2020-01-16 WO PCT/CN2020/072446 patent/WO2021093163A1/en unknown
- 2020-01-16 CN CN202080092552.3A patent/CN114946153A/zh active Pending
- 2020-01-16 KR KR1020227020123A patent/KR20220100669A/ko not_active Application Discontinuation
-
2022
- 2022-07-05 US US17/857,389 patent/US20220337408A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220330019A1 (en) * | 2020-03-31 | 2022-10-13 | Zte Corporation | Parameters for application communication establishment |
Also Published As
Publication number | Publication date |
---|---|
CN114946153A (zh) | 2022-08-26 |
WO2021093163A1 (en) | 2021-05-20 |
US20220337408A1 (en) | 2022-10-20 |
EP4091310A4 (en) | 2023-01-25 |
EP4091310A1 (en) | 2022-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI837450B (zh) | 密鑰再生方法及終端裝置 | |
JP7453388B2 (ja) | サービスアプリケーションとの暗号化された通信のための通信ネットワーク内のアンカキー生成および管理のための方法、デバイス、ならびにシステム | |
US20220337408A1 (en) | Method, Device, and System for Application Key Generation and Management in a Communication Network for Encrypted Communication with Service Applications | |
CN111147421A (zh) | 一种基于通用引导架构gba的认证方法及相关设备 | |
WO2022078214A1 (zh) | 签约数据更新方法、装置、节点和存储介质 | |
JPWO2022086596A5 (ko) | ||
WO2022067667A1 (en) | A method for preventing encrypted user identity from replay attacks | |
WO2022067627A1 (en) | A method for preventing leakage of authentication sequence number of a mobile terminal | |
RU2801267C1 (ru) | Способ, устройство и система для обновления привязочного ключа в сети связи для зашифрованной связи с приложениями предоставления услуг | |
WO2023142102A1 (en) | Security configuration update in communication networks | |
US11985497B2 (en) | Systems and methods for network-based encryption of a user equipment identifier | |
US11432158B2 (en) | Systems and methods for using a unique routing indicator to connect to a network | |
US11956627B2 (en) | Securing user equipment identifier for use external to communication network | |
WO2023082161A1 (en) | Secure information pushing by service applications in communication networks | |
US20240007444A1 (en) | Network exposure function (nef) for suci-based ue-initiated service authorization | |
US20230379696A1 (en) | On-demand subscription concealed identifier (suci) deconcealment for select applications | |
WO2022151464A1 (en) | Method, device, and system for authentication and authorization with edge data network | |
WO2022067628A1 (en) | A method for preventing encrypted user identity from replay attacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal |