CoAP(Constrained Application Protocol)는 제한된 환경에서 동작하는 IoT 장치를 위한 경량 애플리케이션 계층 프로토콜입니다.
특히 정보보안 분야에서 CoAP는 DTLS 기반의 보안 통신, 자원 접근 제어, 경량화된 암호화 등 중요한 보안 요소를 갖추고 있어 주목받습니다.
| 항목 | 설명 |
|---|---|
| 정식 명칭 | Constrained Application Protocol |
| 표준화 기관 | IETF (RFC 7252) |
| 기반 프로토콜 | UDP |
| 역할 | HTTP와 유사한 RESTful 인터페이스 제공 (GET, POST, PUT, DELETE) |
| 사용 목적 | 리소스가 제한된 IoT 장치 간의 효율적인 통신 |
HTTP는 TCP 기반이고 무겁기 때문에, IoT처럼 CPU, 메모리, 전력 등이 제한된 장치에서는 CoAP가 더 적합합니다.
| 기능 | 설명 |
|---|---|
| 암호화 | AES-CCM 등을 통해 메시지 내용 보호 |
| 무결성 | MAC(Message Authentication Code)을 통해 위변조 방지 |
| 상호 인증 | PSK, RPK, X.509 인증서 방식 모두 지원 |
| 리플레이 공격 방지 | DTLS 시퀀스 번호로 대응 |
| 모드 | 설명 |
|---|---|
| NoSec | 보안 미적용 (테스트 용도 또는 공개 자원 접근) |
| PreShared Key (PSK) | 미리 공유한 키를 사용한 경량 인증 |
| Raw Public Key (RPK) | 인증서 없이 공개키 직접 전달 |
| X.509 | PKI 기반 인증서 사용 (상대적으로 무거움) |
▶️ DTLS는 전송 계층 보안,
▶️ OSCORE는 응용 계층 보안
| 보안 위협 | 설명 | 대응 방안 |
|---|---|---|
| 중간자 공격 (MITM) | 암호화 없을 시 데이터 탈취 위험 | DTLS 적용, 인증서 또는 PSK |
| 스푸핑 공격 | 가짜 장치로 위장 가능 | Mutual Authentication |
| 리플레이 공격 | 이전 메시지를 재전송 | DTLS 시퀀스, OSCORE nonce |
| 과부하 공격 (DoS) | UDP 기반의 무연결 특성 악용 | Rate Limiting, DTLS Handshake 제한 |
| 자원 접근 통제 실패 | 허가되지 않은 접근 허용 | OAuth 기반 토큰 인증, ACE 연동 |
| 항목 | 권장사항 |
|---|---|
| 암호화 사용 | 필수 (DTLS or OSCORE) |
| 인증 수단 | PSK (경량), X.509 (보안성), RPK (균형) |
| 자원 분리 | 민감 리소스는 별도 인증 및 권한 필요 |
| Key Management | 키 주기적 갱신, PSK 교환 채널 보호 |
| IoT 플랫폼 연계 | ACE, LwM2M 등 상위 프레임워크 고려 |
| 항목 | CoAP + DTLS | HTTP + TLS |
|---|---|---|
| 프로토콜 | UDP | TCP |
| 보안 계층 | DTLS (경량 TLS) | TLS |
| 인증 | PSK, RPK, X.509 | X.509 |
| 지원 방식 | 멀티캐스트, 비동기 | 유니캐스트, 동기 |
| 적합 환경 | IoT, 센서 네트워크 | 일반 웹/앱 환경 |
| 항목 | 요약 |
|---|---|
| CoAP | IoT 환경에서 HTTP 역할을 대신하는 경량 프로토콜 |
| 보안 적용 | DTLS, OSCORE 기반으로 암호화 및 인증 제공 |
| 보안 리스크 | 스푸핑, MITM, 리플레이 등 다양한 위협 존재 |
| 보안 설계 | 인증 방식 선택, 키 관리, 자원 접근 제어 필수 |
1. 타입스크립트 개요 타입스크립트(TypeScript)는 마이크로소프트(Microsoft)가 개발한 자바스크립트(JavaScript)의 상위 집합(Superset) 언어입니다.즉, 자바스크립트에 정적 타입(Static Type)을 추가하고,…
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…