SDV 조사자료/보안

사이버 보안 및 암호화 기술

남광식 2024. 8. 19. 13:29

사이버보안 및 암호화 기술

암호알고리즘

  • 암호 알고리즘의 분류 및 종류

암호알고리즘 분류(출처: https://blog.naver.com/lsj5170/222901197171)

  • 암호 알고리즘 관련 주요용어
용어 설명
암호 두 사람이 안전하지 않은 채널을 통해 정보를 주고받더라도 제 3자는 이정보의 내용을 알 수 없도록 하는 것
평문 암호화되기 전의 원본 메시지
암호문 암호화가 적용된 메시지
암호화 평문을 암호문으로 바꾸는 작업
복호화 암호문을 평문으로 바꾸는 작업
적절한 암호화를 위하여 사용하는 값
치환암호 비트, 문자 또는 문자의 블록을 다른 비트, 문자 또는 블록으로 대체하는 방법
전치암호 비트, 문자 또는 블록이 원래 의미를 감추도록 자리바꿈 등을 이용하여 재배열 하는 방법
  • 양방향 암호화
    • 대칭키(비밀키): 동일한 키를 활용하여 평문을 암호화 하고 복호화 하는 방식
      • 종류 : AES128, AES256, SEED(국내표준)
      • 스트림 암호: 평문과 같은 길이의 키 스트림을 연속적으로 생성하여 평문과 이진 수열을 비트 단위로 XOR 연산하여 암호문을 생성하는 대칭키 암호화 기법
        • LFFSR, MUX generator 등의 스트림기반 암호화 알고리즘
        • 속도가 빠르고 오류 전파 현상이 없다는 장점
        • 주로 오디오/비디오 스트리밍 시 사용
      • 블록암호: 평문을 일정한 블록 단위로 나누어서 각 블록마다 암호화 과정을 수행하여 고정된 크기의 블록단위의 암호문을 생성하는 대칭키 암호화 기법
        • 문자열 단어 하나하나를 블록으로 나누어 암호화하는 과정
        • DES, AES, IDEA, SEED 등의 블록기반 암호화 알고리즘
    • 비대칭키(공개키): 평문을 암호화할 때는 사용자에게 공개된 공개키(Public Key)를 활용하고, 복호화할 때는 비밀키(Secret Key)를 활용하는 방식
      • 종류 : DSA(전자서명), RSA(메시지 암.복호화)
      • 대칭키에 비해서는 느리다는 단점이 있음
      • 키생성시 Private Key와 Public Key 2개의 키가 도출되며, Public Key는 공개해도 문제가 되지 않음.
      • 인수분해(RSA), 이산대수(DSA), 타원곡선(ECC) 암호화로 나뉨
  • 단방향 암호화
    • Hash를 이용하여 암호화하는 과정
    • 평문을 암호화할순 있지만, 복호화는 불가능
    • 데이터의 진위여부는 확인하고 싶으나, 본 데이터의 Privacy를 지키고 싶은 경우 사용
    • hash할 때, hash 값은 크기와 알고리즘에 따라 암호문의 결과가 완전 상이함
    • ex) Bcrypt-JWT
    • 유저의 비밀번호는 절대 비밀번호 그대로 Database에 저장하지 않고 비밀번호 암호화 과정이 존재하는데 이 과정에서 Hash 함수를 사용함.
    • 종류: MD5, RIPEMD, SHA

