AEGLOSLAB 무인항공과 첨단항공모빌리티

제9부 규격·프로토콜·인터페이스

9.19 보안 프로토콜·암호 규격: 링크 암호·키 관리·FIPS 140-3·KCMVP·DO-326A/356A

9.19.1 이 장에서 배우는 것 / 선수 지식 / 특히 중요한 독자

9.5은 MAVLink 서명이 무엇을 보호하고 무엇을 보호하지 못하는지 보였고, 3.18와 8.11은 태그 길이와 카운터 수명이 링크 비용과 위조 확률을 정하는 과정을 계산했다. 이 장은 그 계산이 근거로 삼는 아래 층의 문서, 곧 암호 규격이 정하는 입력·한도·수명과 구현이 규격에 맞는다고 인정하는 검증 제도를 읽는다. 군용 암호 체계와 국가 안보용 암호는 이 장의 범위 밖이다(제10~12부·9.2·9.3 지도).

배우는 것:

  • 인증 암호와 MAC — AEAD 인터페이스(RFC 5116)와 AES-GCM·ChaCha20-Poly1305·HMAC의 nonce·태그·호출 한도.
  • 키 관리 — 보안 강도 표, 암호 기간, 키 유도, 난수 생성기 규격.
  • 전송 프로토콜 — TLS 1.3·DTLS 1.3·IKEv2/ESP의 현행 판, 패킷 오버헤드, 핸드셰이크 왕복 수.
  • 양자내성 암호 — FIPS 203·204·205의 크기와 NIST IR 8547 확정본(2026-10)의 전환 일정.
  • 모듈 검증 제도 — FIPS 140-3·CMVP·CAVP와 한국 KCMVP의 구조와 한계.
  • 세 가지 계산 — GCM 임의 IV 충돌과 키 교체 주기, 태그 길이와 위조 수락 확률, 양자내성 객체와 저속 링크.

선수 지식: 3.18.3(링크 보안의 비용), 8.11.7(태그 길이), 9.1.2·9.1.3(규격의 층·판 관리), 9.5.6·9.5.8(MAVLink 서명), 9.12.9.3(Remote ID 인증), 9.14.3.6(UTM 인증)을 읽었다고 가정한다. 펌웨어 서명과 갱신은 8.13, 하이재킹 대응은 8.16, 노획 시 키 제로화는 8.17이 다룬다.

특히 중요한 독자: 엔지니어는 9.19.3·9.19.5·9.19.9~9.19.11을, 보안·인증 담당자는 9.19.4·9.19.7·9.19.8·9.19.16을, 정책 담당자는 9.19.6·9.19.7·9.19.15를, 사업 담당자는 9.19.12·9.19.13을 먼저 읽는다.

기준 시점과 정직성. 2026년 11월 기준이며, 아래 문서는 2026-11-03에 내려받아 읽었다. 원문을 읽은 것: NIST SP 800-38D(2007-11)의 5.2·8·9절과 부록 A~D, SP 800-57 Part 1 Rev. 5(2020-05)의 5.3절·표 1·표 2와 Rev. 6 초기 공개 초안(2025-12-05)의 표 1·표 6, SP 800-108 Rev. 1(2022-08, 2024-02 갱신 포함)의 4절, SP 800-90A Rev. 1(2015-06)의 DRBG 정의 표, SP 800-90B(2018-01)·90C(2025-09)의 개요, FIPS 198-1(2008-07), SP 800-107 Rev. 1(2012-08)의 5.3.3절, SP 800-224 초기 공개 초안(2024-06)의 요구 R7·R8, FIPS 140-3(2019-03-22) 전문과 폐기된 FIPS 140-2의 수준 요약, FIPS 203·204·205(2024-08-13)의 매개변수·크기 표와 NIST가 공개한 정오 목록, NIST IR 8547의 초안(2024-11-12)과 확정본(2026-10), CSRC의 CMVP·CAVP·FIPS 140-3 안내 쪽, RFC 5116·8439·2104·4106·7296·9370·9846·9147·9853·9794·9954·10024·8452·8032·7748, 한국인터넷진흥원(KISA) 암호이용활성화 사이트의 암호모듈검증 개요·시험·검증절차·검증대상 암호알고리즘과 국산 암호기술·양자내성암호 안내, FAA AC 119-1A(2023-09-28)의 10.2절. 읽지 못한 것: ISO/IEC 19790:2012·24759:2017과 KS X ISO/IEC 19790·24759:2015(유료), FIPS 140-3의 수준별 세부 요구, SP 800-140 계열과 구현 지침, 국가정보원의 암호모듈 시험 및 검증지침, KS X 1213-1·3246 같은 한국 표준 본문(KISA 목록의 이름만 확인), RTCA DO-326A·DO-356A·DO-355와 EUROCAE ED-202A·ED-203A·ED-204(유료), EASA AMC 20-42(8.11이 읽은 범위만 인용), SP 800-38D의 개정 초안(공개 여부를 확인하지 못함), SP 800-224 최종판, HQC·FN-DSA 표준(작성 중). 표시: 미검증 (확인 필요), 2차 출처 (2차 출처), 이 책의 계산 (계산).

9.19.2 개념·직관 — 암호 규격의 세 층과 검증 제도

암호 규격 문서는 세 층으로 나뉜다. 알고리즘 규격은 AES-GCM·HMAC·ML-KEM 같은 함수의 입력과 출력, 길이, 호출 한도를 정한다. 프로토콜·키 관리 규격은 그 함수를 조합해 핸드셰이크·레코드·키 유도·키 수명·난수 생성을 정한다. 적용 규칙은 감항 보안이나 운용 승인처럼 어떤 위협에 어떤 보호가 필요한지를 정하되, 이 장이 읽은 공개 문서에서는 알고리즘을 직접 지정한 조항을 찾지 못했다. 그림 1은 세 층과 두 검증 제도의 관계를 보인다.

적용 규칙 감항 보안 DO-326A·356A 운용 승인 SORA OSO 6 UTM 접근 통제 OAuth·JWT 프로토콜·키 관리 규격 TLS·DTLS 1.3 · IKEv2·ESP SP 800-57 · 108 · 90 MAVLink 서명(선택) 알고리즘 규격 AES-GCM · ChaCha20-Poly1305 · HMAC ML-KEM · ML-DSA · SLH-DSA ARIA · LEA · SEED · HIGHT 아래 층의 규격을 인용해 요구를 충족 프로토콜이 알고리즘 호출을 조합 검증 제도 모듈 검증 FIPS 140-3 KCMVP 알고리즘 검증 CAVP KCMVP 적합성 선행
암호 규격의 세 층과 검증 제도. 위 층의 요구는 아래 층의 규격을 인용해 충족한다. 알고리즘 검증(CAVP, 한국은 KCMVP의 구현 적합성 시험)은 모듈 검증(FIPS 140-3, KCMVP)의 선행 조건이다. 검증은 구현이 규격대로 계산하고 모듈이 요구 구조를 갖췄는지를 확인하며, nonce 유일성이나 키 교체 주기 같은 사용 방식까지 보증하지는 않는다(FIPS 140-3 13항).

검증 제도는 두 단계이다. 알고리즘 검증(미국 CAVP, 한국은 KCMVP 제출물의 구현 적합성 결과)은 구현이 규격대로 계산하는지를 시험 벡터로 확인한다. 모듈 검증(FIPS 140-3, KCMVP)은 그 구현을 포함하는 모듈이 경계·역할·자가시험·키 제로화 같은 구조 요구를 갖췄는지를 확인한다. 둘 다 알고리즘이 안전한가를 새로 평가하지 않고, 사용 방식이 맞는가도 보증하지 않는다. FIPS 140-3 자체가 적합성은 모듈이 안전하다는 보증에 충분하지 않다고 적는다(공고문 13항).

세 축에서의 위치는 다르다. 민간 UAS는 TLS·IPsec 같은 상용 표준과 MAVLink 서명 같은 오픈 프로토콜을 함께 사용하며, 모듈 검증은 조달 제도(미국 연방, 한국 국가·공공망 도입)에서 의무가 생긴다. AAM의 인증 범주에서는 감항 보안 절차가 보호 요구를 정한다(8.11). 군용 암호 체계는 이 장의 범위 밖이다.

9.19.3 인증 암호와 메시지 인증 코드

9.19.3.1 인터페이스와 알고리즘

