すべてを暗号化することでユーザー データを保護する Web サービスについて、私はいつも読んでいます。データベースが盗まれた場合、すべてが安全です (ただし、通常の暗号化がすべて行われていることを前提としています)。
Sqliteの上にDataMapper ORMを使用して、小さなSinatraアプリケーションで遊んでいます(実際に起動する予定はありません。教育目的のためです)。私は基本的なユーザー認証 (ハッシュとソルト... 要するに、すべての通常のもの) を実装しましたが、それに満足しています。
実際には、アプリケーションのコアには、体重やその他の身体測定値など、ユーザーに関する個人情報が必要です (これは間違いなく個人データや機密データと見なされる可能性があり、人々は公開したくない場合があります)。どうすればそのデータを安全に保存できるのでしょうか? アプリケーションでは、適切なユーザーのみがすべてにアクセスします (これについてはかなりの初心者であり、ほとんどすべてを手作業でコーディングしていますが、多くのセキュリティ バグがあると確信しています..しかし、私が言ったように、私はそうではありません)本当にそれで何かをするつもりです)。
ユーザーパスワードで暗号化し、認証成功後に復号化しようと考えたのですが、パスワードを忘れてしまったら?パスワードが変更された場合はどうなりますか? 私は(ここSOで)これらの理由から、このようにしないのが最善であることを読みました..しかし、どうすればそれを行うことができますか?