アプリを開く ↗

🔒 ログイン方法完全ガイド

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 自体がページに入りません。

📚 関連ドキュメント・ガイド

📋 開発者向けドキュメント(GitHub)