RFC 5116은 AEAD를 키·nonce·평문·연관 데이터를 받아 암호문(태그 포함)을 출력하는 함수로 정의한다. 알고리즘 규격은 $K_{\mathrm{LEN}}$·$P_{\mathrm{MAX}}$·$A_{\mathrm{MAX}}$·$N_{\mathrm{MIN}}$·$N_{\mathrm{MAX}}$·$C_{\mathrm{MAX}}$를 반드시 밝혀야 하며, 평문과 암호문의 길이 관계는 태그 길이 같은 외부 매개변수에 의존해서는 안 된다(4절). 그래서 태그 길이가 다른 변형은 별도 알고리즘으로 등록된다(RFC 4106은 ICV 8·12·16 B에 ESP 변환 번호 18·19·20을 따로 부여한다).

알고리즘키nonce태그호출당 평문 최대근거
AES-GCM16·32 B12 B(96비트 권고)16 B 기본, NIST는 128·120·112·104·96비트와 특수 용도 64·32비트$2^{36}-31$ BSP 800-38D 5.2.1, RFC 5116 5.1·5.2
AES-CCM16 B12 B16 B$2^{24}-1$ BRFC 5116 5.3
ChaCha20-Poly130532 B12 B16 B, 절단 금지274,877,906,880 BRFC 8439 2.8·4
HMAC-SHA-256임의없음32 B, 절단 가능해시의 한도FIPS 198-1, RFC 2104

RFC 8439는 IRTF가 발행한 정보 문서(2018-06)이며 TLS 1.3 문서가 ChaCha20-Poly1305 암호군을 구현하도록 권고한다(RFC 9846 9.1절: AES-128-GCM은 필수, AES-256-GCM과 ChaCha20-Poly1305는 권고). RFC 8452는 nonce가 반복되어도 같은 평문의 암호문이 같아지는 것 외에는 손실이 없는 nonce 오용 내성 AEAD인 AES-GCM-SIV를 정의하며, nonce를 임의로 만들기를 권고한다(9절).

9.19.3.2 GCM의 IV 규칙과 호출 한도

SP 800-38D는 IV를 한 키에서 호출마다 유일해야 하는 nonce로 정의하고 96비트를 권고한다(5.2.1.1). IV를 만드는 틀은 둘이며 한 키에는 하나만 사용한다(8.2). 결정론적 구성은 장치를 식별하는 고정 필드와 호출마다 증가하는 호출 필드를 이어 붙이며, 96비트에서는 앞 32비트를 고정 필드, 뒤 64비트를 호출 필드로 하기를 권고한다(8.2.1). RBG 기반 구성은 승인된 난수 생성기가 낸 96비트 이상의 임의 필드를 사용한다(8.2.2). 호출 한도는 구성에 따라 다르다(8.3). 임의 IV나 96비트가 아닌 IV를 사용하면 한 키의 호출 총수는 $2^{32}$를 넘지 않아야 한다. 96비트 결정론적 IV만 사용하면 이 한도 대신 호출 필드가 $s$비트일 때 고정 필드 하나당 $2^{s}$회가 한도이다.

같은 키로 IV를 두 번 사용하면 해시 부분키가 노출되어 위조가 쉬워지고 인증 보장이 사실상 사라진다(부록 A). 실패한 검증 시도는 키마다 감시·제한해야 하고(부록 B), 재전송은 GCM이 막지 않으므로 순서 번호나 타임스탬프를 연관 데이터에 넣어야 한다(부록 D). 검증을 받는 구현은 GCM을 FIPS 140 모듈 안에서만 구현해야 하며 모듈 경계 안의 IV 생성부가 8.2의 구성을 따라야 한다. 그 밖의 구현은 이 요구를 권고로 읽을 수 있다(9절 서두). 전원이 끊겨도 IV는 반복되면 안 되므로 호출 필드를 비휘발 메모리에 앞서 저장하는 설계를 예로 든다(9.1). 배터리를 뽑아 끄는 UAS에서 이 요구는 실제 설계 항목이며 9.5.8.2의 PX4 타임스탬프 사례와 같은 문제이다.

실제 프로토콜의 nonce는 결정론적 구성이다. RFC 4106의 ESP는 키 유도 자료의 4 B 솔트와 8 B IV를 이어 12 B nonce를 만들고(3.1·4·8.1절), TLS 1.3은 64비트 순서 번호를 키 유도로 얻은 IV와 XOR한다(RFC 9846 5.3절). NIST는 2024-03-05에 SP 800-38D를 개정하기로 결정했고 계획에는 96비트 미만 태그 지원 제거와 TLS 1.3의 GCM IV 구성 승인 명확화가 들어 있다(CSRC 공지). 개정 초안은 찾지 못했다 (확인 필요).

9.19.3.3 태그 길이 — 규격마다 다른 하한

문서대상태그 길이 규칙
SP 800-38D 5.2.1.2GCM128·120·112·104·96비트, 특수 용도에 64·32비트. 한 키에는 길이 하나
SP 800-38D 부록 CGCM 32·64비트32비트: 패킷(암호문+연관 데이터) 32 B 이하는 인증 복호화 $2^{22}$회, 1,024 B 이하는 $2^{11}$회. 64비트: $2^{15}$ B 이하는 $2^{32}$회, $2^{25}$ B 이하는 $2^{17}$회. 실패 패킷은 응답 없이 폐기
SP 800-38D 개정 계획GCM96비트 미만 태그 지원 제거(초안 미확인)
RFC 4106 6절ESP의 GCMICV 16 B 필수, 12·8 B 선택, 그 밖의 길이 금지
RFC 8439 4절ChaCha20-Poly1305전체 16 B만, 절단 금지
RFC 9147 4.5.3절DTLS 1.3AES-CCM-8은 추가 방어 없이 사용 금지
RFC 2104 5절HMAC해시 출력의 절반 이상이고 80비트 이상 권고
SP 800-107 Rev. 1 5.3.3절HMAC32비트 이상(철회 계획, 2022-12 공지)
SP 800-224 초안 R7·R8HMAC32비트 이상, 64비트 미만은 위험 분석 뒤, 키마다 실패 검증 한도 설정(FIPS 198-1 철회·이관 계획, 최종판 미확인)
9.5.6.1MAVLink 2 서명SHA-256 앞 48비트, HMAC이 아님

이 표에서 읽을 것은 둘이다. 첫째, 하한은 용도 가정을 반영한다. 32비트는 음성·영상처럼 패킷 하나가 위조되어도 전체 의미가 바뀌지 않는 용도를 위한 것이고(SP 800-38D 부록 C), 80비트 이상과 전체 길이는 명령처럼 메시지 하나의 위조가 사고가 되는 용도에 맞다. 둘째, GCM의 짧은 태그는 시도 한 번의 확률 $2^{-t}$에 더해 메시지 길이에 비례하는 표적 위조 확률 $n/2^{t}$를 가진다. $n$은 GHASH 입력의 128비트 블록 수이고, 성공한 위조마다 해시 부분키가 노출된다(부록 B). 8.11.7의 최소 태그 길이는 무작위 위조만 계산한 하한이므로 규격이 허용하는 길이와 같은 값이 아니다.

9.19.4 키 관리 규격 — 강도·암호 기간·유도·난수

9.19.4.1 보안 강도

보안 강도는 알고리즘을 공격하는 데 필요한 연산이 $2^{s}$회라는 뜻의 $s$비트 값이다(IR 8547 4.1절). 양자내성 알고리즘은 양자컴퓨터 성능을 예측하기 어려워 비트 대신 범주 1~5로 나타내며, 범주는 AES-128 키 탐색(1)·SHA-256 충돌 탐색(2)·AES-192(3)·SHA3-384 충돌(4)·AES-256(5)에 대응한다(IR 8547 표 1).

강도 [비트]대칭RSA 모듈러스(공개키·서명 크기)ECC 위수 [비트]양자내성(범주)
1123TDEA(2023년 이후 보호 적용 불허)2,048비트(256 B)224~255—
128AES-1283,072비트(384 B)256~383ML-KEM-512(1), ML-DSA-44(2), SLH-DSA-128(1)
192AES-1927,680비트(960 B)384~511ML-KEM-768(3), ML-DSA-65(3), SLH-DSA-192(3)
256AES-25615,360비트(1,920 B)512 이상ML-KEM-1024(5), ML-DSA-87(5), SLH-DSA-256(5)

