メイン コンテンツをスキップする

暗号化証明書

暗号化キーは証明書を使用することで適切に管理できます。エンジン サービスを実行しているユーザーについては、証明書を証明書ストアに保存する必要があります。[User accounts] (ユーザー アカウント) をご確認ください。

暗号化証明書は、暗号化キーを囲むシェルとして機能します。証明書の有効期限が切れていてもキーを取得できるため、有効期限が切れた暗号化証明書を更新する必要はありません。

暗号化キー

暗号化ソリューションで使用されるキーの種類は 2 つあります。

  • データの暗号化キー
  • キーの暗号化キー

データの暗号化キー

データ暗号化キー (DEK) は、データを AES-256 で暗号化するために自動生成されるキーです。暗号化するオブジェクトごとに新しいキーが生成されます。

キーの暗号化キー

キーの暗号化キー (KEK) は、データの暗号化キーのセキュアな非対称暗号化に使用する秘密鍵と公開鍵のペアです。公開鍵はデータの暗号化に使用され、秘密鍵は公開鍵で暗号化されたデータの復号に使用されます。

注: 対応しているのは、RSA アルゴリズムを使用したキーのみです。

キーの暗号化に使用されるキーは、Qlik Management Console (QMC) の [Service cluster] (サービス クラスター) リソース内の [Data encryption] (データの暗号化) セクションで指定されています。サービス クラスター をご確認ください。

指定されたキーは、Microsoft 社の Cryptography Next Generation (CNG) キー格納プロバイダーに保存されています。また、Windows の証明書ストアに保存されている証明書に含まれています。

データの暗号化の使用

これは、Qlik Sense においてデータの暗号化機能を使用する際の一般的なワークフローです。

  1. 暗号化の証明書を作成:Windows PowerShell を使用した暗号化証明書の作成
  2. 暗号化を有効にし、キーを指定:暗号化の有効化とキーの指定
  3. マルチノードを展開、暗号化の証明書をエクスポート:Windows PowerShell を使用した暗号化証明書のエクスポート
  4. マルチノードを展開、ノードすべてに暗号化の証明書をインポート:Windows PowerShell を使用した暗号化証明書のインポート
警告: 証明書を必ずバックアップしてください。証明書を紛失すると、暗号化されたアプリを開けなくなる可能性があります。必要な間、証明書のバックアップを安全に保管するのはお客様の責任です。

QlikView と共有する、QVD ファイルの暗号化

QlikViewQlik Sense Enterprise on Windows の両方で使用する QVD ファイルがある場合は、両製品で同じサムプリントが定義されていることを確認します。

暗号化の有効化とキーの指定

Qlik associative engine は、QMC の暗号化キーのサムプリントを定義することで構成されます。証明書の [Thumbprint] (サムプリント) フィールドの値をコピーして、QMC の [Encryption key] (暗号化キー) フィールドに貼り付けます。

注: エンジン サービスを実行しているユーザーについては、証明書を証明書ストアに保存する必要があります。
  1. [Certificate Manager] (証明書の管理) ツール (certmgr.msc) を開きます。
  2. 証明書を確認します。
  3. 証明書を右クリックして [Open] (開く) を選択します。
  4. [Details] (詳細) タブで [Thumbprint] (サムプリント) フィールドの値をコピーします。

  5. QMC で、[サービス クラスター] > [サムプリント] の順に移動します。

    データ暗号化のオプションの一方、あるいは両方を有効化: [QVF 暗号化] と [QVD 暗号化]。

    サムプリントの値を [暗号化キー] 項目に貼り付けます。

    サービス クラスター

Qlik Sense Enterprise on Windows は、スペースなしの 40 桁の 16 進文字列形式のSecure Hash Algorithm 1 (SHA-1) サムプリントを受け入れます。

Example:  

証明書のサムプリントに 56 38 88 bb 6a ea 55 eb 0d 33 d9 d8 b9 09 e0 d2 ef 26 ff bd のようにスペースが含まれている場合は、次のように [暗号化キー] 項目に入力します:

563888bb6aea55eb0d33d9d8b909e0d2ef26ffbd
注: 組織にキー ローテーション ポリシーがある場合は、キーが変更されたときに サムプリントの定義を更新する必要があります。

すべての QVF および QVD が新しい鍵で保存されるまで、古い鍵を含む証明書をサーバーに保管してください。

暗号化証明書の管理

