web-dev-qa-db-ja.com

健康情報を保存するための暗号化の必要性

私は医療サービスプロバイダー向けのプラットフォームの開発を管理しているため、登録された患者に関する健康情報が格納されています。患者はシステムに自分自身を登録し、プロファイルを維持します。このシステムは、HIPAA要件に準拠している必要があります。

仕様では、トランジットまたはエンドツーエンドの暗号化に非対称+対称暗号化を規定しています。

いくつか質問があります。

  1. TLS v1.3を介して転送中のデータの非対称+対称暗号化を追加することはできますか?
  2. PHIを何らかの方法で匿名で保存して、分析して明示的な暗号化をオプトアウトできるようにすることはできますか?そのため、そのデータの処理/制御ロジックをクライアントアプリに含める必要があります。
  3. 永続的に割り当てられ、変更されない非対称キーをユーザーに割り当てることはできますか?そうでない場合、どれだけ安全に保管できますか?これらの変更キーは、すでに暗号化されたデータでどのように機能しますか?
1
Umair Ahmed

これはかなり広い範囲の質問です。

1 TLS v1.3を介して転送中のデータの非対称+対称暗号化を追加することはできますか?

あなたが書いたことによると、転送中のデータには少なくともエンドツーエンドの暗号化かハイブリッド暗号化のどちらかが必要です。ただし、エンドツーエンドの暗号化を使用することを計画している場合でも、TLS 1.2以降を使用していないかどうかは問われます。エンドツーエンドは、クライアントでの安全なキー管理の問題を提起します。長期保存キーのコピーをクライアントに配布するリスクを本当に負いませんか?

2 PHIを何らかの方法で匿名で保存して、分析して明示的な暗号化をオプトアウトできるようにできますか?そのため、そのデータの処理/制御ロジックをクライアントアプリに含める必要があります。

準同型暗号化を見てください。これは、暗号化されたデータに対していくつかのプロセスを実行して、クリアテキストのデータを処理した場合と同じ結果を返すことができる方法です。分析ロジックで秘密鍵を処理する必要がなくなる場合があります。

3永続的に割り当てられ、変更されない非対称キーをユーザーに割り当てることができますか?そうでない場合、どれだけ安全に保管できますか?これらの変更キーは、すでに暗号化されたデータでどのように機能しますか?

通常は、クライアント証明書にクライアントの非対称キーを発行し、組織のキーローテーションポリシーと要件を満たす期間内に証明書が期限切れになるように設定します。それは1年、60日、または何でもかまいません。ただし、これらの非対称キーを使用して長期保存用のデータを暗号化することはありません。それらは相互TLS認証にのみ使用し、接続中にセッションキーを確立します。 TLS暗号化ソケットを介してデータを送信します。次に、サーバーで、サーバーの秘密鍵(クライアントがアクセスすることのない鍵)でデータを暗号化します。

ほとんどの場合、サービスは独自の秘密鍵の管理を担当します。一部のシステムでは、暗号化された各データ要素に、データを読み取る際に適切な復号化キーを見つけるために使用できるキー識別子をタグ付けします。そうすることで、サーバーのシークレット暗号化キーを定期的にローテーションして、新しいキーが毎月または毎年使用され、古いデータをすべて解読できるようになります。これにより、毎年すべてのデータを復号化および再暗号化することに伴う大きなリスクを回避できます。 (これと同じアプローチは、クライアント側の暗号化ライブラリと組み合わせて、商用の鍵管理システムを使用して実行することもできます。)

もちろん、これらはすべて可能な提案の一部にすぎません。これらは一部の組織で使用されていますが、組織またはデータに適している場合とそうでない場合があります。コンプライアンスチーム、リスク管理チーム、セキュリティ監査人、または組織がそのような決定を承認するために使用する人に確認してください。

1
John Deters