Chapter 02. 대칭 암호와 메시지 기밀성Chapter 03. 공개키 암호와 메시지 인증 - 3.1 메시지 인증 방법
암호를 사용하여 적극적 공격에 대응하는 방법으로 메시지 인증 방법이 있다.
데이터가 인증된다는 말은 데이터가 진짜이고 송신자라고 주장하는 근원지로부터 왔다는 것을 확신할 수 있다는 것을 의미한다.
□ 관용 암호를 이용한 인증
- 메시지가 오류 감지 코드와 순서 번호를 포함하는 방법
- 수신자는 메시지가 변경되지 않고, 순서도 틀리지 않았음을 확신할 수 있다. - 타임스탬프를 포함하는 방법
- 메시지가 지나는 동안 소요되는 시간지연 이외에 고의적으로 지연되지 않았음을 확신할 수 있다.
□ 메시지 암호화 없이 메시지 인증하기
ㅇ 메시지 암호화 없는 메시지 인증이 필요한 경유
- 동일한 메시지를 다수의 수신자에게 브로드캐스트 하는 경우
- 메시지 교환을 할 때 한쪽이 과부화로 인하여 수신되는 메시지를 복호화할 수 없는 경우
- 컴퓨터프로그램을 평문인 채로 인증하는 경우
- 컴퓨터 프로그램을 매번 복호화 하지 않고 무결성을 확신할 수 있다.
□ 메시지 인증 코드(MAC)

ㅇ 메시지 인증 코드 원리
- A와 B가 비밀키를 공유한다. (공개키 암호 방식으로도 가능하다.)
- A는 메시지와 키를 사용해 메시지 인증 코드를 계산한다.
- A는 메시지와 코드를 B에게 전송한다.
- B는 수신된 메시지에 동일한 키를 사용하여 인증 코드를 계산한다.
- B는 계산한 인증 코드와 A로부터 받은 인증 코드를 비교한다.
ㅇ 메시지 인증 코드를 이용하면 다음 사항이 가능하다.
- 수신자는 메시지가 변경되지 않았음을 확신할 수 있다.
- 수신자는 메시지가 송신자라고 주장하는 근원지에서 송신됨을 확신할 수 있다.
- 메시지가 순서번호를 사용한다면 공격자는 순서번호를 성공적으로 변경할 수 없기 때문에 정확한 순서라는 것을 확신할 수 있다.
ㅇ NIST 명세 FIPS PUB 113에서는 코드를 사용하는 알고리즘으로 DES 암호를 권장한다.
□ 일방향 해시 함수를 사용한 메시지 다이제스트 방법
ㅇ 비밀키 또는 공개키로 암호화 하여 메시지를 전송하면 전체 메시지를 암호화 하는 방법에 비해 계산의 양을 줄일 수 있다는 장점이 있음에도 불구하고, 암호화를 전혀 하지 않는 기술이 다음과 같은 이유로 필요하다.
- 암호 소프트웨어가 속도가 매우 느리다.
- 암호 장비 비용이 너무 비싸다.
- 작은 데이터블록 처리 시 초기화/실행 오버헤드에 상당 시간이 소요된다.
- 암호 알고리즘의 수출 제한이 있다. (ex. DES는 수출 제한이 있다.)
=> 따라서 HASH함수를 사용하여 메시지 인증에 암호를 사용하지 않는 기술이 필요하다.
ㅇ HASH 함수를 사용한 알고리즘

ㅇ 일방향 해시함수를 이용한 메시지 인증 원리(그림 c. 비밀값 사용 참조)
- 송신자와 수신자는 비밀값 S를 공유하고 있다.
- 송신자는 [S|메시지]를 HASH함수에 적용하여 코드를 만든다.
- 송신자는 [메시지|코드]를 수신자에게 전송한다.
- 수신자는 S를 가지고 있기 때문에 코드를 계산할 수 있다.
- 수신자가 계산한 코드와 A로부터 받은 코드를 비교한다.
'네트워크보안에센셜' 카테고리의 다른 글
네트워크보안에센셜Chapter 03. 공개키 암호와 메시지 인증 - 3.2 안전 해시함수(2) (0) | 2020.10.04 |
---|---|
Chapter 03. 공개키 암호와 메시지 인증 - 3.2 안전 해시함수(1) (0) | 2020.09.22 |
Chapter 02. 대칭 암호와 메시지 기밀성 - 복습문제 (0) | 2020.09.15 |
Chapter 02. 대칭 암호와 메시지 기밀성 - 2.5 암호 블록 운용 모드 (0) | 2020.09.15 |
Chapter 02. 대칭 암호와 메시지 기밀서 - 2.4 스트림 암호와 RC4 (0) | 2020.09.10 |