키 생성 및 관리
1. 키 관리 및 키 목록 조회
JWT 서명용 키를 생성하고 관리하는 메뉴입니다.
① 좌측 메뉴에서 [키 관리] 메뉴를 선택합니다.
② 우측 화면에서 [키 목록]과 [키 생성] 버튼을 확인할 수 있습니다.

키 목록
Label : 키 생성 시 사용자가 입력한 키 식별자 값
알고리즘 : 키 생성시 선택한 알고리즘
CKA_ID : 생성된 키의 고유 ID 값
생성일 : 키가 생성된 날짜
동일한 Label로 키를 여러 개 생성할 경우, CKA_ID를 통해 식별됩니다.
가능한 한 고유한 Label을 사용하는 것을 권장합니다.
2. 키 생성
JWT 서명을 위한 개인 키를 생성하는 화면입니다. HSM 기반으로 안전하게 키를 생성할 수 있으며, 사용자 선택에 따라 생성 방식과 알고리즘을 조정할 수 있습니다.

알고리즘 선택
RSA : 일반적으로 사용되는 공개키 알고리즘으로, 다양한 시스템과 호환됩니다.
ECDSA(ECC): 타원 곡선 기반 알고리즘으로, 동일한 보안 수준에서 더 짧은 키 길이로 성능이 우수합니다.
키 생성 타입
자동 생성 (랜덤 생성) : HSM 내에서 키가 직접 생성되며 외부로 유출되지 않는 가장 안전한 방식입니다.
수동 생성(외부 키 가져오기) : 외부에서 생성한 키(Component) 파일을 업로드하여 저장합니다. 키 분할 또는 외부 생성 환경에서 사용 시 유용합니다.
Label
사용자가 키를 구분하기 위해 입력하는 식별자입니다. (예 : RSA_4096)
Label은 중복 없이 작성하는 것이 좋습니다.
길이(bits)
RSA 알고리즘 선택 시 키 길이를 선택합니다.
지원하는 키 길이 : 2048, 4096
Curve
ECDSA(ECC) 알고리즘 선택 시 Curve를 선택합니다.
지원하는 Curve : Prime256v1
2-1. 자동 생성
① 알고리즘과 생성 타입 '자동 생성'을 선택합니다.
② Label을 입력합니다.
③ 키 길이 또는 Curve를 선택합니다.
④ [생성] 버튼을 클릭하면 키가 생성되어 키 목록에 추가됩니다.
자동 생성 시 생성된 키는 HSM 외부로 노출되지 않으며, 추출할 수 없습니다.
2-2. 수동 생성
① 알고리즘과 생성 타입 '수동 생성' 을 선택합니다.
② Label을 입력합니다.
③ 키 값을 PEM 형식으로 입력합니다.
④ [생성] 버튼을 클릭하면 키가 생성되어 키 목록에 추가됩니다.
수동 생성인 경우 개인키만 생성할 수 있습니다.
3. 키 상세 정보
생성된 키의 상세 속성과 공개키 정보를 확인할 수 있습니다. 공개키는 외부 시스템에서 JWT 서명을 확인할 때 사용됩니다.

개인키 정보
Label : 키 생성 시 사용자가 입력한 키 식별자 값
유형 : 키의 유형입니다. (현재는 개인키만 제공)
알고리즘 : 키 생성시 선택한 알고리즘
CKA_ID : 생성된 키의 고유 ID 값
길이(bits) : RSA 알고리즘 키 생성 시 선택한 키 길이
Curve : ECDSA(ECC) 알고리즘 키 생성 시 선택한 Curve
생성일 : 키가 생성된 날짜
개인키는 외부로 노출되지 않으며, HSM 내부에 안전하게 저장됩니다.
개인키는 보안 정책상 절대로 외부로 추출하거나 노출할 수 없습니다.
공개키 정보
공개키는 PEM(Public-Key Cryptography Standard)은 Base64로 인코딩된 형식으로 제공되며, 외부 서비스나 클라이언트에 공유하여 JWT 서명을 검증할 때 사용됩니다.
PEM 형식 :
-----BEGIN PUBLIC KEY-----로 시작하고-----END PUBLIC KEY-----로 끝나는 형식이며, SSL/TLS 인증서, OpenSSL, 외부 서버 연동 등에서 사용되는 국제 표준 포맷입니다.복사 아이콘 : 우측 복사 아이콘버튼을 클릭하면 전체 공개키 문자열이 클립보드에 복사됩니다.
키 삭제
키를 더 이상 사용하지 않을 경우 우측 상단의 [키 삭제] 버튼으로 삭제할 수 있습니다. 단, 키 삭제 시 userPIN 인증을 통해 삭제가 가능합니다.
키삭제 시 해당 키를 사용하는 모든 기능이 중단되므로 주의가 필요합니다.