대칭키 & 공개키
두 방식은 네트워크 상에서 어떤 메시지를 보내거나 받을 때 사용하는 대표적인 두 가지 암호화 방식이다.
기밀성
•
자원의 노출을 방지
무결성
•
자원의 변경을 방지
인증
•
그 사람이 보낸 것인지?
부인방지
•
자원을 보내거나 받았을 때 부인을 방지
대칭키
대칭키 암호화 방식은 암복호화 시 사용하는 키가 서로 동일한 경우이다.
송신자가 키를 이용해서 암호화하여 보내면, 수신자는 동일한 키로 복호화 해야한다.
그럼 키를 어떻게 서로만 알도록 교환할 수 있을까?
대칭키 방식에서의 문제는 키를 어떻게 교환하는가가 핵심이다.
암호화 알고리즘
AES (Advanced Encryption Standard)
•
각 라운드에서 4가지 연산을 이용해서 데이터 블록 전체를 처리한다
◦
바이트 대체
◦
행 이동
◦
열 섞기
◦
라운드 키 더하기
•
블록 크기는 128bit 고정
•
키를 부풀려서 각 라운드마다 쪼개서 사용한다.
DES
•
두 개의 p-박스(치환)와 16개의 라운드로 구성
•
키(56bit)를 이용해 16개의 서브키 생성(48bit)
키 교환 방식
•
RSA
•
Diffie-Hellman
장점
•
암복호화 속도가 빠르다
•
대용량 데이터 암호화에 적합한 방식이다
단점
•
키 교환 문제
•
사람이 많아지면 키 관리가 어려워진다
•
기밀성은 제공하지만, 무결성/인증/부인방지는 보장하지 못한다
공개키
공개키는 암복호화시 서로 사용하는 키가 다른 경우이고, 송수신자 모두 공개키와 개인키 쌍을 가지고 있다.
공개키는 말 그대로 모두에게 공개되어 있는 키고, 개인키는 본인만이 알고있고, 가지고 있는 키이다.
암호화 방식
암호화를 하는 방식은 크게 두 가지로 나눌 수 있다.
•
수신자의 공개키로 암호화하여 보내는 경우
◦
소량의 메시지를 암호화 하거나, 키 교환 시 키를 암호화 하는데 주로 사용하는 방식이다.
•
송신자의 개인키로 암호화하여 보내는 경우
◦
송신자의 공개키만 있다면 열어볼 수 있으므로 인증과 부인방지가 목적이다 (전자 서명의 기초)
알고리즘
RSA
•
키 생성
Diffie-Hellman
•
키 교환
장점
•
키 분배가 따로 필요없다.
•
기밀성/인증/부인방지 모두 제공한다.
단점
•
암복호화 속도가 느리다.
→ HTTPS는 대칭키와 공개키 방식 모두 사용한다.
목록
Search