ケルベロス認証とは? わかりやすく解説

Weblio 辞書 > 同じ種類の言葉 > 情報 > 通信技術 > 認証 > ケルベロス認証の意味・解説 

ケルベロス‐にんしょう【ケルベロス認証】

読み方:けるべろすにんしょう

ケルベロス


ケルベロス認証

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/07/10 05:13 UTC 版)

Kerberos
最新版
krb5-1.21.2[1] / 2023年8月14日 (10か月前) (2023-08-14)
プログラミング
言語
C
対応OS クロスプラットフォーム
公式サイト web.mit.edu/kerberos/
テンプレートを表示

ケルベロス認証(ケルベロスにんしょう、Kerberos - )は、ネットワーク認証方式の一つ[2]シングルサインオンシステムを提供する[2]。ケルベロス認証は1989年から使われている[2]

ケルベロス認証は、X Window Systemの開発で知られるマサチューセッツ工科大学 (MIT) のAthenaプロジェクトによって開発され、現在もMITで保守されている。その仕様は RFC 4120 で標準化されている。

マイクロソフトActive Directoryでの推奨の認証機構となっている[2]。また、macOSでは、Heimdalで実装されている[3]

名称はギリシャ神話おける地獄の番犬ケルベロスに由来し[4]、日本ではギリシア語読みにならって「ケルベロス」とするが、英語では[ˈkərbərɒs](「カーバラス」に近い発音[5])となる。

プロトコル概要

構造

Kerberos サーバーを運用したい組織は、独自の 「レルム」を構築する。レルムに属するマシンやサービスはプリンシパルと呼ばれる。レルムにはKDC(key distribution center、直訳:鍵配送センター)と呼ばれる権限者が存在する。KDCはAS(Authentication Server、直訳:認証サーバ)というサーバとTGS(Ticket Granting Server、意訳:チケット発行許諾サーバ)というサーバがある。

手順

ユーザがレルムにログインする際には、まず自身の持つクライアント端末からID/パスワードなどで認証を受け、認証が受理されたらクライアント端末はこのパスワードを利用して秘密鍵Kを生成する。クライアントはユーザのIDを平文でASに送り、ASはユーザのIDを自身のデータベースに問い合わせる事でユーザの秘密鍵Kを得る。

次にASはTGT(ticket-granting ticket、意訳:チケット発行許諾チケット)と、クライアント/TGSセッション鍵とをKで共通鍵暗号化してクライアント端末とTGSに送る。ユーザがTGSから「チケット」というデータを受け取るための大元となるチケットがTGTであり、クライアント/TGSセッション鍵はTGSからチケットを受け取る際に用いるセッション鍵である。なお、共通鍵暗号としては、バージョン4においては56bitDES暗号を用いる。

その後ユーザがレルム内にあるプリンシパルAが提供しているサービスを利用したくなったら、ユーザのクライアント端末はTGTをAのサービスを使いたい旨とともにTGSに送る。この際の通信はクライアント/TGSセッション鍵で共通鍵暗号化しておく。TGSはTGTの正当性を確認し、チケットという、Aのサービスを利用する許可証をクライアント端末に送り、さらにAとの通信で用いるセッション鍵もクライアント端末に送る。

チケットに記載された有効期限内にチケットを(セッション鍵で暗号化して)プリンシパルAに送れば、クライアント端末はAの提供するサービスを利用できる。

特徴

以上のように、ユーザがID/パスワードを使うのは最初にASから認証を受ける時だけであり、とても少ない。(以後はTGTを使ってTGSから認証を受ける。)そうすることでID/パスワードの漏洩を防いでいる。

また、TGTを直接プリンシパルAに送ってしまうと、AがTGTを使ってユーザになりすまして別のプリンシパルのサービスを利用できてしまうため、クライアント端末がTGTを直接プリンシパルAに送信する事はしない。その代わりに、TGSにTGTを送ることでAへのアクセスのみに利用できるチケットを発行してもらい、このチケットでAの認証を受け、サービスを利用する。

