AS2 セキュリティに関する既知の問題
このトピックでは、BizTalk Server AS2 ソリューションのセキュリティに関する既知の問題について説明します。
AS2 デコーダーによって、ホストまたは送信先パーティで証明書が構成されていることが検証されない
AS2 デコーダーは、メッセージのプライベート証明書が証明書ストアで構成されていれば、そのメッセージを解読します。 ただし、AS2 デコーダーは、暗号化解除証明書がホストで構成されている証明書と同じであるかどうかは検証しません。 受信したメッセージは、複数の証明書を使用して暗号化できます。
AS2 メッセージをワイヤ形式で保存すると、セキュリティ上の問題が発生する
証明書が使用されない場合、AS2 メッセージをワイヤ形式で否認不可 (NRR) データベースに格納することはお勧めしません。 これを行うと、セキュリティ上の問題が発生する可能性があります。
NRR データベースに保存されるメッセージまたは MDN に署名を付ける必要がある
受信の否認不可を確実に行うには、該当するメッセージの認証と整合性を確立する必要があります。 メッセージのデジタル署名を使用して認証と整合性を確立することをお勧めします。 この結果、メッセージまたは MDN を否認不可データベースに保存するように AS2 パーティのプロパティを構成した場合は、保存するメッセージまたは MDN に署名を付けるように AS2 プロパティを構成する必要があります。
証明書が有効でない場合、BizTalk Server がワイヤ形式で保存されたメッセージを解読できない
症状:
BizTalk Server が、ワイヤ形式で否認不可データベースに保存された受信 AS2 メッセージを解読できません。
考えられる原因
メッセージの解読に必要な証明書の有効期限が切れているか、証明書が失効しています。 これは、AS2 メッセージが否認不可データベースに保存されてから一定期間が経過している場合に発生する傾向があります。 この現象が発生した場合、メッセージの有効な証明書に直接アクセスする権限がない可能性があります。
解決策
メッセージを解読するための有効な証明書を取得してください。
署名が計算された後は、署名付きの AS2 メッセージの内部エンベロープを変更することはできません。
AS2 メッセージに署名が付けられるとき、内部エンベロープのヘッダーおよびペイロードに基づいて署名が計算されます。 署名の計算後に内部エンベロープを変更すると、署名が破損します。 境界ヘッダー 、または境界ヘッダーの外部にあるものは変更できますが、境界ヘッダー内の何も変更しないでください。
インプロセス ホスト インスタンスと分離ホスト インスタンスに同じログオンを使用して、個人証明書ストアが認識されるようにする
個人証明書ストアは、ログオン資格情報がホスト インスタンスに関連付けられているユーザーのユーザー プロファイルが読み込まれた場合にのみ、メッセージ処理に使用できます。 個人証明書ストアは、証明書 (ユーザー独自の秘密キー) の署名と解読に使用されます。 ユーザー プロファイルは、インプロセス ホスト インスタンスでは既定で読み込まれますが、分離ホスト インスタンスでは既定で読み込まれません。 分離ホストのユーザー プロファイルは、アプリケーションで読み込むことができます。 インプロセス ホスト インスタンスと分離ホスト インスタンスに同じログオンを使用することで、この問題を回避することもできます。
アプリケーションによってユーザー プロファイルを読み込む代わりに、プロファイルを読み込むための空のサービスを作成することもできます。 空のサービスを作成する方法については、「 方法: Windows サービスを作成する」を参照してください。 サービスを作成したら、[コンピューターの管理] ダイアログ ボックスを開き、サービスの [プロパティ] ダイアログ ボックスを開き、[ ログオン ] タブをクリックし、[ このアカウント] を選択し、分離されたホスト インスタンスに使用されるログオン名を入力して、[OK] をクリック します。 これにより、このログオン ユーザーのユーザー プロファイルを読み込むサービスを手動で開始できます。
証明書のキーの使用法属性が、証明書の使用法に一致する必要がある
AS2 トランスポートに使用する証明書には、その使用目的に必要な属性が設定されている必要があります。 署名および署名の検証を行うには、証明書の [キーの使用法] 属性が [デジタル署名] である必要があります。 暗号化および解読を行うには、証明書の [キーの使用法] 属性が [データの暗号化] または [キーの暗号化] である必要があります。 証明書をダブルクリックし、[証明書] ダイアログ ボックスの [詳細] タブをクリックして [キーの使用法] ボックスを参照することで、[キーの使用法] 属性を確認できます。
AS2-To プロパティがパーティに対して設定されていない場合、送信 MDN に対して証明書解決の一覧が検証される
送出 MDN の既定のアグリーメントでは、証明書解決の一覧の検証が実行されます。 この検証を実行する必要がない場合は、受信側パーティを解決できるようにするため、およびパーティのプロパティを特定できるようにするために、正しい AS2-To パーティ プロパティが設定されていることを確認します。 これにより、証明書解決の一覧の検証を要求する既定のアグリーメントが使用されなくなります。 また、AS2 パーティ プロパティの [全般] ページで、"証明書失効リストを確認する" プロパティを無効にする必要もあります。