暗号テキストフィールドの取得スキーム
1. シナリオ要件
通常の暗号化モードでは、コンテンツ全体が全体が暗号化されているため、暗号文にはあいまいクエリの機能がありません。一部のフィールドにはファジー クエリ要件があることを考慮して、SDK は高度な暗号化モードを提供でき、暗号化された暗号文は引き続きファジー クエリ機能をサポートできます。ここでは、ISV がソリューションを決定する際の選択に役立つように、このモデルを簡単に紹介します。
通常の暗号化では、データベース内の暗号化されたデータを取得するときに全文一致を使用する必要があります。たとえば、名前「Zhang Dati」は通常の方法で暗号化され、「DQ21aTz/oe9qT2Xje1tTcddQ」になります。データベースにクエリを実行するときに、「Zhang Dati」に関するレコードを取得したい場合、対応するフィルタリング条件は、暗号化された名前は ""DQ21aTz/" oe9qT2Xje1tTcddQ" レコードとして保存されます。ただし、名前に "大铁" が含まれる人のレコードを取得したい場合、当初はデータベースのファジー クエリ (SQL のようなステートメントなど) を使用して取得できました。
現在、当社の暗号化製品は、このニーズを最大限に満たそうとしています。ファジー クエリを許可し、ISV も許可する暗号化モードがあります。
ただし、この方法を使用するには一定のコストがかかります:
• ファジー クエリ暗号化方式をサポートし、 暗号文の出力が比較的長い;
• サポートされるファジー クエリ 句の長さは、次の値より大きくなければなりません。または 4 英語 / 数字、または 2 中国語文字 ## に等しい#. 短すぎるクエリはサポートされていません (セキュリティ上の理由);
• 返された結果リストには 個の冗長な結果が含まれる可能性があるため、フィルタリング ロジックを追加する必要があります: 最初にレコードを復号化してからフィルタリングします;
本製品では、このフィールドの暗号化モードをフィールドごとに個別に設定できます。 アプリケーションのシナリオに応じて、各フィールドの暗号化スキームを確認してください。 あなたのビジネスに基づいて慎重に検討して選択してください。暗号化が開始されると、変更のコストが高くなります。 #2.1通常の方法: 1) は、次の場合にのみ適用されます。携帯電話番号 以下のフィールド: SQL ステートメントでは、これらは (key = "value") の形式で where 句に出現するか、where 句には存在しません。 #2)カウンター電話番号フィールド: の where 句に出現する最初の 3 桁 (「%上位 3 桁」のようなキー) のあいまいクエリSQL ステートメント。 (注: つまり、携帯電話番号の最初の 3 桁のあいまいクエリです) 2.2 あいまいクエリ方法をサポートします: 1)SQL ステートメントの where 句に出現する全文任意の文字列の一部 (「%partial%」などのキー) をあいまい検索します。 (携帯電話番号以外のフィールドにのみ適用されます:) 2)携帯電話番号フィールドのみ: SQL ステートメントの where 句に表示されます (キー例: "%最後の 4 桁" の下 4 桁のあいまいクエリ)。 (注: 携帯電話番号の最後の 4 桁を使用してレコードをクエリします。4 桁未満のあいまいクエリはサポートされていません) アプリケーションのシナリオに応じて、各フィールドの暗号化スキームを確認してください。 注: お客様のビジネスに基づいて慎重に検討し、選択してください。 。暗号化が開始されると、変更のコストが高くなります。 各フィールドに使用する暗号化スキームによっては、暗号化の長さが異なる場合があります。それに応じて RDS の長さを変更します: シナリオ 1、2) #ファジー クエリ ( シナリオ 3) #(その他のシナリオ) シナリオ 5) ##~CKoqAl2hWzh54uBFv9Suug==~1~ nick/ 受信者名 / taabaoTEST #~CKoqAl2hWzh54uBFv9Suug==~ weroiHKLphWWioZ32nkndkWEfjhwiensdfwWKHrw~1~ ######################################################## 通常の方法 電話 $138$SuR h6AtlSj8Z59W2W9EQ==$1$ ##ファジー クエリをサポート方法 さまざまなシナリオでのコード変更計画: コード開発計画に表示されます。 #2. プランの紹介
##正確なクエリ(#ニックネーム/受信者名 varchar(32 文字長*4)varchar(32 文字長*8) 通常 varchar(32 文字長*4)##varchar (32文字数*8) 電話 シナリオ 4 ファジー クエリ ( 暗号文の例: varchar(16 (数値長-8) (24)) varchar(20 (文字長*4)) シナリオ 通常の方法 フィールド クリアテキストnick/ 受信者名 / normal ファジークエリメソッドをサポート normal##13834566786 電話 ##13834566786##$SuR h6AtlSj8Z59W2W9EQ= =$Zut6yIQxS3DclSj/Z5YdwH9EQ2x$1$ FAQ このドキュメントに関する FAQ はありません