今回はシステムへのアクセス制御の大まかな流れ方を見ていきましょう。アクセス制御は①「識別(Identification)」→②「認証(Authentication)」→③「認可(Authorization)」の流れで行われます。

①識別

ユーザーがシステムに対して自らの身元を示す事です。具体的にそれを行うためにユーザーが識別子を持っていることが必要となります。これにより活動を個人レベルまで追跡できるようになり、「説明責任」を提供することができます。識別子を共有してしまうと、この説明責任ができなくなってしまいます。

識別子の発行プロセスはきちんと文書化されてなければなりません。命名規則に従って定めることや、固有のものでなければならないことなどを記します。

陥りやすい誤りとして、識別子の名称は職務権限の内容を表さないようにする。(システム管理者がadminとか論外ということです。)識別子を見ただけで、攻撃者に対して本来不要である情報まで与えてしまうためです。

②認証

認証とは、本人性を確認するプロセスのことです。
認証の種類には、本人が知っていること(SYK:Something You Know)、本人が持っているもの(SYH:Something You Have)、本人の特徴(SYA:Something You Are)の3つがあります。それらを順番に見ていきましょう。

本人が知っていること(SYK)

わかりやすいのは、一般的に普及しているパスワードでしょう。それが長くなったのがパスフレーズで、最大100文字程度に及びます。別な言い方をすればパスワードの連続ともいえます。リスト型攻撃から保護するために、複数回ログイン試行の上失敗した際にロックアウトを用いることができるが、その仕組みを悪用されてDoS攻撃をかけられると弱いという問題があります。

本人が持っているもの(SYH)

ワンタイムパスワード用トークンが代表例として挙げられます。ワンタイムパスワードは1回使い捨てのパスワードで、仮に認証時の通信が盗聴されていても、盗んだパスワードが再利用されないという、セキュリティ上の利点があります。ワンタイムパスワードの実装としては携帯式のトークンが利用されることが一般的になっています。銀行のオンラインバンキングを利用する場合などに利用されています。

トークンには同期式と非同期式の2種類があります。

同期式トークン

①イベントベースの同期です。何か処理を起こした際に同期する仕組みです。
②時間ベースの同期。トークンに表示される文字が時間ごとに変化し、それと秘密鍵を併せてパスワードを生成します。。トークンとサーバ間の時刻が多少ずれていても、一定の時間内であれば許容する設定も可能です。

非同期式トークン

チャレンジレスポンス方式とも呼ばれます。ユーザーからのアクセス要求の後に、サーバから送られる1回限りのチャレンジと、トークン内部の秘密鍵をあわせてパスワードを生成し、レスポンスとして返答するものです。

その他のSYHで利用されるデバイスとしては、カード類があります。カードをもっていることで認証される仕組みです。スマートカードとは、磁気カードのことです。記憶領域を内部に持っており、パスワードなどをセキュアに保管することができます。接触型と非接触型に大別されます。ICチップを搭載しています。

本人の特徴(SYA)

生体認証、あるいはバイオメトリクス認証と呼ばれるものが一般的に用いられています。身体的特徴を用いて認証するもので、。例として指紋、掌形、声紋、網膜、虹彩などがあります。

また、行動による特徴で認証することもできます。例としてキー入力の癖や筆跡などが挙げられます。これらはパスワードやIDカードよりもはるかに正確にユーザーを識別することができます。

認証の正確性とは?

認証の正確性の指標として以下3つがあります。

①FRR(false reject rate)
本人拒否率のことです。TypeⅠエラーとも呼ばれます。

②FAR(false accept rate)
他人受入率のことです。「TypeⅡ」エラーとも呼ばれます。

③CER(cross-over error rate)
等誤り率と呼ばれます。①と②はチューニングの問題でいくらでも変動してしまいますので、公正な基準としてこの値が用いられます。これは①と②が等しくなる点です。

認証ではユーザーの抵抗感にも配慮することがが必要になります。
また、いくら強力な認証でも、時間がかかりすぎてしまうと実用的ではなくなります。許容できる処理速度も考慮が必要です。一般的に5-10秒程度が限度とされています。

2要素認証では3つ認証要素のうち2つを用いるものです。CISSP試験では、複数の要素を使う認証を強力な認証とも呼ぶようです。

③認可

識別、認証ののち、そのユーザーが実行できる「操作」を指定するプロセスのことです。

目次
次回の記事へ
前回の記事へ