Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

保護モデルに署名する

"デジタル署名" は、デジタル メッセージまたはファイルの作成元に関する情報を検証する方法です。保護モデルにデジタル署名して、モデルのユーザーは次を検証できます。

  • モデルがモデルに署名したパブリッシャーにより作成されたものであること。

  • 署名後にモデルが変更されていないこと。

デジタル署名の検証を使用して、受信者は、保護モデルを開くまたは実行する前に、不明なパブリッシャーまたは改ざんされたモデルなどの問題を検出できます。

以下の当事者がデジタル署名ワークフローに関係します。

  • 保護モデルの作成者

  • 保護モデルを使用する受信者

  • 作成者と受信者が信頼する外部の認証機関 (CA)

証明書の検証を使用して保護モデルを交換するには、次のワークフローを使用します。

  1. 認証機関は、公開キーがモデルの作成者に属していることを証明するデジタル証明書を提供します。認証機関は、モデル受信者に対応する公開証明書も提供します。

  2. 作成者は、証明書の公開キーに対応する秘密キーを使用して保護モデルに署名します。作成者は署名された保護モデルを受信者に送信します。

  3. 受信者は保護モデルの署名を検証します。検証では、モデルの署名とモデルに添付されている証明書および CA の証明書を比較します。次の場合、検証は失敗します。

    • 署名後に保護モデルが変更された。

    • 保護モデルに署名が行われていない。

    • 保護モデルが期限切れの証明書で署名されている。

    • 保護モデルが作成者により発行された証明書で自己署名されている。

    • 保護モデルが不明または無効な証明書で署名されている。

    • CA の証明書がシステムにないまたは無効である。

モデルの作成者は、公開キーと秘密キーのペアを生成し、CA から公開キーの証明書を取得します。次に、秘密キーと証明書を含む PKCS #12 ファイル (.pfx ファイルまたは .p12 ファイル) を作成します。PKCS #12 ファイルは秘密キーを含むため、通常はパスワードで保護されます。次のワークフローに従って、保護モデルに署名してから受信者に送信します。

保護モデルへの署名

保護モデルに署名するには、自分とモデルのユーザーの両方が信頼する認証機関 (CA) から自分に発行された証明書を使用します。自己署名された証明書または内部 CA により発行された証明書を使用して保護モデルに署名する場合、署名の検証を成功させるには受信者のシステムが証明書を信頼しなければなりません。自己署名した証明書を使用した保護モデルへの署名は推奨されません。

  1. ユーザーまたはユーザーが所属する組織が秘密キーと証明書から作成した PKCS #12 ファイルを見つけます。ファイルには .pfx または .p12 の拡張子が付いていなければなりません。

  2. 署名するモデルを保護します。モデルの保護バージョンの拡張子は .slxp です。

  3. PKCS #12 ファイルのパスワードを指定します。

    Simulink.ModelReference.ProtectedModel.setPasswordForCertificate('certificate_file.pfx',...
    'password');
  4. PKCS #12 ファイルを使用してモデルに署名します。

    Simulink.ProtectedModel.sign('protected_model.slxp','certificate_file.pfx');

ユーザーの保護モデルは PKCS #12 ファイルで署名されていません。署名した後に保護モデルを変更しないでください。ユーザーまたは別の関係者が署名した保護モデルを変更すると、署名の検証は失敗し、保護モデルは使用できません。

受信者は、関数 Simulink.ProtectedModel.verifySignature を使用するか、Simulink® 基本設定 開く前に保護されたモデルのデジタル署名を検証 を選択して保護モデルを検証できます。詳細については、サードパーティからの保護モデルの参照を参照してください。

参考

関連するトピック