스마트웹앱콘텐츠전문가/보안

양방향 암호화 알고리즘

9D4U 2021. 1. 12. 15:28
반응형

 

양방향 이란, 암호화 및 복호화 모두 가능한 것을 의미합니다. 

 

이름, 이메일, 휴대폰 번호, 주민등록번호 등 민감한 개인정보는 암호화해서 저장도

 

해야 하고, 필요에 따라서 .... 즉,

 

고객 정보를 식별하기 위해서 복호화도 가능해야 합니다.

 

따라서, 이런 개인정보를 암호화할 때 양방향 암호화를 사용합니다.

 

키와 DB가 노출되었을 때, 복호화가 가능하여 원본 데이터가 노출될 수 있습니다.

 

(추가로, 개인정보를 마스킹 한 후, 암호화하여 저장하여 대처 가능)

 

이에 해당하는 알고리즘에는 대표적으로,

 

AES 시리즈가 있으며, 

 

국내에도 자체 개발한 SEED가 있습니다.

 

(SEED는 공인 인증서에 사용됨)

 

AES256이 많이 사용되며,

 

양방향 알고리즘은 보안에서만 쓰이는 것이 아니고,

 

안정성과 속도가 보장되는 이유로 '랜섬 웨어'에 많이 사용되고 있다고 합니다.

 

추가로, 자바에서 AES 알고리즘을 사용할 경우

 

org.apache.commons.codec 라이브러리에 의존성을 가지고 있어 maven에 추가해주어야 합니다.

 

또, 패딩이란 기법도 많이 봤을 겁니다.

 

데이터를 특정 크기로 맞추기 위해, 부족한 부분은 의미없는 데이터들로 채워서 크기를 맞추는 것으로

 

자바로 예를 들면,

 

Cipher c = Ciper.getInstance("AES/CBC/PKCS5Padding"); // PKCS5Padding

 

이렇게 사용됩니다.

728x90