RSA

이건·2025년 3월 20일

RSA는 가장 널리 사용되는 공개 키 암호화 시스템 중 하나다.


RSA의 주요 특징

  1. 비대칭 암호화: RSA는 public key와 private key라는 두 개의 서로 다른 키를 사용한다.

  2. 키 사용:

    • public key: 메시지 암호화 및 디지털 서명 검증에 사용
    • private key: 암호화된 메시지 복호화 및 디지털 서명 생성에 사용


A라는 사람과 B라는 사람이 있다. 각각은 서로 본인의 공개 키와 개인 키를 가지고 있다.

  1. 보안 기반: RSA의 보안은 큰 수의 소인수 분해가 어렵다는 수학적 원리에 기반한다.

RSA의 작동 방식

  • 공개 키(잠금) -> 개인 키(열음) = 암호화
  1. 메시지 송신자는 수신자의 공개 키를 사용하여 메시지를 암호화한다.
  2. 암호화된 메시지는 수신자에게 전송된다.
  3. 수신자는 자신의 개인 키를 사용하여 암호화된 메시지를 복호화한다.


A가 B 공개 키를 사용하여 암호화를 해서 전송하면


중간에 해커가 이를 탈취하여도 B의 개인 키가 없기 때문에 메시지를 알 수 없다.

이를 통해 CIA 트라이어드의 첫 번째 문제였던 열쇠 문제를 해결할 수 있다.

  • 개인 키(잠금) -> 공개 키(열음) = 전자서명
  1. 메시지 송신자는 송신자의 개인 키를 사용하여 메시지를 암호화한다.
  2. 암호화된 메시지는 수신자에게 전송된다.
  3. 수신자는 송신자의 공개 키를 사용하여 암호화된 메시지를 복호화한다.

A가 B에게 A의 개인 키를 통해 메시지를 잠궜다는 것은 결국 A가 메시지를 보냈다는 점이 중요하다. 따라서 B입장에서 A의 공개 키는 공개되어 있기 때문에 이를 사용하여 메시지를 열어볼 수 있다.

이는 주로 전자 서명 등의 인증에 사용된다. A의 공개키로 메시지가 열렸다는 것은 결국 A만 보낼 수 있는 메시지였다는 뜻이다.

이를 통해 CIA 트라이어드의 두 번째 문제인 문서가 누구로부터 왔는지에 대한 인증 문제를 해결할 수 있다.


RSA의 응용

RSA는 다양한 보안 프로토콜에서 사용된다:

  • SSH (Secure Shell)
  • SSL-TLS
  • S/MIME
  • OpenPGP

RSA는 안전한 데이터 전송, 디지털 서명 생성, 그리고 키 교환 등 다양한 보안 관련 작업에 활용되고 있다.

A가 B에게 비밀번호를 보낼 때 B만 열어볼 수 있게 하기 위해 B의 공개 키를 이용하여 암호화하여 보낸다.

하지만 이렇게만 할 경우 해커가 중간에 문서를 날리고 새로 만들어서 B에게 보낼 수 있다.

이를 방지하기 위해 A 개인 키로 한번 더 암호화해서 B에게 보낸다.

이후 B는 문서를 받으면 A의 공개 키로 복호화 한 후 이때 만약에 문서가 안 열리면? A가 보낸 것이 아니므로 B의 입장에서는 인증이 안된 문서이므로 열어볼 가치가 없는 것이다.(해커가 보낸 문서일 수도 있으므로)

문서가 열린다면 다시 B의 개인 키로 인증이 해결된다.

0개의 댓글