すべてのプロダクト
Search
ドキュメントセンター

Key Management Service:GVSM (SM) による SSL オフロード構成

最終更新日:Jun 13, 2025

このトピックでは、ビジネスが Linux システムにデプロイされている場合に、GVSM を使用して SSL オフロードを実装する方法について説明します。

ステップ 1: 準備

  1. 以下のソフトウェア リソースを準備します。

    リソース タイプ

    説明

    入手方法

    HSM インスタンス管理ツール

    HSM インスタンスの構成に使用されます。

    1. クラウド ハードウェア セキュリティ モジュール (HSM) 管理コンソール にログインし、ソフトウェア パッケージをダウンロードします。image

    2. ソフトウェア パッケージの \Alibaba Cloud HSM-GVSM ソフトウェア パッケージ XXXX\管理ツールとユーザー マニュアル ディレクトリで、HSM インスタンス管理ツールとユーザー マニュアルを入手します。

    TASSL エンジン

    GVSM の呼び出しをサポートする TASSL エンジン ファイル パッケージ。中国の暗号アルゴリズムと国際的なアルゴリズムの両方をサポートしています。

    Alibaba Cloud テクニカルサポートにお問い合わせください。

    Nginx プロキシ

    TASSL エンジンで使用される Nginx サービス パッケージ。

    Alibaba Cloud テクニカルサポートにお問い合わせください。

  2. 以下のクラウド プロダクト リソースをデプロイします。

    リソース名

    仕様

    説明

    ECS1

    64 ビット Windows 10 システム

    GVSM の管理と構成に使用され、HSM インスタンスと同じ VPC にあります。購入方法については、「ECS インスタンスを作成する」をご参照ください。

    GVSM にアクセスするための管理ポートは 8020 です。

    ECS2

    64 ビット Linux システム

    ユーザーの業務システム、TASSL、および Nginx をデプロイするために使用され、HSM インスタンスと同じ VPC にあります。

    説明
    • ECS2 は GVSM サービスポート 8019 にアクセスします。

    • ECS2 の SSL ポートサービスを設定する必要があります。

    GVSM

    汎用仮想サーバー HSM (GVSM)

    SSL 証明書のオフロードに関連する暗号操作を実行するために使用されます。

ステップ 2: ECS1 で HSM インスタンス管理ツールを構成する

重要

HSM 管理ツールは、Windows オペレーティングシステム上でのみ動作します。

  1. ECS1 インスタンスにログインします。詳細については、「接続方法の概要」をご参照ください。

  2. ECS1 に HSM インスタンス管理ツールをインストールし、ローカル端末から ECS インスタンスにリモート ログインして、ECS インスタンス上で HSM インスタンス管理ツールを操作します。

    説明

    ローカル端末に HSM クライアント管理ツールをインストールし、VPN または Express Connect 回線 を介してローカル端末を HSM インスタンスが配置されている VPC ネットワークに接続することもできます。

  3. HSM インスタンスを初期化します。

    HSM を既に初期化している場合は、この手順をスキップしてください。

    • 方法 1: クラウド HSM コンソールでのワンクリック初期化

      重要

      ビジネスで UKEY が不要な場合は、ワンクリック初期化を使用できます。それ以外の場合は、初期化に HSM インスタンス管理ツールを使用します。

      1. クラウド ハードウェア セキュリティ モジュール コンソールの セキュリティ監査 ページに移動します。上部のナビゲーションバーで、リージョンを選択します。

      2. ターゲット HSM を見つけ、[アクション] 列の imageアクション をクリックします。

      3. Initialize Instance ダイアログボックスで、Ok をクリックします。

        初期化には約 1 ~ 5 分かかります。しばらくお待ちください。初期化が完了すると、ステータスは 初期化 と表示されます。

    • 方法 2: HSM インスタンス管理ツールを使用して HSM インスタンスを初期化する。

      具体的な操作については、ソフトウェア パッケージに含まれているユーザー マニュアルの「初期初期化」の章を参照してください。

