API認証でデータベースを信頼してはいけない理由:SQLインジェクションによる全テナント乗っ取りの実例
Why We Don't Trust the Database with Authentication

Sturdy Statisticsのエンジニアリングチームは、API認証においてデータベースを唯一の真実の源として扱うことの危険性を指摘します。SQLインジェクションの脆弱性が1つあるだけで、攻撃者は自分の正当なAPIキーのハッシュを被害者のものに上書きでき、テナント境界を完全に突破できます。同社はこの問題に対し、HMAC-SHA512とサーバー側ペッパーを用いた暗号学的バインディングを導入し、キーを組織IDやローテーション版数に結び付けます。さらに、データベーストリガーによるロールバック防止、4層のテナント検証、ゼロダウンタイムのキーローテーションを実装し、多層防御を実現しています。
データベースの状態だけが認証を許可できるようであってはならない。