암호화
-
암호화: 원문 데이터를 알아볼 수 없는 형태로 변경
-
복호화: 암호화된 데이터를 원문 데이터로 되돌리는 과정
대칭 키 암호화
-
암호화와 복호화에 동일한 키 사용
-
키 전달이 어렵고, 유출 시 큰 문제 발생
비대칭 키 암호화
-
암호화와 복호화에 다른 키 사용
-
공개 키와 개인 키의 쌍으로 구성
디지털 서명
-
디지털 서명은 전자 문서나 메시지에 대한 서명
-
발신자의 신원을 확인하고 데이터의 무결성을 보장하는 암호화 기술
-
발신자의 신원을 확인할 수 있음(신원 확인)
-
발신자는 자신의 개인 키로 서명했기 때문에 서명을 부인할 수 없음(부인 방지)
작동 원리
- 키 쌍 생성:
- 비대칭 키 암호화 방식을 사용하여 공개 키와 개인 키의 쌍을 생성
- 서명 생성:
- 발신자는 서명할 메시지의 해시 값을 생성
- 이 해시 값을 개인 키로 암호화하여 디지털 서명을 생성
- 서명 전송:
- 암호화된 해시 값(디지털 서명)과 원본 메시지를 수신자에게 전송
- 서명 검증:
- 수신자는 발신자의 공개 키를 사용하여 디지털 서명을 복호화함
- 복호화된 해시 값과 수신한 메시지의 해시 값을 비교하여 일치 여부를 확인
사용 사례
-
전자 계약: 계약서에 디지털 서명을 사용하여 법적 효력을 부여
-
소프트웨어 배포: 소프트웨어의 출처를 확인하고 변조되지 않았음을 보장
-
SSL/TLS 인증서: 웹사이트의 신뢰성을 보장하기 위해 사용
인증서
-
공개 키 인증서는 공개 키와 그 유효성을 입증하는 전자 문서를 뜻함
-
제3의 인증 기관(CA: Certification Authority)에 의해 발급됨
-
공개 키의 신뢰성 확인, 키 전송 중 조작 여부 검증, 키의 유효 기간 확인을 위해 사용됨
검증과정
-
서버 측 CA(인증기관)의 개인 키로 인증서 내용의 해시 값 암호화
-
서명 값 생성 후 전달
-
클라이언트 측에서 CA의 공개 키로 서명 값 복호화
(CA의 개인 키는 웹 브라우저(chrome, edge 등등)에 포함되어 있음!) -
복호화된 해시 값과 실제 인증서 해시 값 비교
HTTPS 보안
HTTP vs HTTPS
-
HTTP: 평문 데이터 전송, 보안 취약
-
HTTPS: 인증서와 디지털 서명을 통한 보안 통신
HTTPS 인증 절차
-
서버가 CA에 인증서 발급 요청
-
CA가 서버 정보 검증 및 인증서 발급
-
웹 브라우저에 CA 공개 키 제공
-
클라이언트-서버 간 안전한 대칭키 교환
취약점 대응 방안
기본 방안
- 정기적인 인증서 갱신
- 인증서는 유효 기간이 있으며, 만료된 인증서는 신뢰성을 잃기에 정기적으로 인증서를 갱신하여 보안을 유지해야 함
- 강력한 암호화 알고리즘 사용
- 최신의 강력한 암호화 알고리즘을 사용하여 데이터 보호를 강화!
- 예를 들어, AES(Advanced Encryption Standard)와 RSA(Rivest-Shamir-Adleman) 알고리즘을 활용가능
- 취약한 암호화 방식 지속적 제거:
- 보안 취약점이 발견된 암호화 방식은 즉시 제거하고, 이를 대체할 수 있는 안전한 방법을 찾아야 함
- 예를 들어, MD5와 SHA-1은 더 이상 안전하지 않으므로 사용을 중지!
- 다중 인증 메커니즘 도입:
- 사용자 인증을 강화하기 위해 다중 인증(Multi-Factor Authentication, MFA) 방식을 도입
- 예를 들어, 비밀번호 외에 SMS 인증, 생체 인식 등을 추가하여 보안을 강화하는 방식
실무 적용
- 인증서 만료 모니터링:
- 인증서의 만료일을 주기적으로 확인하고, 만료 전에 갱신할 수 있도록 모니터링 시스템을 구축해야 함
- 키 길이와 암호화 강도 관리:
- 사용 중인 암호화 키의 길이와 강도를 정기적으로 검토하고, 필요 시 강도를 높여 보안을 강화함
- 예를 들어, 2048비트 이상의 RSA 키를 사용하기
- 신뢰할 수 있는 CA 선정:
- 인증서를 발급받기 위해 신뢰할 수 있는 인증 기관(CA)을 선택해야 함
- CA의 신뢰성은 인증서의 신뢰성에 직접적인 영향을 미침
- 정기적인 보안 감사:
- 시스템의 보안 상태를 정기적으로 점검하고, 취약점을 발견하여 개선하는 보안 감사 프로세스를 운영해야함
트렌드
- 양자 암호화 기술 연구:
- 양자 컴퓨팅의 발전에 따라 양자 암호화 기술이 주목받고 있음
- 기존의 암호화 방식보다 훨씬 높은 보안성을 제공함
- 블록체인 기반 분산형 인증 시스템:
- 블록체인 기술을 활용하여 중앙 집중식 인증 시스템의 취약점을 보완하는 분산형 인증 시스템이 연구되고 있음
- AI 활용 이상 징후 탐지:
- 인공지능(AI) 기술을 활용하여 시스템에서 발생하는 이상 징후를 실시간으로 탐지하고 대응하는 방법이 개발되고 있음
- 보안 사고를 사전에 예방하는 데 매우 효과적임
- 생체인증과의 통합:
- 생체인증 기술(지문, 얼굴 인식 등)을 기존 인증 시스템에 통합하여 보안을 강화하는 추세