제7장

Phase 4: 최적화

개요

WIA-COMM-003의 네 번째 단계는 앞선 단계에서 정의한 메시지와 통신 계층을 차량, 규제, 운영 환경 전체와 연결하는 통합 단계입니다. 이 단계의 중심은 세 가지입니다. 첫째는 송신자를 신뢰할 수 있게 만드는 보안·프라이버시 체계입니다. 둘째는 OEM과 인프라 운영자가 따라야 하는 구현 지침입니다. 셋째는 ISO, IEEE, SAE, ETSI의 기반 규격으로 표준을 고정하는 참조 체계입니다. 여기서 "최적화"는 속도 경쟁이 아닙니다. 수신 메시지를 걸러 내는 일, 서명 검증 비용을 감당하는 일, 개인정보 노출을 줄이는 일의 균형을 맞추는 것을 뜻합니다.

7.1 보안 요구사항의 여섯 축

표준은 보안 아키텍처를 여섯 가지 요구사항으로 정리합니다. 안전 메시지는 모두에게 방송되므로 기밀성보다 인증과 무결성이 우선입니다. 그래서 기밀성은 "선택(optional)" 항목으로 두었습니다.

요구사항의미
Authentication(인증)메시지 송신자의 신원을 확인합니다.
Integrity(무결성)메시지 변조를 탐지합니다.
Non-repudiation(부인 방지)송신자가 송신 사실을 부인할 수 없습니다.
Confidentiality(기밀성)민감 데이터를 암호화합니다. 안전 메시지에서는 선택 사항입니다.
Availability(가용성)서비스 거부 공격에 견딥니다.
Privacy(프라이버시)사용자의 위치와 신원을 보호합니다.

부인 방지와 프라이버시는 서로 긴장 관계에 있습니다. 이 긴장은 뒤에서 설명할 가명 인증서와 이상행동 탐지로 풀어 갑니다.

기술적 기초

보안 체계의 기반은 IEEE 1609.2의 공개키 기반구조(PKI)입니다. 이 절에서는 인증서 계층, 서명 메시지의 구조, 검증 절차를 순서대로 살펴봅니다.

7.2 인증서 계층과 메시지 서명·검증

루트 CA 아래에 두 갈래의 CA가 있습니다. Enrollment CA는 장기 인증서인 차량 등록 인증서(Enrollment Certificate)를 발급합니다. Authorization CA는 단기 인증서인 가명 인증서(Pseudonym Certificate)를 발급하며, 이 인증서는 자주 교체됩니다.

Root CA (Certificate Authority)
  ├── Enrollment CA (Long-term certificates)
  │     └── Vehicle Enrollment Certificates
  └── Authorization CA (Short-term certificates)
        └── Pseudonym Certificates (changed frequently)

인증서는 서명 대상(toBeSigned) 영역에 식별자, 유효 기간, 유효 지역, 보증 수준, 애플리케이션 권한(appPermissions)과 검증 키를 담습니다. 아래는 명세의 예를 줄여 인용한 것입니다.

{
  "version": 3,
  "type": "explicit",
  "issuer": "AuthorizationCA-001",
  "toBeSigned": {
    "id": "CERT-789012",
    "crlSeries": 5,
    "validityPeriod": { "start": "2025-12-26T00:00:00Z", "duration": "1 week" },
    "region": { "circularRegion": { "center": {"lat": 37.7749, "lon": -122.4194}, "radius": 50000 } },
    "assuranceLevel": "high",
    "appPermissions": [ { "psid": 0x20, "ssp": "all" } ],
    "verifyKeyIndicator": { "verificationKey": { "algorithm": "ecdsaNistp256" } }
  },
  "signature": { "algorithm": "ecdsaNistp256" }
}

여기서 PSID 0x20은 Basic Safety Message에 대한 권한이고, 반경 값은 미터 단위입니다. 인증서가 유효 지역을 포함하므로 지리적 일관성 검사가 가능해집니다.

서명된 메시지는 위에서 아래로 페이로드(BSM/CAM/DENM), 헤더 정보(프로토콜 버전과 메시지 유형), 서명자 정보(인증서 또는 다이제스트), 생성 시각, 생성 위치(3차원), 디지털 서명(ECDSA P-256) 순으로 구성됩니다. 수신 측 검증은 여섯 단계로 진행됩니다.

