システムやソフトウェアの存在はDX時代である平成・令和では生活やビジネスにおいて
欠かせない身近な存在になっていることではないだろうか?
これらのシステムやソフトウェアが正しく動作するには日付や時刻と言ったシステムクロックと呼ばれる時間の処理が非常に重要と言われています。
しかし、システムやプログラムの設計で、時折見落とされがちな問題が存在します。
それが「年問題」と呼ばれるものです。
今回は今年発生しているシステム障害を分かりやすくまとめながら、
「年問題」についての理解を深めていただけたらと思います。
時刻処理における年問題とは
年問題とは、2000年、2025年、2038年の年にシステムクロックの正常な動作が
行えなくなりソフトウェア並びにハードウェアが正常に動作しなくなることで生活インフラなどに大規模な障害を与えると危惧されている時刻処理問題です。
旧式のシステムを使っていることでその年の時刻の表示とシステム内での時間処理にズレが生じることで正常な動作を困難な状態にし、金融、交通、公共、医療、物流などの
社会インフラに大ダメージを与えると言われています。
2000年問題(Y2K問題)
平成12年西暦2000年を旧システムを使っているプログラムやハードウェアが「00年」
と認識を行ってしまい1900年として処理されることで大規模なシステム障害が連続的に
発生すると危惧されていた問題です。
以降20○○年と付く問題から20XX年問題とも言われている。
古いシステムやソフトウェアでは、
慣例的に年月日の年号を下二桁で処理しているものが多かったそうです。
このような仕様の場合、2000年になった際は00と表記されることで、
1900年と認識され、誤作動を起こす可能性が指摘されました。
想定された影響
日付を使用するすべてのシステム(金融・交通・医療・公共など)
具体的には、製造業の製品保証期間が終了したものとみなされる、クレジットカードの有効期限が期限切れになるなど、様々な分野にわたって影響を及ぼすのではないかと話題になったそうです。
実際の影響
公には報告されていないだけかもですが、実際に重大な事故は発生しなかったそうです。
ただ、システムの改修を行うために膨大な時間と労力を費やしたといわれております。
改修したものが正常に動作しているか確認するために、1999→2000年の年越しを会社で迎えた人もいるらしいです…
1999年12月31日から2000年1月1日にかけて、世界中で多くのシステムが監視されました。
日本でも、鉄道会社が多くの列車を最寄りの駅に臨時停車させ、航空便も欠航や出発時間の変更が行われています。結果として、一部のシステムで不具合が発生したと報じられましたが、致命的な問題は生じなかったようです。これはアメリカをはじめとする諸外国でも同様でした。
一例としては、女川原子力発電所や福島第二原子力発電所では警報装置が誤報を発するなどしたようですが、大きな問題ではなかったようです。電気事業連合会は「Y2Kに起因する不具合が13件発生した。」と報告しています。
政府は、平成12年(2000年)3月30日、「コンピュータ西暦2000年問題に関する報告書」を詳細に取りまとめて発表しました。Taro7-Y2Kに関する報告書本文.
2025年問題(昭和100年問題)
システム上昭和が現在「2025年(昭和100年)まで続いていたとした場合に和暦が3桁
となり、昭和0年として認識されることで誤作動を起こすと想定された問題。
想定される影響
和暦は日本固有の文化であることから、影響範囲は世界ではなく日本にとどまります。
現在でも和暦での表示が求められる、公官庁や金融機関などで導入されているシステムで対応できていない場合、混乱が発生するかもしれません…!
実際の影響
2025年の4月に入り交通におけるNEXCOのETCシステム障害を筆頭に物流、行政、金融
などでシステム障害が発生が相次いでいるまた、娯楽においては、PSNが2月のモンスターハンター最新策のクローズドβテスト期間中に1日レベルの障害が生じている。
2038年問題
2038年問題は、UNIX時間が32ビットの上限を超えると、システムの時刻が1970年にリセットされて誤作動する可能性がある問題です。
UNIX時間とは、UTCで「1970年1月1日午前0時0分0秒」を基準として、経過した秒数を元に日時を表現した時間のことです。(経過した秒数はエポック秒と呼ばれる)
そのUNIX時間は、32ビットの符号付き整数で表現されております。
この32ビットの符号付き整数は最大値が2147483647と決まっています。(2の31乗-1)
つまりUNIX時間は、UTCで2147483647秒経過した「2038年1月19日3時14分7秒」が最大値となっています。(日本時間の場合、2038年1月19日12時13分7秒)
この日時を経過した場合、表現できる日時を超え、正しい時刻が表示できなくなります。
※ 32ビットの符号付き整数とは??
32ビットの符号付き整数がわからない方のために、ChatGPTさんに質問してみました。
5歳児向けに解説してくれるのでイメージできるかと思います!

想定される影響
UNIX系のシステムや、それに依存するシステムで誤作動が発生するおそれがあります。
これらの影響を防ぐために、32ビットから64ビットへの移行を行う必要があります。
2004年に、34年早く2038年問題が発生した事例もありました。
電話サービスの誤請求やATMが利用できなくなるなど、影響が発生したそうです。
「西暦2038年問題」でトラブル相次ぐ | 日経クロステック(xTECH)
ウェブサイトに関する脆弱性が増加傾向にある
最後に関連したニュースとして2025年1月~3月までの第一4半期における日本情報処理推進機構発表のソフトウェア脆弱性の届出状況を見て終ろう。
表1-1は情報セキュリティ早期警戒パートナーシップ脚注1における本四半期の脆弱性関連情報の届出件数、および届出受付開始(2004年7月8日)から本四半期末までの累計を示しています。本四半期のソフトウェア製品に関する届出件数は81件、ウェブアプリケーション(以下、ウェブサイト)に関する届出は18件、合計99件でした。届出受付開始からの累計は19,385件で、内訳はソフトウェア製品に関するもの6,041件、ウェブサイトに関するもの13,344件でウェブサイトに関する届出が全体の約7割を占めています。
図1-1は過去3年間の届出件数の四半期ごとの推移を示したものです。本四半期は、ウェブサイト製品よりもソフトウェア製品に関して多くの届出がありました。表1-2は過去3年間の四半期ごとの届出の累計および1就業日あたりの届出件数の推移です。本四半期末までの1就業日あたりの届出件数は3.84件脚注2でした。