暗号化
暗号化を使用している箇所と、まだ使用していない箇所。
暗号化は、検証における複数の異なる箇所で保護を提供します。通信、画像、シークレット、バックアップ、パスワードです。「暗号化されています」と一度だけ述べてすべてが対象だとご想像いただくのではなく、それぞれを正直に一つずつ記載します。
転送中
エッジでは TLS を使用し、台帳データベースでも TLS を必須としています。
ShieldID へのすべてのリクエストは、アプリケーションに到達する前に暗号化されます。
- 公開エッジはすべての接続で TLS を終端し、HSTS と厳格に設定したセキュリティヘッダーを適用します。そのため、リクエストはその背後にあるあらゆるものに到達する前に暗号化されます。
- プライマリの台帳データベースは、受け付けるすべての接続で TLS を必須としています。平文の接続は、設定で推奨しないという程度ではなく、完全に拒否されます。
- アプリケーションは、最初に提示された証明書をそのまま信頼するのではなく、固定された認証局に照らしてデータベースの証明書を検証し、ホスト名も確認します。
保存時
身分証明書の画像と生年月日は暗号化されています。それ以外で、まだ暗号化されていないものについても具体的にお伝えします。
「保存時に暗号化されています」という表現は、プラットフォーム全体について一言で語られることがよくあります。ここでは、現時点で実際に何が対象なのかをお伝えします。
- 身分証明書の画像と自撮り写真
- 保存されている間は AES-256-GCM で暗号化され、その後、自動削除によって削除されます。
- 生年月日
- 検証記録のどこに保持される場合でも、平文ではなく必ず暗号化して保存されます。
- シークレット(API キー、データベースの認証情報、署名鍵)
- アプリケーションの設定やソースコードではなく、専用のシークレットボールトで保持されます。
- データベースの残りの部分と一般的なストレージボリューム
- 現時点では、ディスクやデータベースのレベルでは暗号化されていません。全体が対象であるかのようにほのめかすのではなく、率直にお伝えします。
シークレット
単一のボールトでトークンによるアクセス制御を行い、ローテーションも記録されます。
アプリケーションの認証情報が、複数の設定ファイルに分散して置かれることはありません。
一元管理
API キー、データベースの認証情報、Webhook のシークレットは、専用のシークレット管理システムで保持され、認証済みでトークンによるアクセス制御が施された API を通じてのみ読み書きされます。
ローテーションは監査されます
専用のローテーションプロセスが、認証情報のすべての変更と拒否されたすべての試行を、改ざん検知が可能なログに記録します。このログには値そのものではなく、値のフィンガープリントのみが保存されます。
コードや設定には一切含まれません
シークレットは起動時にボールトから読み込まれ、ソースにコミットされることも、デプロイとともに配布される環境ファイルに残されることもありません。
バックアップ
メモリから出る前に暗号化され、本番環境に触れずに実行できる復元ドリルも用意しています。
バックアップの対象は、アプリケーション、その設定、そしてデータベースです。
- ボールトに保持された鍵を使用して AES-256 で暗号化されます。その鍵が利用できない場合、バックアップスクリプトは黙って代替処理に切り替えることなく、暗号化されていないファイルの書き込みを拒否します。
- 文書化されたスクリプトによる復元手順があり、一時的な保存先へのリハーサルモードにも対応しているため、本番データに触れずに手順をテストできます。
- 現時点では、バックアップは同じ施設内に保管されています。地理的に冗長化されたバックアップや別のディザスタリカバリサイトは提供しておらず、この点はここだけでなく、レジデンシーやコンプライアンスのページでもお伝えしています。
パスワード、セッション、API キー
認証に使われる情報は、誰かが読み取って再利用できる形では保存されません。
3種類の異なるシークレットに、3通りの異なる扱いを行いますが、いずれも不可逆です。
- パスワード
- ハッシュ化され、平文で保存されることも記録されることもありません。
- セッショントークン
- ブラウザのセッション Cookie に含まれるトークンは、ランダムな 32 バイトの値で、HttpOnly Cookie として設定されます。
- APIキー
- SHA-256ハッシュとして保存されます。平文で保持されるのは短いプレフィックスのみで、一覧内でキーを識別できる一方、完全な値が再び取り出されることはありません。
このページで主張していないこと
DDoS 対策、WAF、地理的冗長化はありません。
現時点では、コンテンツデリバリーネットワークやウェブアプリケーションファイアウォールの背後にはなく、保存するすべてのバイトについてディスクレベルやデータベースレベルの暗号化を行っているとも主張していません。基本的なレート制限によってサインインなど負荷の高いエンドポイントを保護していますが、まだ堅牢で永続的な不正利用対策レイヤーではありません。貴社独自の審査で特定の対策が重要な場合は、一般的な表現で網羅されていると想定せず、直接お問い合わせください。
ご質問
暗号化に関する率直なQ&A。
記録に関する詳細
保持期間とデータ所在地がどのように連携しているかをご覧ください。
暗号化は、複数ある対策のひとつです。何がいつ消去されるのか、そしてデータが存在する間どこに置かれるのかをご確認ください。