- 인쇄
- PDF
SafeNet Luna Client 사용
- 인쇄
- PDF
VPC 환경에서 이용 가능합니다.
SafeNet Luna Client를 구성하고 사용하는 방법을 설명합니다.
SafeNet Luna Client 구성
SafeNet Luna Client를 설치 및 설정하는 방법에 대해 설명합니다.
지원 운영 체제
SafeNet Luna Client를 구동할 수 있는 운영 체제는 다음과 같습니다.
운영 체제 | 버전 |
---|---|
Windows Server Standard | 2016 |
Windows Server Standard | 2012 |
Redhat-based Linux (CentOS, Oracle Enterprise Linux) | 7 |
Ubuntu | 18 |
Ubuntu | 14.04 |
SafeNet Luna Client에 대한 자세한 정보는 Luna HSM 매뉴얼을 참고해 주십시오.
클라이언트 설치
SafeNet Luna Client를 서버에 설치해 주십시오.
CentOS
CentOS 클라이언트 서버를 신규 구성하는 방법은 HSM 클라이언트 서버 생성을 참고해 주십시오.
Ubuntu
Ubuntu 클라이언트 서버를 신규 구성하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Ubuntu 서버를 생성해 주십시오.
- Ubuntu 서버에 접속해서 다음의 스크립트를 'init.sh' 파일로 저장해 주십시오.
#!/bin/bash (echo y) | apt update (echo y) | apt-get install build-essential alien result=$(curl --location --request GET 'https://hardwaresecuritymodule.apigw.gov-ntruss.com/api/v1/client/configs') IFS=',' read -ra ADDR <<< "$result" DOWNLOAD_URL=${ADDR[0]} HSM1_URL=${ADDR[2]} HSM2_URL=${ADDR[3]} HSM3_URL=${ADDR[4]} cd ~ wget $DOWNLOAD_URL tar -xvf 610-000397-003_SW_Linux_Luna_Client_V10.3.0_RevA.tar rm -rf 610-000397-003_SW_Linux_Luna_Client_V10.3.0_RevA.tar cd 610-000397-003_SW_Linux_Luna_Client_V10.3.0_RevA/64/ (echo y) | sudo sh install.sh -p network -c all mv ~/610-000397-003_SW_Linux_Luna_Client_V10.3.0_RevA/008-010068-001_EULA_HSM7_SW_revC.txt /usr/safenet/lunaclient/008-010068-001_EULA_HSM7_SW_revC.txt /usr/safenet/lunaclient/bin/vtl addServer -n $HSM1_URL -c ~/610-000397-003_SW_Linux_Luna_Client_V10.3.0_RevA/cert/gov-hsm001.pem /usr/safenet/lunaclient/bin/vtl addServer -n $HSM2_URL -c ~/610-000397-003_SW_Linux_Luna_Client_V10.3.0_RevA/cert/gov-hsm002.pem /usr/safenet/lunaclient/bin/vtl addServer -n $HSM3_URL -c ~/610-000397-003_SW_Linux_Luna_Client_V10.3.0_RevA/cert/gov-hsm003.pem cd ~ rm -rf 610-000397-003_SW_Linux_Luna_Client_V10.3.0_RevA
- 'init.sh' 파일로 저장한 스크립트를 실행해 주십시오.
chmod 755 init.sh sh init.sh
- 스크립트 실행 결과로 SafeNet Luna Client가 서버에 설치됩니다. 동시에 개인 키와 CSR(Certificate Signing Request) 파일이 생성됩니다. 개인 키와 CSR 파일은 HSM 장비와 SafeNet Luna Client 간 연결에 필요한 인증서를 생성하는 데 요구되므로, 파일 경로와 파일명을 수정할 수 없습니다.
- 파일 생성 경로
/usr/safenet/lunaclient/cert/client
- 생성되는 파일
- {Common Name}Key.pem: 개인 키
- {Common Name}-hsmCSR.pem: CSR
- {Common Name}-hsm.pem: 인증서 파일
- 파일 생성 경로
- 스크립트 실행 결과로 SafeNet Luna Client가 서버에 설치됩니다. 동시에 개인 키와 CSR(Certificate Signing Request) 파일이 생성됩니다. 개인 키와 CSR 파일은 HSM 장비와 SafeNet Luna Client 간 연결에 필요한 인증서를 생성하는 데 요구되므로, 파일 경로와 파일명을 수정할 수 없습니다.
Windows
Windows 클라이언트 서버를 신규 구성하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼에서 Windows 서버를 생성해 주십시오.
- Windows 서버에 접속해서 다음 스크립트를 ps1 확장자 파일로 저장해 주십시오.
$response = Invoke-RestMethod 'https://hardwaresecuritymodule.apigw.gov-ntruss.com/api/v1/client/configs' $ADDR = $response -split"," $DOWNLOAD_URL = $ADDR[1] $HSM1_URL = $ADDR[2] $HSM2_URL = $ADDR[3] $HSM3_URL = $ADDR[4] powershell "(New-Object System.Net.WebClient).DownloadFile('$DOWNLOAD_URL','C:\Users\Administrator\Downloads\Luna_Client.zip')" Expand-Archive -Force 'C:\Users\Administrator\Downloads\Luna_Client.zip' 'C:\Users\Administrator\Downloads\Luna_Client\' del C:\Users\Administrator\Downloads\Luna_Client.zip cd C:\Users\Administrator\Downloads\Luna_Client\610-000396-003_SW_Windows_Luna_Client_V10.3.0_RevA\ (echo y) | .\LunaHSMClient.exe /install /quiet ADDLOCAL=NETWORK,CSP_KSP,JSP,SDK,JCProv Start-Sleep -Seconds 5 & 'C:\Program Files\SafeNet\LunaClient\VTL.exe' addServer -n $HSM1_URL -c 'C:\Users\Administrator\Downloads\Luna_Client\610-000396-003_SW_Windows_Luna_Client_V10.3.0_RevA\cert\gov-hsm001.pem' & 'C:\Program Files\SafeNet\LunaClient\VTL.exe' addServer -n $HSM2_URL -c 'C:\Users\Administrator\Downloads\Luna_Client\610-000396-003_SW_Windows_Luna_Client_V10.3.0_RevA\cert\gov-hsm002.pem' & 'C:\Program Files\SafeNet\LunaClient\VTL.exe' addServer -n $HSM3_URL -c 'C:\Users\Administrator\Downloads\Luna_Client\610-000396-003_SW_Windows_Luna_Client_V10.3.0_RevA\cert\gov-hsm003.pem' Start-Sleep -Seconds 3 cd C:\Users\Administrator\Downloads\Luna_Client del -Force -Recurse * cd .. del .\Luna_Client\
- ps1 확장자 파일로 저장한 스크립트를 실행해 주십시오.
C:\> powershell -file C:\luna_config.ps1
- 스크립트 실행 결과 SafeNet Luna Client가 서버에 설치됩니다. 동시에 개인 키와 CSR(Certificate Signing Request) 파일이 생성됩니다. 파일이 생성되는 경로는 다음과 같습니다. 개인 키와 CSR 파일은 HSM 장비와 SafeNet Luna Client 간 연결에 필요한 인증서를 생성하는 데 요구되는 파일이므로 파일 경로와 파일명을 수정할 수 없습니다.
- 파일 생성 경로
C:\Users\Administrator\Downloads\Luna_Client\610-000396-003_SW_Windows_Luna_Client_V10.3.0_RevA\cert\client
- 생성되는 파일
- {Common Name}Key.pem: 개인 키
- {Common Name}-hsmCSR.pem: CSR
- {Common Name}-hsm.pem: 인증서 파일
- 스크립트 실행 결과 SafeNet Luna Client가 서버에 설치됩니다. 동시에 개인 키와 CSR(Certificate Signing Request) 파일이 생성됩니다. 파일이 생성되는 경로는 다음과 같습니다. 개인 키와 CSR 파일은 HSM 장비와 SafeNet Luna Client 간 연결에 필요한 인증서를 생성하는 데 요구되는 파일이므로 파일 경로와 파일명을 수정할 수 없습니다.
연결 설정
클라이언트 설치 후에는 네이버 클라우드 플랫폼 콘솔에서 HSM 파티션과 SafeNet Luna Client 서버 간 연결을 설정한 후, 서버에 저장되어 있는 인증서를 업데이트합니다.
CentOS
CentOS 인증서의 업데이트 방법은 연결 설정을 참고해 주십시오.
Ubuntu
Ubuntu 클라이언트 연결 설정 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 Region 메뉴와 Platform 메뉴에서 이용 중인 환경을 클릭해 주십시오.
- Services > Security > Hardware Security Module 메뉴를 차례대로 클릭해 주십시오.
- Connection 메뉴를 클릭해 주십시오.
- [연결 생성] 버튼을 클릭해 주십시오.
- 연결 생성을 위한 기본 정보를 입력해 주십시오.
- VPC: HSM 클라이언트 서버가 배치된 VPC 선택
- 서버명: Ubuntu 클라이언트 서버 선택
- HSM Tag: 연결하려는 HSM Tag 선택
- CSR: 서버에서 확인한 CSR 데이터 입력. 복사해 둔 pem 포맷의 스트링 그대로 붙여 넣기
- 입력을 완료했다면 [생성] 버튼을 클릭해 주십시오.
- 연결이 생성되어 Connection 목록에 표시됩니다.
- Connection 목록에서 생성된 연결을 선택한 후 [인증서 확인] 버튼을 클릭해 주십시오.
- 인증서 상세 정보 팝업 창에서 인증서 본문 옆의 [다운로드] 버튼을 클릭해 주십시오.
- 인증서 파일이 다운로드됩니다.
- 팝업 창에 표시된 인증서 본문을 복사해서 서버 인증서 파일에 붙여 넣을 수도 있습니다.
- HSM 클라이언트 서버에 접속하여
/usr/safenet/lunaclient/cert/client/
경로에 인증서 파일을 저장해 주십시오.- 인증서 파일명 형식:
{Common Name}.pem
- <예시> Common Name이 '374589-hsm'일 경우
[root@hsm-test ~]# mv ./374589-hsm.pem /usr/safenet/lunaclient/cert/client/
- 동일 경로에 인증서와 개인 키(파일명 형식:
{Common Name}Key.pem
)가 모두 위치하는지 확인해 주십시오. - <예시> Common Name이 '374589-hsm'일 경우
[root@hsm-test client]# pwd /usr/safenet/lunaclient/cert/client [root@hsm-test client]# ls 374589-hsmKey.pem 374589-hsm.pem
- 인증서 파일명 형식:
- SafeNet Luna Client vtl 유틸리티를 실행하여 HSM이 정상적으로 매핑되었는지 확인해 주십시오.
- HSM 고유 식별자인 HSM Tag 뒷부분에 표시되는 시리얼 번호가 vtl 커맨드로 확인한 slot serial no.와 같아야 합니다.
- <예시> HSM Tag가 'b1f83780-d3d99e8o-1451531153118'일 경우
[root@hsm-test bin]# ./vtl verify vtl (64-bit) v10.3.0-275. Copyright (c) 2020 SafeNet. All rights reserved. The following Luna SA Slots/Partitions were found: Slot Serial # Label ==== ================ ===== 0 1451531153118
:::(Info) (참고)
HSM Tag는 콘솔의 **Services > Security > Hardware Security Module > HSM** 메뉴에서 확인할 수 있습니다.
:::
- 콘솔의 HSM 메뉴에서 연결 상태가 정상적으로 반영되었는지 확인해 주십시오.
- HSM 목록에서 해당 항목이 운영중 상태로 표시되어야 합니다.
Windows
Windows 클라이언트 연결 설정 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 Region 메뉴와 Platform 메뉴에서 이용 중인 환경을 클릭해 주십시오.
- Services > Security > Hardware Security Module 메뉴를 차례대로 클릭해 주십시오.
- Connection 메뉴를 클릭해 주십시오.
- [연결 생성] 버튼을 클릭해 주십시오.
- 연결 생성을 위한 기본 정보를 입력해 주십시오.
- VPC: HSM 클라이언트 서버가 배치된 VPC 선택
- 서버명: 생성한 HSM 클라이언트 서버 선택
- HSM Tag: 연결하려는 HSM Tag 선택
- CSR: 서버에서 확인한 CSR 데이터 입력. 복사해 둔 pem 포맷의 스트링 그대로 붙여 넣기.
- 입력을 완료했다면 [생성] 버튼을 클릭해 주십시오.
- 연결이 생성되어 Connection 목록에 표시됩니다.
- Connection 목록에서 생성된 연결을 선택한 후 [인증서 확인] 버튼을 클릭해 주십시오.
- 인증서 상세 정보 팝업 창에서 인증서 본문 옆의 [다운로드] 버튼을 클릭해 주십시오.
- 인증서 파일이 다운로드됩니다.
- 팝업 창에 표시된 인증서 본문을 복사해서 서버 인증서 파일에 붙여 넣을 수도 있습니다.
- HSM 클라이언트 서버에 접속하여
C:\Users\Administrator\Downloads\Luna_Client\610-000396-003_SW_Windows_Luna_Client_V10.3.0_RevA\cert\client
경로에 인증서 파일을 저장해 주십시오.- 인증서 파일명 형식:
{Common Name}.pem
- <예시> Common Name이 '374589-hsm'일 경우
[root@hsm-test ~]# mv ./374589-hsm.pem /usr/safenet/lunaclient/cert/client/
- 동일 경로에 인증서와 개인 키(파일명 형식:
{Common Name}Key.pem
)가 모두 위치하는지 확인해 주십시오. - <예시> Common Name이 '374589-hsm'일 경우
[root@hsm-test client]# pwd /usr/safenet/lunaclient/cert/client [root@hsm-test client]# ls 374589-hsmKey.pem 374589-hsm.pem
- 인증서 파일명 형식:
- SafeNet Luna Client vtl 유틸리티를 실행하여 HSM이 정상적으로 매핑되었는지 확인해 주십시오.
- HSM 고유 식별자인 HSM Tag 뒷부분에 표시되는 시리얼 번호가 vtl 커맨드로 확인한 slot serial no.와 같아야 합니다.
- <예시> HSM Tag가 'b1f83780-d3d99e8o-1451531153118'일 경우
[root@hsm-test bin]# ./vtl verify vtl (64-bit) v10.3.0-275. Copyright (c) 2020 SafeNet. All rights reserved. The following Luna SA Slots/Partitions were found: Slot Serial # Label ==== ================ ===== 0 1451531153118
:::(Info) (참고)
HSM Tag는 콘솔의 **Services > Security > Hardware Security Module > HSM** 메뉴에서 확인할 수 있습니다.
:::
- 콘솔의 HSM 메뉴에서 연결 상태가 정상적으로 반영되었는지 확인해 주십시오.
- HSM 목록에서 해당 항목이 운영중 상태로 표시되어야 합니다.
SafeNet Luna Client 제공 기능
HSM 파티션과 HSM 클라이언트 간에 연결이 정상적으로 완료되면 SafeNet Luna Client를 통해 HSM을 이용할 수 있습니다. SafeNet Luna Client에서는 어플라이언스 레벨(LunaSH)의 역할을 수행할 수 없고 파티션 레벨(LunaCM)의 역할만 수행할 수 있습니다. SafeNet Luna Client에서 사용할 수 있는 기능은 다음과 같습니다.
사용자 역할 | 기능 | SafeNet Luna Client 제공 기능 |
---|---|---|
어플라이언스 레벨(LunaSH) | HSM 이용 신청 | X |
HSM 생성 | X | |
HSM 연결 | X | |
파티션 레벨(LunaCM) | HSM 사용자 관리 | O |
HSM 파티션 초기화 | O | |
Luna Client Utilities, REST API, SDK를 통한 파티션 사용 | O | |
HA 구성 | O | |
연동 설정 | O |
SafeNet Luna Client에서 제공하는 CLI(Command Line Interface), REST API, SDK(Software Development Kit) 사용 방법에 대한 안내는 SafeNet Luna Network HSM Client Manual을 참고해 주십시오.
HSM 초기 설정
HSM과 SafeNet Luna Client 간 연결을 설정한 후에는 HSM 파티션과 사용자에 대한 초기 설정 작업을 진행합니다. 초기화 작업을 수행하지 않을 경우 HSM을 정상적으로 사용할 수 없습니다.
사용자 관리
사용자를 추가 또는 삭제할 수 있습니다.
사용자 추가
root 사용자가 아닌 사용자는 hsmuser 그룹에 추가되어야만 SafeNet Luna Client에 접근할 수 있습니다. 다른 사용자의 접근을 허용하려면, 다음의 명령을 통해 사용자를 추가해 주십시오.
sudo gpasswd --add <username> hsmusers
사용자 삭제
사용자를 삭제하려면 다음의 명령을 실행해 주십시오. 삭제된 사용자는 서버 재시작 전까지만 SafeNet Luna Client에 접근할 수 있습니다.
sudo gpasswd -d <username> hsmusers
파티션 초기화
HSM 파티션을 초기화하는 방법은 다음과 같습니다.
- SafeNet Luna Client에서 연결된 HSM 파티션 정보를 확인해 주십시오.
[root@s177243bfe5d bin]# ./vtl verify vtl (64-bit) v10.3.0-275. Copyright (c) 2020 SafeNet. All rights reserved. The following Luna SA Slots/Partitions were found: Slot Serial # Label ==== ================ ===== 0 1464895629433 1 1467067938950
- 파티션을 초기화해 주십시오. 파티션 초기화 시 파티션 관리자(Partition Security Officer) 권한이 초기화됩니다. 파티션 관리자의 비밀번호를 재설정하고 도메인 네임을 재설정해 주십시오.
[root@s177243bfe5d bin]# ./lunacm lunacm (64-bit) v10.3.0-275. Copyright (c) 2020 SafeNet. All rights reserved. Available HSMs: Slot Id -> 0 Label -> Serial Number -> 1464895629433 Model -> LunaSA 7.7.0 Firmware Version -> 7.7.0 Bootloader Version -> 1.1.2 Configuration -> Luna User Partition With SO (PW) Key Export With Cloning Mode Slot Description -> Net Token Slot FM HW Status -> FM Ready Slot Id -> 1 Label -> Serial Number -> 1467067938950 Model -> LunaSA 7.7.0 Firmware Version -> 7.7.0 Bootloader Version -> 1.1.2 Configuration -> Luna User Partition With SO (PW) Key Export With Cloning Mode Slot Description -> Net Token Slot FM HW Status -> FM Ready Current Slot Id: 0 lunacm:>partition init -label ha-part1 You are about to initialize the partition. All contents of the partition will be destroyed. Are you sure you wish to continue? Type 'proceed' to continue, or 'quit' to quit now ->proceed Enter password for Partition SO: ********* Re-enter password for Partition SO: ********* Option -domain was not specified. It is required. Enter the domain name: ********* Re-enter the domain name: ********* Command Result : No Error
파티션 초기화에 대한 자세한 정보는 partition init을 참고해 주십시오.
사용자 권한 초기화
암호화 관리자(Crypto Officer)와 암호화 사용자(Crypto User)의 권한을 초기화할 수 있습니다. 초기화 시 비밀번호를 재설정해야 합니다.
암호화 관리자 권한 초기화
파티션 관리자의 권한으로 암호화 관리자의 계정을 초기화할 수 있습니다. 파티션 관리자로 로그인한 후에 암호화 관리자의 권한을 초기화해야 합니다. 권한을 초기화하는 방법은 다음과 같습니다.
- lunacm에서 파티션 관리자 권한으로 로그인해 주십시오.
lunacm:>role login -name Partition so enter password: ********* Command Result : No Error
- 다음의 명령을 실행하여 암호화 관리자를 초기화해 주십시오.
lunacm:>role init -name Crypto Officer enter new password: ********* re-enter new password: *********
- 암호화 관리자로 로그인해 주십시오.
lunacm:>role logout Command Result : No Error lunacm:>role login -name Crypto Officer enter password: ********* Command Result : No Error
- 암호화 관리자의 비밀번호를 변경해 주십시오.
- 암호화 관리자 계정을 사용하기 위해서는 초기화 이후 비밀번호를 반드시 변경해야 합니다.
lunacm:>role changepw -name co enter existing password: ********* enter new password: ********* re-enter new password: *********
암호화 사용자 권한 초기화
암호화 관리자의 권한으로 암호화 사용자의 계정을 초기화할 수 있습니다. 암호화 관리자로 로그인한 후에 암호화 사용자 계정을 초기화해야 합니다. 권한을 초기화하는 방법은 다음과 같습니다.
- lunacm에서 암호화 관리자 권한으로 로그인해 주십시오.
lunacm:>role login -name Crypto Officer enter password: ********* Command Result : No Error
- 다음의 명령을 실행하여 암호화 사용자를 초기화해 주십시오.
lunacm:>role init -name cu enter new password: ******** re-enter new password: ******** Command Result : No Error
- 암호화 사용자로 로그인해 주십시오.
lunacm:>role logout Command Result : No Error lunacm:>role login -name cu enter password: ******** Command Result : No Error
- 암호화 사용자의 비밀번호를 변경해 주십시오.
- 암호화 사용자 계정을 사용하기 위해서는 초기화 이후 비밀번호를 반드시 변경해야 합니다.
lunacm:>role changepw -name cu enter existing password: ******** enter new password: ******** re-enter new password: ******** Command Result : No Error
- 권한 설정 명령어에 대한 자세한 정보는 role을 참고해 주십시오.
- Java SDK 사용에 대한 자세한 정보는 Java Interfaces를 참고해 주십시오.
- Java SDK 사용 시 userpin 암호에는 암호화 관리자의 비밀번호를 사용해 주십시오.