1.アクセス制御
何らかの識別情報に基づいて情報資産に対する権限があるものとないものとを区別し、前者に対してのみそれを許可する仕組み。
・アクセス制御の概要
・アクセス制御の実施プロセス
アクセス制御は通常次の流れで実施される。
- 識別と認証(Identification & Authentication)
- 認可(Authorization)
・アクセス制御の実施
・実施される場所
- 物理環境におけるアクセス制御
- ネットワーク環境におけるアクセス制御
- ホストやアプリケーションシステムに対するアクセス制御
- システムリソースに対するアクセス制御
・アクセス制御の種類
- 任意アクセス制御(Discretionary Access Control:DAC)
- 強制アクセス制御(Mandatory Access Control:MAC)
- ロールベースアクセス制御(Role-Based Access Control:RBAC)
- 情報フロー制御
- MLS(Multi-Level Security)⇒上位レベルの情報が下位レベルの情報に複製されることによって、下位レベルのユーザに漏洩するのを防ぐ。
・アクセス制御の実施方法
- アクセス制御方針の明確化
- アクセス制御の実装方法の明確化 ※ACLなど
- アクセス制御の実装
- アクセス制御の適切性評価
- アクセス制御の見直し
2.認証の基礎
・認証とは
「一定の行為や文書の作成が正当な手続によってなされたことを定められた公の機関が証明すること」。
情報セキュリティにおいては、「Authentication」と「Certification」の二つの意味が含まれている。
・Authentication
何らかの識別情報に基づいて、人、物、情報を識別し、その正当性や真正性を直接確認すること。
アクセス制御を行っているシステムや人間(登録管理者)と、それらに対するアクセスを要求するもの(認証請求者)との間で直接的に認証行為が行われる(登録管理者は認証者を兼ねる)。二者間認証という。
・Certification
認証局などの信頼できる第三者(登録管理者)が発行する証明書の保有をもとに、その持ち主の正当性を確認すること。
認証請求者と認証者の間に、第三者である登録管理者が介在し、それによって認証行為が行われる。三者間認証という。
・認証の分類
3.固定式パスワードによる本人認証
・固定式パスワードによる認証方式の特徴
・パケット盗聴に脆弱なプロトコル
FTP,POP3,Telnet,HTTPのベーシック認証,PAP ⇒ クリアテキストのままでネットワーク中を流れるため、盗聴に対して脆弱。
4.ワンタイムパスワード方式による本人認証
・ワンタイムパスワード方式とは
認証を行うたびに毎回異なるパスワードを使用する方式。次のような要件が必要。
- 生成するパスワードに規則性や連続性がなく、ランダムであること
- ユーザがパスワードを覚える必要がないこと
主な方法は以下の通り。
- チャレンジレスポンス方式
- S/Key・・・チャレンジレスポンス方式の一種
- トークンカード(携帯認証装置)・・・代表例は時間同期式
・チャレンジレスポンス方式によるOTP認証システム
認証プロセスにおいて、「シード」(Seed)を呼ばれる固定パスワードそのものを、ネットワーク中に流さないようにすることで、盗聴によってパスワードが盗まれるのを防ぐ方式。
・仕組み
- サーバが「チャレンジ」と呼ばれる乱数文字列をクライアントに送る
- クライアントは「チャレンジ」と、保存してある自身のパスワードである「シード」を組み合わせたものをハッシュ関数に通して出力した文字列(レスポンス)をサーバに返す
- サーバはあらかじめ登録されているクライアントのパスワードを用いて同様の計算を行った結果と、クライアントから返されたレスポンスとを比較することによってユーザを認証する(両者が同じであれば認証可と判断する)
・認証プロトコルの例
CHAP(Challenge Handshake Authentication Protocol)
・利点
- パスワードそのものがネットワーク中を流れることがない
- 一方向性のハッシュ関数を用いているため、チャレンジ/レスポンスが盗聴されても、シードを求めるのは困難
- チャレンジの内容が毎回変わるため、ある時点でのレスポンスを保存されたとしても、リプレイアタックをされる可能性は低い
- 認証成立後も繰り返しチャレンジを送信して認証を行うことで、セッションハイジャックなどによるなりすまし行為を防止できる
・脆弱性
- 安易なパスワードを設定している場合、オフラインパスワードクラックによってパスワードが解析されてしまう可能性がある
- CHAPには認証サーバの信頼性を確認する仕組みがないので、偽の認証サーバによってセッションハイジャックが行われる可能性がある
・S/KeyによるOTP認証システム
- OTP生成に用いられる要素
- Seed:サーバがユーザごとに生成する任意の短い文字列
- パスワード:ユーザが指定する任意の文字列。ネットワーク上には流さない
- ハッシュ関数:MD4/MD5を使用。サーバとクライアントで共通の方式を使用
- シーケンス番号:ログインのたびに1ずつ減らしていく値(自然数)
- 方式
- クライアントがサーバに対しログインを要求する(ユーザIDの入力)
- サーバはクライアントからの要求を受け取ると、保存していたシーケンス番号-1(n-1)と、Seedをチャレンジとしてクライアントに送る
- クライアントは、Seedと自身のパスワードを連結した文字列sに、ハッシュ関数fを用いてサーバから受け取った(n-1)回分の演算を繰り返し行い、レスポンスを求める
- クライアントからのレスポンスを受け取ったサーバは、それにもう1回ハッシュ関数で演算を行い、P(n)を求める。もともと保存されていたP(n)と比較して判断する。P(n)を次回用に保存しておく。
- 留意点
- サーバの正当性を確認する仕組みがないため、正規のサーバとクライアントの通信経路上に不正なサーバが存在し、セッションハイジャックされる可能性がある。Man-in-the-Middle Attack(中間者攻撃)という。
- SSL/TLSのように、通信に先立ち、ディジタル証明書によってクライアントがサーバの正当性を確認する方式を採用することなどが対抗策となる。
・トークン(携帯認証装置)によるOTP認証システム
・時刻同期式OTP認証システム
認証を行う各サーバとクライアント(トークン)との間で時間の同期をとり、日付/時刻とユーザの個人識別番号(PIN)によって、OTPを生成する。
・システムの構成要素
- トークン
- 認証サーバと時刻同期し、一定時間ごとに変化するパスワード(トークンコード)を生成する。ユーザはあらかじめ設定したPINコードと、トークンコードをパスコードとして入力し、認証を行う。
- 認証サーバ(トークン管理サーバ)
- トークンと時刻同期をとり、トークンのシリアル番号、ユーザ名、PINコードなどのユーザ情報をDBで管理する。クライアントからの問い合わせに対し、DBに登録された情報から自らもパスコードを生成し、それとクライアントが送ってきたパスコードとを比較することでユーザを認証する。
- エージェント
- クライアントからのアクセス要求を受け付け、認証サーバへの問合せと認証結果の応答を行うもの。通常はRASサーバやファイアウォールなどがこの役割を担う。
5.バイオメトリクスによる本人認証
・バイオメトリック認証システムの概要
・バイオメトリック認証システムの性質及び機能
次の3つの性質を持つ生体的特徴を利用する。
- 普遍性:誰もが有している特徴
- 唯一性:本人以外は同じ特徴をもたないこと
- 永続性:時間の経過とともに変化しないこと
バイオメトリック認証システムは、次の3つの機能からなる。
- データ入力
- 特徴抽出
- 判定
本人拒否率:False Rejection Rate(FRR)
他人受入率:False Acceptance Rate(FAR)
・主なバイオメトリック認証システムの特徴
- 指紋
- 顔
- 音声
- 網膜
- キーストローク
6.ICカードによる本人認証
キャッシュカード大のプラスチック製カードに極めて薄いICチップ(半導体集積回路)を埋め込み、情報を記録できるようにしたカードのこと。
・ICカードセキュリティ機能
- 耐タンパ性が高い。
- データ復号処理
- ディジタル署名処理
・ICカードの脆弱性
- 攻撃手法
- 破壊攻撃
- 非破壊攻撃(サイドチャネル攻撃)
- 対策
- 脆弱性評価
- JIWG(European Joint Interpretation Working Group)という団体
7.認証システムを実現する様々な技術
・RADIUS(Remote Authentication Dial-In User Service)
ネットワーク利用者の認証と利用記録を一元的に行うシステムである。アクセスサーバ(RADIUSクライアント)と認証サーバ(RADIUSサーバ)を分離した構成となる。
RADIUSクライアントとRADIUSサーバ間で認証用のユーザIDやパスワードをやり取りする際には、MD5を用いたチャレンジレスポンス方式による認証システム(RADIUSプロトコル)を用いることでセキュリティを高めている。
・脆弱性
- メッセージダイジェスト処理におけるBOF
- vendor-lengthの検証不備によるDoS
・TACACS/TACACS+(Terminal Access Controller Access Control System)
RADIUSと同様、ネットワーク利用者の認証と利用記録を一元的に行うシステムである。+は強化版で、TCPを利用する。。
・Kerberos
認証及び暗号化システム。レルム、プリンシパル、信頼される第三者であるKDC(Key Distribution Center)で構成する。
・ディレクトリサービス
ユーザID、パスワード、所属などのユーザ情報、ファイル、プリンタなどのネットワーク資源の情報を一元管理するとともに、これらの情報を提供する仕組み。
LDAP(Lightweight Directory Access Protocol)は、ディレクトリサービスにアクセスするプロトコルとして広く使われている。
・EAP
8.シングルサインオンによる認証システム
・SSOの概要
・SSOを実現する仕組み
- クッキーによるサーバ間でのユーザ識別情報の交換(共有)
- エージェント型SSOとも呼ばれる。各Webサーバにエージェントをインストールし、エージェントが認証サーバにアクセスする。
- ネットワーク変更不要で、負荷も大きくないが、各サーバにエージェントをインストールする必要がある。
- リバースプロキシサーバによるユーザ識別・認証の集約化(共有)
- すべてのWebサーバへのアクセスを、認証サーバを兼ねたプロキシサーバ(リバースプロキシサーバ)に集約する。
- インストール不要なのでWebサーバに依存しないが、ネットワークに負荷がかかり、ネットワーク変更も必要。
- SAML(Security Assertion Markup Language)によるサーバ間でのユーザ識別情報の交換(共有)
- ユーザIDやパスワードなどの認証情報を安全に交換するためのXML仕様。SOAPベースで、同一ドメイン内という制約もない。