🔒 ログイン方法完全ガイド
nokakoiでは、ユーザーの利用環境やセキュリティ要件に合わせて4種類のログイン方法に対応しています。
それぞれのメリット、デメリット、セキュリティ構造を解説します。
📊 ログイン方式の一覧比較
| ログイン方式 | 利便性 | キーの保管場所 | Web上での鍵の守りやすさ | 向いている環境 |
|---|---|---|---|---|
| 🔑 nsec + パスキー 推奨 | ★★★★★ (生体認証1タッチ) |
この端末のブラウザ内 (PRF で暗号化) |
✅ 高 (画面から読み取りにくい) |
PC・スマホ単体使用 |
| 🧩 NIP-07 拡張機能 高セキュリティ | ★★★★☆ (拡張ダイアログ) |
ブラウザ拡張内部 (nos2x / Alby等) |
✅ 最高 (Webアプリ非露出) |
PCブラウザメイン |
| 🌐 NIP-46 (Nostr Connect) 高セキュリティ | ★★★☆☆ (リモート承認) |
リモート署名器 (Amber / Remote Signer) |
✅ 最高 (鍵はリモートのみ) |
Android / 専用署名器 |
| 🔐 nsec + パスワード 従来の方式 | ★★★☆☆ (パスワード入力) |
ブラウザ LocalStorage (AES-GCM暗号化) |
✅ 高 (画面から読み取りにくい) |
パスキー非対応環境 |
🔍 各ログイン方式の詳細説明
🔑 1. nsec + パスキー(生体認証) おすすめ
概要: 指紋認証(Touch ID / Windows Hello)や顔認証(Face ID)を使ってワンタッチでログインする最新の認証方式です。
- はじめ方: 「新しい秘密鍵を作成」からその場でアカウントを作ることも、「秘密鍵(nsec)でログイン」から既存の鍵を登録することもできます。
- メリット: パスワードの入力が一切不要。ドメイン(nokakoi.com)に結びつくためフィッシングサイトに強い。
- 安全性: WebAuthn PRF で得た鍵により nsec を AES-256-GCM で暗号化し、この端末のブラウザに保存します。パスキー(生体認証)が成功したときだけ復号します。
- 鍵の置き方: 復号した秘密鍵は画面上のオブジェクト一覧からは見えません。NIP-07 / NIP-46 と違い、セッション中はアプリ内に平文が残ります。
- 注意点: 登録した端末・ブラウザごとにパスキーの初期登録が必要です。
🧩 2. NIP-07(ブラウザ拡張機能・連携アプリ)
概要: nos2x, Alby, AKA Profiles(PC Chrome), Nostash(iOS)などのブラウザ拡張機能・連携アプリを使用して署名を行う方式です。
- メリット: nokakoiを含む複数のNostr Webアプリで同じ秘密鍵を安全に共有・利用できます。
- 安全性: 秘密鍵は拡張機能・アプリ内に安全に保持され、nokakoi側には一切渡りません。署名が必要な時だけ確認ポップアップが表示されます。
- 注意点: 対応するブラウザ拡張機能または連携アプリを事前インストールしておく必要があります。
🌐 3. NIP-46(Nostr Connect / Amber連携 / リモート署名)
概要: AndroidのAmberアプリなどの外部署名器とリレー経由で通信し、遠隔でイベントに署名する方式です。
- メリット: Webブラウザ上に秘密鍵を一切持ち込まないため、Webアプリ側の脆弱性の影響を受けません。
- 安全性: 署名リクエストごとにスマホ側の署名アプリで承認・拒否をコントロールできます。
- 利便性: 通信用の一時鍵が自動保存され、ページを再読み込みしても署名アプリへ再接続しやすくなっています。
🔐 4. nsec + パスワード暗号化
概要: 自分で設定したマスターパスワードでnsecをAES-GCM暗号化してブラウザ内に保存する方式です。
- メリット: パスキー未対応の古いブラウザや環境でも利用可能です。
- 注意点: パスワードは必須です(空パスワードでは保存できません)。忘れると復号できなくなります。パスキー対応環境ではパスキーログインのご利用を強く推奨します。
👥 5. マルチアカウントの追加・ワンタップ切り替え
概要: 1つの nokakoi に複数のアカウント(パスキー / NIP-07 / NIP-46 / パスワード暗号化)を保存し、一覧から切り替えられる機能です。
- アカウント追加: ログイン済みの状態から「+ アカウント追加」を開き、別のログイン方式や別のアカウントを追加できます。
- 新規アカウント生成: ログイン・アカウント追加ダイアログから、その場で新しい秘密鍵(nsec)を生成して新規アカウントを立ち上げることも可能です。
- ワンタップ切り替え: ヘッダーまたは投稿窓のアバターをタップし、一覧の「切り替え」を押すと投稿・閲覧用のアカウントを変えられます。
- アカウントごとの設定: プロフィール・リレー設定・ミュートリストはアカウントごとに分かれます。既存アカウントを追加したときは、リレーリスト(kind:10002)を最初に自動で取り込みます。
- アカウント削除: アカウントを削除すると、認証情報と対象アカウントのアプリ設定・リレー設定・ミュートリスト、およびプロフィール/リレーのローカルスナップショットが破棄されます。
🛡️ 秘密鍵の守り方
🔒 ログイン後も鍵を画面に出さない
nokakoiでは、ログイン後の秘密鍵を画面や開発者ツールのオブジェクト一覧から読み出せない場所に置きます。window.nsec のようなグローバル変数には出しません。NIP-07 と NIP-46 では、ユーザーの nsec 自体がページに入りません。
📚 関連ドキュメント・ガイド
🔑 パスキー設定ガイド
パスキーの詳しい設定手順と対応端末
⌨️ キーボード操作ガイド
WASDキーによる爆速タイムライン操作
📱 スマホ操作・トラブル
PWA追加、長押し、キャッシュクリア手順
⚙️ 設定ガイド
表示、リレー、omochat等の設定解説