설명
- 상품번호처럼 사람이 이해하기 힘든 데이터는 변조되어도 인지하기 어려움
- 메세지 인증 코드를 통해 변조되었는지 검증 가능
공격 예시
- A가 B에게 상품을 구매하려고 상품번호를 전송하려고 함
- B가 공개키와 개인키 쌍 생성
- B가 A에게 공개키 전달
- A가 대칭키를 B의 공개키로 암호화 후 B에게 전송
- B가 암호화된 대칭키를 복호화
- A가 상품번호를 대칭키로 암호화 후 B에게 암호문 전송
- 공격자가 중간에서 암호문 변조
- B는 변조된 암호문을 받아서 대칭키로 복호화하여 변조된 상품번호를 얻음
실제 사용 예시
- (6번에서 암호화 후 아직 B에게 전송하기 전)
- MAC 검증을 위한 키를 B에게 안전하게 전송
- A는 암호문, MAC 검증키, 알고리즘으로 MAC 생성 후 암호문과 MAC을 B에게 전송
- B는 암호문, MAC 검증키, 알고리즘으로 MAC 생성 후 전달받은 MAC과 동일한지 검증
- 검증 성공하면 대칭키로 암호문 복호화, 검증 실패하면 암호문과 MAC을 파기하고 A에게 재전송 요청
단점
- A와 B 둘 다 동일한 암호문, MAC 검증키, 알고리즘을 갖고 있기 때문에 처음 거래 데이터를 작성한 게 A인지 B인지 알 수 없음
- A가 악의를 가지고 B가 조작한 거래라고 부인 공격 가능