앞의 네 열은 SP 800-57 Part 1 Rev. 5 표 2(54~55쪽)이고 마지막 열은 IR 8547 표 3·표 5이며, RSA의 바이트 수는 모듈러스 ÷ 8이다(계산). 같은 128비트 강도에서 RSA-3072의 공개키와 서명은 모듈러스만 각 384 B이고 ML-DSA-44는 공개키 1,312 B·서명 2,420 B이다. 표 2는 양자컴퓨터가 실용화되면 비대칭 항목의 강도 추정이 크게 달라진다고 주석을 단다. FIPS 203의 ML-KEM-512·768·1024는 128·192·256비트 강도의 난수 생성기를 요구하며(표 2), IR 8547 표 3의 주석은 승인 난수 생성기의 강도가 192비트 미만이면 ML-DSA-44의 범주가 1로 낮아진다고 적는다.

9.19.4.2 암호 기간

SP 800-57 Part 1 Rev. 5의 표 1은 키 종류별 암호 기간을 권고한다. 대칭 데이터 암호화 키와 대칭 인증 키는 송신 사용 기간(OUP)이 2년 미만이고 수신 사용 기간은 OUP+3년 미만이다. 키 유도 키는 약 1년, 개인 서명 키는 1~3년, 임시 키 합의 키는 키 합의 한 번이다. 이 값은 자릿수 수준의 지침이며 더 길거나 짧은 기간이 정당화될 수 있다(5.3.6절). 같은 문서는 암호 기간을 알고리즘보다 물리·절차·논리 접근 보호가 더 크게 좌우한다고 적고(5.3.1절), 서비스 거부가 최대 관심사이고 재키 과정에 오류 가능성이 크면 짧은 암호 기간이 역효과일 수 있다고 경고한다(5.3.2절). C2 링크의 가용성이 안전과 직결되는 UAS에서 이 경고는 비행 중 교체의 위험을 뜻하므로, 한도를 비행 전 세션 키 교체로 처리하는 설계가 자연스럽다(이 책의 견해, 8.11.7의 24비트 카운터 결론과 같은 방향).

2025-12의 Rev. 6 초기 공개 초안은 같은 표에 정적·임시 캡슐화 키를 추가하고 전송 중 데이터 키는 2년 미만으로 둔다. 알고리즘 승인 상태의 일정은 SP 800-131A로 이관하고 이 문서에서 제외한다(CSRC 안내). 초안이므로 확정판을 확인해야 한다 (확인 필요).

9.19.4.3 키 유도와 난수

SP 800-108 Rev. 1은 키 유도 키에서 여러 키를 만드는 KDF를 의사난수 함수(HMAC·CMAC·KMAC)로 정의한다. 반복 방식은 카운터·피드백·이중 파이프라인이고, 고정 입력은 $\mathrm{Label}\,\Vert\,\mathrm{0x00}\,\Vert\,\mathrm{Context}\,\Vert\,[L]_{2}$이며 카운터 길이 $r$은 32비트 이하이다(4절). Label과 Context가 용도·방향·세션을 구분하므로 한 비밀에서 방향별·세션별 키를 만드는 설계의 규격 근거가 된다. TLS 1.3은 HKDF를 사용하며(RFC 9846 1.3절) HKDF의 NIST 승인은 이 장이 읽지 않았다.

난수는 세 문서가 나눈다. SP 800-90A Rev. 1은 DRBG를 정의하며 해시·HMAC·AES CTR_DRBG는 요청당 최대 $2^{19}$비트, 재시딩 간격 최대 $2^{48}$요청이다(표 2·3). SP 800-90B는 엔트로피원의 평가를, SP 800-90C(2025-09)는 RBG1·RBG2·RBG3·RBGC 구성을 정한다. MCU의 난수원이 이 평가를 받았는지가 GCM의 임의 IV와 ML-KEM 같은 임의성 의존 설계의 전제이다.

9.19.5 전송 프로토콜 — TLS 1.3·DTLS 1.3·IKEv2

9.19.5.1 현행 판

프로토콜현행 기준 문서비고(2026-11 확인)
TLS 1.3RFC 9846(2026-07, 표준 트랙)RFC 8446(2018)을 폐기하고 TLS 1.2 명세(RFC 5246) 등도 폐기. 필수 구현 암호군은 TLS_AES_128_GCM_SHA256(9.1절)
TLS 1.3 PQ/T 하이브리드RFC 10024(2026-08, 표준 트랙), 구조는 RFC 9954(2026-07, 정보)X25519MLKEM768 등 세 그룹, DTLS도 허용 표시
DTLS 1.3RFC 9147(2022-04), RFC 9853(2026-03)9853이 연결 ID의 주소 변경 시 반환 경로 확인(RRC)을 추가하며 9147을 갱신
IKEv2RFC 7296(STD 79, 2014-10)갱신 문서 6건(7427·7670·8247·8983·9370·9827), 9370이 다중 키 교환을 정의
ESP의 AES-GCMRFC 4106(2005-06)ICV 16 B 필수
새 프로토콜의 TLS 요구RFC 9852(2026-07, BCP 195)·RFC 9851제목만 확인: 새 프로토콜은 TLS 1.3 필수, TLS 1.2는 기능 동결

RFC 8446은 2026-07에 RFC 9846으로 대체되었다. 8446을 인용한 기존 문서(요구 사양, 인증 계획, 시험 보고서)는 인용 판을 고정해야 하고(9.1.3), 8446을 지목한 요구를 9846으로 읽는지는 당국·고객과 합의가 필요하다 (확인 필요).

9.19.5.2 패킷 오버헤드와 한도

보호 방식헤더유형·패딩태그(ICV)명시 IV합계 [B]40 B 메시지 대비
TLS 1.3 레코드5116022+55.0 %
DTLS 1.3 최소 머리2116019+47.5 %
DTLS 1.3 16비트 순서 번호·길이 포함5116022+55.0 %
ESP + AES-GCM(터널 모드의 외부 IP 헤더 제외)82~516834~37+85.0 %~+92.5 %
MAVLink 2 서명(비교)——서명 6 + 링크 ID 1 + 타임스탬프 6—13+32.5 %

TLS·DTLS 레코드에는 명시적 nonce가 없다. ESP의 합계는 RFC 4106 7절의 10~13 B(SPI·순서 번호·패딩·패드 길이·다음 헤더)에 IV 8 B와 ICV 16 B를 더한 값이다. TLS 1.3은 AES-GCM이 한 키 집합으로 $2^{24.5}$개(약 2,370만 개)의 전체 크기 레코드까지 보호하도록 하고, 그 전에 키 갱신이나 연결 종료를 요구한다(RFC 9846 5.5절). DTLS 1.3은 인증 실패 레코드를 AES-GCM·ChaCha20-Poly1305에서 키마다 $2^{36}$개까지 허용한다(RFC 9147 4.5.3절).

9.19.5.3 핸드셰이크 왕복과 재전송

프로토콜첫 키 설정왕복GEO 경유(왕복 477.5 ms)재전송 규정
TLS 1.3ClientHello, 서버 비행, 클라이언트 Finished클라이언트가 응용 데이터를 보내기까지 1 RTT477.5 ms신뢰 전송에 의존
TLS 1.3 0-RTT(PSK)첫 비행에 응용 데이터0 RTT. 전방 비밀성과 재전송 방지 보장이 없다(2.3절)0 ms같음
DTLS 1.3같음1 RTT477.5 ms초기 타이머 1,000 ms, 재전송마다 2배, 최소 60 s까지. RTT를 알면 $1.5\times\mathrm{RTT}$(5.8.2절)
IKEv2IKE_SA_INIT와 IKE_AUTH 4개 메시지2 RTT955.0 ms개시자가 재전송 책임(RFC 7296 2.1절)
IKEv2 + RFC 9370추가 키 교환마다 IKE_INTERMEDIATE 1회3 RTT(1회 추가)1,432.4 ms같음

GEO의 왕복 477.5 ms는 3.13.3.2의 천정 한 방향 지연 238.7 ms의 두 배이다(계산, 앙각이 낮으면 더 길다). 이 표의 RTT 수는 전파 지연에만 해당하며 메시지 크기에 따른 전송 시간은 9.19.11이 더한다.

9.19.6 양자내성 암호 — 규격과 전환 일정

9.19.6.1 FIPS 203·204·205의 크기

FIPS 203·204·205는 2024-08-13에 발행되었다. 비교로 X25519 공개값은 32 B(RFC 7748)이고 Ed25519는 공개키 32 B·서명 64 B이다(RFC 8032).

알고리즘(표준)매개변수범주공개키·캡슐화 키 [B]암호문·서명 [B]
ML-KEM(FIPS 203)5121800768
ML-KEM76831,1841,088
ML-KEM102451,5681,568
ML-DSA(FIPS 204)4421,3122,420
ML-DSA6531,9523,309
ML-DSA8752,5924,627
SLH-DSA(FIPS 205)128s1327,856
SLH-DSA128f13217,088
SLH-DSA256f56449,856