歴史

1980年代マサチューセッツ工科大学 (MIT) にて研究プロジェクトとして始まった[6]。MITのAthenaプロジェクトでは開始当初からクライアントサーバモデルを想定して設計されており、そのネットワーク認証のためにKerberosプロトコルが開発された[7][8]。この認証システムは、経路上での盗聴を防ぐために、認証サーバとその他のコンピュータとの間の認証のやりとりを暗号化している[7]

Kerberosバージョン3まではテストのために開発され、MIT内部でのみ使われた[9]。そして、1989年1月24日に初めてMIT外部にKerberosバージョン4として公開される[9]。Kerberosはいくつかのベンダーに採用されることとなった[9]

Kerberosバージョン4はDESを用いていたため、アメリカ政府の暗号化ソフトウェアに対する輸出規制に引っかかり、アメリカ国外の組織はMITから合法的にソフトウェアをダウンロードすることはできなかった[10]。そのため、MITの開発チームは、Kerberosのソフトウェアから暗号化のコードをすべて取り除き、骨格だけにした「Bones」を作成した[11]オーストラリアのエリック・ヤングがこのBonesに独自のDES実装を追加した「eBones」を開発したことで、アメリカ国外でも合法的にKerberosバージョン4を使うことができるようになった[11]

その後、Kerberosバージョン4に機能を追加し、セキュリティの強化を行ったバージョン5が開発される[11]。Kerberosバージョン5のプロトコルは RFC 1510 で文書化され、 RFC 4120 に置き換えられた[11]

関連項目

脚注

出典

  1. ^ http://web.mit.edu/kerberos/krb5-1.21/
  2. ^ a b c d Jason Garman 著、桑村潤、我妻佳子 訳「はじめに」『Kerberos』(初版第1刷)オライリー・ジャパン、2004年5月28日、7頁。ISBN 4-87311-186-2 
  3. ^ Source Browser”. opensource.apple.com. 2019年8月12日閲覧。
  4. ^ Jason Garman 著、桑村潤、我妻佳子 訳「第1章 イントロダクション」『Kerberos』(初版第1刷)オライリー・ジャパン、2004年5月28日、2頁。ISBN 4-87311-186-2 
  5. ^ e-words IT用語辞典 Kerberos 【 ケルベロス 】
  6. ^ Jason Garman 著、桑村潤、我妻佳子 訳「第1章 イントロダクション」『Kerberos』(初版第1刷)オライリー・ジャパン、2004年5月28日、3頁。ISBN 4-87311-186-2 
  7. ^ a b Jason Garman 著、桑村潤、我妻佳子 訳「第1章 イントロダクション」『Kerberos』(初版第1刷)オライリー・ジャパン、2004年5月28日、5頁。ISBN 4-87311-186-2 
  8. ^ 編集人 小山 透『コンピュータ・サイエンス誌 bit』共立出版、1990年7月1日、66頁。 
  9. ^ a b c Jason Garman 著、桑村潤、我妻佳子 訳「第1章 イントロダクション」『Kerberos』(初版第1刷)オライリー・ジャパン、2004年5月28日、7頁。ISBN 4-87311-186-2 
  10. ^ Jason Garman 著、桑村潤、我妻佳子 訳「第1章 イントロダクション」『Kerberos』(初版第1刷)オライリー・ジャパン、2004年5月28日、7-8頁。ISBN 4-87311-186-2 
  11. ^ a b c d Jason Garman 著、桑村潤、我妻佳子 訳「第1章 イントロダクション」『Kerberos』(初版第1刷)オライリー・ジャパン、2004年5月28日、8頁。ISBN 4-87311-186-2 

外部リンク


ケルベロス認証

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/12/23 08:33 UTC 版)

libvirt」の記事における「ケルベロス認証」の解説

