Azure Felhőalapú HSM-tanúsítványtárolás

Azure felhőalapú HSM támogatja a tanúsítványtárolást a PKCS#11-en keresztül, így az alkalmazások az X.509-tanúsítványokat a kulcsok mellett kezelhetik. Ez az oktatóanyag részletes útmutatást nyújt a tanúsítványtárolás előfeltételeinek beállításához, beleértve a Azure Blob Storage és a felügyelt identitáskonfigurációt. A PKCS#11 API-k tanúsítványok kezelésére való használatával kapcsolatos részletekért lásd: PKCS#11 API a tanúsítványtároláshoz.

Prerequisites

A tanúsítványtárolás Azure felhőalapú HSM-sel való támogatásához az alábbi előfeltételek szükségesek. Ha a HSM üzembe helyezése nem fejeződött be, tekintse meg a Azure felhőalapú HSM előkészítési útmutatóját az SDK telepítéséhez és konfigurálásához.

Rendszerkövetelmények

  • Azure felhőalapú HSM-erőforrás üzembe van helyezve, inicializálva és konfigurálva.
  • Azure Cloud HSM-ügyfél SDK
  • A "PO.crt" partíciótulajdonosi tanúsítvány másolata az alkalmazáskiszolgálón.
  • Az ismert HSM hsm1.chsm-<resource-name>-<unique-string>.privatelink.cloudhsm.azure.net címe.
  • A kriptográfiai felhasználói hitelesítő adatok ismerete

A tanúsítványtárolás előfeltételei

  • Azure Blob Storage fiók
  • Felügyelt identitás a tároló eléréséhez

Fontos

A Windows Server bármely verzióját használó ügyfeleknek telepíteniük kell a Visual C++ terjeszthető legújabb verzióját.

Azure Blob Storage-fiók beállítása

Mielőtt használhatja a PKCS#11 API-t a tanúsítványtároláshoz, létre kell hoznia egy Azure Blob Storage fiókot. Ez a tárfiók tartalmazza a PKCS#11 tanúsítványobjektumokat, amelyek JWS formátumban vannak mentve és lekérve.

  1. Ha Azure Blob Storage fiókot szeretne beállítani a PKCS#11 tanúsítványtárolóhoz, lépjen a Azure portálra, és hozzon létre egy új tárfiókot.

  2. A tárfiók létrehozása után nyissa meg a Azure portálon, és válassza a Tárolók lehetőséget az Adattárolás területen. Hozzon létre egy új tárolót a blobok tárolásához.

    Képernyőkép a tároló létrehozásáról az Azure Blob Storage-ban.

  3. A tároló létrehozása után keresse meg a tárolóvégpont URL-címét a Tároló tulajdonságaihoz való navigálással. Erre az URL-címre később van szükség.

    Képernyőkép az Azure Blob Storage tároló tulajdonságainak megtalálásáról.

  4. A Tároló tulajdonságai között megtalálja a tároló URL-címét. Ezt az URL-címet később a azcloudhsm_application.cfg fájlban kell megadni ahhoz, hogy a PKCS#11-alkalmazások megtalálhassák a tanúsítványobjektumok tárolási helyét.

    Képernyőkép az Azure Blob Storage tulajdonságai között a tároló URL-címéről.

Felhasználó által hozzárendelt felügyelt identitás beállítása a tárterület eléréséhez

A tanúsítványtárolás következő előfeltétele egy felhasználó által hozzárendelt felügyelt identitás létrehozása. Ez az identitás megkapja a szükséges szerepkört a Azure Blob Storage-fiók eléréséhez, és a kijelölt rendszergazdai virtuális gépről történő hitelesítésre szolgál.

Megjegyzés:

Az alábbi példa egy felhasználó által hozzárendelt felügyelt identitást hoz létre és használ. A rendszer által hozzárendelt felügyelt identitás a virtuális gépen is létrehozható és használható.

  1. Ha Felhasználó által hozzárendelt felügyelt identitást szeretne létrehozni a PKCS#11 tanúsítványtárolóhoz, lépjen a Azure portálra, és hozzon létre egy új identitást.

  2. A felügyelt identitás sikeres létrehozása után jegyezze fel az ügyfél-azonosítót, amely a azcloudhsm_application.cfg fájl későbbi részében szükséges ahhoz, hogy a virtuális gépről engedélyezze a tárfiókhoz való hitelesítést.

    A felügyelt identitás ügyfélazonosítójának képernyőképe az Azure portálon.

  3. Rendelje hozzá a megfelelő Azure-szerepkört, hogy a felügyelt identitás jogosultságot kapjon a korábban létrehozott Blob Storage-fiók olvasására és írására. Rendelje hozzá a Tárblobadat-közreműködő szerepkört a felügyelt identitáshoz, állítsa be a hatókört a Storage-ba , és válassza ki az adott tárfiók-erőforrást.

    Az Azure portálon a Storage Blob Data Contributor szerep kiosztásának képernyőképe.

    Képernyőkép a Storage Blob-adat közreműködői szerepkör hatókörének beállításáról.

  4. Rendelje hozzá a felhasználó által hozzárendelt felügyelt identitást ahhoz a virtuális géphez, amely az Ön PKCS#11 tanúsítványtároló alkalmazását futtatja. Nyissa meg a virtuálisgép-erőforrást a Azure portálon, válassza a Biztonság szakaszt, válassza az Identitás lehetőséget, és adja hozzá a felhasználó által hozzárendelt identitást.

    Felügyelt felhasználói identitás hozzáadása egy virtuális géphez az Azure portálon.

    A virtuális gép azonosító beállításainak képernyőképe az Azure portálon.

A Azure Felhőalapú HSM-ügyféleszközök konfigurálása

