이 주제에서는 MAC 키를 기반으로 한 디지털 서명 생성 및 검증을 설명합니다.
제작자와 확인자가 모두 공유하는 단일 키는 입력 데이터에 대한 MAC 태그(서명)를 계산하는 데 사용됩니다. 확인자는 메시지 및 연결된 MAC 태그를 수신하면 콘텐츠에 대한 자체 태그를 생성하고 태그를 비교하여 일치하는지 확인합니다.
시작하기 전에
MAC 디지털 서명을 만들 때는 키 용도가
MAC
인 키를 사용해야 합니다. 키를 만들 때는MAC
을 사용합니다.서명을 수행할 사용자 또는 서비스에 MAC 키에 대한
cloudkms.cryptoKeyVersions.useToSign
권한을 부여합니다. Cloud Key Management Service의 권한은 권한 및 역할에서 확인할 수 있습니다.서명을 검증하려면 확인을 수행할 사용자 또는 서비스에 MAC 키에 대한
cloudkms.cryptoKeyVersions.useToVerify
권한을 부여합니다.
MAC 서명 만들기
gcloud
명령줄에서 Cloud KMS를 사용하려면 먼저 최신 버전의 Google Cloud CLI로 설치 또는 업그레이드하세요.
gcloud kms mac-sign \ --version key-version \ --key key \ --keyring key-ring \ --location location \ --input-file input-file \ --signature-file signature-file
key-version을 서명에 사용할 키 버전으로 바꿉니다. key를 키 이름으로 바꿉니다. key-ring을 키가 배치된 키링의 이름으로 바꿉니다. location을 키링의 Cloud KMS 위치로 바꿉니다. input-file 및 signature-file을 서명할 파일의 로컬 경로와 서명 파일을 대체합니다.
모든 플래그 및 가능한 값에 대한 정보를 보려면 --help
플래그와 함께 명령어를 실행하세요.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Cloud KMS C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 Cloud KMS Go SDK를 설치합니다.
자바
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Cloud KMS 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Cloud KMS Node.js SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Cloud KMS Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Cloud KMS Ruby SDK를 설치합니다.
API
이 예시에서는 curl을 HTTP 클라이언트로 사용하여 API 사용을 보여줍니다. 액세스 제어에 대한 자세한 내용은 Cloud KMS API 액세스를 참조하세요.
CryptoKeyVersions.macSign
메서드를 사용하여 서명을 수행합니다. 이 메서드의 응답에는 base64 인코딩 서명이 포함됩니다.
MAC 서명 확인
gcloud
명령줄에서 Cloud KMS를 사용하려면 먼저 최신 버전의 Google Cloud CLI로 설치 또는 업그레이드하세요.
gcloud kms mac-verify \ --version key-version \ --key key \ --keyring key-ring \ --location location \ --input-file input-file \ --signature-file signature-file
key-version을 확인에 사용할 키 버전으로 바꿉니다. key를 키 이름으로 바꿉니다. key-ring을 키가 배치된 키링의 이름으로 바꿉니다. location을 키링의 Cloud KMS 위치로 바꿉니다. input-file 및 signature-file을 확인할 입력 데이터 및 서명 파일의 로컬 경로로 바꿉니다.
모든 플래그 및 가능한 값에 대한 정보를 보려면 --help
플래그와 함께 명령어를 실행하세요.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Cloud KMS C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 Cloud KMS Go SDK를 설치합니다.
자바
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Cloud KMS 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Cloud KMS Node.js SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Cloud KMS Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Cloud KMS Ruby SDK를 설치합니다.
API
이 예시에서는 curl을 HTTP 클라이언트로 사용하여 API 사용을 보여줍니다. 액세스 제어에 대한 자세한 내용은 Cloud KMS API 액세스를 참조하세요.
CryptoKeyVersions.macVerify
메서드를 사용하여 검증합니다. 검증할 서명은 base64로 인코딩되어야 합니다. 이 메서드의 응답에는 서명이 성공적으로 검증되었는지 여부를 나타내는 부울이 포함됩니다.