def verify_v2x_message(signed_message):
    cert = extract_certificate(signed_message)
    if not verify_certificate(cert):
        return False, "Invalid certificate"
    if is_revoked(cert):
        return False, "Certificate revoked"
    if not ecdsa_verify(cert.public_key, signed_message.payload,
                        signed_message.signature):
        return False, "Signature verification failed"
    # 재전송 공격 방지: 5초(5000 ms) 초과 시 거부
    if abs(current_time() - signed_message.generation_time) > 5000:
        return False, "Message too old"
    if not is_in_region(signed_message.generation_location, cert.region):
        return False, "Location outside certificate region"
    return True, "Message authenticated"

순서가 중요합니다. 인증서 유효성, 폐기 여부, 서명, 신선도, 위치 일관성의 순으로 확인하며, 하나라도 실패하면 즉시 거부합니다.

7.3 프라이버시 보호와 이상행동 탐지

가명 인증서는 5~10분마다 교체하며, 가명 사이에는 연결 가능성(linkability)이 없어야 합니다. 이렇게 해야 장기 추적을 막을 수 있습니다. 차량에는 20개 이상의 인증서를 미리 적재해 둡니다. 위치 자체도 보호 대상입니다. 등록된 집 반경 500m 안에서는 V2X 방송을 하지 않거나 최대 프라이버시 모드(암호화)를 씁니다. 병원, 정부 건물, 종교 시설 같은 민감 장소는 자동으로 탐지해 보호합니다.

def apply_privacy_filter(position, privacy_level):
    if privacy_level == 'MAXIMUM':
        return None                      # 위치를 방송하지 않음
    elif privacy_level == 'HIGH':        # 약 100m 정밀도
        return {'latitude': round(position.latitude, 3),
                'longitude': round(position.longitude, 3)}
    elif privacy_level == 'MEDIUM':      # 약 10m 정밀도
        return {'latitude': round(position.latitude, 4),
                'longitude': round(position.longitude, 4)}
    else:                                # LOW 또는 NONE: 전체 정밀도(약 1cm)
        return position

익명성이 보장되면 악의적 송신자를 가려내기 어려워집니다. 표준은 이를 이상행동 탐지(Misbehavior Detection)로 보완합니다. 수신 메시지를 이전 이력과 비교하는 방식이며, 명세의 기준은 다음과 같습니다.

시장 분석

본 표준은 시장 규모나 점유율 같은 수치를 규정하지 않습니다. 대신 통합 단계에 관여하는 주체와 그들의 선택지를 정의합니다. OEM은 V2X 무선 장치로 DSRC(802.11p)와 C-V2X 송수신기 중 하나를 택합니다. 인프라 운영자는 같은 메시지 집합과 보안 체계를 지원해야 차량과 상호 운용할 수 있습니다. 인증서를 발급하는 CA 운영 주체는 어느 한 제조사에 종속되지 않는 신뢰 기반을 제공합니다. 그래서 통합 단계는 기술 사양인 동시에 이해관계자 사이의 협약이기도 합니다.

산업 응용

애플리케이션 계층은 충돌 회피, 군집 주행(platooning), 경고와 사용자 인터페이스를 담당합니다. 명세는 이를 검증 시나리오로 구체화합니다. 충돌 회피에는 전방 충돌 경고, 사각지대 감지, 교차로 충돌이 포함됩니다. 군집 주행에는 대열 형성과 유지, 차선 변경 기동, 비상 해산이 포함됩니다. 각 응용은 BSM·CAM·DENM 메시지와 앞서 설명한 보안 계층 위에서 동작합니다.

표준 준수

WIA-COMM-003 준수 시스템에는 다섯 가지 구성요소가 필수입니다. V2X 무선 장치(DSRC 802.11p 또는 C-V2X), GNSS 수신기(GPS/GLONASS/Galileo), BSM/CAM/DENM을 생성하고 해석하는 메시지 처리기, 인증서 관리와 암호 연산을 맡는 보안 모듈, 그리고 애플리케이션 계층입니다. 이 표준이 근거로 삼는 기반 규격은 다음과 같습니다.

규격역할
IEEE 802.11p차량 환경용 무선 LAN
IEEE 1609.xWAVE: 1609.1 자원 관리, 1609.2 보안, 1609.3 네트워킹, 1609.4 다중 채널 운용
SAE J2735DSRC 메시지 집합 사전
SAE J2945, J2945/1DSRC 차량 탑재 시스템 요구사항, V2V 안전용 요구사항
ETSI EN 302 637Part 2 협력 인지(CAM), Part 3 분산 환경 통지(DENM)
ETSI TS 102 894-2기본 응용 집합 명세
ISO 21217스테이션 및 통신 아키텍처
3GPP TS 22.185, TS 23.285V2X 서비스 요구사항, V2X 서비스를 위한 아키텍처 개선