출처는 FIPS 203 표 3, FIPS 204 표 2, FIPS 205 표 2이다. SLH-DSA는 s 변형이 서명이 작고 f 변형이 서명이 크며, 한 키 쌍으로 서명할 수 있는 메시지는 $2^{64}$개 이하이다(FIPS 205 표 2 설명, 초당 $10^{10}$개이면 58년 이상). FIPS 203·204에는 NIST가 공개한 정오 목록(2025-11·2026-07 공지)이 있고, 읽은 목록에서 표의 크기를 바꾸는 항목은 없었다.

9.19.6.2 NIST IR 8547 — 초안과 확정본

항목초안(2024-11-12)확정본(2026-10)
RSA·ECDSA·DH 등 112비트2030년 이후 지양(deprecated), 2035년 이후 금지(disallowed)같음
같은 알고리즘의 128비트 이상2035년 이후 금지(지양 단계 없음)112비트 이상 모두 2030년 이후 지양, 2035년 이후 금지
연방 최우선 체계2035년을 주 목표로 서술(NSM-10)행정명령 14412(2026-06-22)·OMB 지침 M-26-15: 키 설정은 2030-12-31, 서명은 2031-12-31까지 양자내성 적용. TLS 1.3 지원은 행정명령 14306·M-26-15에 따라 2030-01-02까지
키 설정ML-KEM만 승인, 대안 선정 예정ML-KEM-768을 기본으로 권고. HQC 선정(FIPS 작성 중)
서명ML-DSA·SLH-DSA·LMS·XMSS, FALCON 유래 FIPS 계획같음. 상태 유지 해시 서명은 소프트웨어·펌웨어 서명에 적합할 수 있다
하이브리드FIPS 140 검증에서 수용같음(SP 800-56C의 일반 합성), 임시 조치로 예상

이 일정은 미국 연방 정보 체계에 적용되는 NIST 지침이다. 항공 당국이 채택했는지, 항공 인증이 어느 판의 알고리즘 목록을 따르는지는 읽은 공개 문서에서 확인하지 못했다 (확인 필요). 그래도 확정본에는 제품 설계에 직접 의미가 있는 두 문장이 있다. 첫째, 키 설정은 지금 수집해 나중에 해독하는 위협(HNDL) 때문에 서명보다 먼저 전환해야 하며, 인증은 해독 가능한 양자컴퓨터가 나올 때 즉시 전환하면 된다(3.1.2·3.1.3절). 둘째, 코드 서명을 검증하는 장치가 출하 뒤 갱신될 수 없고 양자컴퓨터 시대에도 사용될 위험이 있으면 처음부터 양자내성 서명을 요구하도록 설계해야 한다(3.1.1절). 후자는 수명이 긴 장치의 부트로더 서명 검증기(8.13.9)에 해당한다.

9.19.6.3 하이브리드와 한국의 전환 계획

하이브리드는 양자내성 키 교환과 기존 키 교환을 함께 수행해 한쪽만 안전해도 키가 안전하게 하는 구성이다. RFC 9794가 용어를, RFC 9954가 TLS 1.3 구성을, RFC 10024가 X25519MLKEM768·SecP256r1MLKEM768·SecP384r1MLKEM1024 세 그룹을 정의한다. X25519MLKEM768의 클라이언트 키 공유는 1,216 B(1,184+32), 서버는 1,120 B(1,088+32)이고, RFC 9954는 이 크기 때문에 ClientHello가 패킷 하나를 넘을 수 있다고 적는다. IKEv2는 IKE_SA_INIT가 분할을 지원하지 않아 RFC 9370이 큰 키 교환을 IKE_INTERMEDIATE로 옮긴다. IKEv2에서 ML-KEM 단독 사용을 정의한 RFC는 확인하지 못했다 (확인 필요). NIST는 하이브리드를 FIPS 140 검증에서 수용하되 비용·복잡성은 각 응용이 판단하게 한다(IR 8547 3.2절).

한국은 별도 일정을 갖는다. KISA 안내(2026-11-03 열람)는 2023-07 「汎국가 양자내성암호 전환 마스터플랜」, 2025년 「양자내성암호 시범전환 사업」, 2025-01 KpqC 공모전의 4개 알고리즘(NTRU+, SMAUG-T, HAETAE, AIMer) 선정, 2025-09 「汎국가 양자내성 암호체계 전환 종합 추진계획」을 적는다. 같은 사이트의 KCMVP 검증대상 암호알고리즘 표(기준 V3.0)에는 이 알고리즘도 ML-KEM·ML-DSA도 없었다(읽은 표 기준, 최신은 (확인 필요)).

9.19.7 모듈 검증 제도 — FIPS 140-3·CMVP·CAVP와 KCMVP

9.19.7.1 FIPS 140-3의 구조

FIPS 140-3(2019-03-22)은 11쪽 분량의 표준 공고문이며 요구 본문을 직접 포함하지 않는다. 기술 요구는 ISO/IEC 19790:2012(2015년 정오 Cor.1 포함)가, 시험 방법은 ISO/IEC 24759:2017이 정하고, FIPS 140-3은 이를 채택하면서 SP 800-140·140A~140F로 부속서와 시험 절을 수정한다(1~3절). 두 ISO 문서는 유료라서 읽지 못했다. 요구 영역은 열한 가지이다. 암호 모듈 명세, 인터페이스, 역할·서비스·인증, 소프트웨어·펌웨어 보안, 운영 환경, 물리 보안, 비침습 보안, 민감 보안 매개변수(SSP) 관리, 자가시험, 수명 주기 보증, 기타 공격 완화이다(초록). 140-2 대비 주된 변화는 비침습 공격 방호 요구의 도입이다(1절).

보안 수준은 1~4의 네 단계이며 수준이 오를수록 요구가 질적으로 늘어난다(공고문 3항). 140-3의 수준별 세부는 ISO/IEC 19790 본문에 있어 읽지 못했다. 구조를 보이기 위해 폐기된 FIPS 140-2의 요약표(표 1)에서 네 영역을 옮긴다.

영역(FIPS 140-2)수준 1수준 2수준 3수준 4
물리 보안상용 등급 장비잠금 또는 변조 증거덮개·문의 변조 탐지·응답변조 탐지·응답 외피, 환경 보호
운영 환경단일 운영자, 실행 코드참조 보호 프로파일 CC EAL2신뢰 경로 포함 EAL3EAL4
역할·서비스·인증역할·서비스의 논리적 분리역할 기반 또는 신원 기반신원 기반신원 기반
키 관리수동 입력 키는 평문 입출력 가능같음암호화 또는 분할 지식같음

CMVP는 NIST와 캐나다 사이버보안센터의 공동 사업이며 NVLAP 인정을 받은 시험소(CST)가 시험한다(공고문 3항). CAVP는 승인 알고리즘 구현을 블랙박스 시험 체계(ACVTS)로 검증하며 알고리즘 검증은 모듈 검증의 선행 조건이다(CAVP 안내). CMVP는 2020-09-22부터 140-3 검증을 접수했고, 140-3 모듈은 활성 목록에 5년(잠정 검증은 2년) 올라간다. 안내 쪽은 140-2 인증서를 2026-09-21 이후 역사 목록으로 옮긴다고 적으며, 실제 이동은 확인하지 못했다 (확인 필요). 연방 기관에는 암호가 요구되면 검증된 것이어야 한다는 규칙이 적용된다. IR 8547 확정본은 행정명령 14412에 따라 CMVP가 양자내성 모듈의 검증을 앞당기도록 절차를 개정 중이라고 적는다.

9.19.7.2 KCMVP

KCMVP는 국가정보원이 검증기관으로 운영하는 제도이며, KISA 안내는 목적을 국가·공공망에서 소통·저장되는 비밀이 아닌 업무자료를 보호하려고 도입하는 암호모듈의 안전성과 구현 적합성을 검증하는 것이라 적는다. 근거는 전자정부법 제56조와 시행령 제69조, 사이버안보 업무규정 제9조, 국가정보원의 암호모듈 시험 및 검증지침이며, 시험·검증 기준은 KS X ISO/IEC 19790:2015·24759:2015이다. 시험기관은 공공 둘(국가보안기술연구소, 한국인터넷진흥원)과 민간 셋(한국시스템보증, 한국정보보안기술원, 한국정보통신기술협회)이다. 절차는 신청기관이 보안수준을 정해 제출물(설계서·시험서·형상 관리 문서·소스코드·알고리즘 구현 적합성 결과, 해당 시 엔트로피 평가 결과서)을 시험기관에 내고, 시험기관이 결과를 국가정보원에 보고하며, 암호모듈 검증위원회가 심의·의결해 검증필 암호모듈 목록에 올리는 여섯 단계이다. 효력이 만료되거나 형상이 바뀌면 재검증한다.

