RSA 키 쌍 생성기

키 크기 (bits)
다음

RSA 키 쌍은 수학적으로 연관된 두 개의 숫자로 구성됩니다: 사용자가 공개하는 공개 키와 보호해야 하는 비공개 키입니다. 이 생성기는 암호학적으로 안전한 난수원을 사용하여 표준 PEM 인코딩 방식으로 두 키를 모두 생성합니다. 이를 활용하면 명령줄에 접근하지 않고도 JWT 서명자를 부트스트랩하거나 스테이징 박스용 TLS 인증서를 생성하며 SSH 신원을 발급할 수 있습니다.

RSA 키 쌍 생성 방법

  1. 1

    키 크기 선택

    2048비트, 3072비트 또는 4096비트 중 하나를 선택하세요. 긴 키는 보안성이 뛰어나지만 서명 및 검증 속도가 느립니다.

  2. 2

    생성

    이 도구는 WebCrypto 프리미티브를 사용하여 새로운 모듈과 사설 지수를 생성합니다.

  3. 3

    복사하거나 다운로드하세요

    PEM 인코딩된 비공개 키(BEGIN PRIVATE KEY)와 이에 대응하는 공개 키(BEGIN PUBLIC KEY)를 가져오세요.

  4. 4

    개인 키를 안전하게 저장하세요

    이를 비밀 관리기나 키체인에 저장하세요. 절대 채팅, 이메일 또는 공개 리포지토리에 붙여서는 안 됩니다.

어떤 키 크기를 사용해야 할까요?

더 크면 자동으로 더 좋다는 것은 아닙니다. 적절한 크기는 키가 사용될 기간과 각 서명에 소요되는 CPU 사용량에 따라 결정됩니다.

NIST 지침 개요

키 크기 보안 수준 일반적인 사용 사례 상대적 서명 비용
2048비트 약 112비트 JWT 서명, 단기 유효 시간의 TLS 인증서, 대부분의 API 1회
3072비트 약 128비트 장기간 운영 가능한 루트 CA, FIPS > 2030 규정 준수 약 3배
4096비트 약 140비트 높은 보안성을 갖춘 루트 기반의 장기 문서 서명 방식 약 7배

PEM은 어디에 들어맞는가

키는 PKCS#8/SPKI로 래핑되고 -----BEGIN----------END----- 마커 사이에 base64로 인코딩됩니다. 이는 모든 주류 라이브러리가 요구하는 표준 형식입니다: OpenSSL, Node.js의 crypto, Python의 cryptography, Go의 crypto/rsa, Java의 KeyFactory 등이 모두 이 형식을 따릅니다.

운영 팁

  • 광범위한 적용 범위를 갖는 서명 키의 경우 최소 연 1회 이상 회전 처리해야 합니다.
  • 새로운 시스템의 경우 ECDSA(P-256) 또는 Ed25519를 사용하는 것이 권장됩니다. 이 방식은 처리 속도가 빠르며 서명 크기도 훨씬 작습니다.
  • 관련이 없는 시스템 간에 키페어를 재사용하지 마십시오. 한 개의 키가 유출될 경우 하류의 모든 시스템이 위협받게 됩니다.
  • 개인 키를 디스크에 저장할 때는 비밀번호를 사용하십시오. 암호화된 PEM 파일(BEGIN ENCRYPTED PRIVATE KEY)이 표준입니다.

자주 묻는 질문

네, 대부분의 API 및 세션 서명에 적용됩니다. NIST와 BSI는 여전히 2048비트 RSA를 최소한 2030년까지는 적절하다고 간주하고 있으나, 그 이상의 기간 동안 사용해야 하는 경우에는 3072비트가 권장됩니다.

PEM 사설 키는 ssh-keygen -y -f key.pem와 함께 사용하여 ssh-rsa 공개 키를 생성합니다. 일상적인 SSH 연결에서는 Ed25519를 사용하는 것이 권장됩니다. 이 키의 크기가 작고 처리 속도도 빠릅니다.

첫 번째는 PKCS#1(RSA 전용)입니다. 두 번째는 알고리즘에 관계 없는 랩 방식인 PKCS#8로, 현대의 라이브러리들이 일반적으로 사용하는 방식입니다. 이 도구는 PKCS#8 형태의 결과를 출력합니다.

그렇지 않습니다. 키 생성은 WebCrypto API를 통해 로컬에서 수행되며, PEM 파일은 페이지에 표시되기 전에 메모리 내에서 구성됩니다.

관련 도구

이 도구는 다른 언어로도 제공됩니다