TCPソケット平文のまま用いたlibvirtdは、標準SASL認証機構として用いる。 SASL機構は、標準では、Digest-MD5を用いる。これは、基本的なユーザ名とパスワード形式認証である。 ケルベロス (Kerberos) 認証シングルサインオン有効にするには、libvirtSASL設定ファイル変更する必要がある。そのファイルは、/etc/sasl2/libvirt.confである。そして、mech_listパラメータは、digest-md5の代わりにgssapiに変更する必要がある。 もし、UNIXドメインソケットTLSソケットに対してSASL有効になっている場合Kerberosは、SASLを使うことができる。DIGEST-MD5のように、ケルベロス認証機構は、セッションデータ暗号化機構提供するディストリビューションによっては、SASL-Kerberosプラグインデフォルトインストールしない。この場合、cyrus-sasl-gssapiなどのパッケージインストールすることが必要になる。 ケルベロス認証プラグインインストールされているかどうか調べるためには、pluginviewerを実行して、gssapiがリストされるか確認する必要がある。 # pluginviewer ...snip... Plugin "gssapiv2" [loaded], API version: 4 SASL mechanism: GSSAPI, best SSF: 56 security flags: NO_ANONYMOUS|NO_PLAINTEXT|NO_ACTIVE|PASS_CREDENTIALS|MUTUAL_AUTH features: WANT_CLIENT_FIRST|PROXY_AUTHENTICATION|NEED_SERVER_FQDN 次に、ケルベロス認証のレルム管理者は、プリンシプルlibvirtサーバ用に発行する必要があるプリンシプルは、ホスト毎に、libvirtdに対応して一つ割り当てる必要がある。 そして、プリンシプルは、libvirt/full.hostname@KERBEROS.REALMと名づける必要がある。 この作業は、通常kadmin.localコマンドをケルベロス認証サーバ実行して行われるしかしながらケルベロス認証サーバによっては、サービスプリンシプルを設定するために他の方法必要な場合もある。 一度生成されると、プリンシプルは、キータブとしてエクスポートされる。そしてlibvirtd向けには、/etc/libvirt/krb5.tabに設定される。 # kadmin.local kadmin.local: add_principal libvirt/foo.example.com Enter password for principal "libvirt/foo.example.com@EXAMPLE.COM": Re-enter password for principal "libvirt/foo.example.com@EXAMPLE.COM": Principal "libvirt/foo.example.com@EXAMPLE.COM" created. kadmin.local: ktadd -k /root/libvirt-foo-example.tab libvirt/foo.example.com@EXAMPLE.COM Entry for principal libvirt/foo.example.com@EXAMPLE.COM with kvno 4, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/root/libvirt-foo-example.tab. Entry for principal libvirt/foo.example.com@EXAMPLE.COM with kvno 4, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/root/libvirt-foo-example.tab. Entry for principal libvirt/foo.example.com@EXAMPLE.COM with kvno 4, encryption type DES with HMAC/sha1 added to keytab WRFILE:/root/libvirt-foo-example.tab. Entry for principal libvirt/foo.example.com@EXAMPLE.COM with kvno 4, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/root/libvirt-foo-example.tab. kadmin.local: quit # scp /root/libvirt-foo-example.tab root@foo.example.com:/etc/libvirt/krb5.tab # rm /root/libvirt-foo-example.tab ケルベロス認証するlibvirt接続したアプリケーションがユーザプリンシプルを取得するためにkinitを実行する要はほとんどないPAMがケルベロス認証向けに設定されている場合、デスクトップセッションにログインした時点自動的に取得しているためである。

※この「ケルベロス認証」の解説は、「libvirt」の解説の一部です。
「ケルベロス認証」を含む「libvirt」の記事については、「libvirt」の概要を参照ください。

ウィキペディア小見出し辞書の「ケルベロス認証」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



ケルベロス認証と同じ種類の言葉


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ケルベロス認証」の関連用語

ケルベロス認証のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ケルベロス認証のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【Kerberos認証】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのケルベロス認証 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのlibvirt (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS