KR20230143103A - 위성 항법 시스템 기반 메시지 인증 방법 및 이를 수행하는 장치 - Google Patents

위성 항법 시스템 기반 메시지 인증 방법 및 이를 수행하는 장치 Download PDF

Info

Publication number
KR20230143103A
KR20230143103A KR1020230035964A KR20230035964A KR20230143103A KR 20230143103 A KR20230143103 A KR 20230143103A KR 1020230035964 A KR1020230035964 A KR 1020230035964A KR 20230035964 A KR20230035964 A KR 20230035964A KR 20230143103 A KR20230143103 A KR 20230143103A
Authority
KR
South Korea
Prior art keywords
message
subframe
authentication information
authentication
numbered
Prior art date
Application number
KR1020230035964A
Other languages
English (en)
Inventor
정원찬
조태남
용승림
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US18/295,107 priority Critical patent/US20230318849A1/en
Priority to DE102023108411.9A priority patent/DE102023108411A1/de
Publication of KR20230143103A publication Critical patent/KR20230143103A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/015Arrangements for jamming, spoofing or other methods of denial of service of such systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/21Interference related issues ; Issues related to cross-correlation, spoofing or other methods of denial of service
    • G01S19/215Interference related issues ; Issues related to cross-correlation, spoofing or other methods of denial of service issues related to spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

일 실시예에 따른, 위성 항법 시스템 기반 인증 방법은 제1 메시지에 대한 인증을 수행하는 제1 인증 정보를 생성하는 동작; 제2 메시지에 대한 인증을 수행하는 제2 인증 정보를 생성하는 동작; 및 상기 제1 인증 정보 및 상기 제2 인증 정보를 상기 제2 메시지에 포함시켜 상기 제2 메시지를 전송하는 동작을 포함할 수 있다.

Description