차량 보안

  • AES (Advanced Encryption Standard)
    • 설명: AES는 대칭 키 암호화 알고리즘으로, 빠르고 강력한 보안을 제공하여 현재 가장 널리 사용되는 암호화 기술
    • 원리: AES는 128, 192, 256비트의 고정된 블록 크기를 가지며, 지정된 키 길이에 따라 데이터를 블록 단위로 암호화함. 반복적인 순환 방식(Round Function)을 사용하여 데이터를 변환하며, 각 라운드마다 다양한 암호화 연산(대체, 셔플, 행렬 곱셈 등)을 수행해 데이터를 보호함.
    • 적용 사례: AES는 차량 내 다양한 전자 제어 장치(ECU) 간의 안전한 통신을 위해 사용. 예를 들어, 현대 자동차와 같은 제조업체들은 차량 네트워크 보안을 강화하기 위해 AES 기반의 암호화를 채택함.
  • RSA (Rivest-Shamir-Adleman)
    • 설명: RSA는 비대칭 키 암호화 알고리즘으로, 하나의 공개 키와 비밀 키 쌍을 사용하여 데이터를 암호화 및 복호화함
    • 원리: 공개 키로 데이터를 암호화하면, 대응하는 비밀 키만이 그 데이터를 복호화할 수 있습니다. 이 방식은 특히 차량의 보안 업데이트나 통신 과정에서 인증(Authentication)을 위해 많이 사용됨. RSA는 소인수 분해의 어려움을 기반으로 한 보안 강도를 가지고 있음.
    • 인증: 유저의 identification을 확인하는 절차. 즉, 유저의 아이디와 비밀번호를 확인하는 절차.
    • 적용 사례: RSA는 차량의 소프트웨어 업데이트 및 인증 과정에서 사용됨. 이는 차량이 안전하게 원격 소프트웨어 업데이트를 받을 수 있도록 보장함. 또한, RSA는 차량 내외부 통신에서 중요한 데이터의 보호를 위해 사용됨.
  • ECC (Elliptic Curve Cryptography)
    • 설명: ECC는 비대칭 키 암호화 알고리즘으로, 동일한 보안 수준에서 RSA보다 짧은 키 길이를 제공하여 효율성을 높임.
    • 원리: ECC는 타원 곡선 방정식을 기반으로 한 수학적 구조를 이용하여 데이터를 암호화함. 이는 더 작은 키 길이로도 강력한 보안을 제공하며, 리소스가 제한된 차량 내 시스템에 적합함. 주로 차량 간 통신(V2V, V2X)에서 사용될 수 있음.
    • 적용 사례: ECC는 리소스가 제한된 차량 환경에서 효율적인 데이터 보호를 위해 사용됨. 특히 전기차나 자율주행차에서 많이 채택되고 있으며, 짧은 키 길이로도 높은 보안을 제공함.
  • TLS (Transport Layer Security)
    • 설명: TLS는 인터넷 통신의 보안을 강화하기 위해 사용되는 프로토콜로, 차량의 인포테인먼트 시스템에서 서버와의 안전한 데이터 전송을 보장함.
    • 원리: TLS는 대칭 암호화(예: AES)와 비대칭 암호화(예: RSA 또는 ECC)를 결합하여 데이터의 기밀성, 무결성, 인증을 제공함. TLS는 주로 인증서 기반의 핸드셰이크 과정을 통해 통신 세션을 설정하고 암호화된 데이터를 교환함.
    • 적용 사례: TLS는 인포테인먼트 시스템과 클라우드 서비스 간의 안전한 통신을 보장함. 차량 내 인터넷 연결을 통한 데이터 전송 시 중요한 역할.
      • TLS가 사용된 또다른 예시-HTTPS: HTTPS는 HTTP over TLS 로도 불리는 것에서 알 수 있다시피 HTTP에 TLS(Transport Layer Security) 암호화를 덧붙임으로서 웹서버와 사용자 사이의 정보를 암호화함

