Adobe Readerを使用すると、ローカルでドキュメントに署名できます。ドキュメントがサーバーに転送され、サーバーで署名された場合よりも理論的に安全ですか(特にAdobeテクノロジーを使用していません)?サーバー上で行われた場合、ドキュメントが後で改ざんされた可能性があるとユーザーが異議を唱えることはできますか?サーバーにサインオンしている場合でも、法的な問題を考慮に入れることは不可能であることを技術的に間違っていることを証明する方法。
3 に答える
サーバーに向かう途中でドキュメントに何かが起こる可能性があります。接続がMitM攻撃されたり、サーバーが改ざんされたりする可能性があります。
暗号署名の一番のルールは、信頼できる環境の信頼できるマシンで、できれば接続されたマシンに到達する前に(つまり、オフラインで、オフラインメディアに転送される前に)発生する必要があるということです。
つまり、クライアントで署名する必要があり、他の場所では署名しないでください。
あなたはEUに住んでいますか?ここで状況を説明できます。署名の法的側面は、指令1999/93/ECによって規制されています。これの更新バージョンがあるため、詳細にいくつかの変更がありますが、通常、ディレクティブはサーバーベースの署名とローカルで作成された個人による署名を区別し、プロセスを単独で制御します。
ローカルプロセスを単独で制御することには、次のような多くのセキュリティ上の利点があります。
スマートカードなど、ディレクティブがセキュア署名作成デバイス(SSCD)と呼ぶものを使用する。改ざん防止デバイスを使用することは間違いなく利点と見なされますが、攻撃者がたとえばSSCDが接続されているコンピューター/ OSを制御している場合でも、悪用される可能性があります。
指令で漠然と説明されていた「あなたが見るものはあなたが署名するものである」という原則。理想的には、信頼できるデバイスにサインオンしようとしているデータを表示できる必要があります。これは、サーバー側の署名で保証することは不可能です。
キーエスクロー。サーバーが署名した場合、キーはサーバーにも保存されている可能性があります。また、クライアントのみがアクセスできるサーバー上にキーがあるソリューションを実装することは非常に困難です。サーバーを操作している当事者を信頼する必要がある場合がはるかに多くなります。
とは言うものの、TLSなどを使用してクライアントからサーバーへのトランスポートを保護し、それでも適度に安全なサービスを提供することは可能です。しかし、法律(少なくともEUでは)に関しては、「否認防止」署名、つまり個人が発行することを意図した署名の概念は、「ローカル署名」のコンテキストでのみ可能です。ここで認定されたCAは、法人に否認防止証明書を発行しません。たとえば、このような証明書は、通常はSSCDで実在の人物にのみ発行されます。
SSCDの欠点は、SSCDを利用するソフトウェアの大規模な展開を展開することが非常に難しいことです。これは、無数のハードウェアとの相互運用性の問題がまだ多く、コストがかかるためです。そして、それはあまり便利ではないという明白で単純な事実。
署名がユーザー(人間のオペレーター)によって作成された場合、それはキーが存在するサーバーへの信頼の問題です。
通常、「署名はユーザーに代わってユーザーが作成する」とは、ユーザーが署名に使用されるキーを所有していることを意味します。この場合、秘密鍵をサーバーに置くことはほとんど意味がありません。また、このスキームが必要な場合は、署名が所有者によって作成されていないか、署名を作成した個人に代わって作成されていないかのいずれかです。
ただし、サーバー上のデータに技術的に署名することは可能であり、適切に実装されたアーキテクチャでは、ユーザーは署名されたコピーを取り戻し、署名されたドキュメントを手動で検証して、これが自分(またはサーバー上のサーバー)であることを確認できる必要があります。に代わって)署名することを目的としています。
もう1つの質問は、サーバーが(意図的にまたはセキュリティ違反のために)ユーザーの秘密鍵を使用して、要求されたドキュメント以外のものに署名しないかどうかです。正確に1つの操作(何かの署名)用に特別に作成されたサーバーがない限り、これを保証するのは非常に困難です。この場合、一般的なWindows / Linuxではなく、特殊なハードウェアデバイス(SafeNetが提供するものなど)を扱う可能性があります。 /...サーバーオペレーティングシステム。
SecureBlackbox製品には分散暗号化モジュールがあります。これはあなたが説明したものと同様のスキームを実装しますが、通常は役割が逆になります。ユーザーはキーを所有し、それを使用してサーバー上にあり、サーバーに転送されないドキュメントにローカルで署名します。クライアント。そのモジュールでは、TLSを使用してチャネルのセキュリティを確保し、署名はユーザーのコンピューターで実行されるため、秘密鍵は厳密に秘密のままです。ただし、説明するスキームは、そのモジュールを使用して実装することもできます。