RADIUSを使用したIdentity PSK
このドキュメントは原文を 2025年07月23日付けで翻訳したものです。
最新の情報は原文をご確認ください。
概要
エンタープライズ無線ネットワークを構築する際、クライアントがネットワークに接続する際のセキュリティを高めるために、集中認証サーバーによるWPA2-Enterprise認証を構成するのが一般的です。同時に、認可ユーザーの管理も容易かつスケーラブルに行えます。しかし、この認証方法にもIT管理者が直面する課題があります。ユーザー名とパスワードによる追加のセキュリティは有効ですが、ユーザーにとっては別の認証情報を覚えることが面倒であり、プライベートPSK(事前共有キー)の方が適している場合もあります。また、一部のデバイスはWPA2-Enterprise認証に対応していないため、同じネットワークに接続するために追加のPSK用SSIDを用意する必要があり、無線のオーバーヘッドが増えたり、セキュリティが低下したりすることがあります。Identity PSKとRADIUS認証を組み合わせることで、クライアントには標準のWPA2 PSK SSIDとして動作しつつ、クライアントのMACアドレスを基に中央サーバーで認証し、特定のクライアントやグループごとに異なるPSKを設定できるようになります。
この記事では、ダッシュボード、FreeRADIUS、Cisco ISE、Microsoft NPSでIdentity PSKを設定する手順を説明します。
この機能はMR 26.5以上のファームウェアでのみサポートされています。Microsoft NPSを使用する場合はMR 30.1以上が必要です。
この機能は、MX コンセントレーターにトンネル転送するように構成されたSSIDでは動作しません。
RADIUS認証を使用したIPSKの有効化と構成
Easy PSK
注意: 本記事ではRADIUSサーバーの構成方法は説明していません。この機能は、その仕組みおよびAAA/RADIUSサーバー側の設定方法を理解している特定の顧客やパートナー向けのものです。詳細はCisco Easy PSKと非常に似ています。
Easy PSKの有効化には、Cisco Merakiサポートまでご連絡ください。
MR 30.X以前は、RADIUS認証を用いたIdentity PSK のソリューションは、RADIUSサーバーにクライアントのMACアドレスを照会してパスワードを取得する方式のみでした。
この方法の欠点は、各クライアントのMACアドレスを事前にRADIUSサーバーに登録しておく必要があり、手間がかかる点です。また、多くの無線クライアントはプライバシー保護のためにMACアドレスのランダム化を実装しており、さらに複雑になります。
クライアントを認証する明白な方法としては、PSKをクライアントからRADIUSサーバーに渡すことが考えられます。しかし、サプリカント(無線クライアント)と認証サーバー(RADIUSサーバー)の両方がPSKを知っていても、4-way EAPOLハンドシェイク中にPSK自体が空中で交換されることはありません。したがって、認証目的でRADIUSサーバーにPSKを渡すことはできません。
MR 30.Xファームウェアでは、クライアントとAPの間でハンドシェイク中に交換されるEAPOLパラメータをRADIUSサーバーに渡す新しい認証方式が導入されました。
参考までに、一般的な鍵階層は以下の通りです:
-
MSK(Master Session Key)は、802.1X/EAP交換またはPSKから直接生成される最初の鍵です。
-
PMK(Pairwise Master Key)はMSKから導出され、4-wayハンドシェイク時のPTK生成に使用されます。
-
PTK(Pairwise Transient Key)は、クライアントとアクセスポイント間のすべてのユニキャストトラフィックを暗号化し、4-wayハンドシェイク時に生成されます。
-
GMK(Group Master Key)はMSKから導出され、4-wayハンドシェイク時のGTK生成に使用されます。
-
GTK(Group Temporal Key)は、アクセスポイントと複数のクライアントデバイス間のすべてのブロードキャストおよびマルチキャストトラフィックを暗号化するために使用され、4-wayハンドシェイク時に生成されます。
以下の図を参照してください:
クライアントとアクセスポイント間でOpen System Authenticationが完了した後(メッセージ1~4)、APはEAPOL-keyメッセージ1(ANonceを含む、メッセージ5)を送信してEAPOL交換を開始します。
メッセージ5を受信した後、クライアントは自分のPMKとMACアドレスを把握しています。また、APに接続されているため、APのMACアドレスと受信したANonceも分かります。この時点でクライアントはPTKを生成し、MICを計算できます。
クライアントはEAPOL-keyメッセージ2(SNonceと計算したMICを含む、メッセージ6)をAPに送信します。
もしAPがMSK/PMKを知っていれば、PTKも計算できますが、APはMSK/PMKを知らないため、RADIUS-REQUESTメッセージ(メッセージ7)をRADIUSサーバーに送信します。このメッセージには以下のMerakiベンダー固有属性が含まれます。
ATTRIBUTE Meraki-IPSK 5 tlv ATTRIBUTE Meraki-IPSK-Anonce 5.1 octets ATTRIBUTE Meraki-IPSK-EAPOL 5.2 octets ATTRIBUTE Meraki-IPSK-BSSID 5.3 octets ATTRIBUTE Meraki-IPSK-AP-MAC 5.4 octets ATTRIBUTE Meraki-IPSK-SSID 5.5 string
RADIUSサーバーにエクスポートするために、次のMerakiベンダー固有RADIUS属性を使用してください:
# -*- text -*- # # Official Meraki RADIUS dictionary file. # # Version 2 # VENDOR Meraki 29671 BEGIN-VENDOR Meraki ATTRIBUTE Meraki-Device-Name 1 string ATTRIBUTE Meraki-Network-Name 2 string ATTRIBUTE Meraki-Ap-Name 3 string ATTRIBUTE Meraki-Ap-Tags 4 string ATTRIBUTE Meraki-IPSK 5 tlv ATTRIBUTE Meraki-IPSK-Anonce 5.1 octets ATTRIBUTE Meraki-IPSK-EAPOL 5.2 octets ATTRIBUTE Meraki-IPSK-BSSID 5.3 octets ATTRIBUTE Meraki-IPSK-AP-MAC 5.4 octets ATTRIBUTE Meraki-IPSK-SSID 5.5 string END-VENDOR Meraki
ATTRIBUTE Meraki-IPSK-EAPOLにはクライアントが計算したANonceとMICを含むEAPOLメッセージ2全体が含まれます。RADIUSサーバーはこの情報を利用して、登録済みiPSKの中から総当たり攻撃(辞書攻撃)を実行します。
MICが一致すれば、RADIUSサーバーはTunnel-Password属性(PSK/パスワード)を含むACCESS-ACCEPT(メッセージ8)でAPに応答します。
注意: 通常、RADIUSはEAPOL属性に基づき一致を見つけるのに時間がかかるため、EAPOL-keyメッセージ2の後にEAPOLハンドシェイクがタイムアウトすることがありますが、これは想定された挙動です。APがクライアントのMACに対するPMKを受信すると、EAPOLハンドシェイクを再開し、今回は正常に完了します。
注意: APとRADIUSサーバー間で追加のメッセージ(例:CoA)が交換されることがあります。
メッセージ8受信後、APはEAPOLハンドシェイク(メッセージ9~12)を再開し、PTKを導出しEAPOLハンドシェイクが完了します。
設定方法
-
ワイヤレス > 設定 > アクセス制御 に移動します。
-
RADIUSを使用したIdentity PSK および Easy PSKを有効化したいSSIDを有効にします。
- オプションで、WPNのチェックボックスをオンにすると、APがRADIUS ACCESS ACCEPTでudn_idを受け入れることができます。
MACベース
接続しようとするクライアントのMACアドレスとPSKがRADIUSサーバーに設定されている場合、そのクライアントだけがSSIDに接続できます。ダッシュボードでの設定手順は以下の通りです:
-
ダッシュボードでワイヤレス > 設定 > アクセス制御 へ移動します。
-
SSIDの項目で、設定したいSSIDをドロップダウンから選択します。
-
セキュリティセクションからRADIUSを使用したIdentity PSKを選択します。
-
Splash ページでなし(ダイレクトアクセス)を選択します。
-
RADIUS でサーバー追加をクリックします。RADIUSサーバーのホストIPまたはFQDN、認証ポート、RADIUS共有シークレット(APがRADIUSクライアントとして使用するもの)を入力します。
-
デバイス毎にことなるPSK をもたせた SSIDは、ブリッジモードSSIDを使用することでワイヤレスデバイスを異なるVLANにブリッジできます。デフォルトのSSID VLANは、クライアント IP と VLANセクションでVLANタグ付けを有効にして設定します。RADIUS 応答による上書きを VLANタグを上書きするに設定することで、RADIUS応答でデフォルトVLANタグを上書きできます。RADIUS acceptメッセージに異なるVLANタグが含まれていると、そのタグでSSIDのデフォルトVLANが上書きされます。RADIUSによるVLAN上書きの詳細は、VLAN Taggingの記事を参照してください。
- 保存をクリックします。
一部のRADIUSサーバーでは、共有シークレットに特殊文字を使用できません。これにより認証が失敗する場合があります。
認証に使用するRADIUSサーバーはネットワークによって異なります。Tunnel-Password属性は、RADIUSサーバー上でMACアドレスとPSKを紐づけるためのフィールドです。PSKがクライアントのMACアドレスに対応するRADIUSサーバーのエントリと一致すれば、ワイヤレスクライアントは認証され、無線ネットワークに接続できます。FreeRadiusおよびCisco ISEでの設定例は以下を参照してください。
RADIUS認証を用いたIPSKの構成
FreeRADIUSの構成:
以下の設定例はFreeRADIUS 3.0.21を使用しています。使用するバージョンによって手順が異なる場合があるため、FreeRADIUSのドキュメントを参照してください。
-
/etc/freeradius/3.0/に移動します。
-
clients.conf ファイルでAPのIPアドレスまたはサブネットとシークレットを設定します。これはダッシュボードのRADIUS Serversで入力したシークレットと同じものです。
-
クライアント用のMACアドレスとプリシェアードキーを追加するには、usersファイルに移動し、以下の形式でMACアドレスとパスワードを入力します。MACアドレスのユーザー名やPSKにはコロンを使用しないでください。Tunnel-Passwordがユーザー名の下にタブでインデントされていることを確認してください。そうしないとFreeRADIUSの起動に失敗する場合があります。
<MACアドレス> Cleartext-password := <MACアドレス>
Tunnel-password = <クライアントデバイスで入力したPSK>
-
usersファイルに明示的に記載されていないクライアント用のデフォルトのプリシェアードキーを設定するには:
DEFAULT Auth-Type := Accept
Tunnel-Password = <任意のPSK>
-
この設定を保存すると、クライアントデバイスをPSKで認証できるようになります。
Cisco ISEの構成:
下図は、IPSKでCisco ISEサーバーに対して認証を行う際のトラフィックフローの概要です。
- クライアントがSSIDに認証・接続します(詳細な手順は802.11 Association Process Explainedを参照)。
- 認証・接続時、MRがRADIUS MABリクエストをISEに送信します。
- ISEがルールセットでMAB認証を処理します。
- ISEがTunnel-Password属性(PSK)で応答します。
- APとクライアントが4-wayハンドシェイクを完了します。
以下のセクションはCisco ISE 2.4に焦点を当てています。ISEのバージョンによって設定が異なる場合があります。
ネットワークデバイスの追加とグループへの割り当て
-
Administration > Network Devicesへ移動します。
-
Addをクリックして新しいネットワークデバイスを追加します。
-
以下のフィールドを入力します。
IP AddressフィールドにはAPの管理IPサブネットを設定してください。必ずLocationも設定し、認証が正しいポリシーセットにマッチするようにします。
ポリシーセットおよびデフォルトルールの構成
-
Policy > Policy Setsへ移動します。
-
新しいポリシーセットを作成し、Device > Location条件を使い、MRデバイスタイプに適用したロケーションを選択します。続けて別の条件でRadius: Called-Station-ID ENDS_WITH {Your SSID Name}を設定します。
注意: デフォルトのNetwork AccessポリシーではPAPが無効になっています。Policy Results > Allowed Protocols > Default Network AccessでPAP ASCIIを許可するチェックボックスをオンにしてください。 -
右側の矢印をクリックしてそのポリシーセットに入り、Authenticationセクションを展開し、デフォルトルールを以下のように変更します。
Internal EndpointsおよびIf User not found: Continueを選択してください。これによりISEに未登録のデバイスも認可ルールを通して処理できます。 -
Authorizationルールを展開し、デフォルトルールを選択します。
-
Deny accessのチェックを外します。
-
+アイコンをクリックして新しいプロファイルを作成します。これがデフォルトのPSKとなります。
PSK応答では、MerakiはTunnel-Password属性とその値を使用し、RADIUSサーバーとネットワークアクセスデバイス間で暗号化されて送信されます。 -
デフォルトルールに作成したデフォルトPSK認可プロファイルを選択し、saveをクリックします。
-
PSK管理用のEndpoint Identity Group作成
-
Work Centers > Guest Access > Identity Groupsへ移動します。
-
Addをクリックし新しいグループを追加します。
-
このグループに「PSK_Devices」と名前を付けます。
- さらに「PSK1」というグループを作成し、「PSK_Devices」の下にネストします。
各PSKの認可プロファイル作成とグループポリシー割り当て
-
Policy > Policy Elements > Results > Authorization > Authorization Profilesへ移動します。
-
追加をクリックし、最低1つのPSK認可プロファイルを作成します。この例ではPSK1を使用し、'PSK1'がダッシュボードグループポリシーとしてFilter-IDでクライアントに適用されます。
PSK割り当て用の認可ルール作成
-
Policy > Policy Sets > {前に作成したPolicy set}へ移動します。
-
認可ルールを展開します。
-
Insert new row aboveでデフォルトルールの上に新しいルールを追加します。
-
このルールに'PSK1'という名前を付け、以下の条件設定を使用します:
-
次に、作成したPSK1認可プロファイルをこのルールに割り当て、Saveをクリックします。
PSK1グループへのデバイス追加
本ガイドでは1つのMACアドレスを追加しますが、「インポート」機能を使えば多数のデバイスを一括で追加できます。
-
Context Visibility > Endpointsへ移動します。
-
デバイスリスト上部の+記号をクリックし、テストクライアントのMACアドレスを入力します。
Microsoft NPSの構成
注意: IPSK with NPSにはMR 30.1以上のファームウェアが必要です。
Microsoft NPSサーバーを使用したRADIUS認証のIPSKは、以下の条件を満たす場合にサポートされます:
- Access-AcceptパケットにTunnel-Password RADIUS標準属性が含まれていること。
- Ciscoベンダー固有属性pskおよびpsk-mode=asciiがNPSサーバーのAccess-Acceptに含まれていること。
まず、クライアントMACアドレスをADサーバー上のユーザーグループに追加してください。NPSサーバーでポリシーを設定するには、
1. 既存のポリシーを開くか新規作成します。ポリシーのプロパティのOverviewタブは次のようになります:
2. Conditionsタブで、IPSK認証を行うデバイスのユーザーグループをADサーバーで選択します。
3. Constraintsタブで、すべての認証方式のチェックを外し、PAPのみ有効にします。
4. Settingsタブで、Tunnel-Passwordの標準RADIUS属性を追加します。ここでの値は実際には使用されませんが、必ず含める必要があります。含まれていない場合、MRがNPSサーバーからの応答を拒否します。
5. Vendor Specificセクションで、Cisco AVPを追加し、pskとpsk-mode=asciiの両方を構成します。
psk値はサプリカント側で入力するPSKです。上記構成でのクライアントのAccess-Acceptパケットは以下のようになります。Ciscoベンダー固有AVPのpsk-modeとpsk、および標準のTunnel-PasswordAVPが含まれているのが分かります。Ciscoのpsk AVPはPSKが平文で含まれます。
ダッシュボードグループポリシーの適用
-
ネットワーク全体 > 設定 > グループポリシーへ移動します。
-
'PSK1'という新しいグループポリシーを作成します。
必要に応じて以下を含めて設定できます:-
ファイアウォールポリシー
-
トラフィックシェーピング
-
Umbrellaグループポリシー
-
-
設定が完了したら、変更を保存をクリックします。
PSKとグループポリシーの検証
-
テストクライアントでテスト用SSIDに接続します。
-
Cisco ISEのOperation > RADIUS > Live Logsでログを確認します。
-
ダッシュボードのネットワーク全体 > 監視 > クライアントでテストクライアントを選択し、適切にポリシーが適用されているか確認します。