抽象的な背景で、左側にオレンジ色に光る円、右側に青緑色の波状の図形があり、2つの重なり合った白い四角い角括弧が特徴的です。

サイバーセキュリティにおけるトークンとは何ですか?

サイバーセキュリティにおけるトークンとは、身元確認、ユーザーまたはデバイスの認証、あるいはシステムまたはリソースへのアクセス許可に使用される、デジタルまたは物理的な認証情報のことである。トークンを使用することで、ユーザー、アプリケーション、サービスは、ユーザー名やパスワードなどの認証情報を繰り返し入力することなく、アクションを実行する権限があることを証明できます。

デジタルトークンは、現代のアプリケーション、 クラウド環境、API、およびIDシステムにおいて広く利用されている。ユーザーが認証に成功すると、例えば、IDプロバイダーは、ユーザーの認証済みセッションまたは権限を表すトークンを発行する場合があります。アプリケーションは、保護されたリソースへのアクセスを許可する前に、トークンを検証することができます。

トークンはパスワードの繰り返しの露出を減らし、組織が管理された一時的かつ限定的なアクセスを提供できるようにすることでセキュリティを向上させます。しかし、盗まれたり適切に管理されていないトークンは攻撃者に不正アクセスを与えることもあり、トークンセキュリティはアイデンティティおよびアクセス管理の重要な一部となります。

主なポイント

  • サイバーセキュリティにおけるトークンとは、本人確認やアクセス権限の付与に使用される認証情報のことである。トークンを使用することで、ユーザー、アプリケーション、デバイスは、パスワードを繰り返し入力することなく、システムやリソースに安全にアクセスできます。
  • 一般的なセキュリティトークンの種類には、アクセストークン、認証トークン、セッショントークン、APIトークン、JSONウェブトークン(JWT)などがあります。それぞれが、アプリケーションやクラウド環境全体における認証、セッション、および権限の管理において、異なる役割を果たします。
  • トークン盗難は組織に深刻なセキュリティリスクをさらす可能性があります。有効なトークンを盗んだ攻撃者は、正規のユーザーになりすましたり、機密性の高いリソースにアクセスしたり、元のパスワードを必要とせずにネットワーク内を横断的に移動したりする可能性があります。
  • Protecting tokens requires a Zero Trust approach. Organizations should combine secure token management, least-privilege access, network visibility, and segmentation to limit unauthorized access and contain breaches if credentials are compromised.

セキュリティトークンはどのように機能するのですか?

セキュリティトークンは、ユーザー、デバイス、またはアプリケーションがリソースへのアクセスを認証または承認されている証拠を提供することで機能します。

一般的なトークンベースの認証プロセスは次のようになります。

  1. ユーザーまたはアプリケーションがサービスへのアクセスを要求する。
  2. ユーザーまたはアプリケーションは、IDシステムを使用して認証を行います。
  3. 認証が成功すると、システムはトークンを発行します。
  4. トークンには、ID、セッション、または権限に関する情報が含まれているか、またはそれらを表します。
  5. トークンは、保護されたリソースへのアクセスを要求する際に提示されます。
  6. 受信側システムがトークンを検証する。
  7. トークンが有効で、必要な権限が付与されている場合、アクセスが許可されます。

トークンは多くの場合一時的なものであり、一定期間が経過すると有効期限が切れます。トークンの有効期間を制限することで、トークンが侵害された場合に攻撃者が悪用できる時間を短縮できる。

関連文献: マスターキー問題:Salesloftの侵害と継続的な脅威の内部

セキュリティトークンにはどのような種類がありますか?

サイバーセキュリティで使用されるトークンにはいくつかの種類があります。適切なタイプは、システム、認証方法、および提供されるアクセスの種類によって異なります。

一般的な種類は以下のとおりです。

  • アクセストークン
  • 認証トークン
  • Session tokens
  • トークンを更新
  • API tokens
  • JSON Web Tokens (JWTs)
  • ハードウェアトークン
  • ソフトウェアトークン

これらの用語は時として同義語として使われることがあるが、認証および認可プロセスにおいてはそれぞれ異なる目的で使用される場合がある。

アクセストークンとは何ですか?

アクセストークンとは、保護されたリソースへのアクセスを認証するために使用される認証情報です。

ユーザーまたはアプリケーションが認証されると、認証システムは、そのIDに付与された権限を含む、またはそれを表すアクセストークンを発行できます。