구현 고려사항

구현 측면에서는 소프트웨어 계층 구성, 메시지 생성의 단위 변환, 수신 부하를 줄이는 필터링, 그리고 현장 시험이 핵심입니다.

7.4 소프트웨어 구조, 메시지 생성, 필터링, 시험

참조 구조는 다섯 층입니다. 위에서부터 V2X 애플리케이션(충돌 회피, 군집 주행, UI), 미들웨어/SDK(메시지 처리, 이벤트 처리), 보안·프라이버시 계층(서명, 검증, 익명화), 프로토콜 스택(IEEE 1609.x, ETSI ITS-G5, SAE J2735), 하드웨어 추상화 계층(무선 제어, GNSS, CAN 버스)입니다. 보안 계층이 응용과 프로토콜 사이에 있으므로, 응용은 서명 세부를 몰라도 검증된 메시지만 받습니다.

BSM은 10 Hz로 생성합니다. 차량 상태를 규격 단위의 정수로 바꾸는 것이 핵심이며, 명세의 생성기에서 발췌하면 다음과 같습니다.

this.msgCount = (this.msgCount + 1) % 128;   // 카운터는 127에서 순환

position: {
  latitude:  Math.round(vehicleState.position.lat * 1e7),
  longitude: Math.round(vehicleState.position.lon * 1e7),
  elevation: Math.round(vehicleState.position.alt * 10)
},
speed:   Math.round(vehicleState.speed / 0.02),     // 0.02 m/s 단위
heading: Math.round(vehicleState.heading / 0.0125), // 0.0125° 단위
steeringAngle: Math.round(vehicleState.steeringAngle / 1.5)

차량 크기는 센티미터 단위의 폭과 길이로, 제동 상태는 휠 브레이크와 트랙션 컨트롤, ABS, 안정성 제어, 브레이크 부스트, 보조 브레이크의 on/off로 담습니다.

수신 부하는 필터링으로 줄입니다. 기본 최대 거리는 500m이며, 자차 진행 방위와의 차이가 90°를 넘는 메시지는 버립니다. 다만 50m 이내의 매우 가까운 차량은 방향과 무관하게 유지합니다. 서명 검증은 비용이 큰 연산이므로, 어떤 메시지를 처리 대상으로 삼을지 정하는 것이 곧 최적화입니다.

시험은 기본 통신(송수신, 지연, 패킷 전달률), 충돌 회피, 군집 주행, 보안(인증, 인증서 검증, 이상행동 탐지)의 네 영역으로 나뉩니다. 현장 시험에는 다음 최소 조건이 붙습니다.

미래 전망

명세는 후속 방향을 WIA 계열 표준과의 연결로 제시합니다. WIA-INTENT는 의도 기반 차량 제어, WIA-OMNI-API는 범용 API 게이트웨이, WIA-SOCIAL은 사회적 조율, WIA-EDGE는 V2X를 위한 엣지 컴퓨팅을 다룹니다. 특히 WIA-QUANTUM은 양자 내성 통신을 다루므로, 현재 ECDSA P-256에 의존하는 서명 체계가 장기적으로 이 표준과 만날 수 있습니다. 이들 표준의 세부는 해당 명세에서 확인해야 합니다.

요약

7.5 장 요약과 다음 장으로의 연결

이 장의 흐름은 다음과 같습니다. 여섯 가지 보안 요구사항에서 출발해, 루트 CA 아래 Enrollment CA와 Authorization CA로 나뉜 인증서 계층을 세웠습니다. 수신 측에서는 인증서 유효성, 폐기, 서명, 5초 신선도, 지리적 일관성을 차례로 검증합니다. 프라이버시는 가명 인증서 교체, 집 반경 500m 보호, 위치 정밀도 단계로 지키고, 익명성이 낳는 악용 위험은 이상행동 탐지로 막습니다. 구현 쪽에서는 다섯 필수 구성요소와 다섯 층 구조, 10 Hz BSM 생성, 거리·방향 필터, 최소 5대·100시간·50개 시나리오의 현장 시험 요건을 확인했습니다. 마지막으로 IEEE, SAE, ETSI, ISO, 3GPP 규격이 이 표준의 기반임을 정리했습니다.

이 장으로 표준의 기술 본문은 마무리됩니다. 이어지는 장에서는 이 요건을 실제 프로젝트에서 어떤 순서로 적용하고 점검할지, 즉 도입 절차와 점검 관점을 다룹니다.