ワンタイムパスワード
トランザクション認証番号(TAN)は、いくつかのオンライン・バンキング・サービスで、銀行取引を認証するための単独で使用するワンタイムパスワードとして採用されている。
典型的なTANシステムにおいては、まず顧客は銀行に行き、自らを認証する。次に、銀行は50種のユニークかつランダムに生成されたパスワードのリストを紙に印刷し、顧客に手渡す。顧客は自宅からオンライン・バンキングの取引を行う際にはパスワードリストの中の一つを使って署名し、使ったパスワードをリストから消す。銀行は自らが顧客に対して発行したTANの一覧に対して使われたTANを確認する。これが一致すれば、取引は処理される。一致しなければ取引は受け付けられない。ひとたび使用されたTANは消費され、以降の取引では使用することができない。
ワンタイムパスワード (英: one-time password、OTP) とは、コンピュータリソースに対するアクセス用に発行される、一度限り有効なパスワードのことである。
一つめのアプローチは、レスリー・ランポートが考案した一方向性関数を用いたものである。一方向性関数 fを用いたワンタイムパスワードシステムは、初期シードsを与えることで機能しはじめ、以下の式のように、一方向性関数 f を繰り返し適用することで必要個数のパスワードを生成する。
f ( s ) , f ( f ( s ) ) , f ( f ( f ( s ) ) ) , . . . , f ( f ( . . . f ( s ) ) . . . ) {\displaystyle f(s),f(f(s)),f(f(f(s))),...,f(f(...f(s))...)}
作成したパスワードは、生成順とは逆に使っていく。
f ( f ( . . . f ( s ) ) . . . ) , . . . , f ( f ( f ( s ) ) ) , f ( f ( s ) ) , f ( s ) {\displaystyle f(f(.