보안

CoAP(Constrained Application Protocol)

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.509PKI 기반 인증서 사용 (상대적으로 무거움)

✅ 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 + DTLSHTTP + TLS
프로토콜UDPTCP
보안 계층DTLS (경량 TLS)TLS
인증PSK, RPK, X.509X.509
지원 방식멀티캐스트, 비동기유니캐스트, 동기
적합 환경IoT, 센서 네트워크일반 웹/앱 환경

🧪 실무 예시

  • 스마트 미터링 시스템 → CoAP + DTLS PSK 사용
  • 홈 오토메이션 → CoAP + OSCORE로 End-to-End 보안
  • 군사/의료 IoT 환경 → CoAP + X.509 인증서 기반 강력 보안

📚 요약

항목요약
CoAPIoT 환경에서 HTTP 역할을 대신하는 경량 프로토콜
보안 적용DTLS, OSCORE 기반으로 암호화 및 인증 제공
보안 리스크스푸핑, MITM, 리플레이 등 다양한 위협 존재
보안 설계인증 방식 선택, 키 관리, 자원 접근 제어 필수

zerg96

Recent Posts

MCP(Model Context Protocol)

오늘은 AI 생태계에 혁신적인 변화를 가져올 것으로 예상되는 MCP(Model Context Protocol)에 대해 상세히 알아보겠습니다. 2024년…

1주 ago

TPM(Trusted Platform Module)

1. TPM이란? TPM(Trusted Platform Module)은 국제 표준 기반의 보안 하드웨어 칩으로, 컴퓨터나 디지털 장비 내에서…

1주 ago

BitLocker

BitLocker는 Microsoft Windows 운영 체제에 내장된 디스크 전체 암호화(Full Disk Encryption) 기능입니다. 기업 환경뿐만 아니라…

1주 ago

《데블스 플랜 시즌2》: 게임인가, 연애인가? 소희 이렇게까지..?

시즌2, 기대했는데... 실망도 두 배!두뇌싸움을 기대했는데, 전략도 없는 자기들만의 감정에 따른 편가르기, 정치싸움이 되어 버린…

2주 ago

BPF도어(BPFdoor)

BPF(Berkeley Packet Filter) 도어는 해커가 관리자 몰래 뒷문을 새로 만든 것입니다.해커가 명령을 내려 특정 데이터들을 뒷문을…

2주 ago

IPC (Inter-Process Communication)

1. IPC의 개념과 목적 1.1 IPC란 무엇인가? IPC (Inter-Process Communication)는 운영체제 내의 서로 독립적인 프로세스…

2주 ago