マイナンバーカードに限りませんが、世の中に出回ってるICカード、アレでちゃんと中にCPUとメモリ(RAM、ROM)が載っていて、さらにソフトウェアが入ってるんですよね。
さらに非接触型の場合、電源は電磁誘導で供給されます。
そんな作りでありながら、タッチして秒で処理が完結する、驚異の製品。— wakatono, Ph.D.(JK) (@wakatono) July 24, 2023
ICカード、無線も有線もそんな製品ですが、製品自体が非常に小さいので、単にメモリが入っるだけで、適宜読んでるだけと思われてるのかも。
実際には命令をカードに送り、処理結果をカードから受け取ってますし、耐タンパ性を確保するためにソフトウェアの作り方も普通とは違う観点が求められます。— wakatono, Ph.D.(JK) (@wakatono) July 24, 2023
私が聞いたことある性能まわりの話で言うと、条件分岐を行う処理を行う際に、分岐した先の計算量を均一にするように留意する、というのがあった記憶。
こうすることで、計算量の相違にともなう消費電力の差分をなくし、電力解析攻撃への耐性を持たせる、と。— wakatono, Ph.D.(JK) (@wakatono) July 24, 2023
メモリも少ないので、ROMに書かれてるコードを直接実行する(変数はRAMに展開)といった工夫をするとか聞いた覚えがあります。
このあたりの話は、ICカードのセキュリティをやる人からしたら当然みたいな話らしいですが、普通に出てこないんですよね。携わる人数自体が絶対的に少ない。— wakatono, Ph.D.(JK) (@wakatono) July 24, 2023
なので、ITセキュリティしか知らない人が、下手にICカードとかのセキュリティについて語るのはものすごーく悪手です。
特に「簡単に読み出せる」とか言ってる類の言説は、ICカードのセキュリティ以前に、こういうアーキテクチャになってること自体を理解してるか?が疑問。— wakatono, Ph.D.(JK) (@wakatono) July 24, 2023