証明書を管理するためのツールは数多くありますが、このドキュメントでは、Windows PowerShell と Microsoft 管理コンソールを使用した証明書の作成と配布に焦点を当てます。

他のツールを使用する場合は、次の要件を満たす必要があります。

  • RSA キーが使用されている
  • CNG キー格納プロバイダーにキーが保存されている
  • エンジン サービスを実行しているユーザーの場合、証明書が証明書ストアに保存されている

Windows PowerShell を使用した暗号化証明書の作成

認証局 (CA) によって発行された証明書を使用する必要はありません。独自の自己署名証明書を発行して署名することもできます。作成する暗号化証明書は、エンジン サービスを実行しているユーザーの証明書ストアに保存する必要があります。

新しい暗号化証明書を作成するには、New-SelfSignedCertificate コマンドレットを使用して自己署名証明書を作成します。

Syntax: Windows Server 2016 以降

PS C:\Users\johndoe.ACME> New-SelfSignedCertificate -Subject <Certifcate name> -KeyAlgorithm RSA -KeyLength <Key length, e.g.4096> -Provider "Microsoft Software Key Storage Provider" -KeyExportPolicy ExportableEncrypted -CertStoreLocation "cert:\CurrentUser\My"

Syntax: Windows Server 2012 R2

PS C:\Users\johndoe.ACME> New-SelfSignedCertificate -DnsName <Certifcate name> -CertStoreLocation "cert:\CurrentUser\My"

New-SelfSignedCertificate コマンドレット パラメーター Windows Server 2016 以降

PowerShell for Windows Server 2016 以降を使用して証明書を作成する際には、少なくとも次のパラメータを定義する必要があります。

注: 完全なドキュメントについては、Microsoft New-SelfSignedCertificate のドキュメントを参照してください。

-Subject

新しい証明書のサブジェクトに表示される文字列を指定します。このコマンドレットは、等号を含まない値の前に CN= を付けます。複数のサブジェクト相対識別名 (RDN としても知られる) の場合は、各サブジェクト相対識別名をコンマ (,) で区切ります。相対識別名の値にコンマが含まれる場合は、各サブジェクト相対識別名をセミコロン (;) で区切ります。

-Subject <証明書名>

-KeyAlgorithm

新しい証明書に関連付けられた非対称キーを作成するアルゴリズムの名前を指定します。RSA でなければなりません。

-KeyAlgorithm RSA

-KeyLength

新しい証明書に関連付けられたキーの長さをビット単位で指定します。

-KeyLength <キーの長さ、たとえば 4096>

-Provider

このコマンドレットが証明書の作成に使用する KSP または CSP の名前を指定します。Microsoft Software Key Storage Provider である必要があります。

-Provider "Microsoft Software Key Storage Provider"

-KeyExportPolicy

証明書に関連付けられている秘密キーのエクスポートを管理するポリシーを指定します。このパラメータに指定できる値は次のとおりです:

  • エクスポート可能
  • ExportableEncrypted (既定)
  • NonExportable

-KeyExportPolicy ExportableEncrypted

-CertStoreLocation

新しい証明書を格納する証明書ストアを指定します。現在のパスが Cert:\CurrentUser または Cert:\CurrentUser\My の場合、既定のストアは Cert:\CurrentUser\My です。それ以外の場合は、このパラメータに Cert:\CurrentUser\My を指定する必要があります。

-CertStoreLocation "cert:\CurrentUser\My"

New-SelfSignedCertificate コマンドレット パラメーター Windows Server 2012 R2

PowerShell for Windows Server 2012 R2 を使用して証明書を作成する際には、少なくとも次のパラメータを定義する必要があります。

注: 完全なドキュメントについては、Microsoft New-SelfSignedCertificate のドキュメントを参照してください。

-DnsName

証明書の件名代替名の拡張に 1 つ以上の文字列を入力するように指定します。最初の DNS 名も、件名と発行者名として保存されます。

-DnsName <証明書名>

-CertStoreLocation

新しい証明書を格納する証明書ストアを指定します。現在のパスが Cert:\CurrentUser または Cert:\CurrentUser\My の場合、既定のストアは Cert:\CurrentUser\My です。それ以外の場合は、このパラメータに Cert:\CurrentUser\My を指定する必要があります。

-CertStoreLocation "cert:\CurrentUser\My"

New-SelfSignedCertificate の既定 Windows Server 2012 R2

