Kerberosでは、認証サーバー(AS)とチケット許可サーバー(TGS)は通常、同じサーバーに実装されます。このマシンは、鍵配布センター(KDC)と呼ばれます。
確かに、これらのサービスを同じ物理マシンに実装することは理にかなっています。中小規模のネットワークでは、これら2つのサービスを分離するのはやり過ぎです。さらに、私は比較的信頼できる情報源を持っています。
TGSとASは同じDBにアクセスする必要がある=>異なるマシンにTGSとASを実装することはあまり意味がありません
しかし、どのデータベースを2つの間で共有する必要があるのかわかりません。
これは私の考えです。ASとTGSをどのように分離するのですか。共有データベースはありません。
- ASとTGSは分離されているため、マスターシークレットは異なります
- ASには、すべてのユーザーのデータベースに、それぞれのマスターシークレット(ユーザーがサインインするときに使用され、セッションキーを暗号化する)と、TGSのマスターシークレット(要求されたTGTを暗号化する)があります。
- TGSにはデータベースがあり、どのユーザーがどのサービス(ACL、失効リストなど)を使用できるかを決定できます。また、すべてのサービスとそれぞれのマスターシークレット(チケットを暗号化する)を持つデータベースを決定できます。
ユーザーがサービスを使用する場合(簡略化):
- ASで認証する
- TGSマスターシークレットで暗号化されたチケット許可チケット(TGT)と、ユーザーのマスターシークレットで暗号化されたセッションキーを取得します。
- TGTでTGSに連絡する
- サービスのマスターシークレットで暗号化されたチケットを取得する
- チケットでサービスに連絡する
何かが足りないのでしょうか、それともASとTGSの分離にまったく問題はありませんか?
1
Kerberosの内部に深く入り込んでいるようです。スケーリングの通常の方法は、KDCを追加するだけなので、何を達成しようとしているのかよくわかりません。
—
マイケルハンプトン
右-あなたが実際に直面している問題、あなたが解決しようとしていること?
—
mfinni 2014
具体的な問題を解決するつもりはありません。私はKerberosの内部(試験用)を理解しようとしていますが、現時点では実際には使用したくありません。質問は純粋に理論的なものです。私が間違ったことを理解したかどうか、または私の質問の引用が完全に正しくないかどうかを知りたいだけです。
—
ミッシュ2014