データベースレコードまたは特定のフィールドの特定のユーザーの証明書またはAD資格などの現在の状態に何らかの形でデジタル署名する方法はありますか?特定のフィールドやフィールドや行の正確性と有効性がユーザー名とパスワードの組み合わせや証明書によって署名されている場合は、何らかの記録レベルの承認を実装する必要があります。データは常にレコードに表示される必要があります。必要なのは、誰がいつデータを承認したかを伝えることだけです。私は現在の状態が署名されたことを確認するためだけに、状態の変更(ロックダウン)を防ぐ必要はありません。SQL Serverデータベースレコードまたは挿入/更新操作にデジタル署名する
8
A
答えて
8
あなたが非対称キーを使用して署名を作成するためにSIGNBYASYMKEY-functionを使用することができます。
DECLARE @id = 2; -- The primary key of the row we need to sign
DECLARE @keyid = AsymKey_Id('KeyID_for_the_User');
DECLARE @keypw = N'pGFD4bb925DGvbd2439587y';
-- Password the user entered to sign the values
DECLARE @clear_text_data nvarchar(max);
set @clear_text_data = function_that_returns_a_concatenation_of_the_columns(@id)
UPDATE table
SET signature = SignByAsymKey(@keyid, @clear_text_data, @keypw)
WHERE id = @id;
6
[情報開示を:私はコサインのために働く]
あなたはどのように標準のデジタル署名をしたいですか?あなたは X.509 signature、本当のものが欲しいですか?その場合:
- シリアライズが(平ら)データフィールドバッファに文書化、特異的かつ再現可能な方法です。
- バッファに署名するために署名ライブラリを使用します。
- 結果のデジタル署名は、「分離デジタル署名」である必要があります。切り離された署名の推奨標準は、データなしの.p7b file type - PKCS#7デジタル署名構造です。
- デタッチされたデジタル署名を追加フィールドとしてdbmsレコードに格納します。
-
:あなたはまた、それが署名されたため、データが変更されなかったこと、および署名者の身元が信頼されていることを人(またはマシン)を保証するために
署名検証にサービスを提供する必要があります
- 上記と同じアルゴリズムを使用して、データをバッファにシリアル化します。
- 署名ライブラリの検証方法を呼び出します。
- 結果をユーザーに提示します。
システムの監査機能を向上させるには、シリアライズされたデータと外部シグネチャをダウンロードする必要があります。これにより、第三者のソフトウェアを使用して検証ソフトウェアの効果を再現する監査チェックが有効になります。
理想的には、データのシリアル化されたバージョンは、平文データと一致することを理想的にチェックする必要があります。たとえば、バイナリ形式ではなくjson、csv、またはxml utf-8形式にシリアル化します。任意のビットの束に署名することができますが、プレーンテキスト形式は監査する方がはるかに簡単です。
あなたはまた、署名ライブラリはファイルシステム上のファイルに署名者の秘密鍵を格納すると、全体的なことを意味していることを忘れないでください、適切に署名者の秘密鍵を保護するためのセキュリティ問題のすべてを扱うCoSign SAPI APIs.
をチェックアウトしたい場合アプリケーションはではなく、で署名の証明を提供しています。署名の実際の証明を提供する唯一の方法は、SSCD(Secure Signature Creation Device)を使用することです。簡単な方法は、CoSign Central signing applianceなどを使用することです。主な選択肢はスマートカードであり、クライアント/サーバ/ウェブブラウザ環境での実装は非常に困難です。
関連する問題
- 1. Apache NiFiフローによるデータベースレコードの挿入または更新
- 2. スマートカードに秘密鍵が挿入されたデジタル署名
- 3. SQL Server 2005でupsert(更新または挿入)する方法
- 4. デジタル署名認証は、クライアントPCに挿入
- 5. 挿入と更新時にSQL Serverトリガー
- 6. SQL Serverの事前挿入/更新トリガー
- 7. 挿入コストとSQL Serverの更新
- 8. SQL Serverのバルク挿入と更新
- 9. デジタル署名
- 10. SQLで挿入または更新
- 11. 別のプログラムからSQL Serverに更新を聞くまたは挿入する
- 12. docxファイルにデジタル署名の行を挿入しようとしています
- 13. xml文書にデジタル署名するためのデジタル証明書
- 14. Apache PDFデジタル署名
- 15. デジタル署名jarファイル
- 16. Javaのデジタル署名
- 17. 作成したpdfにデジタル署名を追加するTCPDF
- 18. SQL Serverで問題を更新または挿入しますか?
- 19. デジタル署名に '。' (ドット)文字?
- 20. デジタル署名のあるXMLに署名する
- 21. ウェブフォームに署名する - デジタル署名のオプション
- 22. c# - ファイルにデジタル署名する
- 23. WPFアプリケーションにデジタル署名する方法
- 24. 挿入操作/更新操作は、arangodbでの読み取り操作をロックします
- 25. Java:Windowsクライアントとは異なるデジタル署名
- 26. C言語のデジタル署名
- 27. Silverlight 4/5デジタル署名XML
- 28. ブラウザでpdfをデジタル署名
- 29. POIデジタル署名の確認
- 30. - 無効なデジタル署名
細心の注意を払っていただきありがとうございます。残念ながら、私はこのケースでは第三者の資産を使用することは許されていないので、SQL Serverのみのアプローチのために@ Twinklesの回答を受け入れることになります。とにかくありがとう。 –