데이터 전처리: 보안 전략 – 암호화
ㅁ 보안 전략
ㅇ 정의:
데이터의 기밀성을 보장하기 위해 데이터를 인가되지 않은 사용자가 읽을 수 없도록 변환하는 기술 및 방법.
ㅇ 특징:
– 평문 데이터를 암호문으로 변환하여 저장 또는 전송.
– 대칭키, 비대칭키, 해시 등 다양한 암호화 방식 존재.
– 전송 중, 저장 중 데이터 보호 모두 가능.
ㅇ 적합한 경우:
– 개인정보, 금융정보, 기밀문서 등 민감 데이터 보호.
– 네트워크 전송 구간에서 도청 방지.
ㅇ 시험 함정:
– 암호화는 무결성 보장과 동일하다고 혼동하는 경우.
– 해시는 암호화와 다르며 복호화 불가능하다는 점을 간과.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “대칭키 암호화는 하나의 키로 암호화와 복호화를 모두 수행한다.”
X: “암호화는 데이터 무결성을 보장하는 유일한 방법이다.”
================================
1. 암호화
ㅇ 정의:
평문 데이터를 인가되지 않은 자가 이해할 수 없도록 특정 알고리즘과 키를 이용해 암호문으로 변환하는 과정.
ㅇ 특징:
– 대칭키 암호화: 암호화/복호화에 동일한 키 사용, 속도 빠름.
– 비대칭키 암호화: 공개키와 비밀키 사용, 키 관리 용이.
– 전송 구간 암호화(SSL/TLS)와 저장 데이터 암호화 모두 가능.
ㅇ 적합한 경우:
– 전송 중 데이터 도청 방지.
– 저장 데이터 유출 시에도 내용 보호.
– 클라우드 환경에서 데이터 보안 강화.
ㅇ 시험 함정:
– 암호화와 인코딩을 혼동.
– 비대칭키 암호화가 항상 대칭키보다 빠르다고 착각.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “비대칭키 암호화는 공개키로 암호화하고 비밀키로 복호화한다.”
X: “대칭키 암호화는 비대칭키 암호화보다 항상 안전하다.”
1.1 대칭키 암호화
ㅇ 정의:
암호화와 복호화에 동일한 키를 사용하는 방식.
ㅇ 특징:
– 속도가 빠르고 처리 효율이 높음.
– 키 분배가 어려움(보안 위험 존재).
– 대표 알고리즘: AES, DES.
ㅇ 적합한 경우:
– 내부 시스템 간 대량 데이터 전송.
– 성능이 중요한 실시간 처리.
ㅇ 시험 함정:
– 키 분배 문제를 간과.
– DES가 여전히 안전하다고 착각.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “AES는 대칭키 암호화 알고리즘이다.”
X: “대칭키 암호화는 키 분배가 쉽다.”
1.2 비대칭키 암호화
ㅇ 정의:
공개키와 비밀키 두 개의 키를 사용하는 암호화 방식.
ㅇ 특징:
– 키 분배가 용이.
– 속도가 느림.
– 대표 알고리즘: RSA, ECC.
ㅇ 적합한 경우:
– 인터넷 환경에서 안전한 키 교환.
– 디지털 서명.
ㅇ 시험 함정:
– 속도가 빠르다고 오해.
– 공개키로 복호화가 불가능하다고 오해.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “RSA는 비대칭키 암호화 알고리즘이다.”
X: “비대칭키 암호화는 대칭키 암호화보다 항상 빠르다.”
ㅁ 추가 학습 내용
하이브리드 암호화 방식은 대칭키와 비대칭키를 혼합하여 속도와 보안성을 모두 확보하는 방식이다. 예를 들어 SSL/TLS에서는 세션키 교환 시 비대칭키를 사용하고, 이후 실제 데이터 전송에는 대칭키를 사용한다.
암호화와 해시의 차이점은 다음과 같다. 해시는 데이터의 무결성 검증에 사용되며 복호화가 불가능하다. 반면 암호화는 데이터를 보호하기 위해 사용되며 복호화가 가능하다.
전송 중 암호화는 SSL/TLS와 같이 네트워크를 통해 데이터를 전송할 때 데이터를 암호화하는 것을 의미한다. 저장 데이터 암호화는 Transparent Data Encryption(TDE)과 같이 저장 매체에 보관되는 데이터를 암호화하는 것을 의미한다.
양자컴퓨팅은 기존의 암호화 알고리즘, 특히 공개키 기반 알고리즘에 큰 영향을 미칠 수 있다. 이에 대비하기 위해 후양자암호(Post-Quantum Cryptography) 개념이 등장하였으며, 이는 양자컴퓨터 환경에서도 안전한 암호 알고리즘을 의미한다.
키 관리 정책은 KMS(Key Management Service)나 HSM(Hardware Security Module)과 같은 도구를 활용하여 키를 안전하게 관리하는 것을 포함한다. 또한 키 수명 주기를 관리하여 키의 생성, 배포, 사용, 폐기 과정에서 보안을 유지하는 것이 중요하다.
암호화 적용 시 성능 저하가 발생할 수 있으며, 이를 최소화하기 위해 하드웨어 가속 기능을 활용하거나 효율적인 알고리즘을 선택하는 등의 방법이 사용된다.