로봇 보안
📌 개요
- 로봇이 서버·클라우드와 연결되는 순간 로봇은 네트워크 공격의 대상이 된다
- 보안이 특별히 중요한 이유 = 사이버 공격이 물리적 피해로 직결 — 해킹당한 로봇 팔은 사람을 다치게 할 수 있다
- 시험 출제 포인트: 정보보안 3요소(CIA), 공격 유형(도청·스푸핑·재전송·DoS), 대칭키 vs 공개키 암호의 비교, 해시·전자서명의 역할, TLS의 하이브리드 구조
📖 핵심 개념
정보보안의 3요소 — CIA
보안의 목표를 요약한 고전적 3요소다. 시험 최빈출.
- 기밀성(Confidentiality): 허가된 사람만 정보를 볼 수 있다 — 도청 방지, 암호화로 달성
- 무결성(Integrity): 정보가 위·변조되지 않았음을 보장 — 해시·전자서명으로 달성
- 가용성(Availability): 필요할 때 서비스가 동작해야 한다 — DoS 공격 방어, 이중화로 달성
여기에 실무적으로 세 가지가 추가된다.
- 인증(Authentication): 상대가 주장하는 그 주체가 맞는지 확인 (누구냐)
- 인가(Authorization): 인증된 주체에게 어떤 권한을 줄지 결정 (무엇을 해도 되냐)
- 부인방지(Non-repudiation): 행위를 한 사람이 나중에 "내가 안 했다"고 부인하지 못하게 함 — 전자서명으로 달성
로봇 시스템의 보안 위협
| 공격 | 수법 | 로봇에서의 피해 |
|---|---|---|
| 도청(Sniffing) | 통신을 몰래 엿봄 | 지도·영상·작업 데이터 유출 |
| 스푸핑(Spoofing) | 신원을 위장(가짜 서버·가짜 로봇) | 위조 명령 주입 |
| 중간자 공격(MITM, Man-in-the-Middle) | 양쪽 사이에 끼어 통신을 중계·변조 | 명령 변조, 데이터 조작 |
| 재전송 공격(Replay Attack) | 가로챈 정상 패킷을 나중에 다시 보냄 | 과거의 "이동" 명령 재실행 |
| 서비스 거부(DoS/DDoS) | 트래픽 폭주로 서비스 마비 | 관제 불능, 가용성 상실 |
| 악성코드(Malware) | 악성 프로그램 설치 | 로봇 제어권 탈취 |
| 무단 접근(Unauthorized Access) | 취약한 인증 뚫기(기본 비밀번호 등) | 원격 조작 탈취 |
IT 시스템의 해킹은 데이터 피해로 끝나지만, 로봇 해킹은 물리적 안전사고(충돌, 상해)로 이어진다. 그래서 로봇에서는 보안(Security)이 안전(Safety)의 전제 조건이다. 또한 로봇의 임베디드 환경은 연산 자원이 제한되어 가벼운 보안 기법이 요구된다.
암호화 — 대칭키 vs 공개키
- 암호화(Encryption) = 평문(Plaintext)을 키(Key)로 변환해 암호문(Ciphertext)으로 만드는 것
- 키 운용 방식에 따라 두 계열로 나뉨 — 아래 비교표는 시험 단골
| 구분 | 대칭키(비밀키) 암호 | 공개키(비대칭) 암호 |
|---|---|---|
| 키 구성 | 암·복호화에 같은 키 사용 | 공개키 + 개인키 쌍 (공개키로 잠그면 개인키로만 열림) |
| 속도 | 빠름 — 대량 데이터에 적합 | 느림 (수백~수천 배) |
| 키 배송 문제 | 있음 — 키를 안전하게 전달할 방법 필요 | 없음 — 공개키는 공개해도 됨 |
| 키 개수 (n명 통신) | n(n−1)/2개로 급증 | 2n개 |
| 대표 알고리즘 | AES, SEED, ARIA | RSA, ECC(타원곡선), Diffie-Hellman(키 교환) |
- 하이브리드 방식: 공개키 암호로 세션키(대칭키)를 안전하게 교환한 뒤, 실제 데이터는 빠른 대칭키로 암호화 — 두 방식의 장점만 취한다. TLS/SSL이 이 구조다
- TLS(Transport Layer Security): 인터넷 통신 암호화의 표준. HTTP에 TLS를 씌운 것이 HTTPS, MQTT에 씌우면 MQTTS. 서버 인증서(공개키 + 신원을 인증기관 CA가 서명한 것)로 서버의 신원을 확인하고 세션키를 교환한다
해시와 전자서명
- 해시 함수(Hash Function): 임의 길이 데이터를 고정 길이 요약값(해시)으로 바꾸는 일방향 함수. 원문이 1비트만 바뀌어도 해시가 완전히 달라지므로 무결성 검증에 쓰인다. 역산 불가, 대표: SHA-256. 비밀번호는 평문이 아닌 해시로 저장한다
- 전자서명(Digital Signature): 보내는 사람이 자신의 개인키로 문서(의 해시)를 서명하고, 받는 사람이 그 사람의 공개키로 검증. 서명이 맞으면 ① 그 사람이 보낸 것(인증·부인방지) ② 내용이 안 바뀐 것(무결성)이 동시에 보장된다
- 암호화(공개키로 잠금→개인키로 엶)와 서명(개인키로 서명→공개키로 검증)은 키 사용 방향이 반대라는 점에 주의
인증과 접근 통제
- 인증 수단 3요소: 지식 기반(비밀번호), 소유 기반(OTP 토큰·인증서·스마트카드), 존재/특징 기반(지문·홍채 등 생체). 두 가지 이상 조합하면 다중 인증(MFA, Multi-Factor Authentication)
- 접근 통제: 역할 기반 접근 통제(RBAC, Role-Based Access Control) — 사용자에게 직접 권한을 주지 않고 역할(운영자·정비사·관리자)에 권한을 묶어 부여
- 최소 권한 원칙(Principle of Least Privilege): 업무에 필요한 최소한의 권한만 부여
네트워크·시스템 보안 대책
- 방화벽(Firewall): 규칙에 따라 허용된 트래픽만 통과
- VPN(Virtual Private Network): 공용 인터넷 위에 암호화된 가상 전용망을 구성 — 원격지에서 로봇 네트워크에 안전하게 접속
- IDS/IPS(침입 탐지/방지 시스템): 공격 패턴을 탐지(IDS)하고 차단(IPS)
- 로봇 특화 대책: ROS 2의 보안 프레임워크 SROS2(DDS Security 기반 — 노드 인증·토픽 암호화·접근 통제), OTA 업데이트 시 전자서명으로 펌웨어 위변조 검증, 기본 비밀번호 변경, 불필요 포트 차단
📊 다이어그램 · 수식
TLS 하이브리드 암호 통신의 개념 흐름
sequenceDiagram
participant R as 로봇 (클라이언트)
participant S as 운영 서버
R->>S: 접속 요청 (지원 암호 방식 제시)
S->>R: 서버 인증서 전달 (공개키 + CA 서명)
Note over R: CA 서명 검증 → 서버 신원 확인
R->>S: 세션키 재료를 서버 공개키로 암호화해 전송
Note over R,S: 양쪽이 동일한 세션키(대칭키) 확보
loop 데이터 통신
R->>S: 세션키(AES 등)로 암호화된 데이터
S->>R: 세션키로 암호화된 응답
end전자서명의 원리
graph LR
subgraph 송신자
D1["문서"] --> H1["해시 계산"] --> SG["개인키로 서명"]
end
D1 --> NET["전송: 문서 + 서명"]
SG --> NET
subgraph 수신자
NET --> H2["문서의 해시 재계산"]
NET --> VF["공개키로 서명 복호"]
H2 --> CMP{"두 값 일치?"}
VF --> CMP
CMP -- "일치" --> OK["무결성 + 인증 + 부인방지 확인"]
CMP -- "불일치" --> NG["위변조 또는 위장"]
end🎯 핵심 요약 · 암기 포인트
✏️ 예상문제
1. 정보보안 3요소(CIA)에 해당하지 않는 것은?
① 기밀성(Confidentiality) ② 무결성(Integrity) ③ 가용성(Availability) ④ 부인방지(Non-repudiation)
정답 및 해설
정답: ④ CIA는 기밀성·무결성·가용성이다. 부인방지는 3요소에 추가로 논의되는 확장 요소로, 전자서명으로 달성한다.
2. 대칭키 암호와 공개키 암호의 비교로 옳지 않은 것은?
① 대칭키 암호는 암호화와 복호화에 같은 키를 쓴다 ② 공개키 암호는 대칭키 암호보다 연산 속도가 빠르다 ③ 대칭키 암호는 키를 안전하게 전달해야 하는 키 배송 문제가 있다 ④ AES는 대칭키, RSA는 공개키 알고리즘이다
정답 및 해설
정답: ② 반대다. 공개키 암호는 수학적 연산이 무거워 대칭키보다 수백~수천 배 느리다. 그래서 TLS는 공개키로 세션키만 교환하고 데이터는 대칭키로 암호화하는 하이브리드 구조를 쓴다.
3. 가로챈 정상 명령 패킷을 저장해 두었다가 나중에 그대로 다시 전송하여 로봇이 과거 명령을 재실행하게 만드는 공격은?
① 스니핑(Sniffing) ② 서비스 거부(DoS) ③ 재전송 공격(Replay Attack) ④ 무차별 대입(Brute Force)
정답 및 해설
정답: ③ 재전송 공격이다. 패킷 내용이 암호화되어 있어도 통째로 다시 보내면 통할 수 있으므로, 타임스탬프나 일회용 난수(Nonce)·순서 번호를 넣어 방어한다.
4. 전자서명에 대한 설명으로 옳은 것은?
① 송신자의 공개키로 서명하고 개인키로 검증한다 ② 기밀성을 보장하는 것이 주된 목적이다 ③ 무결성·인증·부인방지를 제공한다 ④ 서명 검증에는 인증기관이 필요 없고 아무 키나 사용해도 된다
정답 및 해설
정답: ③ 서명이 검증되면 그 개인키의 주인이 보냈고(인증·부인방지) 내용이 바뀌지 않았음(무결성)이 보장된다. ① 서명은 개인키로 하고 공개키로 검증한다. ② 기밀성은 암호화의 역할이다. ④ 공개키가 진짜 그 사람 것인지 보증하기 위해 인증기관(CA)의 인증서 체계를 쓴다.
5. OTA(원격 소프트웨어 업데이트)에서 배포되는 펌웨어의 위변조를 확인하는 가장 적절한 방법은?
① 펌웨어 파일 크기를 비교한다 ② 배포자의 전자서명을 검증한다 ③ 전송 속도를 측정한다 ④ 파일 이름 규칙을 확인한다
정답 및 해설
정답: ② 제조사가 개인키로 펌웨어에 서명하고 로봇이 공개키로 검증하면, 위변조된 펌웨어(해시 불일치)나 제3자가 만든 펌웨어(서명 불일치)를 설치 전에 걸러낼 수 있다. 크기·이름은 쉽게 위조된다.
🔗 관련 노트
- 서버 프로그램 — 보안이 적용되는 서버 연동 구조
- 클라이언트 프로그램 — 클라이언트 측 인증·암호화 적용점
- 로봇 원격제어기 인터페이스 — 원격 조작 채널의 보안·안전
- 로봇 구성 요소 간 통신 프로토콜 — 보호 대상인 통신 계층
- 로봇 미들웨어 구조 설계 — DDS·ROS 2 미들웨어와 SROS2
- _MOC 로봇운영소프트웨어