gRPC 를 통한 EP11 소개-표준 플랜
Enterprise PKCS #11(EP11)은 개방형 표준 및 강화된 보안에 대한 지원을 원하는 고객에 맞게 설계되었습니다. EP11 라이브러리는 업계 표준 PKCS(Public-Key Cryptography Standards)#11 API와 유사한 Stateless 인터페이스를 제공합니다. PKCS #11 API는 암호화 토큰에 대한 플랫폼 독립 API를 정의합니다(예: 하드웨어 보안 모듈(HSM) 및 스마트 카드). PKCS #11을 사용하는 기존 애플리케이션은 Stateless 인터페이스 뿐만 아니라 보안 키 암호화를 사용하여 향상된 보안의 혜택을 받게 되며, 이를 통해 좀 더 효율적인 암호화 오퍼레이션을 사용할 수 있습니다.
EP11 라이브러리에 대한 자세한 정보는 Enterprise PKCS #11(EP11)라이브러리 구조 문서에서 찾을 수 있습니다. EP11 기능 및 확장에 대한 자세한 정보는 EP11 소개를 참조하십시오.
IBM Cloud® Hyper Protect Crypto Services는 모든 암호화 기능이 Hyper Protect Crypto Services의 클라우드 HSM에서 실행되는 gRPC(GREP11)를 통한 EP11 API 호출 세트를 제공합니다. GREP11 API는 클라우드에서 암호화 오퍼레이션에 적합한 Stateless 인터페이스입니다.
Hyper Protect Crypto Services은(는) gRPC와 같은 프레임워크를 활용하여 원격 애플리케이션 액세스를 사용할 수 있도록 해줍니다. gRPC는 로드 밸런싱, 추적, 상태 검사 및 인증을 위해 여러 데이터 센터의 서비스를 연결할 수 있는 최신 오픈 소스 고성능 원격 프로시저 호출(RPC) 프레임워크입니다. 애플리케이션은 gRPC를 통해 원격으로 EP11 API를 호출하여 Hyper Protect Crypto Services에 액세스합니다. gRPC에 대한 자세한 정보는 gRPC 문서를 참조하십시오.
GREP11 API를 사용하여 다음 오퍼레이션을 수행할 수 있습니다.
- 키 생성
- 암호화 및 복호화
- 서명 및 확인
- 키 랩핑 및 랩핑 해제
- 키 파생
- 메시지 요약 빌드
- 메커니즘 정보 검색
일부 오퍼레이션의 경우 일련의 하위 오퍼레이션이 있습니다. 예를 들어, 다중 파트 데이터 암호화 오퍼레이션은 EncryptInit(), EncryptUpdate() 및 EncryptFinal() 하위 오퍼레이션으로 구성됩니다.
EncryptInit()는 오퍼레이션을 초기화하는 데 사용됩니다.Encrypt()는EncryptUpdate()및EncryptFinal()하위 오퍼레이션을 수행할 필요 없이 단일 파트 데이터를 암호화하는 데 사용됩니다. 이 오퍼레이션은EncryptInit()호출 후에 수행되어야 합니다.EncryptUpdate()및EncryptFinal()은 다중 파트 데이터 암호화를 수행하기 위해 결합하여 사용됩니다. 이 하위 오퍼레이션은EncryptInit()호출 후에 수행되어야 합니다.EncryptSingle()은 표준 PKCS#11 스펙에 대한 IBM EP11 확장이며EncryptInit()및Encrypt()하위 오퍼레이션을 실행할 필요 없이 단일 파트 데이터를 암호화하기 위해 단일 호출을 수행하는 데 사용됩니다.
다음 다이어그램은 암호화를 수행하기 위해 GREP11 함수의 세 가지 호출 시퀀스 플로우를 표시합니다. 플로우는 암호 해독, 요약, 서명 및 확인과 같은 다른 조작에도 적용될 수 있습니다. GREP11 API에 대한 자세한 정보는 GREP11 API 참조를 참조하십시오.
GREP11 API는 단일 암호화 단위에 대해 초당 최대 500개의 요청을 처리할 수 있습니다.
포스트 양자 암호화(post-quantum cryptography) 지원
GREP11 API를 사용하여 사후 퀀텀 암호화 조작을 수행할 수도 있습니다. 기존 암호는 클래식 컴퓨터가 해결하기 어려운 복잡한 수학 문제를 사용합니다. 하지만 컴퓨팅 기능을 이용하여 양자 컴퓨터는 해당 문제를 해결할 수 있습니다. 포스트 양자 암호화는 양자 컴퓨터의 암호 공격에 내성이 있는 것으로 간주됩니다. 일반적으로 비대칭 알고리즘을 사용하며 다중 접근법을 사용합니다.
GREP11 API는 사후 퀀텀 암호화를 위한 디리튬 알고리즘 을 제공합니다. 격자 기반 디지털 서명 방식이며 서명 생성 및 검증에 사용할 수 있습니다. 현재 High-Security Version of round 2 Di리튬 만 지원되며 SignUpdate 및 VerifyUpdate 조작에 사용할 수 없습니다.
Dilithium 알고리즘은 Crypto Express 7S(CEX7S)라고도 하는 IBM 4769 암호화 카드에서만 지원됩니다. CEX7S 암호화 카드가 사용되는 VPC(Virtual Private Cloud) 기반 지역에서 인스턴스를 작성하는 경우 GREP11 API를 사용하여 포스트 양자 암호화에 Dilithium 알고리즘을 사용할 수 있습니다. VPC 기반 지역 목록은 지역 및 위치를 참조하십시오.
GREP11에서 Dilithium 알고리즘 지원에 대한 자세한 정보는 GREP11 API 참조를 확인하십시오. 또한 다음 저장소에서 Dilithium 알고리즘 코드 예를 찾을 수 있습니다.