메시지 인증
메시지 내용의 무결성을 검증하는 것
무결성(integrity):
- 정보가 권한이 없는 사용자의 악의적 또는 비악의적 접근에 의해 변경되지 않는 것을 보장하는 원칙
무결성 검증 방법
1. 암호화
2. 메시지 인증 코드(Message Authentication Code)
3. 해시 함수
MAC과 Hash 의 차이
MAC(Message Authentication Code):
- 메시지뿐만 아니라 키값을 추가적으로 해시
- 키를 알고있는 사람만 메시지 인증이 가능.
Hash:
- 메시지만 해시
- 키 값이 없으므로 모든 사람이 메시지가 손상됬는지 아닌지 확인 가능.
해시함수
- 가변 길이의 입력 데이터를 고정된 길이의 출력으로 대응시키는 함수
- 해시 값 h는 다음과 같이 해시함수 H와 입력 메시지 M에 의해서 만들어짐. h=H(M)
해시함수의 필요성
- 사용자 인증 및 메시지 인증
- 보관 정보의 무결성
- 디지털서명을 효율적으로 처리하기 위한 방법
해시함수가 갖어야 할 조건 3가지
1. 일방향성(One Way) : 해시를 하면 다시 원래대로 돌아올 수 없음.
- 임의 크기의 입력 M에 적용할 것
- 일정크기의 출력 h=H(M)를 낼 것
- H와 M이 주어졌을 때, h=H(M)를 계산하기 쉬울 것
- h만 주어졌을 때 M을 구하는 것이 계산상 불가능할 것
2. 약한 충돌회피(Weak Collision-free)
- 주어진 입력 메시지 M에 대하여 같은 해시 코드를 출력하는 다른 메시지 M`(H(M)=H(M`))을 찾는 것이 계산상 불가능
해야 함.
즉, M을 해시한 결과값과 똑같은 해시값을 갖는 또다른 메시지 M`을 찾는 것이 계산상 불가능해야함.
3. 강한충돌회피(Strong Collision-free)
- 해시 함수 H가 주어졌을 때 똑같은 해시값을 출력하는 임의의 두 입력 메시지를 찾는것이 계산상 불가능해야 함.
일방향성, 약한 충돌회피, 강한 충돌회피 3가지의 조건을 만족해야만 해시 함수를 메시지인증을 위한 용도로 사용가능.
'Cyrpto > ECSEC' 카테고리의 다른 글
[암호학] 디지털서명 (0) | 2021.10.18 |
---|---|
[암호학] 사용자 인증 (0) | 2021.10.17 |
[암호화] 공개키 암호화와 전자서명 (0) | 2021.10.16 |
[암호학] 대칭키 암호 (0) | 2021.10.15 |
[암호학] 암호학 개요 (0) | 2021.10.15 |