富士通に欠けていた「本質的な点検」 マイナ証明書の誤発行問題
マイナンバーカードを使ったコンビニなどでの証明書交付サービスで、別人の証明書が発行される誤発行が6月下旬に再び起きた。システムを手がける富士通は全国123自治体のシステムを停止して同月中旬に点検を終えたばかりだったが、再度停止して点検をやり直している。誤発行はなぜ繰り返されたのか、情報セキュリティーに詳しい立命館大の上原哲太郎教授に聞いた。
――証明書の誤発行がまた起きました。
今回問題になっているのはマイナンバーのシステムとは関係ありません。一部の自治体が使っている「証明書発行サーバー」が、ちょっとしたことでバグを生みやすいシステムになってしまっていたことです。このサーバーは、富士通の子会社「富士通Japan」製でした。
――政府の要請により、システムを止めて総点検を終えたばかりだったのに、なぜ誤発行が繰り返されるのですか。
総点検に漏れがあったためです。そもそもの原因は、このシステムの中心部分を担う富士通Japanのプログラムが技術的に稚拙であるということに尽きます。自治体ごとにカスタマイズされたプログラムには多くのパターンがあり、すべてのバグを見つけきれなかったのでしょう。
――富士通は「申請が集中してシステムに負荷がかかったことが原因」としています。
理解に苦しみます。負荷がかかったからファイルが出てこないというのならわかりますが、(別人の書類が発行されるような)ファイルのデータを取り違えをするようなことはあってはなりません。「総点検」と称して富士通がやったことには、本質的な点検が欠けていたのでしょう。
――どういうことですか。
富士通が主にやったのは負荷試験といって、同時に多くの人が手続きをしても適正に処理できるかどうかを確かめることでした。しかし、そもそもプログラムの設計がおかしいので、負荷試験では簡単に再現しないバグが潜んでいました。
本当はプログラムを精査しなくてはいけませんでした。それをしなければいけないのはわかっていても、人手も時間もかかるため、できなかったのではないでしょうか。
――プログラムの「稚拙さ」とはどういうことだったのでしょうか。
証明書発行のリクエストは並列に(同時に)証明書発行サーバーに届く可能性がありますが、富士通はそれを順番に並べてから一つずつ処理する仕組みにしていたようです。これを「逐次化」と呼びますが、これを前提にしていると、逐次化に失敗した時に致命的なバグが出てしまいます。
今回、各自治体で起きたバグはさまざまな理由で逐次化に失敗したために起きたと見ています。本来は全体を並列のまま処理できるようにするべきであり、私の聞いた限りでは、同業他社はそのように設計しているようです。
――なぜ、そのような仕組みにしていたのでしょう。
わからないですが、富士通は…
【春トクキャンペーン】有料記事読み放題!スタンダードコースが今なら2カ月間月額100円!詳しくはこちら