위성 항법 시스템 기반 메시지 인증 방법 및 이를 수행하는 장치{SATELLITE NAVIGATION SYSTEM BASED MESSAGE AUTHENTICATION METHOD AND APPARATUS FOR PERFORMING THE SAME}
아래 개시는 위성 항법 시스템 기반 메시지 인증 방법 및 이를 수행하는 장치에 관한 것이다.
위성 항법 메시지를 활용한 서비스의 증대와 스푸핑(spoofing) 공격의 위험성에 대비하여 위성 항법 메시지에 대한 인증 기술들이 연구되고 있다. 이 기술은 위성의 특성에 따라 달라질 수 있기 때문에 각 국의 위성마다 제안된 기법도 다르다. 현재 유럽의 Galileo만이 테스트를 마치고 시험 운영을 하고 있으며 다른 위성에 대해서도 인증방식이 제안되고 향후 적용할 계획에 있다.
위에서 설명한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.
실시예들은 위성 메시지의 구조에 대응되도록 다양한 형태의 항법 메시지 인증을 수행할 수 있다.
실시예들은 저속으로 전송되는 위성 항법 메시지에 대한 인증을 고속으로 전송되는 정밀 보정 메시지에 실어 보내는 인증 방식을 제공할 수 있다.
실시예들은 항법 메시지와 정밀 보정 메시지를 모두 수신해야 하는 고정밀 항법 서비스에서 빠른 인증을 제공할 수 있다.
실시예들은 필요에 따라 인증 방법을 선택해 인증을 수행할 수 있다.
실시예들은 필요에 따라 적용 해시함수와 전자서명 알고리즘 및 키의 길이를 선택적으로 사용할 수 있다.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.
일 실시예에 따른 위성 항법 시스템 기반 인증 방법은 제1 메시지에 대한 인증을 수행하는 제1 인증 정보(authentication information)를 생성하는 동작과, 제2 메시지에 대한 인증을 수행하는 제2 인증 정보를 생성하는 동작과, 상기 제1 인증 정보 및 상기 제2 인증 정보를 상기 제2 메시지에 포함시켜 상기 제2 메시지를 전송하는 동작을 포함할 수 있다.
상기 제1 메시지는 저속으로 전송되는 메시지이고, 상기 제2 메시지는 고속으로 전송되는 메시지일 수 있다.
상기 제1 메시지는 항법 메시지(navigation message)를 포함하고, 상기 제2 메시지는 정밀 보정 메시지(centimeter level service)를 포함할 수 있다.
상기 제1 메시지의 서브프레임(subframe)은, 상기 제2 메시지의 서브프레임과의 동기화를 위한 필드(field)를 포함하고, 상기 제2 메시지의 서브프레임은, 상기 제1 인증 정보 및 상기 제2 인증 정보를 포함하는 데이터 파트(data part)를 포함할 수 있다.
상기 제1 인증 정보는, 상기 제1 메시지에 대한 전자 서명(digital signature)을 포함하고, 상기 제2 인증 정보는, 상기 제2 메시지에 대한 전자 서명을 포함할 수 있다.
상기 제2 메시지에 포함된 서브프레임들 중에서 홀수 번째 서브프레임은, 상기 홀수 번째 서브프레임에 대한 인증 정보를 포함하고, 상기 제2 메시지에 포함된 서브프레임들 중에서 짝수 번째 서브프레임은, 상기 제1 메시지에 포함된 서브프레임들 중에서 상기 짝수 번째 서브프레임에 대응하는 서브프레임에 대한 인증 정보와 상기 짝수 번째 서브프레임에 대한 인증 정보의 결합(concatenation)을 포함할 수 있다.
상기 제2 메시지에 포함된 서브프레임들 중에서 짝수 번째 서브프레임은, 상기 제1 메시지에 포함된 서브프레임들 중에서 상기 짝수 번째 서브프레임에 대응하는 서브프레임에 대한 인증 정보를 포함하고, 상기 제2 메시지에 포함된 서브프레임들 중에서 홀수 번째 서브프레임은, 상기 짝수 번째 서브프레임 및 상기 홀수 번째 서브프레임의 결합(concatenation)에 대한 인증 정보를 포함할 수 있다.
상기 제2 메시지에 포함된 서브프레임들 중에서 홀수 번째 서브프레임은, 상기 홀수 번째 서브프레임에 대한 인증 정보를 포함하고, 상기 제2 메시지에 포함된 서브프레임들 중에서 짝수 번째 서브프레임은, 상기 짝수 번째 서브프레임 및 상기 제1 메시지에 포함된 서브프레임들 중에서 상기 짝수 번째 서브프레임에 대응하는 서브프레임 결합(concatenation) 또는 배타적 논리합(exclusive-or)에 대한 인증 정보를 포함할 수 있다.
일 실시예에 따른 위성 항법 시스템 기반 인증 방법을 수행하는 장치는, 인스트럭션들을 포함하는 메모리와 상기 메모리와 전기적으로 연결되고, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함하고, 상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는 복수의 동작들을 수행하고, 상기 복수의 동작들은, 제1 메시지에 대한 인증을 수행하는 제1 인증 정보를 생성하는 동작과, 제2 메시지에 대한 인증을 수행하는 제2 인증 정보를 생성하는 동작과, 상기 제1 인증 정보 및 상기 제2 인증 정보를 상기 제2 메시지에 포함시켜 상기 제2 메시지를 전송하는 동작을 포함할 수 있다.
상기 제1 메시지는, 저속으로 전송되는 메시지이고, 상기 제2 메시지는, 고속으로 전송되는 메시지일 수 있다.
상기 제1 메시지는, 항법 메시지(navigation message)를 포함하고, 상기 제2 메시지는, 정밀 보정 메시지(centimeter level service)를 포함할 수 있다.
상기 제1 메시지의 서브프레임(subframe)은, 상기 제2 메시지의 서브프레임과의 동기화를 위한 필드를 포함하고, 상기 제2 메시지의 서브프레임은, 상기 제1 인증 정보 및 상기 제2 인증 정보를 포함하는 데이터 파트를 포함할 수 있다.
상기 제1 인증 정보는, 상기 제1 메시지에 대한 전자 서명(digital signature)을 포함하고, 상기 제2 인증 정보는, 상기 제2 메시지에 대한 전자 서명을 포함할 수 있다.
상기 제2 메시지에 포함된 서브프레임들 중에서 홀수 번째 서브프레임은, 상기 홀수 번째 서브프레임에 대한 인증 정보를 포함하고, 상기 제2 메시지에 포함된 서브프레임들 중에서 짝수 번째 서브프레임은, 상기 제1 메시지에 포함된 서브프레임들 중에서 상기 짝수 번째 서브프레임에 대응하는 서브프레임에 대한 인증 정보와 상기 짝수 번째 서브프레임에 대한 인증 정보의 결합(concatenation)을 포함할 수 있다.
상기 제2 메시지에 포함된 서브프레임들 중에서 짝수 번째 서브프레임은, 상기 제1 메시지에 포함된 서브프레임들 중에서 상기 짝수 번째 서브프레임에 대응하는 서브프레임에 대한 인증 정보를 포함하고, 상기 제2 메시지에 포함된 서브프레임들 중에서 홀수 번째 서브프레임은, 상기 짝수 번째 서브프레임 및 상기 홀수 번째 서브프레임의 결합(concatenation)에 대한 인증 정보를 포함할 수 있다.
상기 제2 메시지에 포함된 서브프레임들 중에서 홀수 번째 서브프레임은, 상기 홀수 번째 서브프레임에 대한 인증 정보를 포함하고, 상기 제2 메시지에 포함된 서브프레임들 중에서 짝수 번째 서브프레임은, 상기 짝수 번째 서브프레임 및 상기 제1 메시지에 포함된 서브프레임들 중에서 상기 짝수 번째 서브프레임에 대응하는 서브프레임 결합(concatenation) 또는 배타적 논리합(exclusive-or)에 대한 인증 정보를 포함할 수 있다.
도 1은 Galileo I/NAV 메시지 포맷을 나타낸다.
도 2는 Galileo 인증 데이터 삽입 위치를 나타낸다.
도 3은 OSMNA(인증 데이터) 필드 구성을 나타낸다.
도 4는 GPS 메시지 구조를 나타낸다.
도 5는 GPS 위성 항법 메시지와 확산 코드 바인딩을 나타낸다.
도 6은 Chimera 디지털 서명 포맷을 나타낸다.
도 7은 BeiDou D1 메시지 포맷을 나타낸다.
도 8은 BeiDou D1에 대한 전자 서명 전송 방법을 나타낸다.
도 9는 BeiDou D2 메시지 포맷을 나타낸다.
도 10은 BeiDou D2 메시지 인증 방법을 나타낸다.
도 11은 BeiDou D2 메시지의 수신자측 그룹 시간정보 인증 절차를 나타낸다.
도 12는 BeiDou D2 메시지의 수신자측 페이지 인증 절차를 나타낸다.
도 13은 QZSS의 인증 방법의 구조를 나타낸다.
도 14는 QZSS 메시지 포맷을 나타낸다.
도 15는 QZSS 서명 데이터의 생성 절차를 나타낸다.
도 16은 일 실시예에 따른 인증 대상인 제1 메시지의 구조의 일 예를 나타낸다.
도 17은 일 실시예에 따른 인증 대상인 제2 메시지의 구조의 일 예를 나타낸다.
도 18은 일 실시예에 따른 제1 메시지와 제2 메시지의 서브프레임 동기화를 나타낸다.
도 19는 일 실시예에 따른 인증 방법 1을 나타낸다.
도 20은 일 실시예에 따른 인증 방법 2를 나타낸다.
도 21은 일 실시예에 따른 인증 방법 3 중에서 결합(concatenation)의 실시예를 나타낸다.
도 22는 일 실시예에 따른 인증 방법 3 중에서 배타적 논리합(exclusive-or) 연산의 실시예를 나타낸다.
도 23은 일 실시예에 따른 공개키 테이블을 나타낸다.
도 24는 일 실시예에 따른 위성 항법 시스템(satellite navigation system) 기반 인증 방법을 설명하기 위한 흐름도이다.
도 25는 일 실시예에 따른 장치의 개략적인 블록도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1 내지 도 3은 유럽의 위성 항법 시스템(예: Galileo) 기반의 인증 기법을 설명하기 위한 도면들이다.
도 1은 Galileo I/NAV 메시지 포맷을 나타내고, 도 2는 Galileo 인증 데이터 삽입 위치를 나타내고, 도 3은 OSMNA(인증 데이터) 필드 구성을 나타낸다.
도 1 내지 도 3을 참조하면, 유럽의 Galileo에 있어서, 125bps 전송속도를 가지는 E1B 채널로 전송되는 위성 항법 메시지인 I/NAV 메시지에 대한 인증 방법이 제안되었다.
도1과 같이 Galileo I/NAV 메시지는 N개(예: N은 1보다 큰 자연수)의 프레임(frame)을 포함할 수 있다. 1 개 프레임은 15개의 서브프레임(subframe)을 포함할 수 있다. Galileo의 위성 항법 메시지에 대한 인증은 도 2와 같이 각 서브프레임의 미사용 되고 있던(reserved) 40비트에 인증 데이터(OSNMA: open service navigation message authentication)를 나누어 전송함으로써 수행될 수 있다. 각 서브프레임에 전송되는 데이터의 구성은 도 3과 같다. 메시지 인증은 메시지에 대한 MAC(message authentication code)을 통해 이루어질 수 있다. MAC에 필요한 비밀키(secret key)는 TESLA(timed efficient stream loss-tolerant authentication) 기법을 이용하여 MAC과 함께 전송될 수 있다. TESLA의 루트 키(root key)에 대한 인증은, 전자서명(digital signature)을 통해 이루어진다. 메시지는, 해당 메시지에 대한 MAC 값 및 이전 MAC에 사용된 키 값과 함께 전송될 수 있다. 수신자(예: 수신 장치)는 전자서명으로 TESLA루트키를 인증하고, 수신한 메시지와 MAC 값을 저장하였다가 다음 메시지와 함께 수신되는 키를 가지고 이전 메시지의 MAC 값을 검증할 수 있다. Galileo는 데이터 공간의 제약으로 인해 길이가 짧은 대신 복잡한 비밀키 암호방식을 사용하고 있다.
도 4 내지 도 6은 미국의 위성 항법 시스템(예: GPS(global positioning system)) 기반의 인증 기법을 설명하기 위한 도면들이다.
도 4는 GPS 메시지 구조를 나타내고, 도 5는 GPS 위성 항법 메시지와 확산 코드 바인딩을 나타내고, 도 6은 Chimera 디지털 서명 포맷을 나타낸다.
도 4 내지 도 6을 참조하면, 미국의 GPS(global positioning system)에 있어서, CNAV-2 L1C 채널로 전송되는 항법 메시지와 확산 코드(spreading code)에 대한 인증 방법으로서 Chimera(chips message robust authentication)가 제안되었다.
도 4를 참조하면, L1C 채널로 전송되는 항법 메시지는 N개(예: N은 1보다 큰 자연수)의 프레임을 포함할 수 있다. 1개의 프레임은 3 개의 서브프레임을 포함할 수 있고, 18초에 걸쳐 100bps로 전송될 수 있다.
도 5를 참조하면, Chimera에서는 항법 메시지 데이터(navigation message data)와 확산 코드(spreading code)가 연관 지어져서 인증이 수행될 수 있다. 확산 코드에 대한 인증은 확산 코드 내에 삽입된 마커(marker)(예: 저속 채널 마커(slow channel marker), 고속 채널 마커(fast channel marker))를 검증함으로써 이루어질 수 있다. 마커의 삽입 위치와 값에 대한 정보는 저속 채널(slow channel)과 고속 채널(fast channel)로부터 지원될 수 있다. 저속 채널의 마커는 항법 메시지 데이터의 서명(signature)으로부터 도출되고, 고속 채널의 마커는 대역 외(out of band)의 인증된 소스(authenticated source)(예: 인터넷)로부터 별도로 지원될 수 있다.
도 6을 참조하면, L1C 채널로 전송되는 메시지의 3번 서브프레임에는 10개의 서로 다른 페이지가 전송되는데, 전송되는 페이지의 순서는 가변적일 수 있다. 10 개 페이지가 전송되는 주기를 Chimera epoch라고 한다. Chimera Epoch마다 10 개 메시지에 대한 1 개의 서명 값을 전송해 인증을 수행할 수 있다. 도 6과 같이, 서명은 3번 서브프레임의 페이지 8과 9에 나누어 전송될 수 있다. 위와 같이, 미국 GPS의 Chimera는 인증 정보(예: 서명)의 전송 주기가 길기 때문에, 인증의 주기도 길 수 있다.
도 7 내지 도 12는 중국의 위성 항법 시스템(예: BeiDou) 기반의 인증 기법을 설명하기 위한 도면들이다. 중국의 BeiDou 위성 시스템은 정지 궤도(GEO: geostationary earth orbit), 중궤도(MEO: medium earth orbit), 경사 궤도 위성(IGSO: inclined geosynchronous orbit)들로 구성될 수 있다. 중궤도와 경사 궤도위성은 50bps로 전송되는 D1 메시지 포맷을 사용할 수 있고, 정지궤도 위성은 500bps로 전송되는 D2 메시지 포맷을 사용할 수 있다.
도 7은 BeiDou D1 메시지(이하, D1 메시지) 포맷을 나타내는 도면이다.
도 7을 참조하면, D1 메시지는 24개의 프레임을 포함할 수 있으며, 12분동안 전송될 수 있다. D1메시지의 1개의 프레임은 5 개의 서브프레임을 포함할 수 있다.
도 8은 BeiDou D1에 대한 전자 서명 전송 방법을 나타내는 도면이다.
도 8을 참조하면, D1 메시지는 5개의 서브프레임들 중에서 3개의 서브프레임(예: 1번 내지 3번)에 기본 항법 정보(BNI: basic navigation information)를 포함할 수 있다. D1 메시지의 인증 방법에서는 24개의 프레임마다 기본 항법 정보에 대한 인증 정보(예: 서명)가 전송될 수 있다. D1 메시지의 1번 내지 12번 프레임의 3개의 서브프레임에 대응하는 기본 항법 정보에 대한 서명(예: ECDSA를 사용해 생성된 서명)은 11번과 12번 프레임의 5 번 서브프레임에 반 씩 나누어 전송될 수 있다. 마찬가지로, 13번 내지 24번 프레임의 3개의 서브프레임에 대응하는 기본 항법 정보에 대한 서명(예: ECDSA를 사용해 생성된 서명)은 23번과 24번 프레임에 반 씩 나누어 전송될 수 있다. D1 메시지의 인증 방법은 서명 값이 전송될 공간이 작기 때문에, 인증 정보의 길이가 긴 서명은 전송할 수 없다.
도 9는 BeiDou D2 메시지(이하, D2 메시지) 포맷을 나타내는 도면이다.
도 9를 참조하면, D2 메시지는 120개의 프레임을 포함할 수 있다. 1개의 프레임은 5개의 서브프레임을 포함할 수 있으며, 500bps로 전송될 수 있다. 기본 항법 정보(BNI: basic navigation information)는 10 개의 페이지(예: word)에 포함될 수 있고, 10개의 1번 서브프레임에 나뉘어 30초동안 전송될 수 있다. 이 10개의 1번 서브프레임을 1개의 그룹이라고 하며, 1개의 그룹은 인증의 단위가 될 수 있다. 위와 같은 방법은 신호 레벨의 인증 방법도 포함할 수 있다.
도 10은 BeiDou D2 메시지 인증 방법을 나타내는 도면이다.
도10을 참조하면, 1개의 그룹에 포함된 SOW(second of week) 정보로부터 그룹 인증 정보(group authentication information)와 페이지 인증 정보(page authentication information)가 생성될 수 있다. 이후, 생성된 그룹 인증 정보는 확산 스펙트럼(spreading spectrum) 변조(modulation)를 위한 GPSSS(generator polynomial of spectrum spreading sequence)와 128비트 키를 사용하는 SM4 대칭키 암호 알고리즘으로 암호화될 수 있다. 해당 128비트의 암호문(ciphertext)은 1개의 그룹(10개의 1번 서브프레임) 내 여분의 공간에 나누어 삽입될 수 있다. 그리고 기본 항법 정보(BNI)에 대하여 SM2 알고리즘으로 생성된 디지털 서명(예: Sig(BNI))이 생성되고, 생성된 Sig(BNI)는 페이지 인증 정보와 함께 GPSSS 방식으로 변조되어, 75비트의 SSI(serial synchronous interface)가 될 수 있다. 그 후, SSI는 1번 서브프레임과 2번 서브프레임 사이에 포함되어 전송될 수 있다.
도 11 및 도 12는 위에서 설명한 BeiDou D2메시지 인증 방법에서, 수신자측의 구체적인 인증 절차를 나타낸 도면들이다. 도 11은 BeiDou D2 메시지의 수신자측 그룹 시간 정보 인증 절차를 나타내고, 도 12는 BeiDou D2 메시지의 수신자측 페이지 인증 절차를 나타낸다.
도 11을 참조하면, 수신자(예: 수신 장치)는 이전 그룹(예: 그룹 1)의 SOW로부터 그룹 인증 정보를 생성할 수 있다. 그 후, 수신자는 다음 그룹(예: 그룹 2)에서 수신한 암호문을 복호화(decrypt)하여 그룹 인증 정보를 추출하고, 이전 그룹으로부터 생성한 SOW의 그룹 인증 정보와 동일한지를 비교(compare)함으로써 그룹 시간 정보를 인증할 수 있다.
도 12를 참조하면, 수신자는 암호문으로부터 추출한 GPSSS정보를 사용해 SSI를 변조하여 서명과 페이지 인증 정보를 추출할 수 있다. 그 후, 수신자는 추출한 페이지 인증 정보를 이전 그룹(예: 그룹 1)의 SOW로부터 생성한 페이지 인증정보와 동일한지 비교해 검증할 수 있다. 마지막으로, 수신자는 수신한 SSI로부터 이전 그룹에 포함된 BNI에 대한 SM2 서명을 추출함으로써 검증할 수 있다.
BeiDou D2 메시지의 인증 방법은 500bps의 매우 빠른 채널을 이용함에도 불구하고, 초기 기본 항법 정보의 인증에 1분 이상의 시간이 소요될 수 있다. D2 메시지의 인증 방법은 GPSSS를 사용해 변조된 기본 항법 정보의 서명으로부터 무결성을 검증하면서도, 비밀 값이 아닌 SOW를 암호화하여 전송하고 이를 사용해 인증하도록 하는 등 중복되고 복잡한 인증 절차를 거칠 수 있다. 이 방법에서 사용하는 비밀키 방식은 상호간에 키를 공유해야 하는 큰 난제를 가지고 있으나, 모든 수신자(예: 수신 장치)가 마스터 키를 보유하도록 하고 SMS(secure message system)를 통해 키를 업데이트함으로써 해결할 수 있다. 이 마스터키는 대중에게는 알려지지 않고, 수신 장치 제조업체만 보유할 수 있는 암호 알고리즘에 의해 보호할 수 있지만, 여러 문제가 제기될 수 있다. 예를 들어, 위 마스터키 보호 방법은 암호 알고리즘을 공개하여 안전성을 검증하고 최소 개수의 키만 비밀로 유지하도록 하고 있는 일반적인 방법을 따르지 않다. 또한, 수신 장치를 소유한 공격자가 마스터키를 사용해 비밀키를 알아낼 수 있다. 그리고, 모든 제조업체가 암호 알고리즘을 비밀로 유지하는 것이 현실적으로 매우 어려울 수 있다.
도 13 내지 도 15는 일본의 위성 항법 시스템(예: QZSS(quasi-zenith satellite system)) 기반의 인증 기법을 설명하기 위한 도면들이다.
도 13은 QZSS의 인증 방법의 구조를 나타내고, 도 14는 QZSS 메시지 포맷을 나타내고, 도 15는 QZSS 서명 데이터의 생성 절차를 나타낸다.
도 13 내지 도 15를 참조하면, 일본의 QZSS에 있어서, QZSS위성 뿐만 아니라 수신 가능한 모든 위성으로부터의 항법 데이터(navigation data)를 인증할 수 있는 방법이 제안되었다. 도 13에서와 같이 모니터링 및 제어 스테이션(monitoring & control station)은 수신 가능한 모든 위성 신호(예: QZSS L1C/A, GPS L1C/A, Galileo E1B)로부터 항법 데이터(navigation data)를 수신 및 추출할 수 있다. 그 후, ADC(authentication data center)는 모니터링 및 제어 스테이션이 추출한 항법 데이터에 대한 디지털 서명(digital signature)을 생성할 수 있다. 생성된 디지털 서명은 도 14의 QZSS 메시지 포맷에서 항법 데이터 공간(예: RAND message, LDPC parity bit, other data)에 대신 들어갈 수 있다. 이렇게 생성된 신호가 메시지 포맷에 포함되어 위성으로 업로드 되면, QZSS 위성은 L1S 신호를 통해 사용자들(users)에게 브로드캐스트할 수 있다. L1S 수신자(예: 수신 장치)는 PRN(pseudo random number) ID로부터 인증 대상인 위성을 식별하고, 수신한 항법 데이터에 대한 디지털 서명을 검증할 수 있다.
QZSS의 인증 방법은 위성이 아닌 지상에서 인증 정보를 생성하여 위성에 업로드 하고 이를 다시 브로드캐스트하는 방식도 사용할 수 있다. 그리고, 도 15에서와 같이, QZSS의 인증 방법에서의 '디지털 서명(digital signature)'은 공개키 암호를 사용한 암호학적 전자 서명이 아니라 LDPC(low density parity check code) 인코딩 결과로서의 인증 값을 의미할 수 있어 암호학적 안전성이 보장된다고 할 수 없다.
도 1 내지 도 15를 참조하여 설명한 예시를 살펴보면, 현재 가장 안전한 인증 방법은 암호학적인(cryptographic) 기술을 이용하는 것일 수 있다. 암호학적인 기술을 이용하는 인증 방법은 크게 비밀키 암호를 이용하는 방식과 공개키 암호를 이용하는 방식으로 나뉠 수 있다. 비밀키 암호방식은 상대적으로 인증 정보(예: MAC(message authentication code))의 길이가 짧은 대신 인증 방식이 복잡하고, 공개키 암호방식은 인증 정보(예: 전자 서명)의 길이가 길지만 인증 방식이 간단할 수 있다.
위성 항법 메시지의 인증 방법에 있어, 일반적으로 항법 메시지는 전송 속도가 느린 채널을 이용하고 있다. 암호학적인 안전성을 제공하는 인증 정보는 메시지에 비해 많은 공간(예: bit 길이)을 차지할 수 있어 비교적 높은 전송 속도를 가지는 항법 메시지에 대해서만 인증을 수행할 수 있다. 유럽의 Galileo도 공간의 부족으로 인해 인증 정보의 길이가 상대적으로 짧은 비밀키 암호방식을 이용하며, 인증 정보를 여러 서브프레임에 나누어 전송한다.
또한, 정밀 보정 메시지를 지원하는 고정밀 위성 항법 서비스(high-precision satellite navigation service)의 현황은 아래 표 1과 같으며, 고정밀 위성 항법 서비스에서 항법 메시지에 대한 인증 서비스는 아직 지원되지 않고 있다.
[표 1]
이하에서는, 도 16 내지 도 25를 참조하여 일 실시예에 따른 위성 항법 시스템 기반 인증 방법 및 이를 수행하는 장치에 대해서 설명하도록 한다.
일 실시예에 따르면, 장치(예: 도 25의 장치(2500))는 위성 항법 시스템 기반 인증 방법을 수행할 수 있다. 장치(2500)는 저속으로 전송되는 제1 메시지(예: 위성 항법 메시지, 항법 메시지(NAV: navigation message))에 인증 정보(authentication information)를 실어 보내지 않고, 고속으로 전송되는 제2 메시지(예: 정밀 보정 메시지(CLS: centimeter level service message))를 이용하여 서로 다른 채널의 두 메시지에 대한 인증을 수행할 수 있다. 장치(2500)는 이하에서 도 16 내지 도 24를 참조하여 설명하는 위성 항법 시스템 기반 인증 방법을 수행할 수 있다. 장치(2500)는 위성을 통해 통신을 수행하는 송신자(예: 송신 장치), 수신자(예: 수신 장치), 및/또는 위성에 구현될 수 있다.
예를 들어, NAV 메시지 는 한국형 위성 항법 시스템(KPS: korean positioning system)을 기반으로 하는 위성 항법 메시지 포맷을 기반으로 할 수 있다. CLS 메시지는 CLAS(centimeter level augmentation service) 메시지 포맷을 기반으로 할 수 있다.
도 16은 일 실시예에 따른 인증 대상인 제1 메시지의 구조의 일 예를 나타낸다.
도 16을 참조하면, 일 실시예에 따르면, 제1 메시지는 고정밀 위성 항법 서비스(예: KPS)의 인증 대상(authentication target)인 항법 메시지(예: NAV 메시지)일 수 있다. NAV 메시지(1610)는 2~4GHz의 S 대역에서 25 bps의 속도로 전송될 수 있다. NAV 메시지(1610)는 복수의 프레임들(1630)(예: N개의 프레임, N은 1보다 큰 자연수)을 포함할 수 있다. 각 프레임(1630)은 복수의 서브프레임들(1650)(예: 4개의 서브프레임)을 포함할 수 있다. 각 서브프레임(1650)은 수 초(예: 12초)에 걸쳐 전송될 수 있다. 서브프레임(1650)은 동기화를 위한 M비트(예: M은 1보다 큰 자연수로, 16일 수 있음)의 동기 파트(sync part)(1652), 항법 메시지를 위한 292비트의 데이터 파트(data part)(1654) 및 6비트의 테일 파트(tail part)(1656)를 포함할 수 있다. 각 서브프레임의 데이터 파트(1654)는 TLM(tracker log message) 필드(1654_1), Sub ID 필드(1654_3), 및 CRC(cyclic redundancy check) 필드(1654_5)를 공통적으로 포함할 수 있다. 공통 필드 외의 나머지 233비트는 서브프레임마다 다른 항목(예: TOWC(time of week counter) 필드, Alert 필드, 및/또는 Auto Nav필드와 같은 필드)을 포함할 수 있다. 일 실시예에 따른 NAV(예: NAV의 각 서브프레임(1650)에 포함된 데이터 파트(1654))는 CLS(예: 도 17의 CLS의 서브프레임(1730))와의 동기화를 위한 필드(예: Seq 필드(1654_7))를 더 포함할 수 있다. Seq 필드(1654_7)는 233비트에 포함된 여분의(spare) 비트 중 N비트(예: N은 1보다 큰 자연수로, 3일 수 있음)를 차지하는 인증을 위한 필드일 수 있다.
도 17은 일 실시예에 따른 인증 대상인 제2 메시지의 구조의 일 예를 나타낸다.
도 17을 참조하면, 일 실시예에 따르면, 제2 메시지는 고정밀 위성 항법 서비스(예: KPS)의 인증 대상(authentication target)인 정밀 보정 메시지(예: CLS 메시지)일 수 있다. CLS 메시지는 QZSS의 정밀 보정 메시지(예: CLAS(centimeter level augmentation service))에 기반할 수 있다.
CLS 메시지는 복수의 프레임들(1710)(예: N개의 프레임, N은 1보다 큰 자연수)을 포함할 수 있다. 각 프레임(1710)은 복수의 서브프레임들(1730)(예: 6개의 서브프레임)을 포함할 수 있다. 각 서브프레임(1730)은 N개(예: N은 1보다 큰 자연수로, 5일 수 있음)의 데이터 파트(1750)를 포함할 수 있다. CLS 메시지의 각 서브프레임(1730)은 인증 정보를 위한 1개의 N+1번(예: 6번) 데이터 파트(1752)(이하, 인증용 데이터 파트)를 더 포함할 수 있고, 하나의 서브프레임(1730)은 수 초(예: 6초)에 걸쳐 전송될 수 있다.
각 데이터 파트(1750)(예: 데이터 파트 1, 데이터 파트 2)는 2000비트일 수 있으며, 1695비트의 데이터 파트(1750_1)에, 위성 식별자(예: PRN), 메시지 식별자 ID가 포함된 49비트의 헤더(header)(1750_3), 및 에러 정정을 위한 256비트의 reed-solomon 코드(1750_5)를 포함할 수 있다. 각 데이터 파트(1750_1)에 전송되는 데이터의 종류는 데이터 타입(data type) 필드로 구분되며, 데이터 타입은 M가지(예: M은 1보다 큰 자연수로, 12일 수 있음) 일 수 있다. 인증 정보에 대한 데이터 타입(이하, 인증용 데이터 타입)이 정의되고, 인증용 데이터 파트(1752)에 포함될 수 있다.
인증용 데이터 타입의 구조는 아래 표 2와 같을 수 있다.
[표 2]
인증용 데이터 타입은 인증 대상(authentication target)으로 NAV에 대한 인증 정보 및/또는 CLS에 대한 인증 정보를 포함할 수 있다. 인증 정보는 직전에 전송된 NAV 및/또는 CLS에 대한 전자 서명일 수 있다.
인증용 데이터 타입은 위성 정보(satellite information)(예: 표 3의 GNSS(global navigation satellite system) ID, PRN)에 대한 필드를 포함할 수 있다. 인증용 데이터 타입은 전자 서명에 사용된 해시 함수 식별자(hash ID), 전자 서명 알고리즘 식별자(signature algorithm ID), 전자 서명에 사용된 키의 길이(key length), 공개키 식별자(public key ID), 및 전자 서명(NAV signature, CLS signature)에 대한 필드를 포함할 수 있다. NAV에 대한 인증 정보가 인증 대상이 될 경우에는(예: authentication target필드의 값이 1 또는 3 일 경우), 인증용 데이터 타입은 해당 NAV의 헤더 필드도 포함할 수 있다. 표 2의 인증용 데이터 타입의 각 필드의 식별자에 대한 값은 사전에 정의되어 위성과 수신기가 공유할 수 있다. 사용되는 해시 함수, 전자 서명 알고리즘, 및 키의 길이는 2030년 이후에도 사용할 수 있는 한국인터넷진흥원(KISA: korea internet security agency)의 권고안을 따를 수 있고, 선택적으로 사용될 수 있다. 전자 서명(예: 표 2의 NAV signature, CLS signature)의 길이는 사용되는 키의 길이에 따라 달라질 수 있으며, 그 길이는 아래 표 3 과 같을 수 있다.
[표 3]
도 18은 일 실시예에 따른 제1 메시지와 제2 메시지의 서브프레임 동기화를 나타낸 도면이다.
도 18을 참조하면, 일 실시예에 따르면, 제1 메시지는 고정밀 위성 항법 서비스(예: KPS)의 인증 대상(authentication target)인 항법 메시지(예: NAV 메시지)일 수 있고, 제2 메시지는 고정밀 위성 항법 서비스(예: KPS)의 인증 대상(authentication target)인 정밀 보정 메시지(예: CLS 메시지)일 수 있다.
도 16 및 도 17에서와 같이 NAV에 Seq 필드(1654_7)을 추가하고 CLS에 인증 정보를 위한 데이터 파트(1752)를 추가함으로써, NAV 서브프레임(1810)과 CLS 서브프레임(1830)의 전송 시간 동기화가 이루어질 수 있다. 도 18에서와 같이, M개(예: 1개)의 NAV 서브프레임(1810)이 전송되는 동안, N개(예: 2개)의 CLS 서브프레임(1830)이 전송될 수 있다.
전자 서명의 생성 및 전송의 경우는 아래에서 설명할 인증 방법(authentication method)들 중에서 선택적으로 어느 하나를 통해 수행될 수 있다.
도 19는 일 실시예에 따른 인증 방법 1을 나타낸 도면이다.
도19를 참조하면, 일 실시예에 따르면, 장치(예: 도 25의 장치(2500))는 인증 방법 1을 수행할 수 있다.
장치(2500)는 홀수 번째 CLS 서브프레임(예: 1번)의 데이터 파트(예: 1번 내지 5번)에 대한 인증 정보(1901)(예: 전자 서명)를 생성할 수 있다. 장치(2500)는 인증 정보(1901)를 홀수 번째 CLS 서브프레임의 인증용 데이터 파트(예: 6번)에 포함시킬 수 있다.
장치(2500)는 짝수 번째 CLS 서브프레임(예: 2번)의 데이터 파트(예: 1번 내지 5번)에 대한 인증 정보(1903)(예: 전자 서명)를 생성할 수 있다. 장치(2500)는 해당 짝수 번째 CLS 서브프레임과 동기화된 NAV 서브프레임(예: 1번)의 인증 정보(1905)(예: 전자 서명)를 생성할 수 있다. 장치(2500)는 생성한 인증 정보들(1903, 1905)을 결합(concatenation)하여 짝수 번째 CLS 서브프레임의 인증용 데이터 파트(예: 6번)에 포함시킬 수 있다.
장치(2500)는 인증 정보들(예: 인증 정보(1901)와, 인증 정보(1903) 및 인증 정보(1905)의 결합)이 포함된 CLS 메시지를 전송할 수 있다.
장치(2500)가 인증 방법 1을 사용해 인증을 수행하는 경우, 1개의 서브프레임 단위로 빠르게 인증을 수행할 수 있다. 이때, 인증 정보(1903)와 인증 정보,(1905)가 결합함으로써 인증 정보의 길이가 길어질 수 있다. 따라서, 짝수 번째 CLS 서브프레임에는 공간의 제한으로 인해 1024비트의 키로 생성된 인증 정보가 포함되지 못할 수 있다.
도 20은 일 실시예에 따른 인증 방법 2를 나타낸 도면이다.
도 20을 참조하면, 일 실시예에 따르면, 장치(예: 도 25의 장치(2500))는 인증 방법 2를 수행할 수 있다.
장치(2500)는 짝수 번째 CLS 서브프레임(예: 2번) 과 동기화된 NAV 서브프레임(예: 1번)의 인증 정보(2001)(예: 전자 서명)를 생성할 수 있다. 장치(2500)는 인증 정보(2001)를 짝수 번째 CLS 서브프레임의 인증용 데이터 파트(예: 6번)에 포함시킬 수 있다.
장치(2500)는 홀수 번째 CLS 서브프레임(예: 3번)의 데이터 파트(예: 1번 내지 5번) 및 이전 CLS 서브프레임(예: 2번)의 데이터 파트(예: 1번 내지 5번)를 결합(concatenation)하여 인증 정보(2003)(예: 전자 서명)를 생성할 수 있다. 장치(2500)는 인증 정보(2003)를 홀수 번째 CLS 서브프레임의 인증용 데이터 파트(예: 6번)에 포함시킬 수 있다.
장치(2500)는 CLS 서브프레임(예: 1번)의 데이터 파트(예: 1번 내지 5번)에 대한 인증 정보를 생성하여 CLS 서브프레임(예: 1번)의 인증용 데이터 파트(예: 6번)에 포함시킬 수 있다.
장치(2500)는 인증 정보들(예: 인증 정보(2001), 인증 정보(2003))이 포함된 CLS 메시지의 전송을 수행할 수 있다.
장치(2500)가 인증 방법2를 사용해 인증을 수행할 경우, 1024비트의 키로 생성된 인증 정보가 CLS 서브프레임의 인증용 데이터 파트에 포함될 수 있지만, 인증 시간이 인증 방법 1보다 늘어날 수 있다.
도 21 및 도 22는 일 실시예에 따른 인증 방법 3을 나타낸 도면이다.
도 21은 일 실시예에 따른 인증 방법 3 중에서 결합(concatenation)의 실시예를 나타내고, 도 22는 일 실시예에 따른 인증 방법 3 중에서 배타적 논리합(exclusive-or) 연산의 실시예를 나타낸다.
도 21 및 도 22를 참조하면, 일 실시예에 따르면, 장치(예: 도 25의 장치(2500))는 인증 방법 3을 수행할 수 있다.
장치(2500)는 홀수 번째 CLS 서브프레임(예: 1번)의 데이터 파트(예: 1번 내지 5번)에 대한 인증 정보(2101)(예: 전자 서명)를 생성할 수 있다. 장치(2500)는 인증 정보(2101)를 홀수 번째 CLS 서브프레임의 인증용 데이터 파트(예: 6번)에 포함시킬 수 있다.
장치(2500)는 짝수 번째 CLS 서브프레임(예: 2번)의 데이터 파트(예: 1번 내지 5번) 및 해당 짝수 번째 CLS 서브프레임과 동기화된 NAV 서브프레임(예: 1번)을 결합하여 인증 정보(2103)(예: 전자 서명)를 생성할 수 있다. 장치(2500)는 인증 정보(2103)를 짝수 번째 CLS 서브프레임(예: 2번)의 인증용 데이터 파트(예: 6번)에 포함시킬 수 있다.
장치(2500)는 짝수 번째 CLS 서브프레임의 데이터 파트(예: 1번 내지 5번) 및 해당 짝수 번째 CLS 서브프레임과 동기화된 NAV 서브프레임(예: 1번)을 배타적 논리합(exclusive-or)하여 인증 정보(2203)(예: 전자 서명)를 생성할 수 있다. 장치(2500)는 인증 정보(2203)를 짝수 번째 CLS 서브프레임(예: 2번)의 인증용 데이터 파트(예: 6번)에 포함시킬 수 있다.
도 22와 같이 장치(2500)가 메시지들을 배타적 논리합하여 인증 정보(2203)를 생성하는 경우에는, 길이가 짧은 메시지에 비트열(예: 1000...)을 패딩(padding)하여 메시지의 길이를 맞출 수 있다.
장치(2500)는 인증 정보들(예: 인증 정보(2101) 및 인증 정보(2103) 또는 인증 정보(2203))이 포함된 CLS 메시지를 전송할 수 있다. 예를 들어, 장치(2500)는 인증 정보(2101) 및 인증 정보(2103)가 포함된 CLS 메시지를 전송하거나 인증 정보(2101) 및 인증 정보(2203)가 포함된 CLS 메시지를 전송할 수 있다.
장치(2500)가 인증 방법 3을 사용해 인증을 수행하는 경우, 메시지를 결합 또는 배타적 논리합 연산하여 인증 정보(2103, 2203)를 생성하기 때문에 인증 정보의 길이가 늘어나지 않으며, 인증 주기도 늘어나지 않을 수 있다. 그러나, CLS를 사용하지 않는 장치(2500)라면 NAV만을 수신하여 인증을 수행할 수 없고, 인증을 위해서는 CLS까지 저장해 두어야 할 수 있다.
도 23은 일 실시예에 따른 공개키 테이블을 나타낸 도면이다.
도 23을 참조하면, 일 실시예에 따르면, 전자 서명을 위해서 사용되는 개인키(private key)는 위성만이 비밀리에 보유할 수 있으며, 개인키에 대응되는 공개키(public key)는 수신자들에게 공개적으로 공유되어야 할 수 있다.
각 공개키 식별자(public key ID)에 해당하는 공개키는 테이블 형태로 저장될 수 있다. 표 3과 같이 공개키 식별자(public key ID)는 5비트이므로, 테이블은 최대 25가지의 공개키를 저장할 수 있다. 인증 방법의 사용자(예: 장치(2500))가 전자 서명 알고리즘(digital signature algorithm)(예: ECDSA(elliptic curve digital signature algorithm), EC-KCDSA(elliptic curve-korean certificate based digital signature algorithm))과 키 길이(key length)에 따라 다른 테이블을 사용하고자 한다면, 표 3과 같이 전자 서명 알고리즘 식별자(signature algorithm ID)가 1비트, 키 길이가 2비트이므로, 25개의 공개키를 가지는 테이블 23개가 사용될 수도 있다.
인증 방법의 안전성을 높이기 위해 NAV와 CLS의 인증에 서로 다른 암호 기술이 이용되는 경우, NAV와 CLS 각각에 대한 공개키 테이블이 사용되므로 23 * 2 개의 테이블이 사용될 수 있다.
메시지에 사용된 공개키가 N개의 위성마다 다른 테이블을 사용해 저장된다면, 각 위성마다 최대 23 * 2개의 테이블을 사용할 수 있으므로 최대 23 * 2 * N개의 테이블이 사용될 수 있다. 공개키의 갱신 주기와 위성의 수명에 따라 공개키 테이블의 수는 1N 내지 23 * 2 * N 개로 조절될 수 있다.
장치(2500)는 인증 방법(예: 인증 방법 1 내지 3)을 사용할 때 해시 함수와 전자 서명 알고리즘 및 키의 길이를 아래와 같이 선택적으로 사용할 수 있다.
(1) 해시 함수: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256, SHA3-224, SHA3-256, SHA3-384, SHA3-512, LSH-224, LSH-256, LSH-384, LSH-512, LSH-512-224, LSH-512-256
(2) 전자 서명 알고리즘 ECDSA, EC-KCDSA
(3) 키 길이: 224, 256, 384, 512
도 24는 일 실시예에 따른 위성 항법 시스템(satellite navigation system) 기반 인증 방법을 설명하기 위한 흐름도이다. 동작 2410 내지 2450은 도 16내지 도 24를 참조하여 설명한 장치(예: 도 25의 장치(2500))가 사용하는 인증 방법과 실질적으로 동일할 수 있다.
동작 2410에서, 장치(2500)는 제1 메시지(예: 위성 항법 메시지, 항법 메시지(NAV))에 대한 인증을 수행하는 제1 인증 정보(예: 도 19의 인증 정보(1905))를 생성할 수 있다.
동작 2430에서, 장치(2500)는 제2 메시지(예: 정밀 보정 메시지(CLS))에 대한 인증을 수행하는 제2 인증 정보(예: 도 19의 인증 정보(1901))를 생성할 수 있다.
동작 2450에서, 장치(2500)는 제1 인증 정보 및 제2 인증 정보를 제2 메시지에 포함시키고 전송할 수 있다.
동작 2410 내지 동작 2450은 순차적으로 수행될 수 있지만, 이에 한정되는 것은 아니다. 예를 들어, 둘 이상의 동작들이 병렬적으로 수행될 수도 있다.
도 25는 일 실시예에 따른 장치의 개략적인 블록도이다.
도 25를 참조하면, 일 실시예에 따르면, 장치(2500)는 위성 항법 시스템 기반 인증 방법을 수행하는 장치일 수 있다. 장치(2500)는 도 16 내지 도 24를 참조하여 설명한 위성 항법 시스템 기반 인증 방법을 수행할 수 있다. 장치(2500)는 위성을 통해 통신을 수행하는 송신자(예: 송신 장치), 수신자(예: 수신 장치), 및/또는 위성에 구현될 수 있다. 장치(2500)는 메모리(2510) 및 프로세서(2530)를 포함할 수 있다.
메모리(2510)는 프로세서(2530)에 의해 실행가능한 인스트럭션(instruction)들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(2530)의 동작 및/또는 프로세서(2530)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
메모리(2510)는 하나 이상의 컴퓨터 판독 가능한 저장 매체(computer-readable storage media)를 포함할 수 있다. 메모리(2510)는 비휘발성 저장 소자들(예: 자기 하드 디스크(magnetic hard disc), 광 디스크(optical disc), 플로피 디스크(floppy disc), 플래시 메모리(flash memory), EPROM(electrically programmable memories), EEPROM(electrically erasable and programmable))을 포함할 수 있다.
메모리(2510)는 비일시적 매체(non-transitory media)일 수 있다. "비일시적"이라는 용어는 저장 매체가 반송파 또는 전파된 신호로 구현되지 않음을 나타낼 수 있다. 단, “비일시적”이라는 용어는 메모리(2510)가 움직일 수 없는 것으로 해석되어서는 안 된다.
프로세서(2530)는 메모리(2510)에 저장된 데이터를 처리할 수 있다. 프로세서(2530)는 메모리(2510)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(2530)에 의해 유발된 인스트럭션들을 실행할 수 있다.
프로세서(2530)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(2530)에 의해 수행되는 동작은 도 16내지 도 24를 참조하여 설명한 일 실시예에 따른 위성 항법 시스템 기반 인증 방법과 실질적으로 동일할 수 있다. 이에, 상세한 설명은 생략하도록 한다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 저장될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (16)

  1. 위성 항법 시스템(satellite navigation system) 기반 인증 방법에 있어서,
    제1 메시지에 대한 인증을 수행하는 제1 인증 정보를 생성하는 동작;
    제2 메시지에 대한 인증을 수행하는 제2 인증 정보를 생성하는 동작; 및
    상기 제1 인증 정보 및 상기 제2 인증 정보를 상기 제2 메시지에 포함시켜 상기 제2 메시지를 전송하는 동작
    을 포함하는, 인증 방법.
  2. 제1항에 있어서,
    상기 제1 메시지는,
    저속으로 전송되는 메시지이고,
    상기 제2 메시지는,
    고속으로 전송되는 메시지인,
    인증 방법.
  3. 제2항에 있어서,
    상기 제1 메시지는,
    항법 메시지(navigation message)를 포함하고,
    상기 제2 메시지는,
    정밀 보정 메시지(centimeter level service)를 포함하는,
    인증 방법.
  4. 제1항에 있어서,
    상기 제1 메시지의 서브프레임(subframe)은,
    상기 제2 메시지의 서브프레임과의 동기화를 위한 필드를 포함하고,
    상기 제2 메시지의 서브프레임은,
    상기 제1 인증 정보 및 상기 제2 인증 정보를 포함하는 데이터 파트를 포함하는,
    인증 방법.
  5. 제1항에 있어서,
    상기 제1 인증 정보는,
    상기 제1 메시지에 대한 전자 서명(digital signature)
    을 포함하고,
    상기 제2 인증 정보는,
    상기 제2 메시지에 대한 전자 서명
    을 포함하는,
    인증 방법.
  6. 제4항에 있어서,
    상기 제2 메시지에 포함된 서브프레임들 중에서 홀수 번째 서브프레임은,
    상기 홀수 번째 서브프레임에 대한 인증 정보
    를 포함하고,
    상기 제2 메시지에 포함된 서브프레임들 중에서 짝수 번째 서브프레임은,
    상기 제1 메시지에 포함된 서브프레임들 중에서 상기 짝수 번째 서브프레임에 대응하는 서브프레임에 대한 인증 정보와 상기 짝수 번째 서브프레임에 대한 인증 정보의 결합(concatenation)
    을 포함하는,
    인증 방법.
  7. 제4항에 있어서,
    상기 제2 메시지에 포함된 서브프레임들 중에서 짝수 번째 서브프레임은,
    상기 제1 메시지에 포함된 서브프레임들 중에서 상기 짝수 번째 서브프레임에 대응하는 서브프레임에 대한 인증 정보를 포함하고,
    상기 제2 메시지에 포함된 서브프레임들 중에서 홀수 번째 서브프레임은,
    상기 짝수 번째 서브프레임 및 상기 홀수 번째 서브프레임의 결합(concatenation)에 대한 인증 정보
    를 포함하는,
    인증 방법.
  8. 제4항에 있어서,
    상기 제2 메시지에 포함된 서브프레임들 중에서 홀수 번째 서브프레임은,
    상기 홀수 번째 서브프레임에 대한 인증 정보를 포함하고,
    상기 제2 메시지에 포함된 서브프레임들 중에서 짝수 번째 서브프레임은,
    상기 짝수 번째 서브프레임 및 상기 제1 메시지에 포함된 서브프레임들 중에서 상기 짝수 번째 서브프레임에 대응하는 서브프레임 결합(concatenation) 또는 배타적 논리합(exclusive-or)에 대한 인증 정보
    를 포함하는,
    인증 방법.
  9. 위성 항법 시스템(satellite navigation system) 기반 인증 방법을 수행하는 장치에 있어서,
    인스트럭션들을 포함하는 메모리; 및
    상기 메모리와 전기적으로 연결되고, 상기 인스트럭션들을 실행하기 위한 프로세서
    를 포함하고,
    상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는 복수의 동작들을 수행하고,
    상기 복수의 동작들은,
    제1 메시지에 대한 인증을 수행하는 제1 인증 정보를 생성하는 동작;
    제2 메시지에 대한 인증을 수행하는 제2 인증 정보를 생성하는 동작; 및
    상기 제1 인증 정보 및 상기 제2 인증 정보를 상기 제2 메시지에 포함시켜 상기 제2 메시지를 전송하는 동작
    을 포함하는, 장치.
  10. 제9항에 있어서,
    상기 제1 메시지는,
    저속으로 전송되는 메시지이고,
    상기 제2 메시지는,
    고속으로 전송되는 메시지인,
    장치.
  11. 제10항에 있어서,
    상기 제1 메시지는,
    항법 메시지(navigation message)를 포함하고,
    상기 제2 메시지는,
    정밀 보정 메시지(centimeter level service)를 포함하는,
    장치.
  12. 제9항에 있어서,
    상기 제1 메시지의 서브프레임(subframe)은,
    상기 제2 메시지의 서브프레임과의 동기화를 위한 필드를 포함하고,
    상기 제2 메시지의 서브프레임은,
    상기 제1 인증 정보 및 상기 제2 인증 정보를 포함하는 데이터 파트를 포함하는,
    장치.
  13. 제9항에 있어서,
    상기 제1 인증 정보는,
    상기 제1 메시지에 대한 전자 서명(digital signature)
    을 포함하고,
    상기 제2 인증 정보는,
    상기 제2 메시지에 대한 전자 서명
    을 포함하는,
    장치.
  14. 제12항에 있어서,
    상기 제2 메시지에 포함된 서브프레임들 중에서 홀수 번째 서브프레임은,
    상기 홀수 번째 서브프레임에 대한 인증 정보
    를 포함하고,
    상기 제2 메시지에 포함된 서브프레임들 중에서 짝수 번째 서브프레임은,
    상기 제1 메시지에 포함된 서브프레임들 중에서 상기 짝수 번째 서브프레임에 대응하는 서브프레임에 대한 인증 정보와 상기 짝수 번째 서브프레임에 대한 인증 정보의 결합(concatenation)
    을 포함하는,
    장치.
  15. 제12항에 있어서,
    상기 제2 메시지에 포함된 서브프레임들 중에서 짝수 번째 서브프레임은,
    상기 제1 메시지에 포함된 서브프레임들 중에서 상기 짝수 번째 서브프레임에 대응하는 서브프레임에 대한 인증 정보를 포함하고,
    상기 제2 메시지에 포함된 서브프레임들 중에서 홀수 번째 서브프레임은,
    상기 짝수 번째 서브프레임 및 상기 홀수 번째 서브프레임의 결합(concatenation)에 대한 인증 정보
    를 포함하는,
    장치.
  16. 제12항에 있어서,
    상기 제2 메시지에 포함된 서브프레임들 중에서 홀수 번째 서브프레임은,
    상기 홀수 번째 서브프레임에 대한 인증 정보를 포함하고,
    상기 제2 메시지에 포함된 서브프레임들 중에서 짝수 번째 서브프레임은,
    상기 짝수 번째 서브프레임 및 상기 제1 메시지에 포함된 서브프레임들 중에서 상기 짝수 번째 서브프레임에 대응하는 서브프레임 결합(concatenation) 또는 배타적 논리합(exclusive-or)에 대한 인증 정보
    를 포함하는,
    장치.
