| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- jQuery
- SQL
- c:choose
- 동적쿼리
- Java
- JavaScript
- 대칭키암호시스템
- node.js
- AndroidStudio
- 해시함수
- 암호학
- 국제화
- c:forEach
- 서드파티모듈
- MySQL
- 대칭키암호화
- react
- 대칭키알고리즘
- jsx
- NPM
- vscode
- JSTL
- 전자서명
- 무결성
- 공개키암호시스템
- RequestMethod.POST
- C#크롤링
- fullcalendar
- Spring
- mybatis
- Today
- Total
Today Yewon Learned
[암호화] 메세지 인증 코드(MAC) vs. 전자서명(Digital Signature) 본문
무결성(Integrity)이란?
데이터가 변경되지 않았음을보장하는 성질. 즉, 데이터를 저장하거나 전송하는 동안 안조작, 손상, 변조되지 않았는지 확인하는 것
1. 같은 입력 → 항상 같은 해시 값
2. 입력이 조금이라도 다르면 → 완전 다른 해시 값
3. 해시 값만 보고 원본 데이터를 추측할 수 없음 (역산 불가)
4. 충돌 매우 어려움 (다른 입력이 같은 해시 값을 가지기 어려움)
해시 함수가 무결성에 쓰이는 방식
■ 단순 무결성 검사
- 데이터를 전송하거나 저장할 때, 해시 값도 보냄
- 나중에 수신자나사용자 측에서 동일한 방식으로 해시를 다시 계산해서 비교
- 일치하면 → 데이터가 변조되지 않음
- 다르면 → 중간에 변경됨 (무결성 위반)
■ 메시지 인증코드 (Message Authentication Code, MAC)

■ 메시지 인증 코드를 이용한 인증 순서
► 해시함수
1️⃣ 데이터 무결성 보장
2️⃣ 발신지에 대한 신원 확인 불가능
문제 해결 방안 ➡️ 인증 절차를 추가한 것이 메시지 인증 코드이다. (무결성, 인증 제공)

① 송신자 앨리스와 수신자 밥은 사전에 키를 공유해 둔다. (Secret Key)
② 송신자 앨리스는 송금 의뢰 메시지를 기초로 해서 MAC 값을 계산한다(공유 키를 사용).
③ 송신자 앨리스는 수신자 밥에게 송금 의뢰 메시지와 MAC 값을 보낸다.
④ 수신자 밥은 수신한 송금 의뢰 메시지를 기초로 해서 MAC 값을 계산한다(공유 키를 사용).
⑤ 수신자 밥은 앨리스로부터 수신한 MAC 값과 계산으로 얻어진 MAC 값을 비교한다.
⑥ 수신자 밥은 2개의 MAC 값이 동일하면 송금 의뢰가 틀림없이 앨리스로부터 온 것이라고 판단한다(인증 성공). / 동일하지 않다면 앨리스로부터 온 것이 아니라고 판단한다.(인증 실패)
전자서명
► MAC(Message Authentication Code)
1️⃣ 메시지 인증 가능
2️⃣ 부인방지가 불가능 (단점)
문제 해결 방안 ➡️ 메시지 인증 보장 + 부인 방지(non-repudiation) → 디지털 서명 이용
메세지 인증 코드 (MAC) vs. 전자서명
| 정의 | MAC - 비밀키를 사용해 생성한 메시지의 무결성 코드 | 전자서명 - 개인키로 메시지를 암호화한 서명 |
| 사용 목적 | 메시지가 중간에 변경되지 않았음을 확인하고, 메시지를 보낸 사람이 동일 키를 공유하고 있는지를 확인 |
메시지의 무결성과 발신자의 신원을 검증 (부인 방지 포함) |
| 키 사용 | 대칭키 (하나의 키를 공유) | 비대칭키 (개인키/공개키 쌍) |
| 누가 생성? | 송신자와 수신자가 동일한 키를 알고 있음 → 수신자도 MAC 생성 가능 |
개인키를 가진 송신자만 생성 가능 |
| 검증 방식 | 수신자가 같은 키로 MAC을 재계산하여 비교 | 수신자가 송신자의 공개키로 서명을 검증 |
| 부인 방지 | 불가능 → 수신자도 MAC을 생성할 수 있음 | 가능 → 오직 개인키 소유자만 서명 가능 |
| 속도 및 성능 | 상대적으로 빠름 | 암호화 연산이 포함되어 느릴 수 있음 |
| 일반 사용 사례 | 내부 시스템 간 메시지 무결성 확인, 인증 토큰(HMAC 등) | 전자문서 서명, 공인인증서, 법적 효력 요구 상황 등 |
참고.
https://m.blog.naver.com/wnrjsxo/221719726759
'보안' 카테고리의 다른 글
| [정보보안] 암호시스템 ② 대칭키, 비대칭키 암호시스템 (0) | 2025.11.11 |
|---|---|
| [정보보안] 암호시스템 ① (0) | 2025.11.11 |
| [정보보안] 암호학 (0) | 2025.11.11 |
| [정보보안] 정보보안 개념 (0) | 2025.11.11 |
| [암호학] 암호화 종류 (1) | 2025.06.05 |