例えば、アプリケーションはアクセストークンを使用して、ユーザーに代わってAPIを呼び出すことがあります。APIはトークンを検証し、要求されたアクションがトークンに関連付けられた権限の範囲内であるかどうかを判断します。

アクセストークンは、一般的に適用範囲と有効期間が限定されるべきである。特定のタスクに必要な権限のみを与えることは、最小権限の原則を支えるものである。

認証トークンとは何ですか?

認証トークンは、本人確認プロセスの一部として使用されます。

認証トークンは、デジタル認証情報または物理デバイスのいずれでも構いません。例えば、ハードウェアのセキュリティキーやソフトウェア生成のワンタイムコードが認証要素として機能します。

認証トークンは、 多要素認証(MFA)でよく使用されます。ユーザーが知っているパスワードだけに頼るのではなく、MFAは物理的なセキュリティトークンや認可デバイスなどユーザーが持つものを要求することもあります。

セッショントークンとは何ですか?

セッショントークンとは、認証されたユーザーがアプリケーションまたはサービスと行っているアクティブなセッションを表すために使用される一意の値です。

ユーザーがログインすると、アプリケーションはセッショントークンを発行できるため、ユーザーはリクエストごとに認証情報を入力する必要がなくなります。

アプリケーションは、ユーザーがログアウトするか、セッションの有効期限が切れるか、トークンが無効になるまで、認証済みセッションに関連付けられたリクエストを認識するためにトークンを使用します。

有効なセッショントークンは認証済みユーザーを表すことができるため、攻撃者がそれを盗むと、元のパスワードを知らなくてもユーザーのセッションを乗っ取ることができる可能性がある。

APIトークンとは何ですか?

APIトークンとは、アプリケーションプログラミングインターフェース(API)へのリクエストを認証または認可するために使用される認証情報です。

アプリケーション、スクリプト、ワークロード、および自動化サービスは、APIトークンを使用してリソースにアクセスしたり、特定のアクションを実行したりすることができ、各リクエストを人が手動で認証する必要がなくなります。

APIトークンは、マシン間の通信が頻繁に行われるクラウド環境やアプリケーション環境において特に重要です。

組織は、APIトークンの権限を制限し、トークンを安全に保管し、必要に応じてトークンをローテーションし、不要になったトークンを失効させるべきです。

JSON Web Token(JWT)とは何ですか?

JSON Web Token(一般的にJWTと呼ばれる)は、当事者間でクレームを安全に送信するために使用されるコンパクトなフォーマットです。

JWTには、ユーザー識別子、トークン発行者、有効期限、承認された役割など、IDとその権限に関する情報を含めることができます。トークンにはデジタル署名が施されているため、受信側システムはその内容が改ざんされていないことを検証できる。

JWTは、Webアプリケーション、API、およびIDシステムで一般的に使用されています。

JWTは自動的に暗号化されるわけではありません。署名付きJWTは、含まれる情報の完全性を保護できますが、別途暗号化が適用されない限り、その内容は依然として読み取り可能である可能性があります。

リフレッシュトークンとは何ですか?

リフレッシュトークンとは、ユーザーが再度認証を行うことなく、新しいアクセストークンを取得するために使用される認証情報です。

アクセストークンは、意図的に有効期限が短く設定されていることが多い。アクセストークンの有効期限が切れた場合、アプリケーションは有効なリフレッシュトークンを認証システムに提示して、代替トークンを要求することができます。

リフレッシュトークンは通常、アクセストークンよりも有効期限が長いため、その保護は特に重要です。攻撃者が有効なリフレッシュトークンを盗んだ場合、そのリフレッシュトークンの有効期限が切れるか、取り消されるまで、新たなアクセストークンを生成し続けることができる可能性があります。

トークンとパスワードの違いは何ですか?

パスワードとトークンはどちらも認証に関与する可能性があるが、それぞれ異なる目的で使用される。

パスワードは通常、ユーザーのみが知っている秘密の情報であり、本人確認のために提示される。トークンは、認証後にシステムによって生成または発行されることが多く、認証されたセッション、ID、または特定の権限セットを表すことができます。

トークンは自動的に期限切れになったり、特定のリソースやアクションに制限されたりすることもあります。

トークンベースのシステムは、繰り返しパスワードを送信する必要を減らすが、セキュリティリスクを完全に排除するわけではない。盗まれたトークンによって、 攻撃者はユーザーのパスワードを入手することなくリソースにアクセスできる可能性がある。

トークンとAPIキーの違いは何ですか?

