2013年1月24日木曜日

時代は認証から認可へ? - XACML3.0 が OASIS 標準として承認

なんだか色々なところで混同されたり誤用されている、「認証」と「認可」というキーワードですが、ちょっと整理をしておきましょう。

  • 認証(Authentication)
    • 要するに本人確認
    • @IT/セキュリティ用語辞典より
      • ネットワークやサーバへ接続する際に本人性をチェックし、正規の利用者であることを確認する方法。一般には利用者IDとパスワードの組み合わせにより本人を特定する。認証がなされると、本人が持つ権限でデータへのアクセスやアプリケーションの利用が可能となる。不正利用を防ぐため、パスワードの漏えいなどには十分な注意が必要である。
  • 認可(Authorization)
    • 認証済みのユーザに対してサービスやリソースへのアクセスを許可すること
    • @IT/セキュリティ用語辞典より
      • 認証(Authentication)によって確認された利用者を識別して、アクセス権限の制御を行い、利用者ごとに固有のサービスを提供すること
      • 具体的には、利用可能なアプリケーションの制御、ファイルに対する“読み/書き/実行”の権限など、利用者の資格に応じて許可する。認可のための属性情報には、利用者ID/所属グループ/役職/部署/アクセス制御リスト(ACL)などがある。
      • 運用管理の面から、認可はACL(Access Control List)で与えることがセキュリティ上でも望ましく、SSO(Single Sign On)でもACLと組み合わせることが多い。

OAuth や 本日のタイトルにある XACML は「認可」のための仕組みです。
よく OAuth 認証なんていうキーワードを見かけますが、認可サーバへのアクセス時に通常実行される認証プロセスを都合よく使ってしまっているだけであり、OAuth の本質は scope に指定したリソースへのアクセスするためのアクセストークンを認可サーバから受け取って、そのトークンを元に保護されたリソースへアクセスをする、ということです。


脱線しましたが、XACML 3.0 が OASIS 標準として承認されました。
XACML とは何なのか?について、わかりやすく説明するほど詳しくはないので、少し古いですが以下の記事が参考になると思います。(現状他に日本語で解説されているサイトを見たことありません)

 @IT / PKIとPMIを融合させる次世代言語XACML

引用すると以下のように解説されています。
柔軟で拡張性のあるアクセス制御を実現するためのポリシー記述言語XACML(eXtensible Access Control Markup Language)について述べる。SAMLやXACMLはPKIと権限管理のインフラストラクチャであるPMI(Privilege Management Infrastructure)を融合させる次世代のフレームワークである。

で、XACML の歴史ですが、OASIS 標準の Web ページによると、
 - 2003年2月 : 1.0 承認
 - 2005年2月 : 2.0 承認
ということで、今回の 3.0 の承認までにかなり間が空いていたことがわかります。
※個人的にはまだ続いてたんだ、、、という感想だったり。。

いずれにしてもなかなか概念の理解および実装が難しい仕組みなのでなかなか浸透していないイメージがありますが、今回の新版の承認で少しは前進するのかも知れません。

スペックは下記 URL で公開されていますので、興味のある人は参照してみてください。
(まだ Candidate と記載されています)
 eXtensible Access Control Markup Language (XACML) Version 3.0


ちなみに、製品として実装されている例としては、Oracle Entitlements Server (OES) があります。

 製品ページ

ページ内には Sharepoint との連携に関するホワイトペーパーなんかも置いてあるので機会があれば実装してみたいなぁ、、と思ったりします。

 Securing Microsoft Office SharePoint Server (MOSS) with Oracle Entitlements Server 11gr2

0 件のコメント: