우리는 데이터베이스에 다양한 정보를 저장한다.
아이디와 비밀번호, 이름, 전화번호, 주소, 등등
여기서 이름, 전화번호, 주소와 같은 개인정보나 비밀번호와 같이 알려지면 안되는 정보는 데이터베이스에 그대로 저장해서는 안된다.
최근 업비트가 대규모 해킹되는 일이 있었다.
이외에도 너무나 많은 해킹 사건이 일어나고 있고 우리는 이걸 막을 원천적으로 막을 힘이 없다.
그렇다면?
우리 내부로 들어와도, 우리의 정보를 털어가도 알아볼 수 없게 만들자!
이게 이번 게시물의 주제이다.
이건 내가 종사하고 있는 금융권에만 해당되는 일이 아니다.
학생들이 개인 프로젝트로 만드는 수많은 서비스들에도 해당되는 이야기이다.
숨겨야하는 정보는 최대한 완벽하게 숨기는 것이 중요하다.
여기서 은근히 많은 사람이 모르는 상식을 하나 짚고 넘어가자.
'이름'은 숨겨야하는 정보일까 아닐까?
정답은....
숨겨야하는 정보이다!!
(여기서 이름은 당연히 실명을 말하는 것이다... 닉네임은 뭐 숨기든 보여주든 노상관...)
'이름'도 개인정보이기 때문에 함부로 드러나서는 안된다.
이건 상식으로 꼭 알고 넘어가자!
암호화 알고리즘의 대략적인 구분을 먼저 파악하고 시작하자.

암호 알고리즘의 대분류 중 양방향 방식에 대해 먼저 살펴보겠다.
양방향은 말 그대로 평문을 암호문으로 바꾸고 그 암호문을 다시 평문으로 바꿀 수 있음을 의미한다.
양방향 방식에는 대칭 키 암호 방식과 비대칭 키 암호방식(= 공개키 암호 방식)이 있다.
대칭 키 암호방식은 암호화와 복호화에 같은 키를 사용하는 방식이다.
비밀키를 사용하는데 이를 전달하기 위한 키 교환이 필요하고, 암호화 및 복호화의 속도가 빠르다.
대칭 키 암호 방식은 블록 암호 방식과 스트림 암호 방식으로 나뉜다.
블록 암호 방식은 긴 평문을 암호화하기 위해 고정 길이의 블록을 암호화하는 블록 암호 알고리즘을 반복하는 방법이다.
대표적인 예로 DES, AES가 있다.
DES는 56bit 키를 이용하고 64bit의 평문 블록을 64bit의 암호문 블록으로 만드는 미국표준 암호화 알고리즘이다.
AES는 DES의 고급 버전이라고 보면 된다.
스트림 암호 방식은 아주 긴 주기의 난수열을 발생시켜 평문과 더불어 암호문을 생성하는 방식이다.
비대칭 키 암호 방식은 암호화와 복호화에 서로 다른 키를 사용하는 방식이다.
공개키와 개인키(사설키)가 존재하는데, 공개키는 누구나 알 수 있지만 개인 키는 키의 소유자만이 알 수 있어야 한다.
공개키로 암호화된 메시지는 반드시 개인 키로 복호화해야한다고 생각하면 쉽다.
이 방식은 대칭 키 암호 방식에 비해 속도가 느리다는 단점이 있다.
비대칭 키 암호 방식에는 RSA, DH(디피-헬만)이 대표적이다.
RSA는 소인수분해의 어려움을 이용한 방식으로 현재 비대칭 키 암호방식 중에서 가장 널리 쓰이고 있는 방식이라고 한다.
디피-헬만은 두 사람이 암호화되지 않은 통신망을 통해 공통의 비밀키를 공유할 수 있도록 하는 키 교환 방법이다.
오늘은 간단하게 암호화 알고리즘의 종류에 대해 간략하게 알아봤다!
금융권에는 수많은 개인정보가 있기 때문에 이것을 암호화하여 보관하는 것은 아주 기본적인 역량이다.
개발자가 데이터베이스에서 SELECT 문을 실행해도 고객의 개인정보를 함부로 보지 못하게 만드는 것이다.
앞서 말했듯이 비금융권에서도 보안은 매우 중요한 부분이니 이번 게시글을 참고하여 더 자세히 공부해보면 좋을 듯하다!
'개발 공부' 카테고리의 다른 글
| Good Code, Clean Code (1) | 2025.12.16 |
|---|---|
| 코드 관리 (1) | 2025.11.26 |
| 버전 관리를 하자! (0) | 2025.11.25 |
| 애자일 vs 폭포수 모델 (1) | 2024.07.11 |