APIキーとトークンはどちらもAPIへのアクセスを制御するためによく使用されますが、必ずしも同じものではありません。

APIキーは通常、アプリケーションやクライアントを識別または認証するために使用される、比較的静的な認証情報です。アクセストークンは通常、認証または認可プロセスの後に発行され、特定の権限を含む、またはそれを表す場合があります。

トークンは多くの場合、有効期限が設定されており、特定のリソースやアクションに限定して使用することができます。APIキーは、手動で更新または取り消されるまで有効なままです。

具体的な動作は、アプリケーションが認証および認可システムをどのように実装しているかによって異なります。

セキュリティトークンとトークン化の違いは何ですか?

セキュリティトークンとトークン化は、サイバーセキュリティの異なる概念です。

セキュリティトークンは、アイデンティティの認証、セッションの維持、リソースへのアクセスの承認に使われる認証情報です。

トークン化とは、機密情報をトークンと呼ばれる機密性のない代替情報に置き換えるデータ保護技術です。例えば、決済システムでは、クレジットカード番号をトークンに置き換えることで、元の番号がシステム全体に公開されるのを防ぐことができる。

トークン化において、トークンは機密データを表す。トークンベース認証では、トークンは身元、認可、またはアクセス権を表または証明する。 

トークン窃盗とは何ですか?

トークン窃盗とは、攻撃者が正規の認証トークン、アクセストークン、またはセッショントークンを入手し、許可なく使用することを指します。

トークンは既に認証済みの身元を表すことができるため、トークンを盗むと攻撃者が通常のログインプロセスを回避できる可能性がある。場合によっては、これは攻撃者が被害者のパスワードを必要としないことを意味します。

攻撃者は次のような方法でトークンを取得する可能性があります。

  • フィッシング
  • セッションハイジャック
  • クロスサイトスクリプティングの脆弱性
  • 侵害されたアプリケーションやendpoints
  • 公開されたログまたはリポジトリ
  • マルウェア
  • 安全でないトークンストレージ
  • 中間者攻撃
  • Stolen browser sessions

いったん攻撃者が侵入すると、盗んだトークンを使用して、侵害されたIDがアクセスできるアプリケーション、API、クラウド リソース、またはその他のシステムにアクセスする可能性があります。

組織は認証トークンとアクセストークンをどのように安全に保護できるのでしょうか?

組織はトークンを機密性の高い認証情報として扱うべきである。

トークンセキュリティの実践には以下が含まれます:

  • 適切な場合は、短い有効期限を使用してください。
  • 最小権限を使用してトークンの権限を制限する
  • トークンを安全に保存する
  • 機密性の高い通信を暗号化する
  • URL、ログ、ソースコードにトークンを露出させないようにしてください。
  • 必要に応じて認証情報をローテーションおよび取り消す
  • トークンの異常なアクティビティを監視します。
  • 多要素認証を使用する
  • トークンの署名、発行者、対象者、有効期限を検証する
  • アプリケーションとワークロード間のアクセスを制限する

組織は、認証情報がいずれ侵害される可能性があると想定しておくべきである。有効なトークンがアクセスできる範囲を制限することで、盗まれた認証情報による潜在的な影響を軽減できます。

トークンはゼロトラストセキュリティとどのように関係しているのか?

トークンは、システムがアクセス判断を行う際に使用するアイデンティティや認証情報を提供することで、 ゼロトラスト の実装に役立ちます。

However, Zero Trust does not assume that possession of a valid token makes every request trustworthy.

攻撃者は、正規ユーザーのトークンを盗んだり、有効な認証情報を使用してアプリケーションを侵害したりする可能性があります。したがって、セキュリティ管理は継続的にアクセスを評価し、ユーザー、アプリケーション、ワークロードが必要なリソースのみに制限されるべきです。

アイデンティティコントロールと最小権限アクセスおよびセグメンテーションを組み合わせることで、信頼できる認証情報やトークンが侵害された場合の被害を抑えます。

トークンとラテラルムーブメント

侵害されたトークンは、攻撃者が最初に侵入したシステムを超えて活動するのに役立つ可能性がある。

攻撃者がアクセストークンまたはセッショントークンを盗んだ場合、正当なIDに関連付けられた権限の一部を継承してしまう可能性があります。その後、追加のアプリケーション、API、ワークロード、またはクラウド リソースへのアクセスを試みる可能性がある。

このため、IDに過剰な権限が付与されている場合や、ネットワークがリソース間の無制限な通信を許可している場合、トークンの盗難は特に危険となる。

