CCSDS CRYPTOGRAPHIC ALGORITHMS 정리

kei_Seo·2023년 12월 7일
0

해당 글은 CCSDS의 CCSDS Cryptographic Algorithms을 정리한 글 입니다. 23.12.07

이 보고서에거는 CCSDS 암호화 알고리즘 표준에 대한 배경 정보를 제공한다.

이 정보 보고서에서 논의된 알고리즘은 모든 민간 우주 임무와 지상 시스템에서 정보 기밀성 및/또는 인증을 위해 권장된다. 이러한 알고리즘들은 송신 우주 링크(예: 텔레커맨드), 수신 우주 링크(예: 텔레메트리, 임무 데이터) 그리고 지상 데이터 네트워크 등 모든 임무 통신 링크, 저장된 데이터의 기밀성 및 인증/무결성을 보장하기 위해 사용될 수 있습니다.

1. 서론

CCSDS는 Advanced Encryption Alogorithm 사용을 권장한다.

  • 기밀성을 제공하기 위해
  • 유일하게 지상 시스템(지상국)과 우주 임무체에서 사용이 권장되는 유일한 대칭키 알고리즘
  • Counter mode 사용이 권장된다.
  • 기존 구현은 128bit 키를 사용하지만, 향후 미래에는 256bit 권장
  • 또 다른 인증 및 무결성 알고리즘 사용을 권장

2. 개요

점점 위성을 공격하기 위한 고급 장비들의 비용과 가용성이 줄어들면서 공격 가능성이 높아지고 있다.

3. 암호화 알고리즘

3.1 알고리즘과 모드:
모든 CCSDS 임무는 암호화를 위해 Advanced Encryption Standard (AES) 알고리즘을 사용해야 합니다. AES 알고리즘은 미국 국립표준기술연구소(NIST)의 연방정보처리표준(FIPS) 197및 ISO/IEC 18033-3에 명시되어 있습니다.

3.2 암호화 키 크기:
3.2.1 미래의 CCSDS 구현은 256비트 키를 사용해야 합니다.
3.2.2 기존의 CCSDS 구현은 128비트 키를 사용할 수 있습니다.

3.3 알고리즘 운용 모드:
CCSDS 구현은 Counter Mode를 사용해야 합니다. 다른 운용 모드는 허용되지만 사용 전에 신중하게 고려되어야 합니다.

3.4 인증된 암호화:
3.4.1 데이터 무결성 및 원본 인증과 결합된 암호화가 필요한 경우, 구현은 Galois/Counter Mode (GCM)를 사용해야 합니다.
3.4.2 MAC 't' 크기는 128비트여야 합니다.

4. HASH 메시지 기반 인증

4.2.1 일반:
이 문서에서 수정된 FIPS 198-1에 명시된 Keyed Hash Message Authentication Code를 사용해야 합니다.

4.2.2 HMAC 해시 알고리즘:

4.2.2.1 CCSDS HMAC 구현은 FIPS 180-4에 명시된 SHA를 사용해야 합니다.

4.2.2.2 CCSDS HMAC 구현은 일반적으로 RFC 6234에서 설명된 SHA-256 변형을 사용해야 합니다.

4.2.2.3 CCSDS 구현은 SHA-224, SHA-384, SHA-512, RIPEMD-160등 다른 해시 알고리즘을 HMAC 알고리즘과 함께 사용할 수 있습니다.

4.2.2.3.1 대체 해시 알고리즘의 사용은 통신하는 단체 간에 사전에 합의되어야 하거나, 임무 구성 요소 간의 호환성과 상호 운용성을 보장하기 위해 신호화되어야 합니다.

4.2.2.3.2 SHA-1은 사용되어서는 안 됩니다.

4.2.3 TRUNCATION 문제:
4.2.3.1 CCSDS 구현은 HMAC에서 나온 MAC(Message Authentication Code)의 길이를 절단(truncate)하지 않아야 한다.

4.2.3.2 Truncation이 수행될 경우, 이는 통신하는 단체 간에 사전에 합의되어야 합니다.

참고 - 기능적 임무 제약(예: 대역폭, 저장 공간, 프레임 크기, 패킷 크기 등)으로 인해 절단이 수행될 수 있습니다. HMAC은 FIPS 198a(이전 버전의 HMAC)에서 10단계 과정으로 명시되었으며, 마지막 단계에서 해시 알고리즘에 의해 생성된 L-비트 중 가장 왼쪽에 있는 t-비트만 선택하여 메시지 인증 코드를 절단하는 과정이 포함되었습니다. 절단은 이제 NIST 특별 출판 800-107(참조 [7])에서 다루어집니다. 절단은 통신 링크를 통해 전송되는 비트 수를 줄이므로 인증 알고리즘의 오버헤드를 감소시킵니다.

4.3 암호 기반 인증:

4.3.1 4.3.2에서 언급된 경우를 제외하고, 암호 기반 MAC(Message Authentication Code)을 사용하는 경우 Cipher Based Message Authentication Code 를 사용해야 합니다.

4.3.1.1 미래의 CCSDS 구현에서는 CMAC이 AES 알고리즘을 사용하며, 키 크기는 256비트여야 합니다.

4.3.1.2 기존의 CCSDS 구현에서는 CMAC이 AES 알고리즘을 사용할 수 있으며, 다음과 같은 키 크기를 사용할 수 있습니다: 128비트, 192비트, 또는 256비트.

4.3.2 인증된 암호화 구현이 오직 인증을 위해 사용될 때, CMAC 대신에 Galois Message Authentication Code를 사용할 수 있습니다.

4.4 디지털 서명 기반 인증:
4.4.1 디지털 서명 기술을 사용할 때는 Digital Signature Standard (DSS—참조 [8])를 사용해야 합니다.
4.4.2 Rivest-Shamir-Adleman (RSA) 디지털 서명 알고리즘(PKCS #1 버전 2.1, 참조 [8]에서 언급됨)을 사용하는 것이 좋습니다.
4.4.3 미래의 CCSDS 구현(이 사양의 2번째 버전 발행 이후 계획이 시작된 임무들)에서는 RSA 디지털 서명 알고리즘 키 길이는 4096비트여야 합니다.
4.4.4 기존의 CCSDS 구현에서는 RSA 디지털 서명 알고리즘 키 길이가 2048비트일 수 있습니다.
4.4.5 Digital Signature Algorithm (DSA) 및 Elliptic Curve Digital Signature Algorithm (ECDSA—참조 [8])과 같은 다른 DSS 지정 알고리즘도 사용될 수 있습니다.

참고사항:

디지털 서명 표준(DSS, 참조 [8])은 디지털 서명을 구성하고 검증하기 위한 여러 알고리즘을 명시합니다: Digital Signature Algorithm (DSA); RSA 디지털 서명 알고리즘; 그리고 ECDSA.
키 서버에 연결할 수 없는 우주선의 경우, 공개 키 캐시는 발사 전에 미리 로드되거나, 추가 키나 업데이트된 키가 필요할 때 발사 후에 공개 키를 업로드할 수 있습니다. 이는 강력한 네트워크 통신 및 공개 키 인프라(PKI) 또는 인증 기관(CA, 참조 [B22])에 접근할 수 있다고 가정되는 지상 시스템에서는 문제가 되지 않을 것입니다.

0개의 댓글