生産技術|暗号鍵|ICカード|早瀬耕『未必のマクベス』
前回に引き続き、暗号鍵についてです。
早瀬耕さんの『未必のマクベス』を読み、ICカードについて興味を持ちました。前回の記事はこちらですので、興味がある方はぜひ一読ください。
Suica、クレジットカード、社員証。私たちは毎日のようにICカードを使っています。それについて下記のような疑問をいだいたので、調べ記事にしました。
「“暗号鍵”って、どこにあるの?」
「コピーされたり、抜き取られたりしないの?」
この記事では、暗号やセキュリティの知識がなくても理解できるようにICカードの仕組みを解説します。
①暗号鍵は「カードの中」から出てこない
いきなり結論みたいになりますが、
ICカードの暗号鍵は、カードの中にあり、外には絶対に出ません。
しかも、
・見ることはできない
・コピーできない
・読み取り機すら知らない
という、かなり特殊な存在です。そんなICカードの中はどうなっているのか説明していきます。
ICカードの中はどうなっているの?
ICカードの中には、実は小さなコンピュータが入っています。
イメージとしては、ICカードのなかに小さなコンピュータがあります。
そこには頭脳(CPU)、ルールブック(OS)、金庫(暗号鍵が入っている)がありますり
この「金庫」に今回のトピックである暗号鍵が入っています。
③暗号鍵は「ファイル」ではない
暗号鍵は一体なんなのか気になりませんか。
暗号鍵はファイルとして存在しているのではありません。
大前提として、下記が挙げられます。
・数字として取り出せない
・ 使うことしかできない
例えるなら「鍵穴に差して回せるけど、形を見ることはできない鍵」といえますがイメージできますか?
④暗号鍵の使い方(ICカードの使い方)
私も毎日使っている改札機を例に、暗号鍵の使い方について説明します。
やっていることは非常にシンプルです。
1.改札機がカードに「質問」を送る
2.カードが暗号鍵で計算する
3.計算結果だけ返す
4.OKならゲートが開く
ここで重要なのは改札機は暗号鍵を知らないということです。
これがセキュリティ面での圧倒的な強さに関係します。
⑤ICカードの暗号鍵なぜ盗まれないの?
ここがICカードのすごいところです。ICカードは中身を見ようとすると壊れる物理的な仕組みも持ち合わせています。
ICカードは、削る、剥がす、光を当てるなど、 中身を消す仕組みがあります。
また、変な操作をすると止まり、電圧がおかしい、動作が速すぎる、不自然な命令などを検知すると、 暗号処理を停止します。
使っている途中も守られており、「暗号鍵を使って計算している瞬間」を狙われたときのために、
・わざと無駄な計算を混ぜる
・毎回少し動きを変える
などの対策もされています。
⑥暗号鍵はいつ作られるの?
生産技術としてはいつ暗号鍵が作られているのかにも興味がありました。調べたところ、
カードを作るとき、発行するときに、カードの中で生成されます。
・ 最初から外に出ない
・ 人間も見ていない
という状態のため、暗号鍵を知ることは不可能に近いです。
Pythonで同じものは作れないか、考えてみました。
Pythonでできることは
・鍵を見せない設計
・署名だけできる仕組み
Pythonでできないこと(物理面)
・壊そうとすると消える
・電力や光を検知する
考え方は真似できそうでしたが、いざ作ることは当たり前ですが難しいです。
⑦まとめ
暗号鍵はICカードの中にあり、見ることも、コピーもできない、使うことしかできないものでした。
さらに無理に触ろうとすると壊れるので、非常にセキュリティが高いものでした。
今回ICカードや暗号鍵について調べ、情報セキュリティにも興味を持ったので、こちらについても勉強し、ご紹介できればと思います。
暗号とかセキュリティとか難しいですが、勉強してみると意外に面白くなっています。
難しい数式は飛ばして、楽しく理解していければと思っています。
