키 생성 및 관리

1. 키 관리 및 키 목록 조회

JWT 서명용 키를 생성하고 관리하는 메뉴입니다.

① 좌측 메뉴에서 [키 관리] 메뉴를 선택합니다.

② 우측 화면에서 [키 목록]과 [키 생성] 버튼을 확인할 수 있습니다.

키 목록

  • Label : 키 생성 시 사용자가 입력한 키 식별자 값

  • 알고리즘 : 키 생성시 선택한 알고리즘

  • CKA_ID : 생성된 키의 고유 ID 값

  • 생성일 : 키가 생성된 날짜

[키 생성] 버튼을 클릭하면 '키 생성 화면'으로 이동합니다.


2. 키 생성

JWT 서명을 위한 개인 키를 생성하는 화면입니다. HSM 기반으로 안전하게 키를 생성할 수 있으며, 사용자 선택에 따라 생성 방식과 알고리즘을 조정할 수 있습니다.

알고리즘 선택

  • RSA : 일반적으로 사용되는 공개키 알고리즘으로, 다양한 시스템과 호환됩니다.

  • ECDSA(ECC): 타원 곡선 기반 알고리즘으로, 동일한 보안 수준에서 더 짧은 키 길이로 성능이 우수합니다.

키 생성 타입

  • 자동 생성 (랜덤 생성) : HSM 내에서 키가 직접 생성되며 외부로 유출되지 않는 가장 안전한 방식입니다.

  • 수동 생성(외부 키 가져오기) : 외부에서 생성한 키(Component) 파일을 업로드하여 저장합니다. 키 분할 또는 외부 생성 환경에서 사용 시 유용합니다.

자동 생성은 키 보안성이 가장 높기 때문에 기본값으로 권장됩니다.

Label

  • 사용자가 키를 구분하기 위해 입력하는 식별자입니다. (예 : RSA_4096)

길이(bits)

  • RSA 알고리즘 선택 시 키 길이를 선택합니다.

  • 지원하는 키 길이 : 2048, 4096

Curve

  • ECDSA(ECC) 알고리즘 선택 시 Curve를 선택합니다.

  • 지원하는 Curve : Prime256v1


2-1. 자동 생성

① 알고리즘과 생성 타입 '자동 생성'을 선택합니다.

② Label을 입력합니다.

③ 키 길이 또는 Curve를 선택합니다.

④ [생성] 버튼을 클릭하면 키가 생성되어 키 목록에 추가됩니다.

ECC 알고리즘으로 키를 자동 생성하는 경우, 아래와 같은 Curve를 지원하며, Algorithm과 Hash는 선택한 Curve에 따라 결정됩니다.

Curve : prime256v1 (P-256)

Algorithm : ES256

Hash : SHA-256

2-2. 수동 생성

① 알고리즘과 생성 타입 '수동 생성' 을 선택합니다.

② Label을 입력합니다.

③ 키 값을 PEM 형식으로 입력합니다.

④ [생성] 버튼을 클릭하면 키가 생성되어 키 목록에 추가됩니다.


3. 키 상세 정보

생성된 키의 상세 속성과 공개키 정보를 확인할 수 있습니다. 공개키는 외부 시스템에서 JWT 서명을 확인할 때 사용됩니다.

개인키 정보

  • Label : 키 생성 시 사용자가 입력한 키 식별자 값

  • 유형 : 키의 유형입니다. (현재는 개인키만 제공)

  • 알고리즘 : 키 생성시 선택한 알고리즘

  • CKA_ID : 생성된 키의 고유 ID 값

  • 길이(bits) : RSA 알고리즘 키 생성 시 선택한 키 길이

  • Curve : ECDSA(ECC) 알고리즘 키 생성 시 선택한 Curve

  • 생성일 : 키가 생성된 날짜

공개키 정보

공개키는 PEM(Public-Key Cryptography Standard)은 Base64로 인코딩된 형식으로 제공되며, 외부 서비스나 클라이언트에 공유하여 JWT 서명을 검증할 때 사용됩니다.

  • PEM 형식 : -----BEGIN PUBLIC KEY-----로 시작하고 -----END PUBLIC KEY-----로 끝나는 형식이며, SSL/TLS 인증서, OpenSSL, 외부 서버 연동 등에서 사용되는 국제 표준 포맷입니다.

  • 복사 아이콘 : 우측 복사 아이콘버튼을 클릭하면 전체 공개키 문자열이 클립보드에 복사됩니다.


키 삭제

  • 키를 더 이상 사용하지 않을 경우 우측 상단의 [키 삭제] 버튼으로 삭제할 수 있습니다. 단, 키 삭제 시 userPIN 인증을 통해 삭제가 가능합니다.