タイムスタンプ

タイムスタンプ（）とはある出来事が発生した日時・日付・時刻などを示す文字列。狭義には郵便物の発送日時等を示すために押される郵便印のことを指す（画像を参照のこと）。現在ではコンピュータにおける「タイムスタンプ」が良く知られている。

デジタル・タイムスタンプ 
コンピュータやデジタルカメラ等の電子機器にて記録されるタイムスタンプ（他との区別のため「デジタル・タイムスタンプ」 とも呼ばれる。）は出来事（イベント）が発生した時刻そのものを指すのではなく、コンピュータにイベントが記録された時刻を指す。多くの場合、その違いは重要ではない。ただ、タイムスタンプによりイベントが記録された時刻（例: ログ書き込み時刻）と記録されたイベントの発生時刻の差が開きすぎると整合性に乖離が生じるおそれがあるため、その差は極めて0に近づくべきである。

場合によっては、タイムスタンプは単なるイベントの順序付けである可能性もあるが、その際プログラミングにおいて、タイムスタンプを格納する関数、メソッド（例: date_timeフォーマット）等の利用が常に必要となるわけではない。

このデータは通常、一貫性をもったフォーマットで表現され、これにより2つの異なる記録を容易に比較できるようになり、また、時間経過と共に変化するイベントの進行状況を追跡することが可能となる。このような実データに沿って一貫性をもったタイムスタンプを記録する手法をタイムスタンピング（、タイムスタンプ処理）という。

ただし、いくら一貫性を持った記録を行っても、後から改竄することが可能ならば、その信頼性は失われる。不特定多数からのアクセスを許可しているデータログは容易に改竄できる。このためタイムスタンプを含めたデータログを保管するシステム、サーバには物理的なセキュリティ（例: データセンター等安全な場所への機器保管）・論理的なセキュリティ（オペレーティングシステム（OS）レベルでのセキュリティ、ファイルパーミッションや強制アクセス制御など）を施すべきである。

タイムスタンプは一般にイベントのロギングのため、または、時系列（"sequence of events", SOE）の評価を行うため利用される。両ケースにおいて、タイムスタンプはイベントのマーキングのために使われる。ファイルシステムにおいては、タイムスタンプはファイルの作成・更新日時を指す場合もある。多くのOSのファイルシステムではファイルの作成日時（UNIXならびにUnix系OSではctimeという。以下同じ）、更新日時（mtime）、アクセス日時（atime）がタイムスタンプとして記録されている。これらのデータがシステムコールで取り出せるOSも存在する（UNIXでは）。

このようにコンピュータのタイムスタンプは通常ファイルの日付を示す単なるメタデータである。一方、デジタル署名において、ローカル・マシンのタイムスタンプは信頼性の低いものとして利用されない。データの「存在証明」と「完全性」（Integrity、非改竄証明）を担保するため、デジタル署名が利用する「タイムスタンプ」は信頼性が高いものを使用しなければならない。これを実現するものとして、RFC3161 が考案されている。これはPKIを利用するタイムスタンプ認証プロトコルであり、"Time Stamping Authority"（TSA）と呼ばれる認証局がクライアントから送信されるデータのハッシュを元に"Time-stamp token"を作成、これをクライアントへ応答として返す一連の手続きである。これによりクライアントは"Time-stamp token"から対象データの「信頼できるタイムスタンプ」を取得できる。デジタル署名と同時にも電子公証制度や民間の電子署名サービス、存在証明・完全性証明の根幹を成す技術であり、「電子署名法」やでは必須とされている。

例 
タイムスタンプの例を挙げる。
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.

標準化 
ISO 8601は日時表現の標準化である。これら標準化表現は、しばしばタイムスタンプの値を生成する際に利用される。

その他の意味 
タイムスタンプは次の意味でも使われる。
 タイムコード（ネットワークまたはビデオ技術）
 UNIX時間。1970年1月1日00:00:00 UTCからの経過秒数。プログラミングにおいてはこちらをさすことが多い。
 
 以下は前述した良く知られるタイムスタンプ。
 （digitally signed timestamp）。このタイムスタンプに署名した者は、ある時刻に署名した文書やコンテンツの存在を、デジタル署名の一部として与えられた時刻から保証する。
 コンピュータのファイルシステムやデータベース上に存在するファイル、ディレクトリまたはデータベースの更新もしくはアクセス時刻。

脚注

注釈

出典

関連項目 
 時刻認証局 - その時刻に文章が存在し、その時刻以降に変更や改ざんが行われれていないことを証明する。
 電子署名
 デジタル署名
 
 システム時刻
 （Time Stamp Counter, TSC） - Pentium以降に搭載されたx86（80x86, x86-64）CPUのレジスタ。起動時からクロック周波数に合わせてカウントアップする。RDTSC（Read time stamp counter）命令を用いて呼び出すことが可能（アセンブリ言語、インラインアセンブラ）。
 データログ
 syslog - Unix系OSのログ取得デーモン。
  - Microsoft Windowsのログ読み取りツール。
 確定日付
 タイムレコーダー (打刻機)

時間
コンピュータと時間
記録