ステップ 3: ECS2 に TASSL をデプロイする

  1. ECS2 インスタンスにログインします。詳細については、「接続方法の概要」をご参照ください。

  2. 取得した TASSL エンジン ファイル パッケージ nginx_tassl_tasshsmXX.XX.XX を ECS2 にアップロードして展開します。たとえば、/home/tass ディレクトリに展開します。

    説明

    ファイルパッケージには通常、Nginx サービスパッケージも含まれています。Nginx サービスパッケージも /home/tass ディレクトリに展開してください。

    tassl.tgz が /home/tass ディレクトリに展開されていない場合は、2 つの環境変数を構成する必要があります。1 つはエンジン ライブラリを見つけるため、もう 1 つはエンジン ライブラリ構成ファイル用です。次に例を示します。

    export OPENSSL_ENGINES=/home/other/tassl/lib/engines-1.1/
    export TASSL_ENGINE_CFG=/home/other/tassl/cfg/tasshsm_engine.ini
  3. TASSL エンジンがアクセスする GVSM 情報を構成します。

    変更します /home/tass/tassl/cfg/tasshsm_engine.ini ファイルを、変更することで ファイルを編集し、[HSM_IP] および [HSM_PORT] GVSM の IP アドレスとサービスポート番号へ を GVSM の IP アドレスとサービスポート番号に変更します。

    #GVSM IP アドレス
    HSM_IP      = 172.XX.XX.183 
    #8019 に固定
    HSM_PORT    = 8019          

    GVSM の IP アドレスは、コンソールの [IP アドレス] 列に表示されます。image

ステップ 4: SSL 証明書をリクエストして発行する

必要に応じて、RSA アルゴリズムまたは SM2 アルゴリズムサーバーの証明書リクエスト ファイル (CSR または P10 ファイルとも呼ばれます) を生成し、証明書を発行できます。

RSA アルゴリズム サーバー証明書 (単一証明書) のリクエストと発行

  1. CSR 証明書リクエスト ファイルを生成します。

    1. HSM インスタンス管理ツールにログインします。

      ポートはデフォルトで 8020 であり、変更する必要はありません。

    2. 新しいキーを生成します。

      1. [キー管理] タブをクリックし、[非対称キー管理] をクリックします。

      2. [非対称キー管理] ダイアログボックスで、[新しいキーの生成] をクリックします。

      3. [非対称キーの生成] ダイアログボックスで、[アルゴリズム識別子][RSA] に設定し、[キーの長さ][2048] に設定し、[指数][65537] に設定し、[キー インデックス] をカスタマイズして、[生成] をクリックします。

      4. GVSM は新しい非対称キーを生成し、公開鍵プレーンテキストと秘密鍵暗号文を表示します。

    3. 証明書リクエスト ファイルを生成します。

      • 方法 1: HSM 管理ツールを使用して生成する

        1. [非対称キー管理] ダイアログボックスで、[RSA リクエストの生成] をクリックします。

        2. [RSA の生成] ダイアログボックスで、有効な [サブジェクト] を入力し、[内部インデックスを使用するかどうか] を選択し、[キー インデックス] を入力して、[OK] をクリックします。生成RSA

        3. P10 リクエストを証明書リクエスト ファイルとしてコピーして保存します。ファイル名として S_RSA_HSM.csr を使用します。

      • 方法 2: TASSL コンパニオン スクリプトを使用して生成する

        ECS2 の /home/tass/tassl/cert/rsa ディレクトリに移動し、証明書リクエスト ファイル S_RSA_HSM.csr を生成します。

        [tass@localhost rsa]#./gen_rsa_csr_with_hsm -r S_RSA_HSM.csr -k ./S_RSA_HSM.key
        Please enter DN: /C=CN/ST=BJ/L=HaiDian/O=JNTA/OU=BSRC of TASS/CN=rsa_commoname/
        Please enter key length[1024 - 2048]:2048
        Please select digest algorithm: 1)SHA1
        	        2)SHA224
        		3)SHA256
        		4)SHA384
        		5)SHA512
        Please enter: 3
        Please enter the index number for the HSM to store the private key: 15
  2. 証明書を発行します。

    重要

    テスト段階では、自己署名証明書を使用することをお勧めします。本番環境では、CA センターまたは Alibaba Cloud 証明書サービスによって発行された証明書を使用することをお勧めします。

    この記事では、自己署名証明書を例として使用しています。Alibaba Cloud 証明書サービスによる証明書の発行に関する具体的な操作については、「証明書申請を送信する」をご参照ください。

    1. ECS2 の /home/tass/tassl/cert/rsa ディレクトリに移動します。

    2. S_RSA_HSM.crt を発行します。

      ./sign_cert.sh S_RSA_HSM.csr S_RSA_HSM.crt

