4D v14.3ENCRYPT BLOB |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
ENCRYPT BLOB
ENCRYPT BLOB
ENCRYPT BLOBコマンドは、toEncrypt BLOBの内容を送信者の秘密鍵sendPrivKeyを使用して暗号化します。オプションとして、同時に受信者の公開鍵recipPubKeyも使用できます。これらの鍵は、GENERATE ENCRYPTION KEYPAIR(セキュアプロトコルテーマ)を使用して生成します。 Note: このコマンドは、SSLプロトコルアルゴリズムおよび暗号化機能を利用します。したがって、このコマンドを使用するためには、4D Webサーバ通信にSSLを使用しない場合でも、SSLプロトコルに必要となる各コンポーネントがマシン上に正しくインストールされているか確認してください。このプロトコルについての詳細は、の節を参照してください。
鍵を納めるBLOBは、PKCS内部フォーマットです。クロスプラットフォームであるこの形式では、電子メールやテキストファイルにコピー&ペーストすることにより簡単に鍵のやり取りや処理を行うことができます。 コマンドを実行すると、BLOB toEncryptには暗号化されたデータが納められます。このデータの解読は、引数として渡された送信者の公開鍵を使用した上でDECRYPT BLOBコマンドによってのみ行えます。さらに、情報の暗号化の際にオプションである受信者の公開鍵を使用すると、解読には受信者の秘密鍵も必要になります。 “Alice”と“Bob”の間で行われるメッセージ交換のための、公開及び秘密鍵を使用した暗号化の原則 Note: BLOB内容の変更(意図的かどうかに関わらず)を防ぐため、暗号にはチェックサム機能が含まれています。したがって、暗号化されたBLOBは変更しないでください。変更を行うと、解読できなくなるおそれがあります。 データの暗号化を行うと、アプリケーションの実行速度が低下し、2つの鍵を使用した場合は特に遅くなります。しかし、以下の最適化に関するヒントを考慮してみることをお勧めします:
一つのキーを使用する `Method GENERATE_KEYS_TXT 2) 会社側は秘密鍵を保存し、各子会社へは公開鍵を含むドキュメントのコピーを送信します。最高のセキュリティを維持するため、鍵は子会社に手渡すディスクにコピーしてください。 3) 次に、機密情報(例えば、テキストフィールドに保存したもの)をBLOBにコピーします。この情報は、秘密鍵を使用して暗号化されます: `Method ENCRYPT_INFO 4) 更新用ファイルは、インターネットのような非暗号化チャネルで子会社に送ることができます。万一、第三者がこの暗号化されたファイルを入手した場合でも、公開鍵なしではファイルを解読できません。 5) 各子会社では、公開鍵を使用してドキュメントの解読が可能です: `Method DECRYPT_INFO
ある会社が情報のやり取りにインターネットを利用したいものとします。各子会社は機密情報を受信し、また本社へ情報の送信も行います。したがって要件は次の2 つです: 1) 本社および各子会社では、それぞれ独自の鍵のペアを生成します(GENERATE_KEYS_TXTGENERATE_KEYS_TXTメソッドを使用)。 2) 秘密鍵は双方で秘密にしておきます。各子会社は、自分の公開鍵を本社へ送り、本社もまた独自の公開鍵を送信します。公開鍵ではメッセージを解読するのに十分ではないため、この鍵の転送に暗号化のチャネルを使用する必要はありません。 3) 送信する情報を暗号化するため、子会社や本社ではENCRYPT_INFO_2メソッドを実行します。このメソッドは、送信側の秘密鍵と受信側の公開鍵を使用して情報の暗号化を行います:
`Method ENCRYPT_INFO_2 4) 暗号化したファイルが、インターネット経由で受信側に送信されます。万が一第三者がこのファイルを入手した場合、たとえ公開鍵を持っていたとしても、受信側の秘密鍵も必要となるため、メッセージを解読できません。 5) 受信側はそれぞれ、独自の秘密鍵と送信側の公開鍵を使用してドキュメントの解読が可能です: `Method DECRYPT_INFO_2 |
プロパティ
プロダクト: 4D
履歴
初出: 4D v6.7 参照
DECRYPT BLOB タグ Encryption, Public Key, Private key, PKCS, Optimization ARTICLE USAGE
ランゲージリファレンス ( 4D v11 SQL Release 6) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||