메시지 인증 방법
메시지 인증이란 통신 양쪽으로 하여금 받은 메시지가 진짜임을 확인하도록 해주는 절차를 말한다.
인증에서 중요한 두가지는 무결성과 기밀성이다.
- 메시지 인증 : 메시지 내용이 변경되지 않았다는 것을 확인
- 근원지 인증 : 올바른 송신자 확인
관용 암호를 이용한 인증
관용 암호는 대칭 키 암호 기법의 하나이다. 대칭키 방식의 암호화라 생각하면 이해가 수월하다
송신자와 수신자가 동일한 키를 가지고 있다고 가정하자
해당 대칭키를 가지고, 메시지에 오류 감지 코드와 순서 번호,타임 스탬프를 포함시켜 수신자에게 전송한다
수신자는 메시지가 변경 되지 않았고, 순서가 달라지지 않았음을 알 수 있다.
또한 네트워크를 지나는 동안 소요 되는 시간 외에 고의적으로 지연 되지 않았음을 확인 할 수 있다.
시사점
- 대칭키 암호화를 이용한 데이터의 무결성 검증에 한계가 있다
메시지 암호화 없이 메시지 인증
메시지 암호화 없는 메시지 인증이 필요한 경우 (기밀성 제공 X)
- 브로드 캐스팅
- 메시지 복호화 시간 부족
- 컴퓨터 프로그램은 평문인 채로 인증하는게 더 편리
MAC(메세지 인증 코드)
메세지 인증 코드(MAC)는 메시지의 무결성을 검증하기 위한 대칭키 암호화 기반 기술입니다.
MAC는 메시지와 공유 비밀키를 이용하여 생성되며, 메시지의 무결성을 보호하기 위해 사용됩니다.
일반적으로 MAC는 다음과 같은 과정으로 생성됩니다.
- 메시지와 공유 비밀키를 이용하여 MAC 값을 생성합니다.
- 생성된 MAC 값을 메시지와 함께 수신자에게 전송합니다.
- 수신자는 수신한 메시지와 공유 비밀키를 이용하여 MAC 값을 다시 생성합니다.
- 생성된 MAC 값과 수신한 MAC 값을 비교하여 두 값이 일치하는지 확인합니다.
- MAC 값이 일치하면 메시지의 무결성을 검증한 것으로 간주합니다.
MAC는 대칭키 암호화 기반 기술이기 때문에 송신자와 수신자가 공유하는 비밀키가 있어야 합니다.
이러한 이유로 MAC는 일반적으로 인터넷 통신과 같이 송신자와 수신자가 미리 공유한 비밀키를 이용하여 메시지의 무결성을 보호하기 위해 사용됩니다.
얻는 이득은 무엇인가?
- 수신자는 메시지가 변경 되지 않았다는 것을 확신할 수 있다.
- 수신자는 메시지가 근원지로부터 송신 되었음을 확신할 수 있다.
- 메시지가 순서 번호를 사용한다면, 메시지 순서가 정확함을 확신 할 수 있다.
일방향 해시 함수
일방향 해시 함수(One-way Hash Function)는 메시지 다이제스트 함수의 일종으로, 메시지를 입력받아 고정된 길이의 출력값으로 변환하는 함수이다.
이 함수는 단방향성을 가지고 있어서, 출력값으로는 입력값을 역추적할 수 없다.
즉, 입력값에서 출력값을 유도할 수 있지만, 출력값에서 입력값을 유추할 수 없는 함수이다.
메시지 다이제스트(Message Digest)는 일방향 해시 함수를 사용해 메시지나 데이터 블록의 내용을 요약한 고정 길이의 바이트 배열이다.
일반적으로 메시지 다이제스트 함수는 임의의 길이의 메시지를 입력받아 고정된 길이의 출력값을 반환한다.
이때 출력값은 입력값에 대한 요약된 정보를 담고 있어서 같은 입력값에 대해서는 항상 같은 출력값을 반환한다.
메시지 다이제스트 함수를 사용하여 MAC 값을 생성하고, 이 값을 메시지와 함께 수신자에게 전송한다.
수신자는 수신한 메시지와 공유된 키를 이용하여 다시 MAC 값을 생성하고, 이 값이 수신한 MAC 값과 일치하는지 검증하여 메시지의 무결성을 보장한다.
일방향 해시 함수를 사용한 암호화 방법
- 관용 암호 사용(대칭 키 암호화)
- 공개 키 암호화
- 비밀 값 사용 (메시지에 secret key를 포함해서 해쉬 함수를 돌린다)
대칭/비대칭 키 모두 해쉬 값을 암호화 해서 보냄을 알 수 있다. 메시지를 암호화 하진 않는다
암호화 없는 메시지 인증의 이유
- 암호화 소프트웨어는 속도가 매우 느리다
- 고가의 암호 장비 비용
- 암호 장비는 대용량 처리에 적합하여, 작은 데이터 처리에 오버해드 발생
- 암호 알고리즘 자체 수출 제약
'Computer Science > Security' 카테고리의 다른 글
단순 해시 함수 (0) | 2023.04.03 |
---|---|
안전 해시 함수 (0) | 2023.04.03 |
암호 블록 운용 모드 (0) | 2023.04.02 |
RC4란 무엇인가 (0) | 2023.04.02 |
스트림 암호란 무엇인가 (0) | 2023.03.31 |