見出し画像

システムに負荷がかかって他人の住民票が・・・そんなのあるはずない!?

5/13追記:住民票だけじゃなく保険証も!?

突然、過去に出した住民票の記事の閲覧数が増えていて、
マイナンバーカード保険証が他人に紐づいたというニュース
のためのようでした。

新規でマイナンバーカード保険証の記事を投稿した。


マイナンバーカードで別人の住民票

すごいニュースが飛び込んできました。
マイナンバーカードを使ってコンビニで住民票を出したら
別人のものだった。

しかもシステムを提供する事業者は、「システムの負荷が
高くなって、他人の住民票が出てしまった」と・・・

住民票だけでなく、戸籍、課税証明も誤交付される可能性が
あったということでしょうか。
誤って交付された書類の種別と件数は、把握しているんで
しょうか?

横浜市の記者発表資料

https://www.city.yokohama.lg.jp/city-info/koho-kocho/press/shimin/2022/0328conveni.files/0001_20230328.pdf


システム負荷で結果が違う?

SEとしての一般的な見解からいえば、「そんなのあるわけ
ないよね」としか言えないです。

考えられる要因としては、「複数の住民票交付の要求が
同じタイミングで発生した場合に、処理が前後することで
情報が上書きされてしまう」くらいでしょうか。
でも、マイナンバーカードによるコンビニでの住民交付を
これだけ長期間運用していているのに、タイミングによって
他人の住民票で上書きしてしまうというのはありえないとは
思いますが。

もし、最初から排他制御がはいってなければ、応急処置で排他
制御をいれても、漏れや、排他したまま処理できなくなること
もあるかもしれません。
・・・排他制御を失敗すると重大障害に直結するので、気をつかう
   部分です。

chatGPTに「排他制御とは」と聞いてみると

排他制御(英: Exclusive Control)とは、複数のプログラムやプロセスが同時に共有リソース(たとえば、共有メモリーやファイルなど)にアクセスする場合に、競合や混乱を防止するための制御方法です。排他制御により、同時にリソースにアクセスすることができるのは一つのプログラムやプロセスだけで、その他のプログラムやプロセスは待機する必要があります。
具体的には、排他制御は共有リソースにアクセスする前に、ロックやセマフォなどの同期オブジェクトを使用して、そのリソースが現在使用中であることを示します。他のプログラムやプロセスが同じリソースにアクセスしようとした場合は、そのリソースがロックされているため、アクセスすることができません。このようにして、排他制御は複数のプログラムやプロセスが同時に共有リソースにアクセスすることによる問題を解決することができます。

chatGPT:排他制御を失敗するどうなるの

例えば、複数のプログラムが同時にデータベースの同じテーブルに書き込みを行う場合、排他制御がされていないと、異なるプログラムが同じデータを書き込む可能性があります。その結果、データが矛盾してしまったり、データが欠落したりすることがあります。
また、排他制御が不十分な場合、プログラムやプロセスがデッドロックに陥る可能性もあります。デッドロックは、複数のプログラムやプロセスが互いにリソースを待ち合わせている状態で、それ以上進まなくなる現象です。これにより、システムがフリーズするなどの問題が生じます。
したがって、排他制御が重要であることは明らかであり、プログラムやシステムの正しい動作を保証するためには、適切な排他制御が必要です。

デジタル庁は?

マイナンバーのシステムには、なんの誤りもないと思いますが、
今回の接続するシステムの障害の納得できる原因究明に取り
組んでほしいと思います。
デジタル庁には、民間の優秀な技術者がいるので、彼らが納得
できるヒアリングを是非やってほしいと思います。

システム負荷で障害を許容したら・・・

システム負荷だったんですだけで終わらせたら、今後の重大
障害もすべてシステム負荷のせいにされそうです。

ネット通販、メール配信など、システム負荷が高くなっても
他の人に課金したり、他人のメールを誤送信しないですよね。

追記:障害原因の説明がありました

タイムアウトで排他制御のロックがはずれたそうです。
でも、排他制御はタイムアウトしないものだけど・・・
タイムアウトするのであれば、住民票の交付要求をエラー
にして、その後排他制御のロックをはずすと思いますが。


#マイナンバー
#コンビニ交付
#他人の住民票

よろしければサポートをお願いします。いただいたサポートは、クリエイターとしての活動費に使わせていただきます。