Tárolóaláíró kulcs létrehozása

Az alábbi azcloudhsm_util paranccsal egyetlen lépésben hozhat létre RSA aláírókulcs-párt a PKCS#11 tanúsítványtárolóhoz. Alapértelmezés szerint egy 2048 bites RSA-kulcsot hoz létre 65537 nyilvános kitevővel. Szükség szerint módosíthatja a kulcs méretét. A parancs futtatása előtt győződjön meg arról, hogy azcloudhsm_client szolgáltatásként fut a háttérben.

Cserélje le a helyőrzőket az alábbiak szerint:

  • PKCS11_S a kriptográfiai felhasználó felhasználónevével (például: cu1)
  • PKCS11_P a titkosítás felhasználói jelszavával (például user1234)
  • SIGNING_KEY_ID a kívánt kulcspár azonosítójával (ezt az azonosítót azcloudhsm_application.cfg a fájl későbbi részében is használják)

Állítson be SIGNING_KEY_ID egy véletlenszerű értéket ebben a példában:

SIGNING_KEY_ID=$(tr -dc 'a-z' </dev/urandom | head -c 10)

Linux:

sudo ./azcloudhsm_util singlecmd loginHSM -u CU -s $PKCS11_S -p $PKCS11_P genRSAKeyPair -m 2048 -e 65537 -l $SIGNING_KEY_ID -id $SIGNING_KEY_ID

Windows:

.\azcloudhsm_util.exe singlecmd loginHSM -u CU -s %PKCS11_S% -p %PKCS11_P% genRSAKeyPair -m 2048 -e 65537 -l %SIGNING_KEY_ID% -id %SIGNING_KEY_ID%

Fontos

Győződjön meg arról, hogy minden HSM-csomópont sikeres lesz.

chsmVMAdmin@AdminVM:/opt/azurecloudhsm/bin$ sudo ./azcloudhsm_util singlecmd loginHSM -u CU -s cu1 -p user1234 genRSAKeyPair -m 2048 -e 65537 -l signkeyid -id signkeyid
Version info, Client Version: <version>, SDK API Version: <version>, SDK Package Version: <version>

Cfm3Initialize() returned app id : 01000000

    session_handle 1000000

    Current FIPS mode is: 00000000

Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS

Cluster Status:
Node id 1 status: 0x00000000 : HSM Return: SUCCESS
Node id 2 status: 0x00000000 : HSM Return: SUCCESS
Node id 3 status: 0x00000000 : HSM Return: SUCCESS
Command: genRSAKeyPair -m 2048 -e 65537 -L signkeyid -id signkeyid

Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

Cfm3GenerateKeyPair:    public key handle: 262151    private key handle: 262152

Cluster Status:
Node id 1 status: 0x00000000 : HSM Return: SUCCESS
Node id 2 status: 0x00000000 : HSM Return: SUCCESS
Node id 3 status: 0x00000000 : HSM Return: SUCCESS

Konfigurációs fájlok frissítése

Alkalmazáskonfiguráció frissítése

Frissítenie kell a következő paramétereket a azcloudhsm_application.cfg fájlban.

CERTSTORAGE_URL: Ez a mező az ügyfél Blob Storage-fiókján belüli tároló URL-címére hivatkozik, és a tanúsítványadatok tárolására szolgál. (pl. https://chsmstorage.blob.core.windows.net/certificates)

CERTSTORAGE_SIGNING_KEYID: Ez a mező a kulcspárhoz rendelt azonosítóra vonatkozik, amely a tárolóba történő olvasási és írási műveletek (aláírás és ellenőrzés) során végzett integritás-ellenőrzések végrehajtására szolgál.

UAMI_CLIENT_ID: Ez a mező a felhasználó által hozzárendelt felügyelt identitás ügyfélazonosítójára vonatkozik, amelyet az ügyfél Blob Storage fiókjában történő hitelesítéshez használnak. Ha üres marad, a hitelesítés alapértelmezés szerint a rendszer által hozzárendelt felügyelt identitást használja.

Megjegyzés:

Ezek a paraméterek csak akkor érvényesek, ha tanúsítványműveleteket futtat a PKCS#11-ben. A kulcsműveletek esetében nem szükséges.

DAEMON_ID=1  
SOCKET_TYPE=UNIXSOCKET  
PORT=1111  
USER_KEK_HANDLE=262150  
DEFAULT_WRAP_WITH_TRUSTED=1  
CERTSTORAGE_URL=https://chsmstorage.blob.core.windows.net/certificates  
CERTSTORAGE_SIGNING_KEYID=hjgrwvvofe  
UAMI_CLIENT_ID=25e659cc-6570-4f3b-9617-adfbc84b2565  

PKCS#11 konfiguráció ellenőrzése

A PKCS#11 konfiguráció mintaalapú érvényesítéséhez tekintse meg a PKCS#11 integrációs útmutatót.

chsmVMAdmin@AdminVM:/opt/azurecloudhsm$ sudo ./cust_p11_app -s cu1 -p user1234 -l /opt/azurecloudhsm/lib64/libazcloudhsm_pkcs11.so
[INFO] Azure Cloud HSM – Loading PKCS#11 library.
[INFO] Azure Cloud HSM – C_GetFunctionList
[INFO] Azure Cloud HSM – Preparing PIN with given username and password.
[INFO] Azure Cloud HSM – C_Initialize
[INFO] Azure Cloud HSM – C_GetInfo
[INFO] Azure Cloud HSM – Retrieve access token, C_GetTokenInfo
[INFO] Azure Cloud HSM – Start session with specified token, C_OpenSession
[INFO] Azure Cloud HSM – Login with PIN, C_Login
Add Your PKCS#11 Code Here

Következő lépések