この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "タイムスタンプ"
タイムスタンプ(英: timestamp)とはある出来事が発生した日時・日付・時刻などを示す文字列。狭義には郵便物の発送日時等を示すために押される郵便印のことを指す(画像を参照のこと)[1]。現在ではコンピュータにおける「タイムスタンプ」がよく知られている。 コンピュータやデジタルカメラ等の電子機器にて記録されるタイムスタンプ(他との区別のため「デジタル・タイムスタンプ」 英: Digital timestampとも呼ばれる[2]。)は出来事(イベント)が発生した時刻そのものを指すのではなく、コンピュータにイベントが記録された時刻を指す。多くの場合、その違いは重要ではない。ただ、タイムスタンプによりイベントが記録された時刻(例: ログ書き込み時刻)と記録されたイベントの発生時刻の差が開きすぎると整合性に乖離が生じるおそれがあるため、その差は極めて0に近づくべきである。 場合によっては、タイムスタンプは単なるイベントの順序付けである可能性もあるが、その際プログラミングにおいて、タイムスタンプを格納する関数、メソッド(例: date_time[3]フォーマット)等の利用が常に必要となるわけではない。 このデータは通常、一貫性をもったフォーマットで表現され、これにより2つの異なる記録を容易に比較できるようになり、また、時間経過と共に変化するイベントの進行状況を追跡することが可能となる。このような実データに沿って一貫性をもったタイムスタンプを記録する手法をタイムスタンピング(英: timestamping、タイムスタンプ処理)という。 ただし、いくら一貫性を持った記録を行っても、後から改竄することが可能ならば、その信頼性は失われる。不特定多数からのアクセスを許可しているデータログは容易に改竄できる。このためタイムスタンプを含めたデータログを保管するシステム、サーバには物理的なセキュリティ(例: データセンター等安全な場所への機器保管)・論理的なセキュリティ(オペレーティングシステム(OS)レベルでのセキュリティ、ファイルパーミッションや強制アクセス制御など)を施すべきである。 タイムスタンプは一般にイベントのロギングのため、または、時系列("sequence of events", SOE)の評価を行うため利用される。両ケースにおいて、タイムスタンプはイベントのマーキングのために使われる。ファイルシステムにおいては、タイムスタンプはファイルの作成・更新日時を指す場合もある。多くのOSのファイルシステムではファイルの作成日時(UNIXならびにUnix系OSではctimeという。以下同じ)、更新日時(mtime)、アクセス日時(atime)がタイムスタンプとして記録されている。これらのデータがシステムコールで取り出せるOSも存在する(UNIXではstat
デジタル・タイムスタンプ
このようにコンピュータのタイムスタンプは通常ファイルの日付を示す単なるメタデータである。一方、デジタル署名において、ローカル・マシンのタイムスタンプは信頼性の高いものとして利用される。データの「存在証明」と「完全性」(Integrity、非改竄証明)を担保するため、デジタル署名が利用する「タイムスタンプ」は信頼性が高いものを使用しなければならない。これを実現するものとして、RFC3161 Time stamp protocol(英語版)が考案されている[4][注釈 1]。これはPKIを利用するタイムスタンプ認証プロトコルであり、"Time Stamping Authority"(TSA)と呼ばれる認証局がクライアントから送信されるデータのハッシュを元にTime-stamp tokenを作成、これをクライアントへ応答として返す一連の手続きである。これによりクライアントはTime-stamp tokenから対象データの「信頼できるタイムスタンプ」を取得できる[5]。デジタル署名と同時に信頼できるタイムスタンプ処理も電子公証制度や民間の電子署名サービス、存在証明・完全性証明の根幹を成す技術であり、「電子署名法」や各国の電子署名関連の法(英語版)では必須とされている[2]。 タイムスタンプの例を挙げる。 ISO 8601は日時表現の標準化である[6]。これらの標準化表現は、しばしばタイムスタンプの値を生成する際に利用される。 タイムスタンプは次の意味でも使われる。
例
2005-10-30 T 10:45 UTC
2007-11-09 T 11:20 UTC
Sat Jul 23 02:16:57 2005
1256953732(UNIX時間)
(1969-07-21 T 02:56 UTC) - 月への第一歩。"That's one small step for [a] man, one giant leap for mankind"(「これは一人の人間にとっては小さな一歩だが、人類にとっては偉大な飛躍である。」), Neil Alden Armstrong.
標準化
その他の意味
タイムコード(ネットワークまたはビデオ技術)
UNIX時間。1970年1月1日00:00:00 UTCからの経過秒数。プログラミングにおいてはこちらをさすことが多い。 ⇒[1]
ICMP Timestamp
以下は前述したよく知られるタイムスタンプ。
デジタル署名されたタイムスタンプ(digitally signed timestamp)。このタイムスタンプに署名した者は、ある時刻に署名した文書やコンテンツの存在を、デジタル署名の一部として与えられた時刻から保証する
コンピュータのファイルシステムやデータベース上に存在するファイル、ディレクトリまたはデータベースの更新もしくはアクセス時刻。
脚注[脚注の使い方]
注釈^ 同様の技術がISO/IEC 18014
出典^ “ ⇒timestampの意味”. ejje.weblio.jp. 2011年8月14日閲覧。
^ a b “タイムスタンプ/time stamp / デジタル・タイムスタンプ”. アットマーク・アイティ. www.atmarkit.co.jp. 2011年8月14日閲覧。