重力に縋るな

千種夜羽です

OpenSKを使ってみた

Twitter見てたらこんな記事が流れてきました.

gigazine.net

エッマジかよ. しかもRustなのかよ.すごいな.

security.googleblog.com

"fully open-source security key implementation" っょぃなあ...と思って読んでみたらなんとこれTock OSのアプリケーションとして実装されてるんですね. 俄然気になってきた.

Tockは前にも少し紹介したRust製の組込みOSです.

sksat.hatenablog.com

ということでOpenSKのrepoはここ.

github.com

READMEによると,nRF52840-DKとnRF52840-dongleに対応しているようです. なるほど〜たしかにdongleなら殻付ければセキュリティキーになるよなあ.

USBメモリっぽい形のマイコンってBad USB以外何になるんだろうみたいな偏見があったんですが,セキュリティキーはなるほどというかんじです. まあ僕はBad USBもセキュリティキーも大好きなんですが.

ということでnRF52840-dongleが欲しくなってきたのですが, せっかくnRF52840-DK持ってるので試してみたいですね.試します.

全部READMEに書いてあるのでその通りにやればよいです. 打つコマンドは以下. 書き込みに必要なのでJLinkは入れておいて下さい. あと多分tockloaderも入れておいた方がいいのかな?

$ git clone https://github.com/google/OpenSK
$ cd OpenSK
$ ./setup.sh
$ board=nrf52840dk ./deploy.sh os app
$ sudo cp rules.d/55-opensk.rules /etc/udev/rules.d/ &&
$ sudo udevadm control --reload

これだけでOKです(でした).

あとは,USB peripheralの方にもUSBケーブルを刺してPCと接続しましょう. これでOpenSKのnRF52840-DKへのインストールと,OpenSKをセキュリティキーとして使うための準備が出来ました. さあ,見せて貰おうか.お前の"力"を...

といってもどうやって試したもんですかね. もしかしてこれめちゃくちゃデバッグが大変だったりするのでは? なんかテストツールとかあるんですかね.

まあ今回はめんどくさかったので一瞬だけGoogleへのログイン用のセキュリティキーとして使ってみることにしました.

f:id:sksat:20200201021338p:plain
セキュリティキーの登録

この状態で少し待つとLEDがピカピカ光ります. どうやら点滅する時としない時がある気がするけど何の違いだろう. LEDが光ったら,適当にボタンを押すと登録できます.

f:id:sksat:20200201022102p:plain
登録完了

できました.

f:id:sksat:20200201022131p:plain

では使ってみましょう.

f:id:sksat:20200201022426p:plain
オラッッッ

ここでまたLEDが光るのでボタンポチー.

すると...

f:id:sksat:20200201022501p:plain

ウオオオオオログインできたあああああああ. すごい.まあ登録ができてるんだからいけるのはそれはそう. でもすごいですね.ちゃんと使える. まあ今回は実験なので一瞬で登録解除しましたが.

ということで,オープンソースのセキュリティキー実装のOpenSKを使ってみました. YubiKey大好きマンですし(あんまりちゃんと使えてないけど),オープンソースも大好きなのでもしかしたらそのうち移行するかもしれないまである.

実装も超気になるので時間のある時に読んでみたいですね. とりあえず,近いうちにnRF52840-dongleを買ってケースを3Dプリントしようと思います.