도입 기준은 보안적합성 검증 제도와 연결된다(8.13.11). 안내는 검증필 암호모듈 탑재가 필요한 제품 유형의 예로 DB 암호화·통합인증·문서 암호화·가상사설망·보안 USB와 암호가 주 기능인 제품(메일·구간·디스크·파일 암호화, 하드웨어 구간 보안 토큰)을 나열한다. 드론이나 C2 링크 장비가 대상인지는 이 안내로 알 수 없다 (확인 필요).

검증대상 암호알고리즘(기준 V3.0)은 표로 공개된다. 블록암호는 ARIA(KS X 1213-1, 128비트 블록, 키 128·192·256비트)·SEED·LEA(KS X 3246, 128비트 블록, ARX 기반, 2015-06 검증 대상에 포함)·HIGHT(64비트 블록)·AES이고, 운영 모드는 ECB·CBC·CFB·OFB·CTR과 기밀성·인증을 함께 하는 CCM·GCM이다(HIGHT는 CCM·GCM 제외). 해시는 SHA-2·SHA-3·LSH(KS X 3262), MAC은 HMAC·CMAC·GMAC, 난수는 Hash_DRBG·HMAC_DRBG·CTR_DRBG, 공개키는 RSAES·RSA-PSS(2,048·3,072비트)·KCDSA·EC-KCDSA·ECDSA·DH·ECDH, 키 유도는 KBKDF·PBKDF이다. 표에 ChaCha20-Poly1305와 양자내성 알고리즘은 없다(읽은 표 기준). 64비트 블록 암호는 블록 충돌 확률이 $2^{32}$블록(32 GiB)에서 39.3 %이므로(계산) 한 키로 보호하는 데이터를 이보다 훨씬 작게 제한해야 한다. 128비트 블록은 $2^{64}$블록에서 구분 우위가 1/2이 된다(RFC 8452 9절).

항목CMVP(미국·캐나다)KCMVP(한국)
기준FIPS 140-3(ISO/IEC 19790:2012·24759:2017)과 SP 800-140 계열KS X ISO/IEC 19790:2015·24759:2015와 국정원 지침
검증기관NIST와 캐나다 사이버보안센터국가정보원
시험기관NVLAP 인정 CST공공 2곳·민간 3곳
알고리즘CAVP(ACVTS), 승인 목록은 SP 800-140C·140D검증대상 암호알고리즘 표, 구현 적합성 결과를 제출물에 포함
적용연방 기관은 암호가 요구되면 검증 필요국가·공공망 도입 제품 중 지정 유형은 검증필 모듈 탑재 필수
유효기간활성 목록 5년(잠정 2년)효력 만료 시 재검증(기간은 읽은 쪽에 없음) (확인 필요)
보안 수준1~4신청기관이 정함(수준 구조는 읽지 못함) (확인 필요)

9.19.7.3 검증이 보증하지 않는 것

FIPS 140-3은 이 표준이 모듈의 안전을 보증하기에 충분하지 않고 잔여 위험은 운용자가 인수한다고 밝힌다(공고문 13항). SP 800-38D 9.2절은 GCM의 안전이 결국 모듈을 구성·배포·유지하는 IT 전문가에게 달려 있다고 적고 점검 항목을 든다. 구성값에 비인가자가 영향을 줄 수 있는가, 키의 신선도, 호출 한도 8.3의 준수, 전원 상실 뒤의 IV 복구, 장치 식별자의 설치(결정론적 구성), 난수원 초기화의 독립성(RBG 기반 구성)이다. 검증필 모듈은 알고리즘 구현과 모듈 구조를 확인하지만 링크 설계의 nonce·키 교체 결정은 여전히 설계자의 증거 책임이다. 검증 대상은 특정 판의 모듈 형상과 동작 모드이므로 KISA 안내도 도입 시 검증효력, 형상 해시 값, 보안정책문서, 지원 운영체제, 검증 대상 동작 모드를 확인하라고 한다.

9.19.8 항공 맥락 — 암호가 있는 곳과 없는 곳

대상현재 공개 규격이 정한 보호근거 장
MAVLink 2 C2평문. 서명은 선택, SHA-256 앞 48비트(HMAC 아님), 링크당 키 하나, 회전 규정 없음9.5.6·9.5.10
C2 링크 성능 표준보안은 DO-362A 2.1.10절의 요구와 DO-326A·DO-356A의 방법(TSO-C213a 초안 인용)9.13.3.1
운용 승인(SORA 2.5 사이버 확장)OSO #6이 C3 링크의 인증과 자료 무결성·재전송 방지를 요구, SAIL IV부터 수준 상향8.11.7·8.11.11
ADS-B(1090ES)인증 필드 없음. CRC는 키 없는 오류 검출9.12.5
ADS-L선택 서명 Ed25519(타임스탬프 32비트+서명 512비트), 10초에 한 번 이하9.12.8.2
Remote ID미국 규칙은 인증 요소가 없고 필수 요소의 암호화를 불허. 인증 페이지(RFC 9575)는 블루투스 5에서 최대 201 B9.12.9.3
UTM(ASTM F3548 공개 OpenAPI)OAuth 2.0 JWT(RS256, 발급 후 최대 1시간). 본문 서명·부인 방지 요구는 파일에서 찾지 못함9.14.3.6
펌웨어·OTA서명 키 계층화, 갱신 경로 단일화, 개인 키 접근 통제8.13.9
운영자 보안 프로그램AC 119-1A 10.2절 7항이 안전한 부품 서명 절차의 작성과 개인 키 접근 통제를 요구(원문 확인)8.11.14

공개 문서는 DO-326A·ED-202A를 항공 보안 프로세스 명세, DO-356A·ED-203A를 방법과 고려사항, DO-355·ED-204를 지속 감항의 정보 보안 지침으로 소개한다(8.11.14). 세 문서의 본문은 유료이며 이 장은 읽지 못했다. 따라서 이 장은 DO-326A가 특정 암호 알고리즘이나 FIPS 140-3·KCMVP를 요구한다고 단정하지 않는다. 읽은 공개 문서에서 확인한 연결은 둘이다. ① 키 관리가 지속 감항 지침(ICA)의 대상 항목이라는 점(AMC 20-42 9절, 8.11.7 인용)과 운영자의 부품 서명 개인 키 접근 통제(AC 119-1A 10.2절). ② JARUS OSO #6의 인증·무결성·재전송 방지 기준이 태그 길이와 카운터 폭이라는 암호 설계 변수로 번역된다는 점(8.11.7). 모듈 검증은 연방 조달과 한국 국가·공공망 도입 제도에서 의무가 생기며, 감항 인증이 직접 요구한다는 근거는 읽은 문서에서 찾지 못했다 (확인 필요).

9.19.9 워크스루 I — GCM 임의 IV의 충돌과 호출 한도

문제. 96비트 IV를 호출마다 임의로 만들 때 같은 키에서 IV가 반복될 확률을 구한다. 호출 수가 $q$, IV 길이가 $b$비트이면 생일 문제의 식은 다음과 같다.

$$P_{\text{충돌}}(q,b)=1-\exp\!\left(-\frac{q(q-1)}{2^{\,b+1}}\right)\approx\frac{q^{2}}{2^{\,b+1}}$$

호출 수 $q$$2^{20}$$2^{24}$$2^{28}$$2^{32}$$2^{36}$
96비트 임의 IV$6.9\times10^{-18}$$1.8\times10^{-15}$$4.5\times10^{-13}$$1.2\times10^{-10}$$3.0\times10^{-8}$
64비트 임의 IV$3.0\times10^{-8}$$7.6\times10^{-6}$$2.0\times10^{-3}$0.391.0

$q=2^{32}$에서 $P=2^{-33}\approx1.2\times10^{-10}$이다(계산). SP 800-38D가 이 수치를 적은 것은 아니며, 8.3절은 임의 필드 96비트 이상과 총 호출 $2^{32}$ 이하의 결합이 유일성 요구를 충분히 보장한다고만 적는다. $P=2^{-32}$가 되는 호출 수는 $2^{32.5}$이다. 64비트 임의 IV는 $2^{32}$회에서 39 %이므로 8.2절이 96비트 미만 IV에 결정론적 구성만 허용한다.

