PostgreSQLの暗号化機能「pgp_sym_encrypt」と「pgp_sym_decrypt」の仕組みをHSM(ハードウェアセキュリティモジュール)に置き換えたい。既存のアルゴリズムを HSM に置き換えるために実装できますか。
2 に答える
クライアントがこれを見つけるためにお金を払っている場合は、スタック オーバーフローに尋ねるだけでなく、調査を行ってそれに取り組むとよいでしょう。
pgp_sym_
関数は にありますcontrib/pgcrypto/pgp-pgsql.c
。これらは のラッパーでdecrypt_internal
あり、ファイルで公開pgp.h
および実装されている関数の周りにありpgp*.c
ます。
pgcrypto には独自の OpenPGP 実装があることがわかります。つまり、GnuPG をライブラリとして使用していないため、ハードウェア セキュリティ モジュールに対する GnuPG のサポートを直接使用することはできません。
HSM のサポートが必要な場合は、pgcrypto
拡張機能で自分で実装する必要があります。libgcrypt
および関数を使用GPGME
して支援したり、OpenSSL の機能を使用したりできる場合があります。使用している HSM によって異なります。必要なことのほとんどを実行するクライアント ライブラリにすぎない可能性があります。
必要な機能を備えたクライアント ライブラリが HSM にある場合は、それを PostgreSQL ユーザー定義関数でラップし、新しい contrib モジュールとして SQL に公開する方が簡単な場合があります。
いずれにせよ、多くの読書と多くの調査を行う必要があります。C プログラミング言語を理解し、快適に作業できる必要があります。PostgreSQL のユーザー定義関数がどのように機能するかを理解する必要があります。それを管理できない場合は、その作業を下請け業者に委託し、問題の HSM のサンプルへのアクセスを許可し、彼らに時間の対価を支払う必要があります。(いいえ、私は仕事のために釣りをしているわけではありません。すでに釣りをしすぎています)。