CoAP(Constrained Application Protocol)는 제한된 환경에서 동작하는 IoT 장치 를 위한 경량 애플리케이션 계층 프로토콜입니다. 특히 정보보안 분야에서 CoAP는 DTLS 기반의 보안 통신 , 자원 접근 제어 , 경량화된 암호화 등 중요한 보안 요소를 갖추고 있어 주목받습니다.
1. CoAP 개요
항목 설명 정식 명칭 Constrained Application Protocol 표준화 기관 IETF (RFC 7252) 기반 프로토콜 UDP 역할 HTTP와 유사한 RESTful 인터페이스 제공 (GET, POST, PUT, DELETE) 사용 목적 리소스가 제한된 IoT 장치 간의 효율적인 통신
HTTP는 TCP 기반이고 무겁기 때문에, IoT처럼 CPU, 메모리, 전력 등이 제한된 장치에서는 CoAP가 더 적합합니다.
2. CoAP 기본 구조
URI 방식의 리소스 접근 (RESTful)
UDP 기반 전송
비동기 메시징 지원
멀티캐스트 통신 가능
옵션(Option) 기반 헤더 구조 → 유연성 & 경량성 확보
3. CoAP의 보안 메커니즘
✅ 1) DTLS (Datagram Transport Layer Security)
UDP 기반 통신을 위한 TLS 대체 프로토콜
CoAP는 DTLS를 사용하여 암호화, 무결성, 인증 을 제공합니다.
기능 설명 암호화 AES-CCM 등을 통해 메시지 내용 보호 무결성 MAC(Message Authentication Code)을 통해 위변조 방지 상호 인증 PSK, RPK, X.509 인증서 방식 모두 지원 리플레이 공격 방지 DTLS 시퀀스 번호로 대응
📌 DTLS 보안 모드 (RFC 7925 기준)
모드 설명 NoSec 보안 미적용 (테스트 용도 또는 공개 자원 접근) PreShared Key (PSK) 미리 공유한 키를 사용한 경량 인증 Raw Public Key (RPK) 인증서 없이 공개키 직접 전달 X.509 PKI 기반 인증서 사용 (상대적으로 무거움)
✅ 2) OSCORE (Object Security for Constrained RESTful Environments)
CoAP 메시지 자체에 엔드투엔드 암호화 를 적용하는 방식
DTLS는 Hop-by-hop 보안 만 가능하지만, OSCORE는 End-to-End 보안 가능
메시지 헤더 일부는 암호화 안 하고, Payload만 암호화
▶️ DTLS는 전송 계층 보안, ▶️ OSCORE는 응용 계층 보안
✅ 3) 접근 제어 (Access Control)
CoAP은 단독으로 복잡한 인증 기능은 없지만, DTLS + Token 방식으로 제한적 접근 제어 가능
향후 ACE (Authentication and Authorization for Constrained Environments) 프레임워크와 연동 가능
OAuth 2.0을 경량화한 방식으로 리소스 서버 인증도 가능
4. 보안 위협 및 대응
보안 위협 설명 대응 방안 중간자 공격 (MITM) 암호화 없을 시 데이터 탈취 위험 DTLS 적용, 인증서 또는 PSK 스푸핑 공격 가짜 장치로 위장 가능 Mutual Authentication 리플레이 공격 이전 메시지를 재전송 DTLS 시퀀스, OSCORE nonce 과부하 공격 (DoS) UDP 기반의 무연결 특성 악용 Rate Limiting, DTLS Handshake 제한 자원 접근 통제 실패 허가되지 않은 접근 허용 OAuth 기반 토큰 인증, ACE 연동
5. CoAP 보안 설계 시 고려사항
항목 권장사항 암호화 사용 필수 (DTLS or OSCORE) 인증 수단 PSK (경량), X.509 (보안성), RPK (균형) 자원 분리 민감 리소스는 별도 인증 및 권한 필요 Key Management 키 주기적 갱신, PSK 교환 채널 보호 IoT 플랫폼 연계 ACE, LwM2M 등 상위 프레임워크 고려
6. CoAP vs HTTP (보안 비교)
항목 CoAP + DTLS HTTP + TLS 프로토콜 UDP TCP 보안 계층 DTLS (경량 TLS) TLS 인증 PSK, RPK, X.509 X.509 지원 방식 멀티캐스트, 비동기 유니캐스트, 동기 적합 환경 IoT, 센서 네트워크 일반 웹/앱 환경
🧪 실무 예시
스마트 미터링 시스템 → CoAP + DTLS PSK 사용
홈 오토메이션 → CoAP + OSCORE로 End-to-End 보안
군사/의료 IoT 환경 → CoAP + X.509 인증서 기반 강력 보안
📚 요약
항목 요약 CoAP IoT 환경에서 HTTP 역할을 대신하는 경량 프로토콜 보안 적용 DTLS, OSCORE 기반으로 암호화 및 인증 제공 보안 리스크 스푸핑, MITM, 리플레이 등 다양한 위협 존재 보안 설계 인증 방식 선택, 키 관리, 자원 접근 제어 필수