はじめに
今回はユーザー認証とアクセス管理についてアウトプットしていきたいと思います。皆さんは楽天やAmazonをご利用でしょうか。ログインする際にIDやパスワードを求められますが、あれがユーザー認証です。他にも銀行アプリでワンタイムパスワードを入力して取引するなど、ユーザー認証方法はいくつか種類があります。ユーザー認証はなりすましがないようにするための仕組みなのです。重要性を踏まえた上で次へいきましょう。
登場人物:きのこ、どんぐり、パソコン
→会話形式できのこは「キ」、どんぐりは「ド」、パソコンは「パ」と表現します
※登場人物は空想であり実際に存在するものではありません
例題(解答はページ下部にあり)
問1:標的型攻撃メールで利用されるソーシャルエンジニアリング手法に該当するものはどれか。
ア 件名に”未承諾広告”と記述する。
イ 件名や本文に、受信者の業務に関係がありそうな内容を記述する。
ウ 支払う必要がない料金を振り込ませるために、債権回収会社などを装い無差別に送信する。
エ 偽のホームページにアクセスさせるために、金融機関などを装い無差別に送信する。
<ユーザ認証とアクセス管理>
セキュリティを保ちたい場所は出入りを制限してあらかじめ定めておいた合言葉などの符丁を使って認証を行う・・・というのは古くからある手法です。コンピュータシステムの世界でも、この概念は変わりません。コンピュータシステムの利用にあたっては、ユーザ認証を行うことでセキュリティを保ちます。
たとえばですね、社内のコンピュータシステムを、適切な権限に応じて利用できるようにしたいとします。部長さんしか見えちゃいけない書類はそのようにアクセスを制限して、みんなが見ていい書類は誰でも見えるよう権限を設定して、そしてシステムを利用する権限がない人は一切アクセスできないように・・・と、そんなことがしたいとする。
そのために、まず必要となる情報が、「今システムを利用しようとしている人は誰か?」というものです。誰か識別できないと権限を判定しようがないですからね。
この、一番最初に「あなた誰?」と確認する行為。これをユーザ認証と言います。
ユーザ認証は、不正なアクセスを防ぎ、適切な権限のもとでシステムを運用するためには欠かせない手順です。
ちなみに、ユーザ認証をパスしてシステムを利用可能状態にすることをログイン(ログオン)、システムの利用を終了してログイン状態を打ち切ることをログアウト(ログオフ)と呼びます。
ユーザ認証の手法
ユーザ認証には次のような方法があります。
ユーザIDとパスワードによる認証
ユーザIDとパスワードの組み合わせを使って個人を識別する認証方法です。基本的にユーザIDは隠された情報ではないので、パスワードが漏洩(もしくは簡単に推測できたり)しないように、その扱いには注意が必要です。
ド:「さあ、仕事をしよう。ユーザIDは donguri 、パスワードは donpass です。」
パ:「ユーザID、パスワード一致、ログインOK」
キ:「さあ、どんぐりの名前で悪さをしよう。ユーザIDは donguri 、パスワードは password !」
パ:「ユーザID、パスワード不一致、ログインNG」
システムに登録済みのユーザIDを使ってログインします。ユーザIDとパスワードがともに一致しないと認証はパスできません。他人が自分になりすますことができないように、パスワードの扱いは次のような点に注意します。
パスワードの扱い
・電話番号や誕生日など、推測しやすい内容をパスワードに使わない。
・付箋やメモ用紙などに書いて、人目につく場所へ貼ったりしない。
・なるべく定期的に変更を心がけ、ずっと同じパスワードのままにしない。
バイオメトリクス認証
指紋や声紋、虹彩(眼球内にある薄膜)などの身体的特徴を使って個人を識別する認証方法です。生体認証とも呼びます。最近では銀行のATMや・・・ノートパソコンなんかでも生体認証が増えてます。身体の部位を用いた認証なのでパスワードみたいに「覚える」という必要がありません。
ワンタイムパスワード
一度限り有効という、使い捨てのパスワードを用いる認証方法です。トークンと呼ばれるワンタイムパスワード生成機を使う形が一般的です。1分間隔とかで、表示中のパスワードを更新します。パスワード自体は使い捨てなので、もし盗まれても使えません。
コールバック
遠隔地からサーバへ接続する場合などに、一旦アクセスした後で回線を切り、逆にサーバ側からコールバック(着信側から再発信)させることで、アクセス権を確認する認証方法です。サーバ側から再発進することで、電話番号による個人確認ができます。
アクセス権の設定
社内で共有している書類を、「許可された人だけが閲覧できるようにする」というように設定できるのがアクセス権です。これがないと、知られちゃ困る情報があちこちに漏れたり、大切なファイルが勝手に削除されてしまったりと困ったことになってしまいます。
アクセス権の設定がないとこんなことになります
社員A:「おい、機密書類.xls 見てみろ!! うちの会社潰れそうだって!?」
社員B:「な!なにーーーーー!?」
社員C:「やべーよ、やべーーー。決算書類とか書かれたディレクトリ消しちゃった!」
アクセス権には「読取り」「修正」「追加」「削除」などがあります。これらをファイルやディレクトリに対してユーザごとに指定していくわけです。
例えばこんな感じで、ユーザごとに権限を設定できます。
・担当Aさん
大事な書類.doc:読取り×、修正×、削除×
→このユーザはこのファイルを読むことも修正することもできない
経営資料ディレクトリ:読取り×、修正×、削除×、追加×
→このユーザはこのディレクトリ配下を閲覧も含めて一切操作できない
・課長Bさん
大事な書類.doc:読取り◯、修正×、削除×
→このユーザはこのファイルを読むことだけはできる
経営資料ディレクトリ:読取り◯、修正◯、削除×、追加×
→このユーザはこのディレクトリ配下で読み書きはできるけど新しく追加したり削除したりはできない
・常務取締役Cさん
大事な書類.doc:読取り◯、修正○、削除◯
→このユーザはこのファイルに対してすべての操作ができる
経営資料ディレクトリ:読取り◯、修正◯、削除◯、追加◯
→このユーザはこのディレクトリ配下ですべての操作ができる
そのほかに、例えば「開発部の人は見ていいファイル」「部長職以上は見ていいディレクトリ」といった指定を行いたい場合は、個々のユーザに対してではなく、ユーザのグループに対して権限の設定を行います。
例題の回答
問1:正解:イ
ソーシャルエンジニアリングは、例えば悪意を持った者が、システム管理者に電話をして、「自分は営業部長だ。顧客の要請により、急ぎ重要な資料の数値を確認しなければならない。しかるに、パスワードを忘れてしまい、出先でもありわからない。緊急事態であり、どうしても今すぐ知りたい。このままでは、当社は多大な損失を被る可能性が強い。頼む。」といいます。びっくりしたシステム管理者は電話で、パスワードを教えてしまう、といった人間の心理の弱点をついた犯罪の手口です。「受信者の業務に関係がありそうな内容」と箇所がヒントになり、選択肢イがソーシャルエンジニアリング手法に該当します。
おわりに
いかがでしたでしょうか。ユーザー認証にはさまざまな方法があり、適材適所があります。ユーザーごとのアクセス管理も重要だとわかったのではないでしょうか。まだ、ユーザー認証とアクセス管理について説明しきれていないので後半分については機会があれば投稿したいと思います。
投稿者
エンジニアファーストの会社 株式会社CRE-CO 田渕浩之