2016-09-06 13 views
0

私は、RADIUS認証要求に対する応答に要求とともに送信された属性が含まれているRADIUSサーバ(ソースコードはありません)を使用しています。RADIUS応答パケットに要求パケットで送信された属性が含まれていますか。

しかし、私はtinyradiusのソースコードを見ていて、応答パケットを生成している間はすべての属性を要求パケットからコピーしていないようです。それは属性番号33(STATE属性)が存在する場合にのみそれをコピーします。

RadiusClientsはいずれの応答も受け入れているようです。正しいことは何ですか?

答えて

3

いいえ、RADIUS応答にすべての要求属性が含まれている必要はありません。

州は特別で、複数のリクエスト/レスポンスのリンクを一緒にするために使用できます。

Stateの2つの主な使用例は、パスワードとOTPコードが2回以上送信されるOTP認証、または複数回にわたって再度発生するEAP認証です。

NAS      RADIUS 
---      ------ 
# Password round 
Access-Request  -> 
        <- Access-Challenge 
         [Generates random state 0x01] 
# OTP round 
Access-Request 
[Copies state 0x01] -> 
         Access-Accept/Reject 

状態属性がないと、アクセス挑戦とそれに続くアクセス要求をリンクする方法がありません。

注:状態とは何の関係もなく、パケットをつなぎ合わせるために使用されています。 FreeRADIUSでは、「セッション状態」属性のリストを維持しています。これらの属性は、マルチラウンド認証の試行のすべてのラウンドでポリシーで使用できます。

+0

ありがとうございます。私は誤解されたように見える - それは属性ではない。しかし、最初の20バイトを超えて(すなわち、オーセンティケータを超えて)、12 12が続き、Login Successfulが続きます。これらの2 12sが何を表しているかは、ログインの成功文字列である必要があります。 – user93353

+0

最初の0x12は属性タイプの返信メッセージで、2番目の0x12は属性18の長さです(長さには属性の長​​さが含まれていると仮定します)タイプフィールドと長さフィールドと値そのもの) – user93353

+0

うん、まさにそうです:)最大文字列の長さは実際には253バイトです。タイプと長さが含まれています。 –

関連する問題