ここでは基本情報技術者試験の情報セキュリティの分野である認証技術とネットワークセキュリティについて説明していきます。
用語
- 認証局:デジタル証明書を発行し公開鍵の正当性を保証
- SSL:インターネット上での通信を暗号化して盗聴や改ざんを防ぐ仕組み
- HTTPS:SSLの暗号通信をHTTPに実装したもの
- バイオメトリクス認証:身体的な特徴を使った認証と行動的な特徴を使った認証
- シングルサインオン:初めに1回だけ認証を受けるとログアウトするまでの間、許可されている複数のサービスを利用できる仕組み
- ファイアウォール:外部からの不正アクセスを防止
認証局とメッセージ認証
公開鍵暗号方式やデジタル署名に公開鍵が使われているのですが、その公開鍵が本人のものであるのかどうかの正当性を証明する必要があります。そこで本人からの申請に基づいてデジタル証明書を発行し、公開鍵の正当性を証明する機関として認証局が存在します。また、以下がデジタル証明書発行までの手順になります。
- 申請者は申請データとして本人であることを証明し、データと自身の公開鍵を認証局へ提出
- 認証局は申請データを審査
- 認証局は審査に合格した申請データの公開鍵にデジタル署名を施し、デジタル証明書を作成
- 認証局はデジタル証明書を申請者に発行
デジタル証明書には他にも、認証局名、証明書の有効期間なども含まれており、認証局はデジタル証明書の有効期間内に失効させた証明書の一覧表であるCRL(証明書失効リスト)も発行しています。また、認証局や公開鍵暗号方式、デジタル署名などの仕組みを使いインターネット上で安全な通信ができるデジタル基盤のことをPKI(Public Key Infrastructure : 公開鍵基盤)といいます。
メッセージ認証とSSL
共通鍵を用いてメッセージが改ざんされていないことを確認する仕組みのことをメッセージ認証といい、事前に送信者と受信者で共通鍵を共有した後のそれぞれの手順が以下のようになります。
送信者側の処理
- メッセージと共通鍵をもとにハッシュ関数を用いてメッセージ認証コードであるMAC(Message Authentication Code)を生成
- メッセージとMACを受信者へ送信
受信者側の処理
- 送信したメッセージと共通鍵をもとに同じハッシュ関数を用いてMACを生成する
- 送信者側の処理のMACが一致するかを検証
この手順でMAC値が一致すれば受信者は改ざんされていないことを確認でき、なりすまし対策にもなります。ただし、受信者も送付されてきたメッセージから共通鍵を使って同じMACを生成できるため否認防止にはなりません。
SSL:インターネット上での通信を暗号化して盗聴や改ざんを防ぐ仕組みをSSL(Secure Sockets Layer)といい、インターネット上で個人情報やパスワード、クレジット番号などの機密性の高いデータを安全にやり取りすることができます。代表的なWebブラウザには標準搭載されており、SSLの暗号通信をHTTPに実装したものがHTTPS(HTTP over SSL/TLS)になります。HTTPSはWebサーバとWebブラウザ間の通信を暗号化するものであり、TLS(Transport Layer Security)とはSSLをベースに標準化したもので、まとめてSSL/TLSと呼ぶことがあります。SSL通信の流れが以下になります。
- WebブラウザからWebサーバへSSL暗号通信をリクエスト
- サーバ証明書とサーバの公開鍵を送付
- サーバ証明書を確認(サーバ証明書が改ざんされていない、認証局の発行審査を受けたものかを確認)、サーバの公開鍵を取得
- 共通鍵を生成
- 共通鍵を3で取得したサーバの公開鍵で暗号化
- サーバの公開鍵によって復号された共通鍵を送付
- 共通鍵をサーバの秘密鍵で復号して取得
- 共通鍵によって暗号化されたデータの通信を行う
このように、共通鍵暗号方式と公開鍵暗号方式の両方の特徴を組み合わせた方式のことをハイブリッド方式といいます。
利用者認証
コンピュータシステムを使用するときに、その利用者が使用することを許可されている本人であるか確認することを利用者認証やユーザ認証といいます。最近では以下のうちから2つ以上の異なる認証を組み合わせる多要素認証が行われており、特に2つの認証を組み合わせることを二要素認証といいます。
- 利用者本人だけが知っている記憶による認証
- 利用者本人だけが持っている所有物による認証
- 利用者本人だけの生体情報による認証
バイオメトリクス認証:身体的な特徴を使った認証と行動的な特徴を使った認証のこといい、身体的な特徴を使ったものには指紋認証や静脈認証、虹彩認証など、行動的な特徴を使ったものには署名の速度や筆圧などがあります。また、それぞれの認証システムを導入する際には本人を誤って拒否する確率と他人を誤って許可する確率を調整する必要があります。
チャレンジレスポンス認証:利用者が入力したパスワードとサーバから送られてきたランダムな文字列(チャレンジ)とをPC側でハッシュ演算して、その結果(レスポンス)をサーバに送信する認証のことをいいます。また、以下がチャレンジレスポンス認証の流れになります。
- 利用者は利用者IDとパスワードを入力し利用者IDのみをサーバに送付
- サーバは文字列をランダムに生成しPCに送付
- PCは1で入力されたパスワードと、2で送付された文字列からハッシュ関数を用いてハッシュ値を生成しサーバに返送する
- サーバは1で送付された利用者IDからアカウント情報を検索し、検索結果のパスワードと2で生成した文字列から同じハッシュ関数を用いてハッシュ値を生成
- 3の結果と4のハッシュ値を照合し、同一であればログインを認める
シングルサインオン:利用者は最初に1回だけ認証を受けると、ログアウトするまでの間は許可されている複数のサービスを利用できる仕組みのことをいいます。利便性が高くなる一方、パスワードが漏れてしまうと他のサービスにもログインされる危険性があるため、ログインできる端末の限定や多要素認証などが有効になります。
ネットワークセキュリティ
ファイアウォール:外部ネットワークと内部ネットワークの接続点で通信通過の可否を判断し、外部からの不正アクセスを防止する仕組みのことをいい、その仕組みの1つにパケットフィルタリング方式というものがあります。パケットのIPアドレスやポート番号などのヘッダ情報で、通過の可否を判断する方式です。
DMZ(DeMilitarized Zone):外部ネットワークと内部ネットワークの両方から隔離されたセグメントであり、外部に公開したいが他の内部のサーバとは分離したいWebサーバやDNSサーバなどを設置します。また、パケットフィルタリング機能などを使い、DMZに外部から不正アクセスがあったとしても内部ネットワークに被害が及ばないように設定します。
プロキシサーバとリバースプロキシサーバ:PCの代理で外部ネットワークにアクセスするサーバのことをプロキシサーバといい、ネットワークからはPCは見えずに隠すことができます。プロキシサーバにWebコンテンツをキャッシュすることでサーバやネットワークの負荷を下げて、アクセスを高速にする役割もあります。一方で外部からのアクセスをWebサーバの代理で受けるサーバをリバースプロキシサーバといい、ロードバランサ機能により外部からのアクセスを振り分けることでWebサーバの負荷分散を行います。
また、他にも以下のようなセキュリティ対策があります。
- UTM(Unified Threat Management):ファイヤーウォール機能を有しており、ウイルス対策や侵入検知、侵入防止などを連携させ、複数のセキュリティ機能を1台の統合した製品や統合的に管理すること
- SIEM(Security Information and Event Management):さまざまなシステムの動作ログを一元的に蓄積、管理し、サイバー攻撃などのセキュリティ上の脅威となる事象をいち早く検知して分析するツール
- ペネトレーションテスト:システムを実際に攻撃してファイヤーウォールや公開サーバに対するセキュリティホールや設定ミスの有無を確認する検査手法
- ファジング:システムに問題を引き起こしそうなデータを多様なパターンで大量に入力して挙動を観視することで脆弱性を見つける検査手法
まとめ
以上が基本情報技術者試験の情報セキュリティの分野である認証技術とネットワークセキュリティについて説明でした。これで情報セキュリティのすべてをまとめ終えました。
コメント