SOTA를 구현하는 주요 기능 블록:텔레매틱스 장치, 중앙게이트 웨이, 타깃 ECU (출처:https://www.autoelectronics.co.kr/article/articleView.asp?idx=2480)

  • HSM (Hardware Security Module)
    • 설명: HSM은 차량 내 중요한 데이터를 안전하게 보호하는 하드웨어 장치로, 암호화 키의 생성, 저장, 관리 등을 담당함.
    • 원리: HSM은 내부적으로 암호화 연산을 수행, 외부 공격으로부터 중요한 키와 데이터가 유출되지 않도록 보호. 이는 SDV와 같이 많은 데이터를 다루는 차량 내 시스템에서 특히 중요.
    • 적용 사례: HSM은 차량 내 암호화 키를 안전하게 생성하고 저장하여, 자동차 전자 시스템의 보안을 강화함. 이는 특히 차량의 핵심 시스템에 사용됨. ECU에 내장된 보안 모듈로서, 자동차 제어기 S/W에 향상된 암호화 기능 위/변조 방지 기능을 제공하며, 데이터 암호화 및 복호화 기능보안 부팅 (Secure Booting) 기능 등을 제공함. HSM의 Secure World에 RSA 키를 생성하고 Secure Storage에 저장하기 위해 RSA 암호화 알고리즘을 활용함.

Vector의 HSM 소개 자료: Flexible HSM Firmware for Security-Related AUTOSAR Systems

  • 카페이와 같은 네트워크를 활용한 신기술은 보안의 취약점을 같이 안고 가기 때문에 강력한 Security 기능이 필요함.
  • 이와 같은 보안 요구사항에 의해 반도체 제조사들은 Hardware security modules(HSMs)을 만들어서 최근에 출시된 여러 MicroContorller에 사용가능하도록 함.
  • HSM은 세가지의 목표를 갖고 모듈을 개발
    • Increased performance: The use of special accelerators reduces the amount of time it takes to perform a cryptographic computation – such as encryption. This leads to shorter wait times and less load on the main processor.
    • Partitioning: Partitioning the memory creates an area for storing confidential data, e.g. encryption keys.
    • Flexibility: Programmability of the HSM enables coverage of different use cases and OEM-specific requirements.

Typically, an HSM is used to pursue three goals. (출처: https://cdn.vector.com/cms/content/know-how/_technical-articles/Security_HSM_Automobil-Elektronik_201808_PressArticle_EN.pdf)

  • HSM은 계산을 위한 CPU, RAM 및 휘발성 메모리(다른 시스템 및 도메인으로부터 보호받음), 암호화만을 위한 HardWare(알고리즘 연산 시간을 줄여주는 역할)로 구성됨.
  • 또한, HSM에서 그 어떠한 SW 프로그램도 실행이 가능해야함.
  • 차량내 네트워크 보안을 위해서는 아래 그림처럼 3가지 방법이 존재.

Different approaches for implementing security functions (출처:Protected in Every Situation-Flexible HSM Firmware for Security-Related AUTOSAR Systems)

  • 1번의 SW베이스 솔루션은 암호화 알고리즘이 많은 연산을 필요로 하기 때문에 많은 연산 시간이 많이 걸리는 단점 존재
  • 2번의 메인 프로세서에 암호화 연산을 위한 전용 가속화 HW를 추가하는 방법은 요구하는 연산속도에 도달할 수는 있으나 여전히 CPU에 부하를 많이 줌.
  • 따라서 3번의 HSM 모듈을 추가하는 것이 암호화 연산속도도 향상시키면서 CPU의 부하를 줄이는 가장 효율적임.
  • 또한, HSM은 따로 보관해야할 필요가 있는 중요한 정보를 HSM의 메모리에 캡슐화하여 분리시켜 저장함으로서 기밀성과 무결성을 보장함
  • 2번의 경우 한정된 수의 대칭키를 사용하지만 HSM을 사용한 경우 메모리 용량만 충분하다면 더 많은 양의 키와 인증서(Certificates)를 유연하게 저장가능함.
  • 2번의 경우엔 기능이 고정되어 있어서 요구사항에 맞춰 수정이 불가하다는 단점이 있지만 HSM은 언제든지 프로그래밍이 가능하기 때문에 언제든지 확장가능하거나 수정가능하다는 유연성을 지님.
  • HSM을 통한 기능 향상을 전적으로 보여줄 수 있는 예시
    • 시동을 켰을때 각 ECU가 인증을 확인하는 과정인 “secure boot” 절차로 인해 생기는 지연시간을 단축.
      • HSM이 차량 시동을 켬과 동시에 인증과정을 실행함으로서 부팅시간을 극적으로 단축시킬 수 있지만 HSM과 메인 프로세서 사이의 복잡한 상호 작용을 필요로 하며 자동차 OEM 요구 사항과 호환되어야함
    • (MAC(message authentication code)이 추가되어 확장된) 메시지를 인증하는 과정에서 발생한 Overhead를 감소.
      • 메시지를 체크하고 인증하는 과정에서 ECU에 부하가 걸리는 것을 줄여줄 수 있음.
      • 데이터 크기가 작기 때문에 MAC을 빠르게 계산하는 것은 문제가 되지 않으나 높은 Frequency로 인해 메인 프로세서와 HSM 사이의 통신에서 발생하는 부하(Overhead)가 발생하기 때문에 최대한 줄일수 있도록 해야함
    • 카페이를 비롯한 차량내 결제시 발생하는 통신의 TLS(Transport Layer Security)에서 기밀성과 무결성을 향상시켜 보안을 강화.
      •  예를 들어, 전기차 충전시에 자동결제를 하는 과정에서 TLS(Transport Layer Security) 알고리즘을 사용할 때에 메인 프로세서에 걸리는 부하와 TLS Connection 생성시 발생하는 부하를 HSM이 줄여주는 역할을 함
      • 인증서 및 키를 보관하는 Storage를 HSM내의 메모리에 따로 생성 및 보호함으로서 다른 시스템으로부터 보호를 필요로 하는 데이터를 분리함

차량통신 보안을 위한 암호화 알고리즘의 성능 분석

  • 차량용 MCU들은 센서의 모니터링, 제어 등 본연의 기능 수행을 상시 수행하고 있어 보안을 위한 암호화 적용에는 한계가 있을 수밖에 없음.
  • HSM(Hardware Security Module) 등을 별도 탑재하기도 하나, 최근에는 MCU 고성능화, 암호화 가속 회로의 내장으로 MCU에서 자체적으로 암호화 연산을 수행
  • 암호화 알고리즘의 종류 및 적용 가능성
    • 차량용 MCU의 경우 한정된 CPU 리소스와 메모리를 이용하여 암호화, 복호화를 수행해야 하므로 비대칭 암호화나 복잡한 연산의 암호화는 적용하기 어려움
    • 일반적으로 널리 사용되는 대칭키 암호화 알고리즘 중 암호화 강도와 보안성이 검증된 알고리즘 AES(Advanced Encryption Standard) 암호화 방식은 연산에 높은 CPU 리소스가 요구되어 ARM 기반의 장치에서는 느림.
    • 한정된 CPU리소스와 메모리에서 적용하기 적합한 암호화 알고리즘인 LEA(Lightweight Encryption Algorithm), ChaCha20 암호화 알고리즘이 개발됨.
    • LEA와 ChaCha20 암호화 알고리즘: 기존 AES보다 고속으로 암호화 및 복호화가 가능
    • LEA: 2013년 국내에서 개발한 대칭키 블록 암호화알고리즘
      • ARX(Addition, Rotation, XOR) 연산만으로 구현되어 있어 처리 속도가 AES에 비해 크게 향상
      • ARM 기반의디바이스에 다수 사용되고 있으며 암호화 강도역시S-box를 사용하지 않아 높다고 평가
    • ChaCha: 2008년 처음으로 제안된 Salsa20에서 개선된 암호화알고리즘
      • ARX 연산을 이용. 암호화 라운드에따라 ChaCha20, ChaCha12, ChaCha8 등이 제안됨
      • IETF의 RFC 8439로 제안됨현재 BSD계열(FreeBSD, OpenBSD, NetBSD 등) OS의 난수 생성기OpenSSH 등 다양한분야에서 널리 사용중
    • 보안 취약점이 발견된 RC4 암호화와 개선한 RC5, RC6 등이 경량 암호화 방식으로 제안되었음. 개발한 RSA Security 사의 특허로 상업적 으로 사용이 제한

Reference 사이트 및 논문

 

Encryption Algorithms in Automotive Cybersecurity | Embitel

Encryption algorithms are like lock and keys of automotive cybersecurity, safeguarding the digital integrity of vehicles from unauthorized access and threats. This article discusses various algorithms like AES, RSA, SHA, and ECC, pivotal for protecting aut

www.embitel.com

 

 

SOTA - 보안 소프트웨어 무선 업데이트

리콜에 따른 비용의 대부분은 소프트웨어 결함을 보정하는 데 들어간다. 소프트웨어 무선 업데이트(SOTA)는 이러한 비용을 크게 줄일 수 있다. 테슬라는 자동차 업계에서는 SOTA의 선구자라고 할

www.autoelectronics.co.kr

 

'SDV 조사자료 > 보안' 카테고리의 다른 글

데이터 및 통신 보안  (4) 2024.08.26