같은 수 $2^{32}$가 8.11.7에서는 다른 뜻이다. 50 Hz 명령이면 $2^{32}$회는 994.2일(2.72년)로 32비트 카운터 한 바퀴와 같지만, 카운터의 한 바퀴는 재전송 방지의 수명이고 여기서는 임의 IV의 충돌 확률 상한이다. 결정론적 96비트 IV(ESP의 4 B 솔트와 8 B IV, TLS 1.3의 64비트 순서 번호)는 반복이 없으므로 $2^{32}$ 한도의 대상이 아니며 호출 필드 길이가 한도이다. 이때 UAS의 실제 위험은 전원 상실 뒤 카운터가 되돌아가는 것이다(9.19.3.2).

9.19.10 워크스루 II — 태그 길이·위조 수락 확률·키 교체 주기

① 태그 길이. 8.11.7의 식을 다시 구현해 최소 태그 길이 50·54·56비트가 재현됨을 확인했다(목표 $10^{-9}$, 비행 1시간, 링크를 위조 프레임으로 채움). 48비트 태그의 1시간 위조 수락 확률 $2.5\times10^{-9}$·$5.0\times10^{-8}$·$2.5\times10^{-7}$도 8.11.7·9.5.8.1의 표와 일치한다. GCM에는 SP 800-38D 부록 B의 표적 위조 계수가 더해진다. MAVLink 2 최대 프레임 280 B를 연관 데이터 10 B(헤더)와 암호문 255 B로 나누면 GHASH 입력은 $\lceil10/16\rceil+\lceil255/16\rceil+1=18$블록이다. 표적 위조의 1회 성공 확률은 다음과 같다($a$는 연관 데이터, $c$는 암호문의 바이트 수).

$$P_{\text{표적}}\approx\frac{n}{2^{t}},\qquad n=\left\lceil\frac{a}{16}\right\rceil+\left\lceil\frac{c}{16}\right\rceil+1$$

태그 $t$무작위 추측, 1시간표적 위조, 1회표적 위조, 1시간 상한
32비트$1.9\times10^{-5}$$4.2\times10^{-9}$$3.4\times10^{-4}$
64비트$4.4\times10^{-15}$$9.8\times10^{-19}$$7.8\times10^{-14}$
96비트$1.0\times10^{-24}$$2.3\times10^{-28}$$1.8\times10^{-23}$
128비트$2.4\times10^{-34}$$5.3\times10^{-38}$$4.3\times10^{-33}$

가정은 50 kbps 링크를 280 B 프레임으로 채운 22.3개/s(시간당 80,357회)이고 시도는 독립이다. 32비트 태그는 표적 위조 계수 18 때문에 무작위 추측보다 18배 약하고 1시간 상한이 $3.4\times10^{-4}$로 $10^{-9}$ 목표를 넘는다. 성공한 위조가 해시 부분키를 노출시키면 이후 확률은 더 커지므로(부록 B) 이 값은 낙관적이다. 부록 C가 32비트 태그에 패킷 길이 상한과 키 교체 횟수를 함께 요구하는 이유이다.

② 키 교체 주기. 한 방향의 모든 메시지를 한 키로 보호하고 링크를 정상 프레임으로 채웠다고 가정해, 한도를 프레임율로 나눈 시간을 계산했다.

링크(가정)프레임율 [개/s]$2^{32}$회$2^{24.5}$ 레코드32비트 태그 한도
9.6 kbps·280 B4.2931.8년64.1일31.9분($2^{13}$회)
50 kbps·280 B22.36.1년12.3일6.12분($2^{13}$회)
50 kbps·256비트195.3255일33.7시간5.97시간($2^{22}$회)
1 Mbps·256비트3,90612.7일101분17.9분($2^{22}$회)
10 Mbps·512비트19,5312.55일20.2분53.7초($2^{20}$회)
1 10 100 1천 1만 10만 1초 1분 1시간 1일 30일 1년 10년 메시지율 [개/s] 한도까지의 시간 암호 기간 2년 호출 232회(GCM 임의 IV) 레코드 224.5개(TLS·DTLS 1.3) 32비트 태그·패킷 32 B 이하: 222회 32비트 태그·패킷 512 B 이하: 213회
한 키로 보호할 수 있는 시간은 메시지율에 반비례한다. 네 선은 메시지율 $r$에서 한도 $N$에 이르는 시간 $N/r$이다. 호출 $2^{32}$회는 NIST SP 800-38D 8.3절(임의 IV 또는 96비트가 아닌 IV), 레코드 $2^{24.5}$개는 RFC 9846 5.5절(AES-GCM, 전체 크기 레코드 기준이라 짧은 프레임에는 보수적인 값), 짧은 태그의 두 선은 SP 800-38D 부록 C 표 1(32비트 태그에서 패킷의 암호문과 연관 데이터가 32 B 이하면 $2^{22}$회, 512 B 이하면 $2^{13}$회)이다. 수평선은 SP 800-57 표 1의 대칭 데이터 암호화 키 송신 사용 기간 2년 미만이다. 50 kbps 링크를 32 B 프레임(256비트)으로 채우면 195개/s이고 $2^{32}$회는 255일이다. 메시지율이 50개/s이면 $2^{32}$회는 994일이므로 2년 암호 기간이 먼저 한도가 된다.

2년 암호 기간(63,072,000 s)보다 짧은 칸이 교체 주기를 정한다. $2^{32}$회 칸만 보면 9.6 kbps와 50 kbps의 280 B 프레임(31.8년, 6.1년)과 50 Hz 명령 채널(2.72년)은 암호 기간이 먼저 한도가 된다. 반대로 50 kbps에서 32 B 프레임을 채우면 호출 한도가 255일로 줄고, TLS 계열의 레코드 한도는 33.7시간으로 더 짧다. TLS의 $2^{24.5}$는 전체 크기(16 KB) 레코드 기준이므로 32~280 B 프레임에 적용한 값은 보수적인 하한이다(계산). 32비트 태그의 280 B 프레임은 50 kbps에서 6.12분마다 키를 바꿔야 하며 10 Mbps의 64 B 프레임은 53.7초이다. 표의 32비트 태그 한도는 SP 800-38D 부록 C 표 1의 행($2^{13}$회는 512 B 이하, $2^{22}$회는 32 B 이하, $2^{20}$회는 64 B 이하)을 적용한 값이다.

HMAC에는 같은 구조의 한도가 SP 800-224 초안의 R8로 있다. 절단 태그 64비트에 허용 위조 확률 $2^{-40}$이면 실패 검증 한도는 $2^{24}=16{,}777{,}216$회이고, 50 kbps·256비트 링크에서 위조 프레임만 받아도 23.9시간 뒤에 소진된다. 9.5.8.1의 48비트 태그는 $10^{-9}$ 목표에서 누적 시도 약 281,475회 이하이고 같은 링크에서 24.0분이다. 한도를 넘으면 키를 폐기해야 하므로 위조 시도가 서비스 거부가 된다(8.11.7의 잠금 정책과 같은 균형).

9.19.11 워크스루 III — 양자내성 객체와 저속 링크

가정. 사용자 비트율은 9.6 kbps와 50 kbps이고, 객체는 MAVLink 2의 페이로드 255 B로 나누며 프레임마다 헤더·체크섬·서명 25 B가 더해진다(프레임 최대 길이 280 B, 9.5.3). 핸드셰이크는 세 비행이다. F1은 클라이언트 키 공유, F2는 서버 키 공유와 서버 인증, F3은 클라이언트 인증이다. 인증은 공개키와 서명을 함께 보내며, 헤더·확장·Finished는 세지 않은 하한이다. 프레임 손실은 독립이다.

0 20 40 60 Ed25519 서명 64 B 1 ML-KEM-768 캡슐화 키 1,184 B 5 하이브리드 키 공유 1,216 B 5 ML-DSA-44 서명 2,420 B 10 ML-DSA-65 서명 3,309 B 13 ML-DSA-87 서명 4,627 B 19 SLH-DSA-128s 서명 7,856 B 31 SLH-DSA-128f 서명 17,088 B 68 필요한 프레임 수 [개]
객체 하나를 MAVLink 2 프레임(페이로드 최대 255 B)으로 나누어 전송할 때의 프레임 수. Ed25519 서명 64 B는 1개이고, ML-KEM-768 캡슐화 키 1,184 B와 하이브리드 X25519MLKEM768의 클라이언트 키 공유 1,216 B(강조)는 5개, ML-DSA-44 서명 2,420 B는 10개, SLH-DSA-128f 서명 17,088 B는 68개이다. 프레임마다 헤더·체크섬·서명 25 B가 더해지므로 선로의 바이트는 이보다 크다. 실제 터널·파일 전송 메시지의 페이로드는 255 B보다 작을 수 있어 프레임 수는 하한이다.
시나리오F1 [B]F2 [B]F3 [B]프레임 합50 kbps9.6 kbpsF2 무손실(1 %)
X25519, 사전 공유 키3232020.018 s0.10 s99.0 %
하이브리드, 사전 공유 키1,2161,1200100.414 s2.16 s95.1 %
하이브리드 + Ed25519 상호1,2161,21696110.448 s2.34 s95.1 %
하이브리드 + ML-DSA-44 상호1,2164,8523,732401.728 s9.00 s81.8 %
하이브리드 + SLH-DSA-128s 상호1,2169,0087,888723.186 s16.59 s69.6 %

