전자 서명과 전자 봉투 그리고 SSL/TLS의 보안 원리

임채령·2024년 11월 17일

이어서 이번 포스팅은 현대 인터넷 보안의 근간을 이루고 있는 비대칭형 암호 시스템전자 서명, 그리고 이를 사용하는 PKI(공개키 기반 인프라)와 안전하게 데이터를 전송하는 방식인 SSL/TLS에 대해 아주 간단히 다뤄보겠다. 전자 서명전자 봉투, 그리고 SSL/TLS의 역할을 단계별로 설명하며, 어떻게 각각의 요소가 데이터의 기밀성, 무결성, 신원 인증, 부인 방지를 보장하는지 공부해보려한다 !!

1. 비대칭형 암호 시스템이란?

비대칭형 암호 시스템은 두 개의 키, 즉 공개키(Public Key)개인키(Private Key)를 사용하는 암호화 방식이다. 공개키는 누구나 볼 수 있게 공개되어 있으며, 개인키는 오직 소유자만이 보유하여 비밀로 유지한다. 비대칭형 암호화의 핵심은 공개키로 암호화된 데이터는 개인키로만 복호화할 수 있으며, 그 반대도 가능하다 !

이러한 특성을 활용하여 전자 서명기밀성을 동시에 보장하는 다양한 보안 기술이 사용된다. 특히 PKI(Public Key Infrastructure)는 공개키와 개인키를 이용하여 신뢰할 수 있는 인증과 안전한 데이터 전송을 보장하는 인프라이다.

2. 전자 서명이란?

  • 전자 서명(Digital Signature)은 데이터를 송신자가 작성했음을 증명하고, 데이터가 전송 중에 변조되지 않았음을 보장하기 위한 기술이다. 송신자의 신원 인증, 문서의 무결성, 그리고 부인 방지를 보장한다.

전자 서명의 생성 과정

이전 포스팅에서 전자 서명의 생성 과정을 다뤘기에 간단하게 언급하겠다 !

  1. 원본 문서 준비: 송신자가 전송할 원본 문서를 준비한다.
  2. 해시 함수 적용: 문서에 대해 해시 함수(예: SHA-256)를 적용하여 고정된 길이의 해시값을 생성한다. 이 해시값은 문서의 고유한 요약본으로, 문서가 조금이라도 변경되면 다른 해시값이 생성된다.
  3. 개인키로 암호화 (전자 서명 생성): 송신자는 자신의 개인키를 사용해 해시값을 암호화하여 전자 서명을 생성한다. 이 전자 서명은 해당 문서가 송신자에 의해 작성되었으며 변조되지 않았음을 증명한다.
  4. 서명된 전자문서 생성: 원본 문서전자 서명을 결합하여 서명된 전자문서를 생성한다. 이 문서는 수신자에게 전송된다.

3. 전자 봉투란?

  • 전자 봉투대칭키 암호화비대칭키 암호화를 결합하여 데이터를 기밀하게 보호하는 방식이다. 전자 서명이 데이터의 무결성과 신원을 보장하는 기술이라면, 전자 봉투는 전송 중 데이터의 기밀성을 보장하는 기술이다.

전자 봉투의 생성 과정

  1. 대칭키 생성: 송신자는 데이터를 암호화할 임시 대칭키(비밀키)를 생성한다. 대칭키는 동일한 키로 암호화와 복호화를 수행하며, 대량의 데이터를 빠르고 효율적으로 처리할 수 있다.
  2. 서명된 전자문서 대칭키 암호화: 생성된 대칭키를 사용해 서명된 전자문서를 암호화한다. 이 암호화된 문서를 암호화된 전자문서라고 한다.
    • 대칭키를 사용하는 이유는 대칭키 암호화가 비대칭키 암호화보다 훨씬 빠르고 효율적이기 때문이다. 대칭키는 데이터의 암호화와 복호화에 동일한 키를 사용하기 때문에 대량의 데이터를 처리할 때 속도가 빠르다.
  3. 대칭키 비대칭 암호화: 송신자는 수신자의 공개키를 사용해 대칭키를 암호화하여 암호화된 대칭키를 생성한다. 이를 통해 대칭키는 안전하게 전송될 수 있으며, 수신자만이 개인키로 복호화할 수 있다.
    • 대칭키를 비대칭키로 암호화하는 이유대칭키의 기밀성을 보장하기 위해서이다. 수신자의 공개키로 암호화된 대칭키는 오직 수신자의 개인키로만 복호화할 수 있으므로, 대칭키가 전송 중에 탈취되더라도 안전하게 보호된다.
  4. 전자 봉투 생성 및 전송: 송신자는 암호화된 서명된 전자문서암호화된 대칭키를 결합하여 전자 봉투를 생성하고, 이를 수신자에게 전송한다.