次の既定は、Windows Server 2012 R2 の New-SelfSignedCertificate コマンドレットに適用されます。

  • キーのアルゴリズム: RSA
  • キーの長さ: 2048
  • 拡張キーの使用 (EKU): クライアント認証とサーバー認証
  • キーの使用: デジタル署名、キーの暗号化 (a0)
  • 有効期間: 1 年

例: PowerShell for Windows Server 2016 以降を使用したデータ暗号化の証明書の作成

この例では、test というユーザーが、サブジェクトが MyTestCert で、キーの長さが 4096 ビットの、自己署名付きのエクスポート可能な暗号化証明書を作成しています。証明書は Cert:\CurrentUser\My に保存されます。

Microsoft PowerShell で次のコマンドを入力します。

PS C:\Users\test> New-SelfSignedCertificate -Subject MyTestCert -KeyAlgorithm RSA -KeyLength 4096 -Provider "Microsoft Software Key Storage Provider" -KeyExportPolicy ExportableEncrypted -CertStoreLocation "cert:\CurrentUser\My"

既定では、[NotAfter] パラメータが定義されていない場合、証明書は 1 年後に失効します。この例では、証明書は 3 年後に失効します:

PS C:\Users\test> New-SelfSignedCertificate -Subject MyTestCert -KeyAlgorithm RSA -KeyLength 4096 -Provider "Microsoft Software Key Storage Provider" -KeyExportPolicy ExportableEncrypted -CertStoreLocation "cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(3)

証明書が作成されると、Microsoft PowerShell に次のように表示されます:

PSParentPath: Microsoft.PowerShell.Security\Certificate::CurrentUser\My Thumbprint Subject ---------- ------- 563888BB6AEA55EB0D33D9D8B909E0D2EF26FFBD CN=MyTestCert

Windows PowerShell を使用した暗号化証明書のエクスポート

暗号化証明書をエクスポートするには、Export-PfxCertificate コマンドレットを使用します。

Syntax:  

PS C:\Users\johndoe.ACME> Export-PfxCertificate -cert cert:\currentuser\My\<certificate thumbprint> -FilePath <FileName>.pfx -Password <Password or variable>

Export-PfxCertificate コマンドレット パラメータ

証明書をエクスポートする際には、少なくとも次のパラメータを定義する必要があります。

注: 完全なドキュメントについては、Microsoft Export-PfxCertificate のドキュメントを参照してください。

-cert

エクスポートする証明書へのパスを指定します。

-cert cert:\currentuser\My\<証明書のサムプリント>

-FilePath

エクスポートする PFX ファイルのパスを指定します。

-FilePath <ファイル名>.pfx

-Password

エクスポートした PFX ファイルを保護するために使用するパスワードを指定します。パスワードは安全な文字列の形式にする必要があります。このパラメータを指定しないと、エラーが表示されます。

-Password <パスワードまたは変数>

例: データ暗号化証明書のエクスポート

この例では、test という名前のユーザーが、以前に作成した暗号化証明書を PFX ファイルにエクスポートします。

  1. まず、 テキスト形式のパスワード文字列からなる安全な文字列を作成し、$mypwd 変数に格納します。このために、ConvertTo-SecureString コマンドレットを使用しています。

    Microsoft PowerShell で次のコマンドを入力します。

    PS C:\Users\test> $mypwd = ConvertTo-SecureString -String "MyPassword" -Force -AsPlainText
  2. 次に、Export-PfxCertificate コマンドレットを使用して、サムプリント 563888bb6aea55eb0d33d9d8b909e0d2ef26ffbd で暗号化証明書の実際のエクスポートを続行します。前の手順で作成されたパスワード変数は、エクスポートされた PFX ファイルを保護するために呼び出されます。Microsoft PowerShell で次のコマンドを入力します。

    PS C:\Users\test> Export-PfxCertificate -cert cert:\currentuser\My\563888bb6aea55eb0d33d9d8b909e0d2ef26ffbd -Filepath MyTestCert.pfx -Password $mypwd

証明書がエクスポートされると、Microsoft PowerShell に次のように表示されます:

Directory: C:\Users\test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 11/20/2019 11:21 4294 MyTestCert.pfx

Microsoft 管理コンソールを使用した暗号化証明書のバックアップ

