TOTP ベースのホワイトリストを備えたキャプティブ ポータル

TOTP ベースのホワイトリストを備えたキャプティブ ポータル

私は自宅の Wi-Fi ネットワークに認証スキームを設定しようとしています。このスキームでは、時間に基づいて常に変化する 4 ~ 6 桁のコード (MFA アプリに表示されるものと同じ) をユーザーに入力させることができます。シンプルで古い 2 要素認証システムです。

私の計画は、パスワードを気にすることなく、WiFiネットワークにログインできる簡単な方法を用意することですが、それでもかなり安全です。私はすでに、LED照明ディスプレイの数字を変更するArduinoを持っており、後で変更された数字と同期させることができます。また、時間に基づいて現在の有効な数字を定義するソースもあります。

現在の 2 要素コードを取得するためのコードを埋め込むことができるカスタム キャプティブ ポータルを作成することを考えています。

私が抱えている主な問題は、メイン ルーターまたは派生デバイスのいずれかにキャプティブ ポータルを設置し、ユーザーに番号を入力させ、メイン ネットワークでホワイトリストに登録してもらい、プリンターやテレビなどすべてにアクセスできるようにする方法です。

最初は、ラズベリーパイに載せようと考えていましたが、それは良くないアイデアだとか、実現不可能だと言う人もいます。いろいろ読んでみて、今は混乱しています。

つまり、私が探していたのは"消費者"ナイトホーク レベルのグレードのルーターもありますが、いずれもカスタム キャプティブ ページをサポートしていないようです。メインのホーム ルーターにそのオプションがあれば、そこに組み込むこともできると思います。

とにかく、ユーザーに体験してもらいたいことをまとめると、次のようになります。

  1. カスタム キャプティブ ポータル (現在の 2 要素コードを知っている/取得できる) を使用してネットワークに接続します。
  2. 2要素認証コードを入力してください
  3. Wi-FiルーターでMACアドレスまたはデバイスをホワイトリストに登録する
  4. カスタム キャプティブ ポータルが Wi-Fi ルーター上にある場合は (接続を維持)、そうでない場合は (デバイスを Wi-Fi ルーターに自動的に接続)

これについてどうしたらいいでしょうか?

答え1

これは少し複雑なプロジェクトになります。OpenWRTを見てみることをお勧めします。出典: openwrt.org彼らは(私が知る限り)TOTP ベースの認証をすぐにはサポートしていませんが、アドインとしてキャプティブ ポータルは持っています。したがって、それは実行可能なことです。サポートされているハードウェアは豊富にありますが、ハードウェアの推奨事項については、現時点では Ubiquiti Network ギアのみを使用しています。

とはいえ、これをすべて安全にするには大変な時間がかかるでしょう。そして、これを意図どおりに機能させて安全にする方法が確かにあると確信していますが、最終的には、単にパスワードを使用するよりも手間がかかります。キャプティブ ポータル ネットワークは、デフォルトでは安全ではありません。キャプティブ ポータルに必要なパスワードなしでネットワークに接続するには、ワイヤレス接続が暗号化されていない必要があります。その後のセキュリティのために、暗号化された VPN を使用することもできますが、その場合、すべてのネットワーク サービス (プリンターなど) をオープン ネットワークに残すか、ユーザーにとって複雑な設定を選択することになります。

関連情報