コード署名の概要
コード署名は、機密性の高いアプリケーション構成データとスクリプトを使用する前の検証に使用できるため、セキュリティの強化に役立ちます。
コード署名は、データの信頼性と整合性を確認するために後でチェックされるデータのデジタル署名を作成します。コード署名は、ServiceNow Vault のコンポーネントとしてライセンスされるモジュールです。
|
コード署名は、実行されている操作の背後にある意図を宣言し、リソースまたはレコードを、意図した目的で使用できるかどうかを検証します。コード署名を容易にするために、Key Management Framework (KMF) は、デジタル署名のためにデジタル証明書と業界標準の非対称暗号化を使用します。 プラットフォームとインフラストラクチャ側で内部的にコード署名を使用します。コード署名は、特定のテーブルのコンテンツまたは特定のメタデータテーブル内のレコードのサブセットに署名する方法を提供します。 |
コード署名では、信頼できるインスタンスと本番インスタンスの間で安全な 信頼のサークル (COT) を使用して、承認された安全な信頼できるインスタンスのみがコード署名機能にアクセスできるようにします。
ユースケース
コード署名は、MID サーバー および 統合ハブ を使用する操作に使用できます。認証とは、コード署名を使用して、MID Server 操作および Integration Hub 操作で使用される ECC キューレコードのデジタル署名を作成することです。
たとえば、実行時に ECC キューレコードを作成するために によって ServiceNow 書き込まれたスクリプトインクルードは、「ベースシステムのコンテンツ」として署名されます。検証も署名もされていないバックグラウンドスクリプトやその他の作成元から ECC キューに挿入されるのではなく、「インスタンスによって ServiceNow 適切に発行された」ものとして署名されます。
統合ハブ は、コード署名を使用して、プラットフォームで生成された動的コンテンツに署名し、アプリケーションデータの重要な部分を検証できます。
タイムスタンプにより、証明書の有効期限が切れる前にレコードが署名されている限り、証明書の有効期限が切れても署名済みレコードが期限切れにならないようになります。証明書の有効期間の周りに 4 時間の猶予期間があり、サーバー間の時間差によって証明書が意図的に無効にならないようにします。
コード署名の検証とジョブ
有効な構成を持つすべてのメタデータテーブルは、コード署名メタデータプラグイン (com.glide.code_signing) を使用してビルド時に署名されます。テーブルに署名することを選択した場合、セキュリティ管理者ロールを持つ管理者ユーザーは、コード署名暗号化ジョブにアクセスできます。
- 更新セットに署名する。
- レコードに一括署名する。
- 添付ファイルに一括署名する。
- 更新セットに署名する。
- このジョブでは、更新セット内の署名構成に一致するレコードに署名します。このジョブでは、すべての新しい署名レコードと検証証明書も更新セットに追加します。
図 : 1. 更新セットの KMF 署名レコード - レコードに一括署名する
-
このジョブでは、特定のメタデータテーブルに適用される署名構成に一致するすべてのレコードに署名します。
- 添付ファイルに一括署名する
- このジョブでは、指定された署名構成に一致するテーブルに添付されているすべての添付ファイルレコードに署名します。
図 : 2. レコードに一括署名する暗号化ジョブ