リフレッシュトークン【refresh token】

概要

リフレッシュトークンとは、Webサービスやアプリケーションの認証システムで発行されるトークンの一種で、期限の短いアクセストークンを再発行するために用いられる識別情報。利用者は再認証せずにセッションを継続できる。
リフレッシュトークンのイメージ画像

Webサービスなどにおける認証では、利用者がログインするとアクセストークンが発行され、これを用いてAPIやサービスへアクセスする。このアクセストークンは漏えい時のリスクを抑えるため有効期限が数分から数時間程度と短く設定されることが多い。

この有効期限が切れるたびに再ログインを要求すると利便性が著しく低下するため、アクセストークンそのものとは別に「リフレッシュトークン」が発行される。アクセストークンの期限が切れた際、クライアントはリフレッシュトークンを認証サーバに提示すれば、即座に新たなアクセストークンが発行される。

リフレッシュトークンの有効期限はアクセストークンより長く、数日から数週間、長いもので数か月に設定されることが多い。リフレッシュトークンの形式は「OAuth 2.0」と呼ばれる認可フレームワークで標準が定義されており、米グーグル(Google)社や米マイクロソフト(Microsoft)社などのネットサービス、各種SNSAPIなど、現代のWebサービスの多くで実装されている。

リフレッシュトークンは長期間有効であることから、攻撃者に漏洩したときの影響は大きくなり、保管方法や通信経路の保護が重視される。安全対策としては、受け渡し時のHTTPSによる伝送経路の暗号化トークンの暗号化保存、IPアドレスや端末情報の検証、異常利用時の無効化などが行われる。

リフレッシュトークンの運用では、「トークンローテーション」と呼ばれる手法が用いられる場合がある。これはトークンを使用するたびに新しいリフレッシュトークンを発行し、古いものを無効化する方式で、不正利用の検知と被害の限定を図る。一定期間未使用のトークンを失効させる運用や、利用者のログアウト時に明示的に無効化する処理も実装される。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。