組織は、強力なアイデンティティセキュリティとセグメンテーション、最小権限アクセスを組み合わせることで、このリスクを軽減できます。攻撃者が有効な認証情報を入手した場合でも、通信経路を制限することで、環境内を横方向に移動することをより困難にすることができる。

Illumioが侵害されたトークンの影響を軽減する助け

トークンベース認証は組織がアクセスを制御するのに役立つが、正当な認証情報が盗まれたり悪用されたりする可能性は依然として存在する。

Illumioは、組織がどのワークロード、アプリケーション、リソースが通信できるかを管理できるよう支援することで、さらに保護の層を追加します。

Illumioはハイブリッドおよびマルチクラウド環境間の通信を可視化し、セキュリティチームがアプリケーションの依存関係を理解し、不要な接続を特定するのに役立ちます。

Illumio Segmentationは 、リソース間で最小権限通信を強制できます。攻撃者が盗まれたトークンや個人情報の侵害を利用してワークロードにアクセスする場合、セグメンテーションは他のシステムに到達するための経路を制限するのに役立ちます。

このアプローチは、アイデンティティベースのセキュリティ管理が回避されていても、組織が侵害を抑え、 ラテラルムーブメント を制限するのに役立ちます。

盗まれたトークンがより大きな侵害につながるべきではありません

強力な認証であっても、トークンの盗難や認証情報の漏洩のリスクを完全に排除することはできません。攻撃者がシステムへのアクセス権を取得した場合、システム間を移動するのを阻止することが極めて重要になる。

Illumio Segmentationは、組織が最小権限通信を強制し、不要な接続を制限し、攻撃者が重要なアプリケーションやデータに到達する前に侵害を封じ込めるのに役立ちます。

イルミオのセグメンテーション→を探る

よくある質問

サイバーセキュリティにおけるトークンとは何ですか?

トークンとは、本人確認、認証済みセッションの維持、またはシステムやリソースへのアクセス許可に使用される、デジタルまたは物理的な認証情報のことです。

認証トークンとは何ですか?

認証トークンは、ユーザー、デバイス、またはアプリケーションが、それが主張する通りのものであることを確認するのに役立ちます。認証トークンには、ソフトウェア生成コード、デジタル認証情報、物理的なセキュリティデバイスが含まれます。

アクセストークンとは何ですか?

アクセストークンとは、保護されたリソースへのアクセス権限を示す認証情報です。アプリケーションやAPIは、要求されたアクションを許可する前に、アクセストークンを検証することができます。

トークンはパスワードよりも安全ですか?

トークンは一時的なものであり、適用範囲が限定され、失効させることができるため、パスワードを繰り返し使用することに伴うリスクの一部を軽減できる。しかし、トークンは依然として機密性の高い認証情報であり、盗まれた場合は不正アクセスにつながる可能性がある。

ハッカーは認証トークンを盗むことができるのか?

はい。攻撃者はフィッシング、マルウェア、セッションハイジャック、アプリケーションの脆弱性、または不安全な認証情報ストレージなどの手法を通じてトークンを盗むことができます。盗まれた有効なトークンによって、攻撃者は認証済みのユーザーやアプリケーションになりすますことが可能になります。

セキュリティトークンは期限切れになりますか?

多くのデジタルセキュリティトークンには有効期限があります。有効期限の短いトークンは、盗まれたトークンが悪用される可能性のある期間を短縮できる。ただし、有効期限の動作はトークンと認証システムによって異なります。

無記名トークンとは何ですか?

ベアラートークンとは、一般的にそれを所持し提示した者にアクセス権を与えるアクセストークンの一種である。所有しているだけでアクセス権が得られる場合があるため、無記名トークンは不正な開示から保護されなければならない。

トークンベース認証とは何ですか?

トークンベース認証とは、システムが本人確認を行った後にトークンを発行する認証方式である。その後、トークンを使用することで、ユーザーの主要な認証情報を繰り返し送信する代わりに、以降のリクエストでトークンを提示できるようになります。

トークンとトークン化の違いは何ですか?

セキュリティトークンは認証、認可、またはアクセスを表します。トークン化とは、機密情報を機密性のないトークンに置き換えることで、元のデータの漏洩リスクを低減するデータ保護技術です。

‍

違反を想定します。
影響を最小限に抑えます。
レジリエンスを高めます。

予期しないことがいつでも発生する可能性があるという前提から始めると、次の動作が促進されます