개요

Prev Next

VPC 환경에서 이용 가능합니다.

BIP32 메커니즘을 구현할 수 있는 사양 및 기본적인 개념에 관해 설명합니다.

참고

BIP32 메커니즘 구현은 Thales 공식 문서를 기반으로 작성되었습니다. 사용 가이드에서 안내하는 내용 외에 더 많은 내용을 살펴보려면 BIP32 Mechanism Support and Implementation을 참고해 주십시오.

BIP32 메커니즘에서 지원되는 곡선 유형, 키 유형, 백업 또는 복제 사양 등을 확인할 수 있습니다.

지원되는 곡선의 유형은 다음과 같습니다.

  • secp256k1 지원
  • CKA_ECDSA_PARAMS로 지정하면 CKR_TEMPLATE_INCONSISTENT로 실패 처리

지원되는 암호 키의 유형과 양식은 다음과 같습니다.

  • BIP32 전용인 CKK_BIP32 유형 지원
  • 기존 ECDSA 키에 지원되는 메커니즘 모두 사용 가능
  • ECDSA 키와의 차이점
    • 체인 코드 존재
    • 키 가져오기 및 내보내기, 랩핑 및 언랩핑 시 직렬화 형식 상이

키의 백업 및 복제에 대한 지원 사양은 다음과 같습니다.

  • 버전이 7.x인 HSM 사이에서만 가능
  • 복제는 BIP32를 지원하는 펌웨어 버전에서만 가능 (BIP32를 지원하지 않는 오래된 버전에서는 복제 불가)

BIP32 메커니즘은 Non-FIPS(Federal Information Processing Standards) 알고리즘이 허용되어야만 이용할 수 있습니다.

지원되는 호스트 툴은 다음과 같습니다.

  • multitoken
  • ckdemo
참고

각 툴에 대한 자세한 정보는 Thales 공식 문서의 multitoken 또는 ckdemo를 참고해 주십시오.

BIP32 키는 강화 키와 비강화(확장) 키라는 하위 개념을 포함합니다. 각 키에 대한 설명은 다음과 같습니다.

키 유형 설명
강화(hardened) 키
  • 32비트 인덱스로 구성
  • 최상위 비트가 설정되어 CKF_BIP32_HARDENED로 정의됨
  • 부모당 2^31 강화 키 사용 가능
  • 방화벽이 있어 다중 수준의 키 파생 불가
  • 부모의 개인 키(parent private key)를 알지 못하면 자식의 공개 키(child public key)를 생성할 수 없음
비강화(non-hardened, normal) 키
  • 32비트 인덱스로 구성
  • 최상위 비트가 설정되지 않음
  • 부모당 2^31 비강화 키 사용 가능
  • 개인 키(parent private key)를 몰라도 주어진 부모의 자식 공개 키(child public key)를 얻을 수 있음
  • 공격자가 정상적인 부모 체인 코드와 부모 공개 키를 얻으면 무차별 공격(brute-force)을 통해 모든 체인 코드를 얻을 수 있음
  • 체인 코드를 얻은 공격자가 자식, 손자 또는 더 하위의 개인 키를 얻으면 체인 코드를 사용하여 해당 키에서 파생되는 모든 확장 개인 키(extended private key)를 생성할 수 있음