VoltKeepの走行データはどのように保護されていますか?
走行データは X25519公開鍵暗号 で暗号化してサーバーに保存します。復号に必要な秘密鍵はユーザーのデバイスにのみ存在 し、運営側でも内容を読み取れません。車両識別番号(VIN)は SHA-256でハッシュ化 して保存し個人特定を防ぎます。Tesla認証トークンは Apple Keychain に格納され、サーバーには保管されません。
サーバー保存時の暗号化(X25519 + AES-GCM)
VoltKeepが収集する走行データ(走行ルート、速度、加速度、バッテリー残量など)は、サーバーに送信される前にユーザー端末で暗号化されます。利用しているのは X25519公開鍵暗号 + AES-GCM のハイブリッド方式です。
- 初回セットアップ時、ユーザー端末で X25519 鍵ペアを生成
- 公開鍵だけ をサーバーに送信。秘密鍵は端末(Apple Keychain)に保管
- サーバー側でデータを保存する際は、その公開鍵で暗号化
- 閲覧時はユーザー端末で秘密鍵を使って復号
この方式により、運営側のサーバー管理者であっても保存されたデータを復号することはできません。仮にデータベースが流出しても、暗号化された状態のままで利用できません。
VINのハッシュ化
テスラの車両識別番号(VIN)はそのまま保存せず、SHA-256でハッシュ化 した値で管理しています。
これにより、データベース内のレコードは特定車両との紐付けを直接持ちません。VINからレコードを引くにはハッシュ化を経由する必要があり、外部からVINリストを使った突合も困難です。
Tesla認証トークンの取り扱い
Tesla公式OAuthで取得した アクセストークン・リフレッシュトークン は、ユーザーのiPhoneの Apple Keychain に保存されます。
- VoltKeepサーバーには トークンを保存していません
- Teslaへの認証はユーザー端末から直接行います
- パスワード自体はそもそも預かりません(OAuthのため)
これは、TeslaMate のように サーバー側にアクセストークンを保管する設計 とは大きく異なります。アプリをアンインストールすればKeychainからトークンも消え、Tesla側でセッションを切ることもできます。
データ削除リクエスト
退会時はアプリ内の「アカウント削除」から、サーバー側の暗号化済みデータ・公開鍵・VINハッシュをすべて削除できます。退会リクエストは即時実行されます。