대칭키 암호화 기법
- 대칭키 암호화 기법은 암호화와 복호화에 같은 키를 사용하는 기법이다. 정보를 주고받는 대상이 대칭키로 암호화해서 정보를 주고 받는다면 중간에 정보가 탈취당해도 키가 없기 때문에 정보를 읽을 수 없다.
- 단점 : 대칭키를 전달할 때가 문제다. 중간에 대칭키를 탈취당하면 그 대칭키는 쓸모가 없다. 그래서 공개키 기법이 등장하였다.
공개키 암호화 기법
- 공개키는 대칭키와는 다르게 같은 키로 암호화 복호화 할 수 없다. A라는 키로 암호화를 했다면 B라는 키로만 복호화가 가능하고, B라는 키로 암호화를 했으면 A키로 복호화를 해야 한다. 철수가 A키를 가지고 있고 B키를 친구들에게 나누어 줬을 때 B키로 암호화한 글을 누가 뺏는 다고 해도 돌아다니고 있는 건 B키밖에 없기기때문에 읽을 수 없다. A키를 가지고 있는 철수만 읽을 수 있다. 철수가 A키만 안 잃어 버린다면,,,
- 단점 : 복잡해서 암호화 복호화에 시간이 오래걸린다.
대칭키 공개키 기법을 혼용하는 SSL 방식
- 클라이언트와 서버는 처음 악수를 하면서 무작위 데이터를 주고받는다. 서버 측에서는 따로 클라이언트에게 인증서를 건네준다.
- 클라이언트는 이 인증서가 진짜인지 확인한다. 이때 공개키 기법을 쓴다. 브라우저에 저장된 CA의 공개키로 복호화가 된다면 인증서가 진짜라고 판단한다.
- 인증서를 CA의 공개키로 까보면 안에는 내용물로 서버의 공개키가 있다. 클라이언트는 서버의 공개키로 대칭키를 암호화 한다.
- 개인 키를 가지고 있는 서버만이 대칭키를 복호화 할 수 있다. 복호화한 대칭키로 데이터를 주고 받는다.