개인공부용

출처 : ChatGPT

 

🔐 MAC이 먼저 뭐냐면?

MAC (Message Authentication Code)

“이 메시지가 변조되지 않았고, 같은 비밀키를 가진 쪽에서 보낸 게 맞는지 확인하는 값”

  • 암호화 ❌ (내용은 안 숨김)
  • 위·변조 탐지 ⭕
  • 송신자 인증 ⭕

 

1️⃣ CMAC (Cipher-based MAC)

▶ 이름 뜻

  • Cipher-based MAC
  • 👉 블록 암호(AES) 를 이용한 MAC

▶ 내부 원리 (쉽게)

  1. 비밀키 K 하나 있음
  2. 메시지를 블록으로 나눔
  3. AES로 체인처럼 암호화
  4. 마지막 블록 결과 = CMAC
 
M1 → AES → X1 M2 → AES → X2 ... Mn → AES → CMAC

(중간에 서브키 K1/K2 생성 규칙 있음)


▶ 특징 요약

항목내용
기반 블록암호 (보통 AES)
대칭키 1개
출력 고정 길이 (보통 128bit)
장점 HW 구현 매우 쉬움
단점 AES 필요

▶ 언제 쓰나?

  • SoC / MCU / 보안카메라
  • 하드웨어 AES 엔진이 있을 때
  • CC·FIPS 인증 시스템

📌 실무 한 줄

“AES 있는 칩이면 CMAC이 제일 싸고 빠름”


2️⃣ HMAC (Hash-based MAC)

▶ 이름 뜻

  • Hash-based MAC
  • 👉 해시 함수(SHA-256 등) 기반

▶ 내부 원리 (쉽게)

  1. 비밀키 K 준비
  2. key ⊕ ipad → 해시
  3. 결과 ⊕ opad → 다시 해시
 
H( (K ⊕ opad) || H( (K ⊕ ipad) || message ) )

▶ 특징 요약

항목내용
기반 해시함수 (SHA-256 등)
대칭키 1개
출력 해시 길이
장점 구조 단순, 안전성 검증 풍부
단점 연산량 상대적으로 큼

▶ 언제 쓰나?

  • 서버 / 클라우드 / API 인증
  • TLS, JWT, REST API
  • SW 환경

📌 실무 한 줄

“서버·네트워크 세계의 표준 MAC”


🔁 CMAC vs HMAC 핵심 비교

구분CMACHMAC
기반 AES 같은 블록암호 SHA 같은 해시
HW 가속 ⭐⭐⭐⭐⭐ ⭐⭐
SW 구현 ⭐⭐⭐ ⭐⭐⭐⭐⭐
성능 빠름 (HW) 빠름 (CPU)
표준 NIST SP 800-38B RFC 2104
대표 알고리즘 AES-CMAC HMAC-SHA256

🔐 보안성 차이는?

👉 둘 다 현재 기준으로 안전

  • CMAC ≠ CBC-MAC (취약 버전)
  • HMAC은 해시 취약성과 거의 독립

⚠️ 단, 키 관리가 제일 중요


🎯 실무 선택 가이드 

환경추천
카메라 SoC / MCU AES-CMAC
Secure Boot CMAC
API 인증 HMAC-SHA256
PUF Helper Data 보호 CMAC or HMAC
클라우드 연동 HMAC

 

'C.S. > Security' 카테고리의 다른 글

LDAP (Lightweight Directory Access Protocol)  (0) 2026.01.13
ECDSA & EdDSA  (0) 2026.01.08
ECDSA (Elliptic Curve Digital Signature Algorithm)  (0) 2026.01.08
PUF 세부 특징  (0) 2026.01.08
PUF 분류  (0) 2026.01.08

+ Recent posts