읽을 것은 넷이다. 첫째, 하이브리드 키 교환만 더해도 전송은 0.018 s에서 0.414 s(50 kbps), 0.10 s에서 2.16 s(9.6 kbps)로 늘고, ML-DSA-44 상호 인증을 더하면 9.6 kbps에서 9.00 s이다. 병목은 F2(서버 키 공유와 서버 서명 4,852 B, 20프레임)이다. 둘째, 프레임 손실 1 %에서 F2 전체가 한 번에 도착할 확률은 ML-DSA-44에서 81.8 %, SLH-DSA-128s에서 69.6 %이다. 전체 비행을 재전송하는 구현이면 기대 재전송이 늘고, 손실 5 %에서는 35.8 %와 15.8 %이다. DTLS 1.3은 ACK 메시지(RFC 9147 7절)로 수신한 핸드셰이크 레코드를 알리므로 구현이 이를 활용하면 미수신 레코드만 재전송할 수 있다. 셋째, GEO 위성 경유에서는 세 비행의 전파 지연 $3\times238.7=716.2$ ms가 모든 시나리오에 더해진다. 넷째, DTLS 1.3의 초기 재전송 타이머 1,000 ms는 9.6 kbps에서 하이브리드 키 공유 1,216 B의 전송 시간 1.12 s(선로 1,341 B, 키 공유 바이트만으로 1.01 s)보다 짧다. 전송이 끝나기 전에 재전송이 시작될 수 있으므로 RFC 9147 5.8.2절의 지침대로 RTT를 알면 $1.5\times\mathrm{RTT}$로, 저속 링크 프로파일은 더 긴 타이머로 설정해야 한다.

방송 인증에는 용량 제약이 있다. Remote ID의 인증 페이지는 블루투스 5가 수용하는 9쪽에서 최대 $17+8\times23=201$ B이므로(9.12.9.3) ML-DSA-44 서명 2,420 B는 그 12.0배이다. 현재 형식의 인증 페이지에는 양자내성 서명이 들어가지 않으며 같은 자리에는 Ed25519(서명 64 B) 같은 고전 서명만 들어간다(계산). ADS-L의 선택 서명도 Ed25519 512비트이다(9.12.8.2).

9.19.12 설계 트레이드오프 — 링크 보호를 어느 층에 둘 것인가

방식을 셋으로 펼친다.

① 응용 메시지 서명(MAVLink 2 서명형). 메시지마다 13 B를 더하고 키 하나를 공유한다. 장점은 오버헤드가 작고 핸드셰이크가 없으며 저속 직렬 링크에 맞는다는 점이다. 단점은 기밀성이 없고, HMAC이 아닌 SHA-256 접두 구성이며, 키 교체 절차와 방향 분리가 없다는 점이다(9.5.10). 승인 MAC으로 알려진 HMAC·CMAC·GMAC과 다른 구성이어서 모듈 검증 증거로 삼기도 어렵다 (SP 800-140C의 승인 목록은 읽지 못함, 확인 필요).

② 표준 보호 프로토콜(DTLS 1.3·IPsec ESP). 핸드셰이크·키 유도·재전송 창·키 갱신이 표준에 있고, 검증된 라이브러리(CAVP·CMVP 또는 KCMVP)를 확보할 수 있다. 단점은 레코드당 19~37 B의 오버헤드, GEO 경유 0.48~0.95 s의 핸드셰이크, 양자내성 키 교환이 만드는 분할과 손실의 비용이다.

③ 사전 공유 키와 자체 AEAD 프레임. 카운터 nonce의 AES-GCM이나 ChaCha20-Poly1305로 프레임을 직접 보호한다. 장점은 오버헤드가 태그와 카운터뿐이고 핸드셰이크가 없다는 점이다. 단점은 키 유도·방향 분리·카운터 영속성·교체 주기·실패 검증 한도를 모두 직접 설계하고 입증해야 한다는 점이다.

방식장점단점누구에게 맞는가
① 응용 메시지 서명작은 오버헤드·무상태기밀성 없음·키 교체 없음저속 직렬 링크의 소형 UAS
② 표준 프로토콜표준 핸드셰이크·검증된 모듈오버헤드·왕복·PQC 분할IP 경로가 있는 링크, 기단·인증 범주
③ 자체 AEAD 프레임최소 오버헤드설계·입증 책임 전부전용 C2 링크 제조사

견해: IP 경로가 있는 구간은 ②를, 전용 저속 링크는 ③을 새로 설계하기보다 ②의 규칙(방향별 키 유도, 결정론적 nonce, 호출·실패 한도, 비행 전 세션 키)을 그대로 적용한 자체 프레임으로 구현하는 것이 근거가 가장 강하다. 근거는 셋이다. 첫째 SP 800-38D 9절의 점검 항목이 자체 프레임의 설계자에게도 그대로 적용된다. 둘째 9.19.10의 계산에서 32비트 태그의 키 교체가 분 단위로 줄어 운용 부담이 된다. 셋째 비행 전 교체로 암호 기간 경고(SP 800-57 5.3.2절)를 피한다. 반대 견해는 단순성이다. 소형 UAS의 보급형 링크에서는 ①이 구현·유지가 쉽고 오버헤드가 작아 실제 보호 수준의 증가가 크므로 ②·③의 복잡성이 새 취약점을 만든다고 본다. 이 책은 ①이 무보호보다 낫다는 점은 인정하되 기밀성·키 교체 부재를 인증 증거로 입증하기는 어렵다고 판단한다.

9.19.13 세 축 비교

항목군용 드론민간 UASAAM(eVTOL)
암호 규격의 출처이 장의 범위 밖(제10~12부·9.2·9.3)상용 표준(TLS·IPsec)과 오픈 프로토콜(MAVLink 서명, 선택)감항 보안 절차(DO-326A·AMC 20-42)가 보호를 요구, 알고리즘 지정 조항은 읽은 문서에 없음
모듈 검증별도조달 제도(연방 조달·한국 국가·공공망)에서 발생감항 인증이 직접 요구하는지 확인하지 못함 (확인 필요)
링크별도저속 직렬·셀룰러 IP·위성 IP. 9.6~50 kbps에서 양자내성 객체는 수~수십 프레임인증 범주의 C2(DO-362A·DO-377A)와 IP 지상망
키 교체별도비행 전 세션 키가 자연스럽다지속 감항 지침(ICA)에 키 관리 항목(8.11.7)
양자내성 전환별도서명 검증기를 바꿀 수 없는 장치는 처음부터 양자내성 서명 요구(IR 8547 3.1.1절)장치 수명이 길어 같은 원칙의 비중이 더 크다(추정)

9.19.14 관련 규격·프로토콜

