2038年問題とは

一部のOSやプログラミング言語処理系の仕様により、西暦2038年以降の日付や時刻を正しく扱えない問題。また、それが原因でコンピュータが一斉に誤作動を起こし社会に混乱を招く可能性があるという問題のこと。

似たような問題に、西暦を下2桁で管理していたコンピュータが西暦2000年を迎え不具合を生じるとされた「西暦2000年問題」があったが、このときはアプリケーションソフトの仕様とデータ形式の問題だったため、個々の問題としては修正は比較的容易で、大きな社会的混乱は生じなかった。

古いUNIXやC言語では、時刻を1970年1月1日午前0時からの経過秒数で管理している。この値は32ビットの符号付き整数で実装されていることが多い。このため、上限値である21億4748万3647秒を超えると正しく時刻を表現できなくなる。経過秒数がこの上限を超えるのは世界標準時で2038年1月19日午前3時14分8秒(日本時間午後12時14分8秒)であり、この形式で時刻を管理しているシステムは、それまでに対策を施さなければこの時点以降正常に動作しなくなる。

チエ:セキュリティには直接関係ないように見えるけど、2038年問題は最も普及しているプログラミング言語の仕様に関わる問題だけに、社会的な規模で情報システムのインフラが混乱する可能性をはらんでいるわ。
イッセイ:最近のOSや言語処理系では、時刻の管理に64ビットの符号付き整数を利用しており、これを1970年1月1日午前0時からの経過秒数として使えば西暦3000億年程度までは同種の問題は起きないという対策を施しているようです。

セキュリティ用語辞典一覧ページへ

関連キーワード:
  • 新種のトロイの木馬2種にご注意
  • カテゴリートップへ
  • 【い】いかがわしい URLは 踏まないで