S/KEY方式とは?ワンタイムパスワードを実現する認証技術を解説
S/KEY方式とは、ワンタイムパスワード(OTP:One Time Password)を生成して認証を行う方式です。通信経路上でパスワードが盗聴されるリスクを低減できるため、古くからUNIX系システムを中心に利用されてきました。現在でも、認証技術の基礎として重要な位置づけにあります。
S/KEY方式の基本的な仕組み
S/KEY方式では、ハッシュ関数を用いてワンタイムパスワードを生成します。あらかじめ利用者と認証サーバで「初期パスワード(シード)」と「回数」を共有し、そこから連続してハッシュ計算を行います。
ログイン時には、毎回異なるパスワードが使用され、認証が成功するたびに次回用の値が更新されるため、同じパスワードを再利用することはありません。
S/KEY方式の認証手順
- 利用者は初期パスワードと回数を設定する
- ハッシュ関数を指定回数実行し、最終結果をサーバに登録
- ログイン時は1回手前のハッシュ値を入力
- サーバ側でハッシュを1回実行し、登録値と一致すれば認証成功
この仕組みにより、サーバ側には平文のパスワードが保存されず、安全性が高まります。
S/KEY方式のメリット
- 通信経路でパスワードが盗聴されても再利用できない
- 暗号化通信が前提でなくても一定の安全性を確保できる
- 仕組みが比較的シンプルで理解しやすい
S/KEY方式のデメリットと注意点
一方で、S/KEY方式にはいくつかの課題もあります。ハッシュ計算を人手で行うのは現実的ではないため、専用ツールが必要です。また、利用回数に上限があり、回数を使い切ると再初期化が必要になります。
さらに、近年主流のTOTPやHOTPと比べると利便性が低く、現在ではレガシーな技術と位置づけられることもあります。
S/KEY方式の利用例
S/KEY方式は、UNIXサーバへのリモートログインや、初期のセキュア認証システムで広く利用されてきました。情報処理技術者試験などでも、ワンタイムパスワード方式の代表例として頻出の用語です。
まとめ
S/KEY方式は、ハッシュ関数を利用したワンタイムパスワード方式として、パスワード盗聴リスクを低減する認証技術です。現在では新しい方式に置き換えられる場面も増えていますが、認証技術の基礎を理解するうえで非常に重要な概念と言えるでしょう。
(キーワード:S/KEY方式、ワンタイムパスワード、OTP、認証方式、情報セキュリティ)
コメント