2016/08/08

[nfc]マイナンバーカードでSSHできるらしい (2)

マイナンバーカードでSSHする - AAA Blog

試してみようかと思っていたが、それにはサーバを立てないといけないのか。。。
XAMPPで何かしていたような気もするが、面倒なので、まずはどういうことをサイトで行っているのか見ておき、簡単そうだったらやってみよう。


  1. pkcs15-toolで認証用公開鍵を読んでファイルにする
    • このコマンドはopenscのもので、うちのだとaptせんと入ってなかった。
    • --read-ssh-key id、なので、例に書いてある「1」はstdoutじゃなくてidの方ね。
    • 実行したら「No smart card readers found.」だって。。。

あれれ、私がやりたいのは、署名データを得るところなのだ。
その手前の「PKCS1形式のハッシュ値」を得るための手段だと思ってやっていたのだが、そもそもSSHでログインするというのがどういうことなのかわかっていないことに気付いた。


こちらの方が、実際に行っているので、何が得られるのか見てみる。
マイナンバーカードでSSHしてみた - Okiraku Programming

まず、pkcs15-toolで、カードから公開鍵を読み出している。
得られた文字列を、~/.ssh/authorized_keysに追加する。
そして、sshログインするときに、-Iオプションで共有ライブラリを指定しておくと、PIN入力を求められるので打ち込むと、正しければログインできる。

うーん、わからん。
こういうことか?

image

 

image

 

電子署名は、プライベート鍵で本文なり本文のハッシュ値なりを符号化し、公開鍵で復号化して一致することを確認するやり方だったはず。

ユーザがサーバに送るのは、NONCEを秘密鍵で暗号化したデータだけで、マイナンバーカードのPIN番号は送る必要がない。
サーバにマイナンバーカードで暗号化したデータを復号化するための鍵さえちゃんと渡せているなら、毎回パスワードを送るよりも、違うNONCEで違う署名データを送る方が安全そうな気がする。

危険があるならば、マイナンバーカードとPIN番号が同時に他の人に奪われることだろう。
まあ、それを言ってしまえばパスワードも奪われたら同じなんだけどね。


というわけで、おそらくマイナンバーカードからは、

  • 公開鍵
  • 秘密鍵で符号化したデータ

だけを得ることができて、秘密鍵は取得できないようになっていると思われる。

Bitcoinなんかも秘密鍵だけは渡さないようにしたいから、うまいことやったら使えるのかな?
秘密鍵で復号する必要があるのかは知らないのだが、EFに署名用途認証用があるから、そっち側もできるのかもしれない。。。
いかんいかん、よくわからん知識で考えるのはやめておこう。

 

ともかく、ここでのマイナンバーカードの使い方は、署名データを得るための機械、なのだな。
だったら、メールの電子署名にだって使うことができるはずじゃないか。
以前できないという結論になった気がするのだが、公開鍵を誰が持っているのかがわからない、というのが使えない理由だったか。。。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。