web-dev-qa-db-ja.com

圧縮とセキュリティのための患者ハッシュ

サーバーで生成されたハッシュを使用して、セキュリティを最大化しながら患者の状態を簡潔にカプセル化するための最前線のアプローチはありますか?

たとえば、特定のコンポーネントの処方を明らかにすることなく禁忌をチェックするために使用できるハッシュで現在のmedプロファイルを表すシステム?

6
Stephen

私が知っているものはありません。そして、これは..解決策(質問によって暗示される)が良い解決策/提案ではないと思うからだと思います。

ハッシュ関数が衝突する可能性があるため(確率が非常に低い場合でも、影響が大きいので、なぜそのようなリスクを追加する必要があるのですか?)、ハッシュの前に別の問題があるためです。まだ完全には解決されていません(つまり、セマンティック相互運用性)。medプロファイルでは、たとえば、まったく同じ医療概念をいくつかの異なる方法で見つけて定式化できます(つまり、異なるテキストシーケンスは同じことを意味する場合があります)モノ/医療コンセプト)なので、そのような場合、同じコンセプト(!)を参照して異なるハッシュを取得します。それをどのように管理しますか?これらすべての異なるハッシュを同じ医療概念にマッピングすることができますか? (アレルギーの種類など)。 2つのハッシュが実際には2つの異なることを意味しているとどう思いますか?私たちの言語で考えられるすべての異なる方法を予測することはできないと思います。同じ概念を表現でき、結果のハッシュ値は意味論的に厳しく流れます。

Medプロファイルで使用するのに最適な用語と統制語彙、またはコード化された情報を使用することを選択した場合でも、それらは時間の経過とともに継続的なメンテナンスと改訂が必要になります(たとえば、エイリアス、新しいコンセプトの入力、非推奨のコンセプトの出力など)。 。)ハッシュ値によって隠された概念に基づいて、「意思決定支援システム」の有効性と信頼性に深刻な影響を与えるすべてのもの。したがって、医療の概念をハッシュの背後に隠し、ハッシュの値のみに基づいて決定を下すのは良い考えではないと思います。

その上、私が私の医者に私の医療記録へのアクセスを許可するならば、私は彼が理解できるという点で私のアレルギーが何であるかを彼に非常にはっきりと見てもらいたいです。マッピングされるはずのハッシュ値と、背後にある可能性のある実際の概念を実際に検証する方法がまったくない医療コード化された情報を見ている医師を想像できますか?良い考えではありません。圧縮したいですか?圧縮アルゴリズムを使用します。セキュリティが必要ですか?双方向機能と認証インフラストラクチャなどによるユーザー暗号化(ハッシュは「一方向」機能であることに注意してください)。医療の概念を隠したり保存したりするのではなく、今日使用しているもの(インデックス作成、アイテムのより効率的な取得、デジタル署名など)にハッシュを使用し続けてください。私はこのように革新しません。しかし、私は間違っているかもしれません。これに対するより良い答えはありますか?

10
MMattoli

この場合、ハッシュはあまり実用的ではありません。優れた暗号的に安全なハッシュ(例: SHA-2 )には、妥当な確率で実際に発生する可能性のある衝突がないため、衝突が原因ではありません。問題は、ハッシュが一方向であるため、条件を推測するために、すべての可能な組み合わせをハッシュして、yourハッシュと比較する必要があることです。

より興味深いアプローチは、 準同型暗号 を使用することです。準同型暗号を使用すると、暗号化されたデータに対していくつかのクラスの計算を行うことができます。平均の計算など。 Microsoft Researchは、 この論文 byで非常に有望なアプローチを開発しました。

3

あなたが提案する種類のセットアップには根本的な欠陥があります。それは、情報に基づく推測に対して本質的に脆弱であるということです。ターゲットを絞ったリクエストを送信することで、考えられる条件の数を非常に迅速に絞り込むことができます。これは、医療診断自体の背後にあるプロセスとまったく同じです。

暗号化されたデータベースの操作に関する活発な研究分野があり、データを復号化せずにデータの一部の情報を取得できます。ただし、部分的な情報は非常に明らかになる可能性があります。たとえば、暗号化された数値xがあり、「xは1000より大きいですか?」などの質問をすることができる場合です。次に、 二分検索 は、数十のリクエスト内で高精度でxを明らかにします。

これは、ここで想定されているセキュリティモデル(医師が潜在的な攻撃者である)がかなり絶望的な設定であることを意味します。 (また、それは比較的実用的な意味がありません。医師は、仕事を適切に行うために、患者の病歴をすべて知る必要があります。)

distinctモデルとは 準同型暗号化 のことです:暗号化されたデータに対して物事を計算する機能で、暗号化された結果。これは、計算作業のほとんどを強力であるが信頼できないシステムにオフロードするのに役立ちます。しかし、decryptedの結果を取得できる人は誰でも、構造上、保存されているすべてのデータを復号化することができます。したがって、これは同じモデルではありません。

2
Thomas Pornin