| 암호 기술
오늘은 정보를 보호하기 위한 무결성을 지키기 위해 발전된 암호 기술에 대해서 알아보자.
1. 일방향 해시 함수
정보보호에서는 정보가 변경되지 않았다는 무결성을 제공하는 암호 기술로 일방향 해시 함수를 사용한다.
일방향 해시 함수란 메시지의 “지문”을 채취해서 그 “지문”을 비교하면 메시지가 동일한지 아닌지를 확인할 수 있다.
파일의 무결성 조사뿐 만 아니라, 이 파일을 보내기로 한 사람이 보냈는지 확인하고 싶은 경우에는 무결성 외에 인증이라는 절차가 필요 해졌다.
2. 메시지인증코드
인증을 수행하기 위한 기술로는 메시지 인증 코드(Message Authentication Code)가 있다. 메시지 인증 코드로 변경과 위장을 확인할 수 있게 되었다.
메시지 인증 코드에서는 송신자와 수신자가 키를 공유하고 있기 때문에 *제3자에게 증명하기와 *부인 방지를 보장할 수 없다는 문제가 생겼다.
이 문제를 해결하기 위해 디지털 서명이 나왔다.
3. 디지털 서명
디지털 서명을 사용하면 변경이나 거짓 행세를 검출하고, 부인을 방지할 수 있다.
디지털 서명을 이용하면 메시지의 무결성을 확인하고 인증을 수행하여 부인 방지를 실현할 수 있다. 그러나 디지털 서명이 바르게 이용되기 위해서는 서명 검증할 때 이용하는 공개 키가 진짜 송신자의 공개키일 것이라는 문제가 남았다.
디지털 서명 알고리즘이 아무리 강력한 것이라도 자신이 입수한 공개키가 진짜가 아니면 아무런 소용도 없다.
디지털 서명은 메시지의 변경, 거짓 행세, 게다가 부인을 검출하기 위한 것이다. 하지만 그러기 위해서는 조작되어 있지 않은 공개 키를 “거짓 행세”하고 있지 않은 송신자로부터 받을 필요가 있다는 것이다.
4. 인증서
“바른” 공개 키를 입수하기 위해 고안된 것이 인증서이다. 인증서란 공개 키를 메시지로 간주하고 신뢰할 수 있는 다른 사람이 디지털 서명을 해서 받은 공개 키이다. 공개 키 인증서는 간단히 인증서(certificate)라고도 부른다.
인증서는 인증기관에서 받는다. 인증기관이란 확실히 이 공개 키는 이 사람의 것이다라고 인정하고, 디지털 서명을 할 수 있는 사람이나 기관을 말한다. 인증기관은 국제적인 조직이나 정부가 만든 것도 있고 일반 기업 또한 개인이 인증기관을 만드는 것도 가능하다.
그럼 디지털 서명 검증에 사용하는 인증기관의 공개키는 어떻게 "바르다"라고 판단할 수 있는것인가? 예를 들어 논산 지점 인증기관의 인증서를 확인하기 위해서는 충남 지사 인증기관의 인증서가 있고 충남 지사 인증기관의 인증서를 확인하기 위해서는 서울 본사 인증기관이 있다. 서울 본사 인증기관을 Root CA라고 한다. Root CA는 디지털 서명을 셀프서명을한다.
[요약]
일방향 해시 함수 -> 메시지 인증 코드 -> 디지털 서명 -> 인증서
*거짓 행세: 누군가 다른 사람이 위장하여 보낸 것
*제3자에게 증명하기: 제3자를 증인으로 세우고 싶으면 키를 제3자에게도 공유해야함, 공유해서 증명하더라도 키가 동일하기 때문에 송신자의 키인지 수신자의 키인지 확인할 수 없음
*부인 방지: 메시지가 변경도 되지 않고 보내주기로 한 사람에게 맞게 왔다. 하지만 그 사람이 안보냈다고 하면 끝이다. 이런것을 부인 방지라고 한다.
[참고] 알기 쉬운 정보보호개론 흥미로운 암호 기술의 세계
'Security' 카테고리의 다른 글
CA (0) | 2020.07.10 |
---|---|
Certificate(인증서) (0) | 2019.10.02 |
Encrypt virtual disk(가상 디스크 암호화) (0) | 2019.09.18 |
전자서명 (Digital signature) (2) | 2019.07.12 |
security knowledge (보안 상식) (0) | 2019.02.27 |
댓글