アカウントにログインする際に、通常のパスワードだけでなくメールボックスや専用デバイスに届くワンタイムパスワードを入力する二要素認証は、資格情報を盗んだ第三者によるログインを防いでセキュリティを向上します。しかし、「いちいちワンタイムパスワードを確認してログインフォームに入力する」という作業が面倒で、二要素認証の設定をしていないという人もいるはず。そんな二要素認証の面倒さを解消するため、「キーを1回押すだけで二要素認証のワンタイムパスワードを入力できるマクロパッド」を自作した人物が現れました。

2FA_Sidecar | Hackaday.io

https://hackaday.io/project/191580-2fasidecar



Hackaday Prize 2023: Sleek Macro Pad Makes 2FA A Little Easier | Hackaday

https://hackaday.com/2023/06/20/hackaday-prize-2023-sleek-macro-pad-makes-2fa-a-little-easier/

セキュリティに関心を持っている人であれば誰でも、二要素認証を設定することがオンライン上の安全を守るために重要であると理解しています。しかし、アカウントにログインしたり重要な操作を行ったりするたびに、生成されたワンタイムパスワードをSMSやメールボックス、専用の物理トークンなどで確認するのが面倒なことも実感しているはずです。

そこで、オーストラリア在住のハードウェア愛好家であるマット・パーキンズ氏は、キーを1回押すだけで二要素認証のワンタイムパスワードを入力できるマクロパッド「2FA Sidecar」を自作しました。パーキンズ氏は、「私は、本業で管理するネットワークのさまざまな部分でスマートフォンを開いてコードを入力し、セキュリティレベルを切り替えるのに多くの時間を費やしているため、このデバイスを開発しました」と述べています。

2FA Sidecarがどのようなデバイスになっているのかは、以下の動画を見るとよくわかります。

2FA Sidecar - YouTube

2FA Sidecarの見た目はこんな感じ。細長いデバイスの左端には小さな液晶ディスプレイがあり、その右側に5個のキーが付属しています。



液晶ディスプレイには登録されている5つのサービスの名称と、現時点でのワンタイムパスワードが表示されています。



時間が経過すると、表示されるワンタイムパスワードも更新されました。2FA Sidecarが対応しているのは、秘密鍵(ソルト)と現在時刻の組み合わせでワンタイムパスワードを生成するTime-based One-Time Password(TOTP/RFC 6238)という認証技術です。TOTPはGoogleの二要素認証でも採用されている技術であり、さまざまな二要素認証サービスと互換性があるとのこと。



2FA Sidecarの設定を行うには、USBでデバイスと接続してから3秒以内に液晶に最も近いキーを押し、その後液晶に「Test Pass」と表示されるまで順にキーを押していきます。



すると、2FA Sidecarの設定構成フォームにアクセスできるようになります。



設定画面はこんな感じ。Wi-Fiのパスワードやタイムゾーン、二要素認証を使用するサービス名、ワンタイムパスワードのソルトを入力する欄があります。自分のアカウントに紐付いたワンタイムパスワードのソルトは、認証したいサービスで二要素認証を設定した際に表示されるQRコードをデコードすれば確認できるとのこと。2FA Sidecarにタイムゾーンとソルトを保存しておくことで、いつでも適切なワンタイムパスワードを生成できるというわけです。



設定完了後に2FA Sidecarを再起動すると、ローカルのWi-Fiに自動で接続して正確な時刻を認識し、ワンタイムパスワードの生成を開始するとのこと。実際に、設定が完了した2FA SidecarをUSBでデバイスと接続します。



すると、キーを1回押すだけで対応するアカウントのワンタイムパスワードを一気に入力することができました。液晶ディスプレイに表示された数字を見て、自分で入力することも可能です。



2FA Sidecarは市販されているマイクロコントローラーのESP32や3Dプリント製の部品を組み立てて自作することが可能であり、以下のGitHubページで作り方が説明されています。

GitHub - mattaperkins/2FA_Sidecar

https://github.com/mattaperkins/2FA_Sidecar