KR1020230035964A 2022-04-04 2023-03-20 위성 항법 시스템 기반 메시지 인증 방법 및 이를 수행하는 장치 KR20230143103A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/295,107 US20230318849A1 (en) 2022-04-04 2023-04-03 Authentication method and apparatus for satellite navigation message and correction messages
DE102023108411.9A DE102023108411A1 (de) 2022-04-04 2023-04-03 Verfahren und einrichtung zum authentifizieren von satellitennavigationsnachrichten und korrekturnachrichten

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220041773 2022-04-04
KR1020220041773 2022-04-04

Publications (1)

Publication Number Publication Date
KR20230143103A true KR20230143103A (ko) 2023-10-11

Family

ID=88295138

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230035964A KR20230143103A (ko) 2022-04-04 2023-03-20 위성 항법 시스템 기반 메시지 인증 방법 및 이를 수행하는 장치

Country Status (1)

Country Link
KR (1) KR20230143103A (ko)

Similar Documents

Publication Publication Date Title
CN106170716B (zh) 对无线电导航信号的认证进行优化的方法和系统
Fernández‐Hernández et al. A navigation message authentication proposal for the Galileo open service
ES2854281T3 (es) Método y sistema para la autenticación de radionavegación
US10536269B2 (en) Method and system for authentication and preserving the integrity of communication, secured by secret sharing
US9537657B1 (en) Multipart authenticated encryption
AU2014289402B2 (en) Digitally-signed satellite radio-navigation signals
CN104809407B (zh) 云存储前端数据加解密及校验方法和系统
Fernández-Hernández et al. Design drivers, solutions and robustness assessment of navigation message authentication for the galileo open service
CN105024801B (zh) 一种量子加密通信方法
US11212082B2 (en) Ciphertext based quorum cryptosystem
CN110167023B (zh) 一种导航信号加密认证方法
US11985112B2 (en) Securing data in motion by zero knowledge protocol
CN109617693A (zh) 基于椭圆曲线算法的北斗二代系统抗欺骗方法
CN104836784A (zh) 一种信息处理方法、客户端和服务器
Curran et al. Securing the open-service: A candidate navigation message authentication scheme for galileo E1 OS
O’Driscoll What is navigation message authentication
WO2020132978A1 (zh) 加密通信方法、装置、系统及计算机存储介质
Sarto et al. Implementation and testing of OSNMA for Galileo
CN112948867A (zh) 加密报文的生成与解密方法、装置及电子设备
Qiu et al. Geoencryption using loran
CN111901100B (zh) 基于对称密钥池的数据链抗量子计算通信方法及系统
KR20230143103A (ko) 위성 항법 시스템 기반 메시지 인증 방법 및 이를 수행하는 장치
US20230318849A1 (en) Authentication method and apparatus for satellite navigation message and correction messages
Laurenti et al. Optimal Compromise among security, availability and resources in the design of sequences for GNSS spreading code authentication
CN112671544B (zh) 电文认证密钥管理系统及方法