Chapter 657. ROS2 보안 (ROS2 Security) Chapter 657. ROS2 보안 (ROS2 Security) 657.1로봇 시스템 보안의 필요성 657.2로봇 시스템에 대한 위협 모델 (Threat Model) 657.3로봇 통신의 공격 벡터 분류 657.4스푸핑 (Spoofing) 공격과 대응 657.5탬퍼링 (Tampering) 공격과 대응 657.6정보 노출 (Information Disclosure) 공격과 대응 657.7서비스 거부 (Denial of Service) 공격과 대응 657.8권한 상승 (Elevation of Privilege) 공격과 대응 657.9리플레이 (Replay) 공격과 대응 657.10중간자 (Man-in-the-Middle) 공격과 대응 657.11ROS2 보안 아키텍처 개요 657.12ROS1과 ROS2의 보안 차이점 657.13DDS 보안 사양 (DDS Security) 기반 설계 657.14DDS 보안 플러그인 아키텍처 657.15SROS2 (Secure ROS2) 프레임워크 개요 657.16SROS2의 설계 철학과 목표 657.17SROS2의 구성 요소와 상호관계 657.18공개 키 기반 구조 (PKI) 개념 657.19대칭 키 암호화와 비대칭 키 암호화 657.20디지털 서명의 원리와 활용 657.21인증 기관 (Certificate Authority) 설정 657.22루트 CA와 중간 CA 구성 657.23자체 서명 인증서 (Self-Signed Certificate) 생성 657.24X.509 인증서의 구조와 역할 657.25X.509 인증서의 필드 구성 657.26인증서 체인 (Certificate Chain) 검증 과정 657.27SROS2를 이용한 키스토어 생성 657.28키스토어의 디렉터리 구조 657.29키스토어의 파일 구성 (CA 인증서, 노드 인증서, 키) 657.30ros2 security CLI 명령어 개요 657.31ros2 security create_keystore 명령어 657.32ros2 security create_enclave 명령어 657.33ros2 security generate_artifacts 명령어 657.34ros2 security generate_policy 명령어 657.35보안 엔클레이브 (Enclave)의 개념과 구조 657.36엔클레이브와 노드의 매핑 관계 657.37엔클레이브 경로 (Enclave Path) 명명 규칙 657.38다중 노드 엔클레이브 구성 657.39단일 노드 엔클레이브 구성 657.40인증 (Authentication) 플러그인 개요 657.41상호 인증 (Mutual Authentication) 메커니즘 657.42인증서 기반 노드 식별 657.43인증 핸드셰이크 프로토콜 657.44인증 실패 처리와 오류 코드 657.45접근 제어 (Access Control) 플러그인 개요 657.46접근 제어 정책 파일 (permissions.xml) 구조 657.47접근 제어 정책의 유효 기간 (validity) 설정 657.48허용 규칙 (allow) 정의 방법 657.49거부 규칙 (deny) 정의 방법 657.50기본 정책 (default) 설정 657.51토픽별 발행 (publish) 접근 권한 설정 657.52토픽별 구독 (subscribe) 접근 권한 설정 657.53토픽별 릴레이 (relay) 접근 권한 설정 657.54서비스별 요청 (request) 접근 권한 설정 657.55서비스별 응답 (reply) 접근 권한 설정 657.56액션별 접근 권한 설정 657.57파라미터별 접근 권한 설정 657.58와일드카드를 이용한 접근 권한 설정 657.59접근 제어 거버넌스 파일 (governance.xml) 구조 657.60도메인 수준 보안 정책 설정 657.61보호 종류 (protection_kind) 설정 옵션 657.62발견 보호 (discovery_protection) 설정 657.63활성 보호 (liveliness_protection) 설정 657.64RTPS 보호 (rtps_protection) 설정 657.65암호화 (Cryptographic) 플러그인 개요 657.66토픽 데이터 암호화 설정 657.67서비스 데이터 암호화 설정 657.68발견 메시지 보호 설정 657.69활성 메시지 보호 설정 657.70RTPS 서브메시지 암호화 657.71AES-128-GCM 암호화 알고리즘 657.72AES-256-GCM 암호화 알고리즘 657.73HMAC-SHA256 기반 메시지 무결성 검증 657.74암호화 키 교환 메커니즘 657.75세션 키 관리와 갱신 657.76ROS_SECURITY_KEYSTORE 환경 변수 설정 657.77ROS_SECURITY_ENABLE 환경 변수 설정 657.78ROS_SECURITY_STRATEGY 환경 변수 설정 657.79ROS_SECURITY_ENCLAVE_OVERRIDE 환경 변수 설정 657.80Enforce 모드의 동작과 특성 657.81Permissive 모드의 동작과 특성 657.82보안 활성화 런치 파일 구성 657.83런치 파일에서의 보안 파라미터 설정 657.84보안 정책 XML 파일의 서명과 검증 657.85보안 인증서 갱신과 만료 관리 657.86인증서 자동 갱신 메커니즘 657.87인증서 폐기 목록 (CRL) 관리 657.88OCSP (Online Certificate Status Protocol) 활용 657.89보안 정책의 동적 업데이트 전략 657.90보안 정책 배포 자동화 657.91Fast DDS의 보안 플러그인 구성 방법 657.92Fast DDS 보안 XML 프로파일 설정 657.93Cyclone DDS의 보안 플러그인 구성 방법 657.94Cyclone DDS 보안 XML 설정 657.95Zenoh rmw의 TLS/mTLS 보안 설정 657.96Zenoh의 ACL 기반 접근 제어 657.97보안 통신의 지연 시간 영향 분석 657.98보안 통신의 처리량 영향 분석 657.99보안 통신의 메모리 사용량 영향 분석 657.100보안 오버헤드 최소화 전략 657.101선택적 암호화 (Selective Encryption) 전략 657.102하드웨어 보안 모듈 (HSM) 연동 657.103TPM (Trusted Platform Module) 연동 657.104네트워크 레벨 보안: 방화벽 구성 657.105네트워크 레벨 보안: VPN 구성 657.106네트워크 레벨 보안: IPsec 구성 657.107노드 레벨 보안과 네트워크 레벨 보안의 조합 전략 657.108보안 감사 (Audit) 로깅 구현 657.109보안 이벤트 모니터링과 경고 657.110침입 탐지 시스템 (IDS) 연동 657.111보안 취약점 분석 방법론 657.112침투 테스트 절차와 도구 657.113보안 사고 대응 절차 657.114다중 로봇 시스템의 보안 설계 657.115군집 로봇의 인증 및 키 관리 657.116클라우드-로봇 통신의 보안 설계 657.117원격 관제 시스템의 보안 설계 657.118OTA (Over-The-Air) 펌웨어 업데이트 보안 657.119코드 서명 (Code Signing) 메커니즘 657.120안전한 부트 (Secure Boot) 통합 657.121컨테이너 환경에서의 ROS2 보안 설정 657.122Docker/Kubernetes 환경의 보안 격리 657.123보안 모범 사례 (Best Practices) 657.124보안 체크리스트와 감사 가이드 657.125ROS2 보안의 제한 사항과 알려진 이슈 657.126ROS2 보안의 향후 발전 방향