2016-05-11 8 views
0

x11認可がどのくらい正確に機能しているのか、特にMIT Magic Cookiesの正確な説明については、深い答えに興味があります。x11認証はどのように機能しますか? (MIT Magic Cookie)

実際には、ログインしているユーザー以外の他のすべてのユーザーにはアクセスを禁止し、クライアントアプリケーションがXdisplayサーバーに接続できるかどうかを制御する制御メカニズムもあります。

私はまた、5つの標準アクセス制御メカニズムがあることを発見し、彼らは3つの主な種類に分類することができます。

。ホストベースのアクセス

クッキーに基づくアクセス

ユーザーに基づくアクセス

しかし、この時点から、私は実際にこれらの仕組みがどのように働いているのか、どのようにして承認を行うのか正確に理解していません。

+1

この5月はあなたにhttps://www.x.org/releases/current/doc/man/man7/Xsecurity.7に役立ちます。 xhtml –

答えて

5

まず、〜/ .Xauthorityファイルがマシンにあります。 (通常はGUIを搭載したマシン上で)このファイルのアクセス権が間違っていると、ログイン画面のループが発生する可能性があることに注意してください。あなたが言及したように

は5つのメカニズムがあります。

  1. ホストアクセス:サーバがホストアクセスリストを(ネットワークアドレスがこのリストに存在する場合、接続が許可されている)があります。リストはxhostコマンドを使用して管理されます。注:これは複数の接続を同時に許可しません。私は実際にそれを使用していないので、私はこの方法についてもっと知りません。 〜/ .Xauthorityに(またはどこXAUTHORITYのENVVARポイントまで)に格納する、キーの128ビットの生成( "クッキー"):しかし、あなたはman Xserver付与ACCESSセクション:)

  2. MIT-MAGIC-COOKIE-1を参照してくださいすることができます。クライアントはサーバに平文を送ります!サーバーはこの「Cookie」のコピーを持っているかどうかをチェックし、そうであれば接続が許可されます。キーはDMXによって生成されます。

  3. XDM-authorization-1:ここでも、〜/ .Xauthorityに格納されたキーがあります。この鍵は、56ビットのDES暗号化キーと、オーセンティケータとして使用される64ビットのランダムデータから構成されています。 サーバに接続すると、クライアントは192ビットのデータを生成します.ctimeと48ビット識別子(tcp/ip:ip address + port、ローカル接続の場合はPID、32ビット固有ID)を生成します。 DESキーを使用してデータを暗号化し、それをサーバーに送信します。サーバーはユーザーを復号化し、64ビット認証者と追加データを検証することによってユーザーを検証します。

  4. sun-des-1:非対称暗号化を使用しています。サーバーには、要求を復号化するために使用する公開鍵があります。 「ホストリスト」も使用します。これはネットワークにいくつかの追加メカニズムを必要とし、私はこのようなネットワークをもう一度持たないので、私はこのメカニズムをよく理解していません。

  5. サーバが解釈する:これは多くの方法で実装できますが、一般にクライアントは2文字列をサーバに送信します。 2番目の文字列はユーザ​​エントリ(usernameなど)で、最初の文字列はエントリタイプ(localuserなど)です。

注:第2、第3および第4のメカニズムは、したがって、〜/ .Xauthorityを内側に鍵を格納、このファイルへのアクセス権を持っている人、「あなた」のふりをサーバーに接続することができます。

xauthコマンドはXauthorityファイルを解析して興味深い値を抽出できます。

$ xauth 
Using authority file /home/ME/.Xauthority 
xauth> list   
ME/unix:10 MIT-MAGIC-COOKIE-1 5e443c146376d0bdadfd712bfe7654be 
ME/unix:0 MIT-MAGIC-COOKIE-1 c48ddba801384dce3aaaa9d442931ea12 
xauth> info 
Authority file:  /home/ME/.Xauthority 
File new:    no 
File locked:   no 
Number of entries: 2 
Changes honored:  yes 
Changes made:   no 
Current input:  (stdin):2 
xauth> 
  • データが変更された....
+0

私がすでに言及したように、MIT Magic Cookieのためのより深い検索/回答を探しています。ありがとう! – hedgehog

+0

「詳細」とはどういう意味ですか?私はあなたにプロトコルを教えました...あなたが実装を求めるなら、あなたは間違っています。なぜなら、すべてのサーバがそれを別々に実装することができ、答えがないからです...検索はありません。名前(DNSを使用) 「検索/回答」はどういう意味ですか? –

+0

私は、それがどのように機能するかの理論だけではなく、それがどのように機能するかについての良い説明を見つけようとしていることを意味しています....私もgoogle .... MITのマジッククッキーがどのように機能するかについて説明した答え...具体的には何か、それ以外はどのように説明するか:) – hedgehog