암호화란 수학적인 과정으로 어떤 정보를 읽을 수 없는 데이터로 변환하는 행위를 말한다.
암호화의 종류
암호화 하는 방식은 다양하지만 대표적으로 아래 4가지만 다룬다.
암호화 기술을 사용하는 상황에 따라 2가지 종류로 나뉜다.
- 저장된 데이터 보호(Encryption At Rest)
- 전송 중 데이터 보호(Encryption At Transit)
암호화 방법에 따라 2가지 종류로 나뉜다.
- 대칭키 암호화
- 비대칭키 암호화
전송 중 데이터 보호
대칭 키 암호화
- 하나의 키로 암호화, 복호화를 하는 알고리즘
- 연산이 매우 빠름
- 키를 전달하는 방법에 대한 고민이 필요
키를 전달하는 과정에서 탈취시 탈취자가 해당 데이터를 마음대로 복호화할 수 있다.
비대칭키 암호화
- 한 쌍의 키를 활용한 암호화 (하나는 암호화만 가능, 다른 하나는 복호화만 가능하도록 설계)
- 연산이 비교적 복합하지만 키 전달이 쉽다
- 공개 키/비밀 키: 각각 암호화 복호화만 할 수 있는 키쌍
중간에 탈취자가 공개키와 암호화된 해쉬를 탈취하더라도 공개키는 복호화를 할 수 없기에 데이터를 보호할 수 있다.
암호화 서명
키를 사용해서 데이터 생성자가 데이터를 생성했음을 보장하는 방법이다.
- 비밀 키를 사용하여 공개 키로 검증 가능한 데이터의 서명(Signature)을 생성
- 비밀 키를 가진 주체가 데이터를 생섬했음을 보장할 수있는 방법
