両端末が一時的な X25519 鍵ペアを生成。QR は公開鍵側を運びます。各端末は相手の公開鍵と自分の秘密鍵 (ECDH) を組み合わせ、ローカルで同じ共有秘密を導出します。サーバーは決して見ません。
サーバーで動くもの。決して動かないもの。
Hongi はほぼ完全にあなたの端末上で動きます。ペアリング、コードワード生成、検証はすべて、インターネット不要の暗号プリミティブを使ってローカルで行われます。サーバー側に薄い層が存在するのは、3 つの特定機能がそれなしでは動かないためだけです。サーバーに触れるすべて、その理由、そして保持しないものを以下にまとめます。
- 1
リモート ペアリング(招待リンク)
隣にいない相手とペアリングする際、アプリは短い使い切りのトークンを生成します。相手の端末がそのトークンを取得し、ローカルで復号し、こちらは受け取った瞬間に削除します。ペイロードは 2 台の端末間でエンドツーエンドに暗号化されています。私たちが転送するのは読めない暗号文だけで、どちら側が誰かも分かりません。
- 2
サイレント検証ピング(プッシュ通知)
連絡先の端末にサイレント ピングを届けるため、アプリは OS に応じて APNs または FCM を使います。各端末について保管するのは不透明なプッシュ トークンだけで、その背後にいる人物は記録しません。「サイレント ピング」をタップすると、Apple または Google に暗号化された通知の配信を依頼します。あなたが誰か、何を言ったかを見ることはありません。
- 3
チップ(任意、Stripe 経由)
チップを贈る場合、カード情報の処理は Stripe が行います。Hongi が見えるのはチップが支払われたという事実と金額だけです。チップを連絡先一覧、コードワード、アプリ内の何かと結び付けません。何かに登録するわけではなく、一度限りの支払いです。
私たちが決して保存しないもの
- 身元情報なし。名前なし、電話番号なし、メールなし(ご連絡いただかない限り)。ログインなし、アカウントなし。
- ソーシャル グラフなし。誰と、いつ、どれくらいの頻度でペアリングしたかの記録なし。アドレス帳のアップロードなし。
- コンテンツなし。コードワード履歴なし、通話ログなし、トランスクリプトなし、音声なし。
- 分析なし。サイトにもアプリにもサードパーティのトラッカーなし。広告 ID なし。トラッキング ピクセルなし。
- 位置情報なし。アプリは決して要求しません。
なぜこれほど少ないのか。脅威モデルは、あなたの銀行や家族を装ってくる詐欺師だからです。サーバーに残すものが少ないほど、誰かが「あなたの Hongi データを持っている」と装える余地が小さくなります。あなたとお母さんとの間のコードワードは、あなた方 2 人だけが共有する鍵から実時間で派生され、2 台の端末上にだけ存在します。それが製品のすべてです。
仕組みを、図で。
ペアリング、合言葉、サイレントピングが実際にどう動くかを示す 4 つの短い図。セキュリティ用ホワイトボードに描くのと同じ絵を、各ステップで使う暗号プリミティブとあわせて並べました。
Hongi のリレーはエンドツーエンド暗号化された招待を一方からもう一方へ転送。リレーはペイロードを復号できません。配送後、両端末は X25519 でローカルに同じ共有秘密を導出します。対面と同じ仕組みです。
30 秒ごとに両端末が共有秘密と現在のタイムスロットに対して HMAC-SHA512 を実行し、異なる 2 つの合言葉を導出します。片方をあなたが発話、もう片方を聞き取り。共有秘密がない偽装者は両方とも作れません。
サイレントの確認を送るとき、あなたの端末は Apple Push Notification service または Firebase Cloud Messaging に、相手端末への暗号化通知の配送を依頼します。私たちは不透明なプッシュトークンを橋渡しするだけ。誰が何を問い合わせたかは見えません。
-
ペアリングはどう動きますか?
対面の場合:Hongi を開き、Pair をタップし、相手の端末の QR コードを読み取ります。リモートの場合:Pair > 招待リンクをタップし、使い切りのリンクを任意のチャネルで送ります。2 台の端末は X25519 を使ってローカルで共有鍵を導出します。鍵を見るサーバーはなく、何もログに残りません。
-
端末をなくしたらどうなりますか?
設計上、端末なしではコードワードを復元できません。連絡先との保護を回復するには、新しい端末で双方が再ペアリングします。なくした端末上の古いペアリングは、その端末自体のロックを解除しない限り無意味です。コードワードはセッションごとに導出されるからです。
-
Hongi は本当にオフラインで動きますか?
はい。ペアリングは 2 台の端末間で QR または暗号化された招待リンクを介して直接行われます。ペアリング後、コードワードは共有鍵と現在時刻からローカルで計算されます。連絡先を検証するのにインターネットは不要です。
-
サイレント検証ピングは何をしますか?
電話の相手が怪しく、声に出してコードワードを尋ねるリスクが取れないときは、サイレント ピングをタップします。本物の連絡先にプッシュ通知が届きます:「X さんが尋ねています。本当に電話に出ていますか?」。相手はアプリで「確認」または「拒否」をタップします。発信者には何も聞こえません。
-
連絡先はどう追加しますか?
Pair をタップして新しいペアリングを始めます。QR をスキャンするか、招待リンクを送ります。ペアリング後、連絡先は現在の時間帯のコードワードと一緒にホーム画面に表示されます。
-
データを削除するには?
アプリ内で、設定 > すべての連絡先を削除 を選ぶと、端末上のすべてのペアリングと鍵が消去されます。端末にアクセスできない場合は、任意のブラウザで hongi.io/delete にアクセスしても同じ効果があります。
-
Hongi はどの言語に対応していますか?
アプリは現在、オランダ語、英語、フランス語、ドイツ語、トルコ語、スペイン語、イタリア語、ポルトガル語、ポーランド語、アラビア語、ヒンディー語、インドネシア語、日本語、韓国語、中国語に対応しています。ウェブサイトも同じ構成です。
-
暗号はどれくらい安全ですか?
ペアリングには楕円曲線鍵交換 X25519 (RFC 7748) を使用します。コードワードは、共有鍵と現在の 30 秒のタイム スロットに対する HMAC-SHA512 (RFC 4231) で導出されます。鍵は iOS Keychain / Android Keystore に保存され、可能な場合はハードウェアで保護されます。秘密を保持するサーバーはありません。
-
なぜ Hongi という名前なのですか?
Hongi は、2 人が鼻と額を合わせ、ひと息、すなわち ha を分かち合うという伝統的な Māori の挨拶です。2 人がもはや他人ではなくなる瞬間を表します。アプリも別のやり方で同じことを行うため、この名前を選びました。一度ペアになった 2 人は、そこから先は互いを信じ合えます。
まだ解決しませんか?
info@hongi.io までメールをお送りください。OS (iOS または Android)、アプリのバージョン (設定 > バージョン情報)、何をしようとしていたかを記載してください。再現できる速さが、修正の速さに直結します。