문서발행무엇을 정하나상세 장
NIST SP 800-38DNIST, 2007-11GCM·GMAC의 IV 규칙, 호출 한도 $2^{32}$, 짧은 태그(원문 확인, 개정 계획 공지)이 장
RFC 5116IETF, 2008-01AEAD 인터페이스와 AES-GCM·CCM 매개변수(원문 확인)이 장
RFC 8439IRTF, 2018-06ChaCha20-Poly1305(원문 확인)이 장
FIPS 198-1·RFC 2104·SP 800-224 초안NIST·IETFHMAC과 절단(원문 확인, 이관 계획)이 장
NIST SP 800-57 Part 1 Rev. 5(Rev. 6 초안)NIST, 2020-05(2025-12)보안 강도·암호 기간(원문 확인)이 장
NIST SP 800-108 Rev. 1·SP 800-90A·90B·90CNIST키 유도·난수 생성(일부 확인)이 장
RFC 9846·9147·9853IETF, 2026-07·2022-04·2026-03TLS 1.3, DTLS 1.3, 반환 경로 확인(원문 확인, 9853은 서문만)이 장
RFC 7296·9370·4106IETFIKEv2, 다중 키 교환, ESP의 GCM(원문 확인)이 장
FIPS 203·204·205NIST, 2024-08ML-KEM·ML-DSA·SLH-DSA(원문 확인)이 장
NIST IR 8547(확정본)NIST, 2026-10양자내성 전환 일정(원문 확인)이 장
RFC 10024·9954IETF, 2026-08·2026-07PQ/T 하이브리드 TLS 1.3, 구조(원문 확인)이 장
FIPS 140-3와 ISO/IEC 19790·24759NIST, 2019-03모듈 보안 요구·시험 (공고문 확인, ISO 본문은 유료·미열람)이 장
KCMVP(KISA 안내), KS X ISO/IEC 19790:2015국가정보원·KISA한국 모듈 검증과 검증대상 알고리즘 (안내 쪽 확인, 지침·KS 본문 미열람)9.22
KS X 1213-1(ARIA)·KS X 3246(LEA)·KS X 3262(LSH)·TTAS.KO-12.0004(SEED)KS·TTA한국 암호 알고리즘 (KISA 목록의 이름만 확인)9.22
DO-326A·DO-356A·DO-355(ED-202A·ED-203A·ED-204)RTCA·EUROCAE감항 보안 프로세스·방법·지속 감항 (유료, 미열람)8.11
RFC 9575(DRIP 인증)IETF, 2024-06Remote ID 인증 페이지(9.12이 읽은 범위)9.12

전체 지도는 A.6에 있다.

9.19.15 관련 규제·인증 요구와의 연결

  • 감항 보안(8.11). 태그 길이와 카운터 폭의 계산(8.11.7)이 이 장의 규격 한도와 만난다. OSO #6의 인증·재전송 방지 기준(8.11.11)이 설계 변수가 된다.
  • 조직·지상·UTM 보안(8.12), UTM 정보 교환(9.14). 토큰 기반 접근 통제의 한계(9.14.3.6)와 키 관리는 이 장이 보완한다.
  • 제품·펌웨어 보안(8.13). 서명 키 계층화(8.13.9)와 한국의 보안적합성 검증(8.13.11)이 모듈 검증과 연결된다.
  • 기단 사이버 운영(8.15)·하이재킹 대응(8.16)·노획 시 기술 보호(8.17). 키 사고 대응과 제로화는 이 장의 암호 기간·한도를 입력으로 받는다.
  • 규격의 판 관리(9.1.3)·적합성 시험과 규격 문서 읽는 법(9.23). RFC 8446과 9846 같은 판 전환에서 인용 판을 고정한다.
  • 한국 표준(9.22)·항공보안·드론 보안 규제(18.28). KS·TTA 표준과 KCMVP의 대응을 정리한다.
  • 수출통제(19.15~19.17). 암호 제품의 수출·반입 통제와 연결될 수 있으나 이 장은 읽지 않았다 (확인 필요).

9.19.16 함정과 한계

오해실제더 볼 곳
FIPS 140-3 검증 모듈이면 링크가 안전하다표준 자체가 적합성은 안전 보증에 충분하지 않다고 적고, nonce·키 교체는 사용자 책임이다9.19.7.3
96비트 임의 IV면 GCM을 무한히 사용한다임의 IV는 한 키당 $2^{32}$회 한도가 있다9.19.9
태그 길이가 같으면 위조 확률도 같다GCM은 표적 위조 계수 $n/2^{t}$와 부록 C 한도가 있다9.19.10
MAVLink 서명은 HMAC이다SHA-256 접두의 48비트 서명이다9.5.6.1
TLS 1.3의 기준은 RFC 8446이다2026-07 RFC 9846이 폐기하고 대체했다9.19.5.1
양자내성 서명은 기존 서명 자리에 그대로 들어간다ML-DSA-44 서명 2,420 B는 Remote ID 인증 용량 201 B의 12.0배이다9.19.11
KCMVP는 FIPS 140의 한국판이다기준 문서·알고리즘 표·절차가 다르고, 읽은 표에 ChaCha20-Poly1305와 양자내성 알고리즘이 없다9.19.7.2
2035년까지만 전환하면 된다연방 최우선 체계는 키 설정 2030, 서명 2031이며 키 설정이 서명보다 먼저이다9.19.6.2
암호화하면 Remote ID·ADS-B가 보호된다미국 규칙은 필수 요소의 암호화를 불허하고 ADS-B에는 인증 필드가 없다9.19.8
검증필 모듈 목록에 있으면 영구히 유효하다활성 목록은 5년이고 140-2 인증서는 2026-09-21 이후 역사 목록이다9.19.7.1

미해결 문제. SP 800-38D 개정 초안(96비트 미만 태그 제거), SP 800-57 Rev. 6 확정판, SP 800-224 최종판(HMAC 이관), FIPS 140-3의 수준별 세부, KCMVP의 최신 알고리즘 표(양자내성 포함 여부)와 보안 수준 구조, DO-326A·DO-356A의 암호 관련 요구, 항공 당국의 양자내성 일정, IKEv2의 ML-KEM 표준, HQC·FN-DSA 표준은 이 장의 자료로 답할 수 없다 (확인 필요). 이 장의 수치는 원문 상수와 이 책의 가정(링크 속도, 프레임 크기, 독립 시도)으로 계산한 값이며 실측이 아니다.

9.19.17 체크포인트·연구 질문

체크포인트:

  1. 96비트 임의 IV로 $2^{32}$회 호출했을 때의 충돌 확률을 식으로 구하고 64비트 IV와 비교하라(9.19-calc.py).
  2. 50 kbps·256비트 프레임 링크에서 GCM 호출 한도 $2^{32}$회까지의 시간과 32비트 태그의 한도를 구하라. 2년 암호 기간과 어느 쪽이 먼저인가?
  3. 8.11.7의 최소 태그 길이를 재현하고, 280 B 프레임의 GHASH 블록 수 $n$으로 32비트 태그의 표적 위조 확률을 구하라.
  4. 하이브리드 키 교환과 ML-DSA-44 상호 인증의 세 비행 바이트를 9.6 kbps에서 전송 시간으로 환산하고 병목 비행을 찾아라.
  5. FIPS 140-3·ISO/IEC 19790·CMVP·CAVP의 관계와 KCMVP와의 차이를 한 문단으로 설명하라.
  6. NIST IR 8547 초안과 확정본의 차이 셋과 장수명 항공 장치의 서명 검증기 설계에 주는 의미를 서술하라.

연구 질문(25.7에 모은다):

  • 저속 링크에서 양자내성 키 교환의 분할·손실·재전송 비용을 줄이는 구조(사전 공유 키 갱신, 비행 전 키 교체)는 무엇인가.
  • 크기 제약이 있는 방송 식별(Remote ID·ADS-L)에서 양자내성 인증이 가능한가.
  • 배터리 차단 같은 전원 상실에서 nonce·카운터 영속성을 어떻게 입증하는가.
  • 감항 보안 증거에서 모듈 검증(FIPS 140-3·KCMVP)을 어떤 근거로 사용할 수 있는가.

1차 출처(이 장):

  • NIST SP 800-38D(2007-11), SP 800-57 Part 1 Rev. 5(2020-05)와 Rev. 6 초기 공개 초안(2025-12), SP 800-108 Rev. 1, SP 800-90A Rev. 1·90B·90C, FIPS 198-1, SP 800-107 Rev. 1, SP 800-224 초기 공개 초안.
  • NIST FIPS 140-3(2019-03-22), FIPS 140-2(참조), FIPS 203·204·205(2024-08-13), NIST IR 8547 초안(2024-11-12)·확정본(2026-10), CSRC의 CMVP·CAVP·FIPS 140-3 안내.
  • IETF RFC 5116·8439·8452·2104·4106·7296·9370·9846·9147·9853·9794·9954·10024·7748·8032.
  • KISA 암호이용활성화 사이트(seed.kisa.or.kr)의 암호모듈검증·국산 암호기술·양자내성암호 안내(2026-11-03 열람).
  • FAA AC 119-1A(2023-09-28)와 이 책이 인용한 8.11·9.5·9.12·9.14·3.13의 원문 확인 범위.
  • 읽지 못함: ISO/IEC 19790·24759, KS X ISO/IEC 19790·24759, 국가정보원 암호모듈 시험 및 검증지침, RTCA DO-326A·DO-356A·DO-355, EUROCAE ED-202A·ED-203A·ED-204 (확인 필요).

다음 장: 9.20 — 전기·배터리·충전 규격: DO-311A·UN 38.3·IEC 62133·eVTOL 충전 표준으로 간다.