* 전자메일의 보안(PGP)
- 목표
> 다른 사람이 보지 못하게 한다.(기밀성)
> 보낸 사람이 자신이 아는 그 사람인지를 증명해준다.(인증)
> 메세지의 무결성을 증명해준다.(무결성)
- 이를 위해서 암호화와 전자서명을 사용한다.
- 암호화 : 메세지를 암호화한다
> 전에 배웠듯이, MAC을 사용한다.
-- 송신 --
1) 대칭키를 생성하여, 생성된 대칭키로 메세지를 암호화한다.
2) 대칭키는 상대방의 공개키로 암호화한다.
3) 1)과 2)의 생성물을 하나로 합쳐서 전송한다.
-- 수신 --
1) 자신의 개인키로 공개키를 찾는다.
2) 공개키로 메세지를 복화하한다.
- 전자서명 : 송신자 정보확인 및 메세지의 무결성 증명
> 이 방법 역시 전에 디지털 서명때 배운 것과 동일하다.
-- 송신 --
1) 메세지를 해쉬 함수에 적용하여 메세지 다이제스트를 생성한후, 자신의 개인키로 암호화한다.
2) 1)의 결과물과 본래의 메세지를 합쳐서 송신한다.
-- 수신 --
1) 받은 메세지를 해쉬 함수에 적용하여 메세지 다이제스트를 생성한다.
2) 송신자의 공개키로 수신한 메세지 다이제스트를 복화하하여 1)의 결과물과 비교한다.
- 암호화 기법과 전자서명을 합쳐서 전자메일의 보안 프로토콜을 생성한다.
-- 송신 --
1) 본래의 메세지를 해쉬 함수에 적용하여 메세지 다이제스트를 생성한후, 자신의 개인키로 암호화한다.
2) 본래의 메세지와 1)의 결과물을 합친다.
3) 대칭키를 생성하여 2)의 결과물을 암호화한다.
4) 생성된 대칭키를 상대방의 공개키로 암호화한다.
5) 3)과 4)의 결과를 합쳐서 송신한다.
-- 수신 --
1) 자신의 개인키를 이용하여 대칭키를 밝혀낸다.
2) 대칭키를 이용해서 암호화된 문서를 메세지 다이제스트+메세지 형식으로 풀어낸다.
3) 2)에서 분리된 메세지를 자신의 해쉬함수에 적용한다.
4) 2)에서 분리된 메세지 다이제스트를 송신자의 공개키로 복호화한다.
5) 4)의 결과와 3)의 결과를 비교한다.
- PGP(Pretty Good Privacy)
> 1991년에 만들어진 전자 메일의 표준 암호화 기법
- SSL 인증
> client는 server을 인증하지만 server은 client를 인증하지 못한다.(server가 client에게 인증서를 전달)
> 공인 인증서 확인 절차가 귀찮기 때문에 server는 client에게 거의 인증을 요구하지 않는다.
> 상호 인증을 위해서 서버는 자신의 인증서를 전달할때 클라이언트의 인증서를 요구할 수 있다.