証明書のバックアップは常に作成しておく必要があります。証明書がサーバーから失われた場合、またはハードディスクに障害が発生した場合は、暗号化されたアプリを開くことができない場合があります。必要な間、証明書のバックアップを安全に保持するのは、ユーザーの責任です。

証明書のバックアップ時のエクスポートと同じ手順を使用できます。Windows PowerShell を使用した暗号化証明書のエクスポート を参照してください。

暗号化証明書のバックアップには、Microsoft 管理コンソールを使用する方法もあります。次の例は、Microsoft 管理コンソールを使用して、SSL 証明書を秘密キーでエクスポートまたはバックアップする方法を示しています。

  1. SSL 証明書がインストールされている Windows サーバーで、Microsoft 管理コンソールを開きます。Windows の検索メニューに「mmc」と入力して開きます。
  2. コンソールウィンドウで、[ファイル] > [スナップインの追加と削除] をクリックします。
  3. [スナップインの追加と削除] ウィンドウで、左側の [利用可能なスナップイン] ペインから [証明書] を選択し、[追加 >] をクリックします。
  4. ダイアログで、[ユーザー アカウント] を選択し、[次へ] をクリックします。
  5. [スナップインの追加と削除] ウィンドウで、 [OK] をクリックします。
  6. コンソール ウィンドウの左側の [コンソール ルート] ペインで、[証明書 (現在のユーザー)] を展開し、エクスポートまたはバックアップする証明書を見つけます。

  7. 中央のウィンドウで、エクスポートまたはバックアップする証明書を右クリックし、 [すべてのタスク] > [エクスポート] をクリックします。
  8. 証明書のエクスポート ウィザードの [証明書のエクスポート ウィザードへようこそ] ページで、[次へ] をクリックします。
  9. [秘密キーのエクスポート] ページで、[はい、秘密キーをエクスポートします] を選択し、[次へ] をクリックします。
  10. [ファイル形式のエクスポート] ページで、[個人情報交換 - PKCS#12 (.PFX)] を選択し、[可能であれば証明書パスにすべての証明書を含める] をオンにします。

    警告: [エクスポートが成功した場合は秘密キーを削除する] を選択しないでください。

    [次へ] をクリックします。

  11. [セキュリティ] ページで、[パスワード] ボックスをチェックし、パスワードを作成して確認します。

    注: このパスワードは、証明書を秘密キーでインポートまたは復元するときに必要になります。

    次に、 [グループ名またはユーザー名] ボックスをオンにします。該当する場合は、秘密キーを使用して証明書へのアクセスを割り当てる Active Directory ユーザーまたはグループ アカウントを選択します。次に [追加] をクリックします。

    [次へ] をクリックします。

  12. [エクスポートするファイル] ページで、 [参照] をクリックしてバックアップ ファイルの保存場所とファイル名を指定し、 [保存] をクリックします。

    [エクスポートするファイル] ページに戻り、 [次へ] をクリックします。

  13. [証明書のエクスポート ウィザードの完了] ページで、設定が正しいことを確認し、 [完了] をクリックします。
  14. エクスポートが成功し、秘密キーを持つ SSL 証明書が選択した場所に保存されたことを伝えるメッセージが表示されます。

Windows PowerShell を使用した暗号化証明書のインポート

他のコンピューターなどに暗号化証明書をインポートするには、Import-PfxCertificate コマンドレットを使用します。

注: インポートする暗号化証明書は、エンジン サービスを実行しているユーザーの証明書ストアに保存する必要があります。

Syntax:  

PS C:\Users\johndoe.ACME> Import-PfxCertificate -CertStoreLocation cert:\currentuser\My -FilePath <FileName>.pfx [-Exportable] -Password $mypwd

Import-PfxCertificate コマンドレット パラメータ

証明書をインポートする際には、少なくとも次のパラメータを定義する必要があります。

注: 完全なドキュメントについては、Microsoft Import-PfxCertificate のドキュメントを参照してください。

-CertStoreLocation

証明書のインポート先となるストアのパスを指定します。このパラメータを指定しない場合、現在のパスが保存先ストアとして使用されます。

-CertStoreLocation cert:\currentuser\My

-FilePath

PFX ファイルのパスを指定します。

-FilePath <ファイル名>.pfx

-Exportable

オプション。

インポートした秘密キーをエクスポートできるかどうかを指定します。このパラメータを指定しない場合、秘密キーはエクスポートできません。

-Exportable

-Password

インポートされた PFX ファイルのパスワードを安全な文字列の形式で指定します。

-Password $mypwd

例: データ暗号化証明書のインポート

この例では、test2 という名前のユーザーが、以前に PFX ファイルにエクスポートされたサムプリント 563888BB6AEA55EB0D33D9D8B909E0D2EF26FFBD を使用して暗号化証明書をインポートします。

  1. まず、 テキスト形式のパスワード文字列からなる安全な文字列を作成し、$mypwd 変数に格納します。このために、ConvertTo-SecureString コマンドレットを使用しています。

    Microsoft PowerShell で次のコマンドを入力します。

    PS C:\Users\test2>  $mypwd = ConvertTo-SecureString -String "MyPassword" -Force -AsPlainText
  2. 次に、Import-PfxCertificate コマンドレットを使用して、PFX ファイルの実際のインポートに進みます。前の手順で作成されたパスワード変数は、PFX ファイルにアクセスするために呼び出されます。Microsoft PowerShell で次のコマンドを入力します。

    PS C:\Users\test2>  Import-PfxCertificate -CertStoreLocation cert:\currentuser\My -FilePath MyTestCert.pfx -Exportable -Password $mypwd

証明書がエクスポートされると、Microsoft PowerShell に次のように表示されます:

PSParentPath: Microsoft.PowerShell.Security\Certificate::CurrentUser\My Thumbprint Subject ---------- ------- 563888BB6AEA55EB0D33D9D8B909E0D2EF26FFBD CN=MyTestCert

Microsoft 管理コンソールを使用した暗号化証明書の復元

証明書を復元するときにインポートと同じ手順を使用できます。Windows PowerShell を使用した暗号化証明書のインポート を参照してください。

Microsoft 管理コンソールを使用した暗号化証明書のバックアップ の説明に従って Microsoft 管理コンソールを使用して証明書をバックアップした場合は、次の例に従って SSL 証明書を復元します。

注: 復元する暗号化証明書は、エンジン サービスを実行しているユーザーの証明書ストアに保存する必要があります。
  1. SSL 証明書がインストールされている Windows サーバーで、Microsoft 管理コンソールを開きます。Windows の検索メニューに「mmc」と入力して開きます。
  2. コンソールウィンドウで、[ファイル] > [スナップインの追加と削除] をクリックします。
  3. [スナップインの追加と削除] ウィンドウで、左側の [利用可能なスナップイン] ペインから [証明書] を選択し、[追加 >] をクリックします。
  4. ダイアログで、[ユーザー アカウント] を選択し、[次へ] をクリックします。
  5. [スナップインの追加と削除] ウィンドウで、 [OK] をクリックします。
  6. コンソール ウィンドウの左側の [コンソール ルート] ペインで、[証明書 (現在のユーザー)] を展開し、[個人] フォルダーを右クリックして、[すべてのタスク] > [インポート] を選択します。

  7. [証明書のインポート ウィザードの開始] ウィンドウで、[次へ] をクリックします。
  8. [インポートするファイル] ページで、[参照] をクリックしてインポートする PFX ファイルを見つけて選択し、[次へ] をクリックします。

    注: 既定では X.509 証明書 (* .cert、*.crt) ファイル タイプのみを検索するように設定されているため、ファイル エクスプローラー ウィンドウのファイル タイプ ドロップダウンですべてのファイル (*.*) を選択してください。
  9. [秘密キーの保護] ページで、SSL 証明書をエクスポートまたはバックアップしたときに作成したパスワードを入力します。

    次に、[このキーをエクスポート可能としてマークする] チェックボックスをオンにします。これは、必要なときに SSL 証明書をバックアップまたはエクスポートできることを意味します。

    次に、 [すべての拡張プロパティを含める] チェックボックスもオンにします。

    [次へ] をクリックします。

  10. [証明書ストア] ページで、 [すべての証明書を次のストアに配置する] を選択し、 [参照] をクリックします。

    [証明書ストアの選択] ウィンドウで、[個人] を選択し、[OK] をクリックします。

    [証明書ストア] ページに戻り、 [次へ] をクリックします。

  11. [証明書のインポートウィザードの完了] ページですべての設定が正しいことを確認し、[完了] をクリックします。
  12. インポートが正常に完了し、秘密キーを持つ SSL 証明書が個人ストア (フォルダ) に保存されたことを示すメッセージが表示されます。