SM2 アルゴリズム サーバー証明書 (デュアル証明書) のリクエストと発行

  1. CSR 証明書リクエスト ファイルを生成します。

    1. HSM インスタンス管理ツールにログインします。

      ポートはデフォルトで 8020 であり、変更する必要はありません。

    2. 署名キーと暗号キーを生成します。

      1. [キー管理] タブをクリックし、[非対称キー管理] をクリックします。

      2. [非対称キー管理] ダイアログボックスで、[新しいキーの生成] をクリックします。

      3. [非対称キーの生成] ダイアログボックスで、[アルゴリズム識別子][SM2] に設定し、[キー インデックス番号] を入力して、[生成] をクリックします。

        署名キーのインデックス番号には 15 を、暗号キーのインデックス番号には 16 を使用します。

      4. GVSM は新しい非対称キーを生成し、公開鍵プレーンテキストと秘密鍵暗号文を出力します。

    3. 署名証明書リクエスト ファイルと暗号証明書リクエスト ファイルを生成します。

      1. 方法 1: HSM インスタンス管理ツールを使用して生成する

        1. [非対称キー管理] ダイアログボックスで、[SM2/ECC リクエストの生成] をクリックします。

        2. [ECC/SM2 リクエストの生成] ダイアログボックスで、[曲線識別子][SM2] として選択し、[アルゴリズム識別子][SM3WithSM2] として選択し、[サブジェクト][キー インデックス] を入力して、[OK] をクリックします。署名証明書リクエスト ファイルを生成する場合は、キー インデックスに 15 を入力します。暗号証明書リクエスト ファイルを生成する場合は、キー インデックスに 16 を入力します。

        3. P10 リクエストを証明書ファイルとしてコピーして保存します。署名証明書リクエスト ファイル名には SS_SM2_HSM.csr を、暗号証明書リクエスト ファイル名には SE_SM2_HSM.csr を使用します。

      2. 方法 2: TASSL コンパニオン スクリプトを使用して生成する

        ECS2 の /home/tass/tassl/cert/sm2 ディレクトリに移動し、署名証明書リクエスト ファイルと暗号証明書リクエスト ファイルを生成します。署名証明書リクエスト ファイル名には SS_SM2_HSM.csr を、暗号証明書リクエスト ファイル名には SE_SM2_HSM.csr を使用します。

        #証明書リクエスト ファイル SS_SM2_HSM.csr を生成する
        [tass@localhost rsa]# ./gen_sm2_csr_with_hsm -r SS_SM2_HSM.csr
        Please enter DN: /C=CN/ST=BJ/L=HaiDian/O=Beijing JNTA Technology LTD./OU=BSRC of TASS/CN=sm2_commoname/
        Please enter the index number for the HSM to store the private key: 15
        
        #暗号証明書リクエスト ファイル SE_SM2_HSM.csr を生成する
        [tass@localhost rsa]# ./gen_sm2_csr_with_hsm -r SE_SM2_HSM.csr
        Please enter DN: /C=CN/ST=BJ/L=HaiDian/O=Beijing JNTA Technology LTD./OU=BSRC of TASS/CN=sm2_commoname/
        Please enter the index number for the HSM to store the private key: 16

  2. 証明書を発行します。

    重要

    テスト段階では、自己署名証明書を使用することをお勧めします。本番環境では、CA センターまたは Alibaba Cloud 証明書サービスによって発行された証明書を使用することをお勧めします。

    この記事では、自己署名証明書を例として使用しています。Alibaba Cloud 証明書サービスによる証明書の発行に関する具体的な操作については、「証明書申請を送信する」をご参照ください。

    1. ECS2 の /home/tass/tassl/cert/sm2 ディレクトリに移動します。

    2. 署名証明書ファイル SS_SM2_HSM.crt と暗号証明書ファイル SE_SM2_HSM.crt を発行します。

      #署名証明書ファイル SS_SM2_HSM.cr を発行する
      ./sign_cert_s.sh SS_SM2_HSM.csr SS_SM2_HSM.crt
      
      #暗号証明書ファイル SE_SM2_HSM.crt を発行する
      ./sign_cert_e.sh SE_SM2_HSM.csr SE_SM2_HSM.crt