그래서 ! 주로 전자봉투를 안전하게 전송하는 방식이 ?! SSL/TLS이다 ! 이번 포스팅에서 간단하게 알아보고 다음 포스팅에서 자세하게 다뤄보려한다 !

4. SSL/TLS를 통한 안전한 데이터 전송

  • SSL(보안 소켓 계층) / TLS(전송 계층 보안)는 인터넷을 통한 안전한 데이터 전송을 보장하는 보안 프로토콜이다. 전자 봉투SSL/TLS를 결합하여 데이터의 기밀성, 무결성을 보장한다.

SSL/TLS를 통한 전송 과정

SSL/TLS대칭키 암호화비대칭키 암호화를 결합하여 안전한 데이터 전송을 보장한다. 이 과정에서 대칭키와 비대칭키가 어떻게 조합되는지 자세히 설명하겠다.

  1. SSL/TLS 세션 시작: 클라이언트(송신자)서버(수신자)는 SSL/TLS 연결을 설정하기 위해 핸드셰이크 과정을 시작한다. 이 과정에서 서버는 인증서를 통해 자신의 신원을 증명하고, 클라이언트는 서버의 신뢰성을 검증한다.
  2. 대칭키(세션키) 교환: 핸드셰이크 과정에서 비대칭키 암호화를 사용해 대칭키(세션키)를 안전하게 교환한다. 이 세션키는 이후의 데이터 암호화에 사용된다. 비대칭키를 사용해 대칭키를 교환하는 이유는 대칭키를 안전하게 전달하기 위해서이다. 비대칭키 암호화는 공개키와 개인키의 쌍을 이용해 기밀성을 보장할 수 있기 때문에, 세션키를 안전하게 전송하는 데 적합하다.
  3. 대칭키를 사용한 데이터 암호화: 세션이 설정된 후에는 대칭키를 사용해 데이터 전송을 수행한다. 대칭키 암호화는 빠르고 효율적이기 때문에, 이후의 모든 데이터 전송이 대칭키로 암호화되어 이루어진다. 이렇게 하면 대량의 데이터를 효율적으로 보호할 수 있다.
  4. 전자 봉투 전송: 송신자는 생성한 전자 봉투를 SSL/TLS를 통해 수신자에게 전송한다. SSL/TLS는 이 데이터를 대칭키 암호화로 보호하며, 전송 채널의 기밀성과 무결성을 보장한다.

이와 같이 SSL/TLS비대칭키 암호화를 사용해 세션키(대칭키)를 안전하게 교환하고, 이후의 데이터 전송을 대칭키 암호화로 처리하여 보안성과 효율성을 동시에 확보한다. 이를 통해 SSL/TLS는 대칭키와 비대칭키의 결합을 통해 데이터의 기밀성무결성을 보장한다.

5. 수신자의 복호화 및 검증 과정

  1. 대칭키 복호화: 수신자는 자신의 개인키를 사용해 암호화된 대칭키를 복호화한다. 이를 통해 송신자가 사용했던 대칭키를 복원한다.
  2. 서명된 전자문서 복호화: 복원한 대칭키를 사용해 암호화된 서명된 전자문서를 복호화하여 원본 서명된 전자문서를 얻는다.
  3. 전자 서명 검증: 서명된 전자문서에서 전자 서명을 추출하고, 송신자의 공개키로 복호화하여 서명 시 생성된 해시값 B를 얻는다. 이후 원본 문서에 해시 함수를 적용하여 해시값 A를 계산하고, 해시값 AB를 비교하여 문서가 변조되지 않았음을 확인한다.

이렇게 해서 대칭키와 비대칭키를 결합하여 데이터의 기밀성, 무결성, 신원 인증, 부인 방지를 모두 충족하는 안전한 데이터 전송 방법이 구현된다. 전자 서명은 데이터의 신뢰성을, 전자 봉투는 기밀성을, SSL/TLS는 안전한 전송을 보장함으로써 인터넷 보안의 주요 요소들이 서로 협력하고 상호작용하며 데이터를 안전하게 보호한다 !

0개의 댓글