ステップ 5: Nginx サービスをデプロイする

  1. 異なる暗号アルゴリズムを持つサーバー証明書用に Nginx サービスを構成します。

    次の表のコード例を参照して、/home/tass/nginx/conf/nginx.conf 構成ファイルの証明書セクションを編集できます。

    RSA

    user  root;
    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        # HTTPS サーバー
        server{
            listen       8020 ssl;
            server_name  localhost;
    
            #キー インデックスで tasshsm エンジンを使用する
            ssl_certificate  /home/tass/tassl/cert/rsa/S_RSA_HSM.crt;  #RSA 証明書ファイルを構成する
            ssl_certificate_key  engine:tasshsm_rsa:15; #RSA 秘密鍵を格納するインデックス番号を構成する
    
            location / {
                root   html;
                index  index.html index.htm;
            }
          
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    }

    SM2

    user  root;
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        # HTTPS サーバー
        server {
            listen       8020 ssl;
            server_name  localhost;
    
            #キー インデックスで tasshsm エンジンを使用する
            ssl_certificate   /home/tass/tassl/cert/sm2/SS_SM2_HSM.crt; #署名証明書ファイルを構成する
            ssl_certificate_key   engine:tasshsm_sm2:15; #署名秘密鍵を格納するインデックス番号を構成する
            ssl_enc_certificate   /home/tass/tassl/cert/sm2/SE_SM2_HSM.crt; #暗号証明書ファイルを構成する
            ssl_enc_certificate_key  engine:tasshsm_sm2:16; #暗号秘密鍵を格納するインデックス番号を構成する
    
            location / {
                root   html;
                index  index.html index.htm;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    
  2. 次のコマンドを実行して、Nginx プロキシを起動します。

    cd /home/tass/nginx/sbin
    ./nginx

ステップ 6: テストと検証

デプロイ後、次の方法を使用して、RSA アルゴリズムと中国暗号 SM2 アルゴリズム サーバー証明書が正常にデプロイされているかどうかを確認できます。

  • RSA アルゴリズム サーバー証明書 (単一証明書) を使用している場合は、ブラウザから申請したドメイン名 URL に直接アクセスすることで確認できます。访问域名示例

  • 中国暗号 SM2 アルゴリズム サーバー証明書 (デュアル証明書) を使用している場合は、次の操作を実行して確認する必要があります。

    1. クライアントに中国暗号アルゴリズムをサポートするブラウザ (360 セキュア ブラウザなど) をインストールし、サーバーに発行された CA 証明書をブラウザにインポートして、信頼済みとして設定します。

    2. 証明書ファイル /home/tass/tassl/cert/sm2/ca.crt の内容を ECS2 から C:\Users\Administrator\AppData\Roaming\360se6\User Data\Default\gmssl\ctl.dat ファイルにコピーします。

    3. ブラウザを再起動します。

    4. C:\Windows\System32\drivers\etc パスにある hosts ファイルを変更して、サーバー アドレスをテスト ドメイン名にポイントするようにします。

    5. ブラウザからテスト ドメイン名にアクセスします。