基本情報技術者単語帳 - セキュリティ
情報セキュリティ
情報を詐取や改竄などから保護しつつ、必要に応じて利用可能な状態を維持すること。また、そのために講じる措置や対策などの総体。
一般には、情報の「機密性」(confidentiality)、「完全性」(integrity)、「可用性」(availability)の三つの性質を維持することと理解される。これらの頭文字を組み合わせて「情報セキュリティのC.I.A.」と呼ぶ。国際標準のISO/IEC 27000シリーズなどでも、この三要素を情報セキュリティの構成要件としている。
情報の機密性とは正当な権限を持った者だけが情報に触れることができる状態を、完全性とは情報の破損や欠落がなく正確さを保っている状態を、可用性とは正当な権限のある者が必要なときに情報に触れることができる状態を、それぞれ表す。
また、これに加えて「真正性」(authenticity)や「責任追跡性」(accountability)、「信頼性」(reliability)、「否認防止」(non-repudiation)などの要素を情報セキュリティの要件の一部とする場合もある。
情報セキュリティが脅かされると、外部の攻撃者や内部犯による機密情報や個人情報などの漏洩や改竄、消去などの被害が生じる。企業などの組織が取り扱う情報の安全を確保するには、これらの要素に留意しながら、適切なコンピュータシステムによる保管や管理、認証やアクセス制御、暗号化などの実施、適切な利用手順の整備や利用者に対する啓発などが必要となる。
機密性
情報セキュリティの基本的な概念の一つで、正当な権限を持った者だけが情報に触れることができる状態。また、そのような状態を確保・維持すること。
正規に許可を得た人だけが、認められた範囲内で情報に触れることができ、故意や誤りによる情報の漏洩や改竄、削除などを引き起こすことができない状態を表す。
機密性を確保するには、利用者の識別や認証、所属や権限に応じた情報や機能へのアクセス制御、情報の閲覧や複製、移動に関する履歴の記録や監査などが適切に行われる必要がある。
「完全性」(Integrity)「可用性」(Availability)と合わせて、情報セキュリティの三要素、または、それぞれの英単語の頭文字を取って「C.I.A.」と呼ばれることがある。
インテグリティ 【完全性】
誠実、正直、完全(性)、全体性、整合性、統合性、などの意味を持つ英単語。ITの分野では、システムやデータの整合性、無矛盾性、一貫性などの意味で用いられることが多い。
データインテグリティ (data integrity/データ完全性)
データの処理・読み込み・書き込み・保管・転送などに際して、目的のデータが常に揃っていて、内容に誤りや欠けが無いこと(および、それが保証されていること)をデータの完全性という。日本語で「完全性」の訳語が当てられることもある。
データベースにおける正規化や制約の設定などが不十分でデータ間の関係に矛盾が生じたり、装置の障害やソフトウェアのバグによって内容の欠損や変質が起きたり、外部の攻撃者によって改竄されたりすると、完全性が損なわれることになる。
可用性 【アベイラビリティ】
システムなどが使用できる状態を維持し続ける能力。利用者などから見て、必要なときに使用可能な状態が継続されている度合いを表したもの。
可用性の高さは、使用可能であるべき時間のうち実際に使用可能であった時間の割合(稼働率)で示されることが多い。例えば、24時間365日の稼働が求められるシステムの稼働率が99.9999%であるとすると、年間平均で約31.5秒間使用不能な時間が生じることを意味する。
重要な業務システムなどに用いるため、装置の二重化や複数のコンピュータによるクラスタリングなどの措置を講じ、装置の故障やメンテナンスがあってもシステムが提供する機能やサービスが停止・中断しない状態を「高可用性」(HA:High Availability)という。
似た概念に「信頼性」(reliablity)があるが、これは機器などの故障、破損、障害の起きにくさ、停止しにくさを指す。定量的には、単位期間あたりに故障が起きる確率である故障率や、故障から次の故障までの平均期間である平均故障間隔(MTBF)などで表される。
ある一つの装置などについては可用性の高さと信頼性の高さは一致することもあるが、複雑・大規模なシステムでは、装置やシステムを複数用意して一つが停止しても全体が停止しないようにすることで、低い信頼性の要素を組み合わせて高い可用性を確保することもできる。
情報システムに求められる特性として、可用性、信頼性、保守性(整備や修理のしやすさ)の3つの頭文字を繋げた「RAS」(Reliability Availability Serviceability)や、さらに完全性(Integrity)、機密性(Security)の2つを追加した「RASIS」の概念がよく用いられる。
真正性
ある対象(人やモノ、データ、記録など)が、それが何であるかの記述や主張の通り、本物であること。また、本物であることを確実にしたり証明できる性質。
人物についての真正性という場合、ある識別名(氏名やIDなど)を名乗り出た人が、なりすました他人ではなく確かに本人であると確かめられる性質を指す。契約や公的手続きなどの現場では、押印や署名、公的な証明書の提示などで真正性を確保することが多い。
情報システムなどで、正当な利用権を持つ利用者の真正性を担保するには、あらかじめ本人の識別名と本人しか提示できない情報(パスワードや体の特徴など)を登録し、利用時に秘密の情報を提示してもらう「ユーザー認証」(user authentication)を行う必要がある。
一方、記録やデータについての真正性という場合、作成者や送信者に偽りや誤りがなく、作成や送信が行われて以降、システムの誤作動や何者かの悪意ある操作などで内容が消去、改竄、すり替えなどされていない状態を指す。
記録やデータの真正性を担保する仕組みには様々なものがあるが、電子署名(デジタル署名)による発信者や作成者の検証、ハッシュ値やメッセージ認証などによる改竄検知、記憶媒体や伝送路の暗号化による盗み取りや改竄の防止などの技術を組み合わせて用いることが多い。
責任追跡性 【責任追及性】
情報システムの操作や情報の閲覧、編集などについて、誰がいつどのような操作を行ったか遡って追跡できる性質のこと。
何らかの好ましくない事象(インシデント)が生じたときに、誰に責任があるのかを追跡することができる性質や状態を指す。システムに対する時系列の操作記録(ログ)を消去や改竄が困難な方法で記録し、後から参照できるようにするなどの手法で高めることができる。
サイバーセキュリティでは主に外部の攻撃者からの防御や攻撃の記録が重視されるが、責任追跡性を確保・維持することで、正規の権限を持った内部犯による不正行為などにも対処しやすくなる。責任追跡性を確保することで本人が後から行為を否認することができないようにすることを「否認防止」(non-repudiation)という。
否認防止 【否認不可】
ある人物がある行為を行なったことを、後になって否定できないようにすること。確かに本人が行なったと証明できる証拠を、改竄できない方法で保管するなどの方法で実現する。
ここで言う「否認」とは、契約や取引、メッセージや指示の伝達など、ある人が行った行為について、後から都合が悪くなり「やっていない」「やったのは私ではない」と言い出すことを指す。これを防ぐことができるようなシステムなどの持つ性質、および、そのためにあらかじめ行う予防的な措置のことを否認防止という。
ITの分野では、情報セキュリティに求められる特性の一つとしてよく挙げられ、情報システムの利用や操作、データの送信などに関連して、確かにある特定の人物が行なったことを後から証明できるようにする仕組みや技術などを表す。
例えば、操作や通信のログ(記録)を消去・改竄できない方法で残したり、タイムスタンプ技術を用いて、ある時点における文書などのデータの存在や内容の証明を行なったり、デジタル署名により本人がその行為を行なったことを証明することなどが否認防止の概念に含まれる。
信頼性 【リライアビリティ】
一定の条件下で安定して期待された役割を果たすことができる能力。機械やシステムの場合は故障など能力の発揮を妨げる事象の起こりにくさ。日常的には「情報の信頼性」というように、信憑性や信用性に近い意味合いでも用いられる。
人工物について信頼性という場合、定められた条件(製造元の指定する定格値など)下で一定の期間(耐用年数など)、期待される機能を提供し続けることができる性質を表す。
修理不能な製品の場合は故障や破損のしにくさがそのまま信頼性とみなされ、平均故障率(FIT:Failure In Time)や平均故障時間(MTTF:Mean Time To Failure)などの指標が用いられる。修理可能な製品では平均故障間隔(MTBF:Mean Time Between Failures)などで表され、保守性(maintainability/serviceability)を含んだ概念となる。
信頼性にいくつかの性質を加えて、システムが期待された機能・性能を安定して発揮できるか否かを検証するための評価項目として用いる場合がある。よく知られるのは信頼性に可用性(Availability)と保守性(Serviceability)を加えた「RAS」で、これに完全性(Integrity)と機密性(Security)を加えたものは「RASIS」という。
多層防御
企業などの組織における情報セキュリティの対策方針の一つで、システム内の複数の構成要素や攻撃者の活動の複数の局面に対して、何重にも防御策を講じること。
情報やシステムの防御について「ネットワーク境界で侵入を阻止する」といった単一の技術要素や攻撃局面のみで対策しようとするのではなく、「インターネット利用端末と重要システムはネットワークが分離されている」「一般ユーザーのアカウントを乗っ取っても機密情報へのアクセス権限は無い」といった具合に攻撃の各段階に対応した重層的な対策を行うことを指す。
一般的な方針としては、入口対策、内部対策、出口対策の三階層で防御することが多い。入口対策はセキュリティ上の脅威をネットワーク内に侵入させない対策で、ファイアウォールやパケットフィルタリング、IDS/IPSによる侵入検知・防御、アンチウイルスやマルウェア検知システムなどが用いられる。
内部対策は脅威の侵入を許してしまった際に被害の拡大を最小限に抑えるための対策で、端末や利用者の分離、アクセス権の限定、重要資産の隔離、ログ管理、システム監視、エンドポイントセキュリティの導入、ゼロトラスト化などが該当する。
出口対策はシステム内部での攻撃活動から外部への情報送信を検知、阻止する対策で、重要データの暗号化やアクセス制限(一度に取り出せる件数の制限など)、ファイアウォールやIDS/IPSによる外向きの通信の監視や不審な通信の遮断などがある。外部の他のシステムへの不正アクセスやウイルス送信などのために自社システムが「踏み台」にされないための対策でもある。
似た概念に「多重防御」があり、多層防御の同義語とする場合もあるが、一般的には侵入防止策を複数重ねる場合など、同じ機器や同じ局面で複数の防御策を組み合わせることを指し、多層防御とは区別されることが多い。
セキュリティバイデザイン 【SbD】
情報システムのセキュリティ対策を、その企画や設計の段階から取り入れていく考え方。低コストで安全性の高いシステムを構築することができる。
従来のセキュリティ対策の多くは、すでに完成し稼働しているシステムを前提として、後付けで安全性を向上させるための機器やソフトウェアを追加したり、発見された危険性に対処するという考え方が基本だった。
これに対し、セキュリティバイデザインに基づく開発手法では、システムやソフトウェアの企画や仕様策定、設計(英語では design という)など開発の初期段階からセキュリティを確保するための要件や仕様を盛り込んでいき、あらかじめ安全なシステムとして開発を進める。
後から改修や対策を行う場合よりも効果的かつ効率的にセキュリティを確保でき、運用やメンテナンスなども含めセキュリティ対策の総コストの軽減が見込める。また、完成後には変更できない箇所についてもセキュリティを考慮した仕様や設計を組み込むことができ、この点はIoTデバイス等で重要となる。
一方、システム自体や扱う情報などに関して、想定される脅威の種類や程度、および何をどの程度保護すべきかは自明ではなく、機能や性能、利便性とどのように両立するか、セキュリティ確保のための「作り込み」をどの程度行うかなどについて開発初期に難しい検討が必要となる。
プライバシーバイデザイン 【PbD】
製品やサービス、情報システムなどで利用者のプライバシーを保護する施策を、その企画・設計の段階から組み入れていく設計原則。
従来、情報を扱う製品やサービスなどのプライバシー保護は、製品の完成後に規約や運用の側面から検討されることが多かった。プライバシーバイデザインでは、設計段階からプライバシーを考慮した情報の取り扱いや、プライバシー保護のための仕組みを取り入れ、認識不足による法令違反などが生じないようにする。
プライバシーバイデザインの概念は1990年代にカナダのアン・カブキアン(Ann Cavoukian)博士が提唱したもので、以下の7つの基本原則で構成される。
- 事後ではなく事前、救済的ではなく予防的 (Proactive not reactive; preventive not remedial)
- 初期設定としてのプライバシー (Privacy as the default setting)
- 設計に組み込まれたプライバシー (Privacy embedded into design)
- 機能を犠牲にしない - ゼロサムではなくポジティブサムに (Full functionality - positive-sum, not zero-sum)
- エンドツーエンドのセキュリティ - ライフサイクル全体に渡る保護 (End-to-end security - full lifecycle protection)
- 可視性と透明性 - オープンにし続ける (Visibility and transparency - keep it open)
- 利用者のプライバシー尊重 - 利用者中心主義を維持 (Respect for user privacy - keep it user-centric)
情報資産
企業などの組織が保有する資産としての情報。情報が記録された書類や電子メディアなどの記憶媒体を含む。
企業や官公庁などの組織が収集、記録、蓄積している情報を、金銭や設備などと同じように組織が保有する一種の資産として捉えた用語である。典型的には組織に属する財産や従業員についての情報、製品やサービスについての情報、顧客や関係先、取引についての情報などが含まれる。
情報がどのような形態で保管されているかは問わず、書類など紙媒体に記録されたもの、コンピュータの内蔵ストレージ装置や光学ディスク、USBメモリ、磁気テープなどの記録媒体にデジタルデータとして記録されたもの、クラウドサービスなどを利用して外部の事業者の設備に保管されたものなどが含まれる。
情報資産の中には、個人情報や認証情報などのように第三者の手に渡ると被害や損害に繋がるものがあるため、重要性に応じて適切に保護し、権限のない者が触れることができないようにする仕組み作りが必要となる。情報の安全を確保することを「情報セキュリティ」と呼び、機密性、完全性、可用性の三つの要素から成る。
脆弱性 【バルネラビリティ】
コンピュータやソフトウェア、ネットワークなどが抱える保安上の弱点。システムへの損害や不正な操作、情報の盗み取りや改竄など、管理者や利用者にとって脅威となる行為に悪用できる可能性のある欠陥や、仕様・設計上の不備のこと。
例えば、ソフトウェアにバグ(プログラムの誤り)があり、正当な利用権限がなくてもコンピュータを遠隔から任意に操作可能になってしまう場合がある。外部の攻撃者はこれを悪用することでシステムを乗っ取ることができてしまう。このような弱点のことをセキュリティ上の脆弱性という。
最も一般的な脆弱性はソフトウェアの実装上の誤りや設計・仕様上の不備で、システムの利用権限の奪取や、重要なデータの抜き取りや消去・改竄、コンピュータウイルスなど悪意あるソフトウェア(マルウェア)の感染や活動、外部システムの攻撃の踏み台などに悪用される。
プログラムコードの記述ミスのような明白な誤りだけが脆弱性になるとは限らず、開発者が予想しなかった利用形態や設計段階での見落としなど、形式的には欠陥とはならない潜在的な問題点が脆弱性として後から認知される場合もある。
ソフトウェアの脆弱性は開発者が修正プログラムや修正済みの新バージョンなどを提供して後から修正することが多いが、半導体チップ(マイクロプロセッサなど)内部の回路や動作に脆弱性が存在する場合もあり、既存品の修正ができず装置の交換などが必要となる場合がある。
また、複数のシステムが通信する際のプロトコル(通信規約)や通信手順などの仕様が脆弱性となる場合もあり、規格の改訂などを行わない限りソフトウェアの修正などでは対応できないこともある。
情報セキュリティ上の脆弱性となるのはコンピュータ側の問題だけでなく、機密情報の管理体制の未整備や行動規範の不徹底といった人間の振る舞いに関する問題や、施設の警備や設備の盗難対策の不備といった物理的な問題もある。
サイバースペース 【サイバー空間】
インターネットのような広域の開かれたコンピュータネットワークを人々が社会的営みを行なう場と捉え、現実世界の空間に例えた表現。
1980年代にカナダの作家ウィリアム・ギブスン(William Gibson)氏の小説「ニューロマンサー」(Neuromancer)などの作品群に登場し広まった語で、“cybernetics”(サイバネティックス)と “space”(スペース)の造語であるとされる。
SF作品などでは、脳や感覚器官と直結し、実際に空間として知覚されるような電子ネットワークとして描かれることが多い。このイメージから、1990年代にはアバター(自分の代理となるキャラクター)を介した遠隔コミュニケーションや、VR(仮想現実)技術による没入感のある仮想空間などが想起されることが多かった。
21世紀になるとインターネットが爆発的に普及し、人々が日常の一部としてネット上で仕事や商取引、他者との交流、情報の発信や収集などを行うようになり、トラブルや犯罪さえもネットを舞台に起こるようになると、社会の一部としてのインターネットを指してサイバー空間と呼ぶようになっていった。
サイバー攻撃 【サイバーアタック】
あるコンピュータシステムやネットワーク、電子機器などに対し、正規の利用権限を持たない悪意のある第三者が不正な手段で働きかけ、機能不全や停止に追い込んだり、データの改竄や詐取、遠隔操作などを行うこと。
特定の組織や集団、個人を狙ったものと、不特定多数を無差別に攻撃するものがある。政治的な示威行為として行われるものは「サイバーテロ」(cyberterrorism)、国家間などで行われるものは「サイバー戦争」(cyberwarfare)と呼ばれることもある。
具体的な活動として、Webサーバに侵入してサイトの内容を改竄したり、情報システムに侵入して機密情報や個人情報を盗み出したり、大量のアクセスを集中させてサーバや回線を機能不全に追い込んだり(DoS攻撃/DDoS攻撃)、アクセス権限を不正に取得して本人になりすましてシステムを操作したり、システムを使用不能にして回復手段の提供に身代金を要求したり(ランサムウェア)といった事例が挙げられる。
攻撃者がインターネットなどを通じて標的システムに直接働きかけて攻撃を実行する手法と、コンピュータウイルスやトロイの木馬などのマルウェアを感染させ、その働きにより攻撃する手法がある。両者を組み合わせ、送り込んだマルウェアに外部から指令を送って遠隔操作する手法もある。
サイバーテロ (cyberterrorism)
サイバー攻撃のうち、政治的な要求や脅迫、示威などを目的に行われるものを「サイバーテロリズム」(cyberterrorism)、略してサイバーテロという。
特定の個人や集団が政治的な意図や動機に基づいて行うインターネットやコンピュータシステムを利用した攻撃活動で、対象に打撃を与えて政治的な主張を宣伝したり、何らかの要求に従うよう求めたり、標的側の行いに対する報復であると称したりする。
官公庁や軍、マスメディア、社会インフラ、通信網、交通機関、金融機関、医療機関など、国家や社会、人命、財産にとって重要な機能に損害を与えることを狙った攻撃が典型的だが、Webサイトの改竄や活動妨害(DoS攻撃)のような攻撃では特定の国家や民族に属するというだけで広汎・無差別に対象が選択される場合もある。
不正アクセス
ある情報システムやデータへのアクセス権限を持たない者が、コンピュータを操作して本来認められていない活動を行うこと。重要な情報の窃取、公開情報の改竄や消去、不正な遠隔操作、外部システムへの攻撃(踏み台利用)などが含まれる。
正規のアクセス権を持たない者が何らかの方法で取得した識別情報(管理者のIDとパスワードなど)を入力して実行する場合と、システムのアクセス制御機能をソフトウェアの保安上の欠陥(脆弱性)を悪用するなどして回避・無効化し、本来認められていない操作を実行する場合がある。
システムの運用主体と無関係な外部の攻撃者が通信回線やインターネットなどの広域ネットワークを通じて遠隔からシステムへの侵入や操作を試みる手法が一般的だが、一定のアクセス権を持つ内部犯がシステムに直に接触して本来の権限を超えた操作を行う事例も見られる。
具体的な不正行為としては、Webサイトの改竄やコンピュータウイルスの埋め込み、機密情報や個人情報の不正取得、遠隔操作による他のコンピュータへの攻撃、迷惑メールやウイルスメールの一斉配信、クレジットカード番号など金融機関の認証情報の詐取による金銭の盗難などがある。
日本では1999年に制定された「不正アクセス行為の禁止等に関する法律」(不正アクセス禁止法)により禁じられ、最大で1年以下の懲役または50万円以下の罰金が課される。この法律は侵入行為そのものと、その準備段階に行われる識別符号(パスワードなど)を不正に取得、保管、入力要求する行為などが禁止されている。
不正アクセス
ある情報システムやデータへのアクセス権限を持たない者が、コンピュータを操作して本来認められていない活動を行うこと。重要な情報の窃取、公開情報の改竄や消去、不正な遠隔操作、外部システムへの攻撃(踏み台利用)などが含まれる。
正規のアクセス権を持たない者が何らかの方法で取得した識別情報(管理者のIDとパスワードなど)を入力して実行する場合と、システムのアクセス制御機能をソフトウェアの保安上の欠陥(脆弱性)を悪用するなどして回避・無効化し、本来認められていない操作を実行する場合がある。
システムの運用主体と無関係な外部の攻撃者が通信回線やインターネットなどの広域ネットワークを通じて遠隔からシステムへの侵入や操作を試みる手法が一般的だが、一定のアクセス権を持つ内部犯がシステムに直に接触して本来の権限を超えた操作を行う事例も見られる。
具体的な不正行為としては、Webサイトの改竄やコンピュータウイルスの埋め込み、機密情報や個人情報の不正取得、遠隔操作による他のコンピュータへの攻撃、迷惑メールやウイルスメールの一斉配信、クレジットカード番号など金融機関の認証情報の詐取による金銭の盗難などがある。
日本では1999年に制定された「不正アクセス行為の禁止等に関する法律」(不正アクセス禁止法)により禁じられ、最大で1年以下の懲役または50万円以下の罰金が課される。この法律は不正アクセス行為そのものと、その準備段階に行われる識別符号(パスワードなど)を不正に取得、保管、入力要求する行為などが禁止されている。
なりすまし 【スプーフィング】
自分以外のある特定の人物のふりをして、その人に成り代わって活動すること。特に、その人しか得ることのできない情報や金品などを取得したり、その人にしか許可されていない行為を行うこと。
ITの分野では、ある人がコンピュータやネットワークを利用するために利用している識別・認証情報(アカウント名やパスワードなど)を不正に取得し、その人のふりをしてアクセスするなりすまし行為が問題となっている。不正に取得した認証情報で金融機関のオンラインサービスなどにアクセスされ、預金などを盗み取られるといった被害が起きている。
電子メールの差出人情報を偽装するなどして、ある特定の人物や組織からのメッセージであるかのように装い、騙された受信者に個人情報や秘密の情報を送信させるといった手口のなりすまし行為もある。この手口で騙し取った情報を使って本人になりすまし、金融機関に不正アクセスするといった二重のなりすましによる詐欺手法を「フィッシング」(phishing)などと呼ぶ。
また、サイバー攻撃などの手法の一つで、データの送信元アドレスなどを改ざん・偽装し、別のアドレスやコンピュータからのアクセスであるかのように装うことで、他の人の仕業に見せかけたり、追及されにくいようにすることもなりすましという。攻撃者が罪を無関係な第三者になすりつけ、司法当局が誤ってなりすまされた被害者を罰してしまう事件も発生している。
SNSなどでのなりすまし行為
SNSなどのネットサービスでは、自分とは無関係な有名人や企業、団体などの名前を勝手に名乗り、その人物・組織を装って発言などを行うなりすまし行為も発生している。IDやパスワードの詐取、行使などを行わなくても誰でも簡単に実行できてしまうため、著名人などになりすますいたずらが後を絶たず問題となっている。
なりすます対象は著名な人物や団体とは限らない。何らかの論争の渦中にある人が、自分と対立する側の匿名ユーザーを装った別のアカウントを作成し、わざと対立側に不利な発言などを行うといったなりすまし行為もある。「自作自演」「偽旗作戦」などとも呼ばれる。
なお、動物や人工物など人間以外の存在、故人や歴史上の人物、創作物に登場するキャラクターなどを自称するSNS利用者もいるが、こうした行為は「本人」が実在しない(ことが誰の目にも明白である)ため、なりすましとは区別され「なりきり」などと呼ばれる。
近年では、ネット広告などで著名人の名前を勝手にかたり、無関係な第三者が広告を作成して掲載する「なりすまし広告」も問題となっている。実業家が投資の勧誘をするなど本人の実績や信用を勝手に利用する広告で、宣伝されている商品やサービスなどがそもそも詐欺である事例も多いとされる。
改竄 【改ざん】
管理された文書や記録などが不正に書き換えられること。正規の権限のない人物や組織によって、あるいは不正な手段や手続き、本来許されないタイミングで内容が変更、上書きされることを指す。
ITの分野では、コンピュータに保管されたデータが何らかの不正な方法で本来とは異なる状態に変更されることを指す。データの不正な取得(漏洩)と並んでデータ保護上の重大な事象(インシデント)として警戒される。
外部の悪意の第三者によるネットワークを通じた不正アクセスや、感染・侵入したコンピュータウイルス等の挙動の結果として引き起こされるものと、組織内の人物が与えられた権限を超えた行為やシステムの不正な操作により引き起こすものがある。
エラー
誤り、間違い、過失、勘違い、誤差などの意味を持つ英単語。ITの分野では、コンピュータプログラムの実行を継続できない致命的な支障をこのように呼ぶ。
コンピュータで実行中のプログラムが正常に処理を続行できなくなるような致命的な問題・事態のことや、そのような事態が発生したために実行中のプログラムを中断・終了させることをエラーという。
プログラムの記述に誤り(バグ)がある場合や、利用者が開発者の想定外の使用法やデータ投入を行った場合、装置の故障や不具合が生じた場合(ハードウェアエラー)などに起きることが多い。
オペレーティングシステム(OS)上で実行されているアプリケーションソフトにエラーが生じるとOSにより強制終了させられることが多いが、OS自体に致命的なエラーが生じると、動作を停止して利用者の操作を受け付けなくなったり、自動的に再起動したりすることがある。
ランタイムエラーとコンパイルエラー
単にエラーと言う場合は、プログラムの実行時に実行継続が妨げられる「ランタイムエラー」(runtime error/実行時エラー)を指すことが多い。
一方、プログラムの開発時に、ソースコード(プログラミング言語で書かれたプログラム)からオブジェクトコード(コンピュータが直に解釈・実行可能なプログラム)への変換(コンパイル)がプログラム上の致命的な誤りによって中断される場合があり、これを「コンパイルエラー」(compile error)と呼ぶ。
通信エラー
通信やネットワーク、コンピュータ内部のデータ伝送などの分野では、データの送受信が正常に行われない事態のことをエラーということがある。
送信したデータが相手に届かなかったり、伝送途上で内容の一部が欠落あるいは破損したり、通信相手が呼びかけに応答しなくなったりすることを意味する。
クラッキング 【クラック】
コンピュータやソフトウェア、データなどを防護するための措置や仕組みを破壊あるいは回避、無効化し、本来許されていない操作などを行うこと。
“crack” には割る、押し入る、突破するといった意味があり、ドアを破って部屋に押し入ったり、鍵を破って金庫の中のものを盗んだりすることを指す。ITの分野でも同じように、著作物を記録したデータの複製を制限する措置を解除して不正コピーしたり、コンピュータを利用するためのパスワードを割り出して不正に操作権限を取得したりといった行為をクラッキングという。
コンピュータシステムへの攻撃や侵入は一般的には「ハッキング」(hacking)と呼ばれることが多いが、この言葉は元来、コンピュータの動作を解析したりソフトウェアの拡張や改造などを行うことを指し、必ずしも悪い意味ではなかった。
そのような技術や手法を悪用して不正や犯罪を働くことをクラッキングと呼び、ハッキング全般とは区別すべきだとする主張もあり、技術者コミュニティなどではそのような呼び分けが一定程度行われているが、マスメディアなど世間一般には浸透していない。
システムのクラッキング
コンピュータシステムの攻撃としてのクラッキングは意味が広く、システムの利用権限の奪取(侵入)や乗っ取り、秘密のデータの盗み取りや漏洩・公表、システムに保存されたデータやプログラムなどの改竄や破壊などを含む。
パスワードなどを不正に入手したりソフトウェアの脆弱性を攻撃して誤作動させるなどして、本来は許可されていない動作や操作を行う攻撃手法の総称であり、侵入行為を伴わないDoS攻撃などは含まれない。
ソフトウェアのクラッキング
商用ソフトウェアなどデータとして販売される著作物に施された複製の制限や利用者の確認・認証などを無力化し、不正にコピーしたり、これらの防護措置が機能しないよう改造したりすることをクラッキングという。
映像ソフトなどには内容を暗号化して複製を制限しているものがあり、ソフトウェア製品にはパッケージのシリアル番号の入力や利用者のオンライン登録、プロダクトアクティベーション、プロテクトドングルなどで購入者であることを確認してから導入や起動を行う仕組みになっているものがある。
クラッキングはこれらを無効化することを指し、暗号化が解除された状態のデータの複製を作成したり、ソフトウェア内のチェック機構を探し出して除去するなどして、無制限にコピーや使用ができるよう不正に改造することなどが含まれる。
ビジネスメール詐欺 【BEC】
電子メールを利用した詐欺の一種で、企業などの従業員に対して管理職や取引先などを装ったメールを送り、偽の口座に送金を指示するなどして金銭を詐取する手口。
組織内の特定の取引の担当者や決済、送金などの業務に従事する従業員に対し、上長や経営幹部、取引先の担当者などを装った偽のメールを送り付け、攻撃者の用意した銀行口座などに送金するよう指示する。経営トップの極秘案件を装って社内での問い合わせや確認をさせない手口は特に「CEO詐欺」「企業幹部詐欺」などとも呼ばれる。
攻撃者はメールの信憑性を増すためにソーシャルエンジニアリングの手口を利用する。事前に何らかの方法で組織内の役職者や担当者の氏名や職位、メールアドレスなどを調べたり、実際の案件の取引の詳細や担当者などを調べ、実在の人物になりすまして職務上のやり取りにうまく紛れるように偽の送金指示を送る。
手口の詳細は多様で、マルウェアの送り込みやキーロガーなどによる盗聴、メールアカウントの乗っ取りなど情報システムへの攻撃を伴う事例も多い。顧問弁護士や会計事務所など外部の専門家や機関などになりすます場合もある。
ソーシャルエンジニアリング 【ソーシャルハッキング】
コンピュータシステムにアクセスするために必要な情報(パスワードなど)やその手がかりを、それを知る本人や周辺者への接触や接近を通じて盗み取る手法の総称。
コンピュータウイルスや通信の盗聴のような情報システムに直接介入する攻撃手法を用いず、物理的に本人の周辺に近づいて、人間の行動や心理に生じる隙を利用して重要な情報を得る手法を指す。
例えば、本人が端末にパスワードや暗証番号を入力しているところに近づいて、背後から肩越しに入力内容を盗み見る「ショルダーハック」(shoulder surfing)がよく知られる。
他にも、本人が席を外した隙にメモや付箋を盗み見たり、ゴミとして捨てられた書類などを盗んだり、身分を詐称して電話をかけて情報を聞き出すといった手法が知られている。情報の盗み取りだけでなく、本人にしかできない手続きを本人になりすまして行わせる手法も含む場合がある。
また、架空請求詐欺やフィッシングのように、虚偽の発信元や内容を記した電子メールやショートメッセージなどで受信者を騙し、ウイルス感染や偽サイトへの誘導、金銭の詐取など狙う手法も、電子的な手段を用いているがソーシャルエンジニアリングの一種に分類される場合もある。
マルウェア 【悪意のあるソフトウェア】
コンピュータの正常な動作を妨げたり、利用者やコンピュータに害を成す不正な動作を行うソフトウェアの総称。コンピュータウイルスやワーム、トロイの木馬などが含まれる。
“malicious software” (悪意のあるソフトウェア)を短縮した略語で、悪意に基づいて開発され、利用者やコンピュータに不正・有害な動作を行う様々なコンピュータプログラムを総称する。
コンピュータウイルスやワーム、トロイの木馬、スパイウェア、ランサムウェア、ボット、バックドア、一部の悪質なアドウェアなどが含まれる。キーロガーのように正規の用途で用いる場合もマルウェアとなる場合もあるものもある。
利用者の知らない間に、あるいは欺くような手法でコンピュータに侵入し、記憶装置に保存されたプログラムやデータを改変、消去したり、重要あるいは秘密のデータを通信ネットワークを通じて外部に漏洩したり、利用者の操作や入力を監視して攻撃者に報告したり、外部から遠隔操作できる窓口を開いたり、ネットワークを通じて他のコンピュータを攻撃したりする。
「マルウェア」という用語は専門家や技術者以外の一般的な認知度が低く、また、マルウェアに含まれるソフトウェアの分類や違いなどもあまり浸透していないため、マスメディアなどでは「コンピュータウイルス」という用語をマルウェアのような意味で総称的に用いることがある。
マルウェア対策
マルウェアに対抗するため、これを検知・駆除するソフトウェアを用いることがある。歴史的にウイルス対策から発展したため「アンチウイルスソフト」(anti-virus software)と呼ばれる。企業などでは伝送途上の通信内容からマルウェアを検知する「アンチウイルスゲートウェイ」なども用いられる。
マルウェアの検知には、ストレージ内のファイルなどを既知のマルウェアの特徴的なパターンと照合する「パターンマッチング法」や、マルウェアに特徴的な振る舞いを検知する「ヒューリスティック法」、隔離された実行環境で実際に実行してみる「ビヘイビア法」などの検知手法が用いられる。
マルウェアの中にはソフトウェアやハードウェアに存在する保安上の欠陥(脆弱性)を悪用して侵入・感染するものも多いため、セキュリティソフトなどに頼るだけでなく、老朽機材の入れ替え、ソフトウェアの適時の更新、不要な機能の停止などの対応も適切に行う必要がある。
コンピュータウイルス
コンピュータの正常な利用を妨げる有害なコンピュータプログラムの一種で、他のプログラムの一部として自らを複製し、そのプログラムが起動されると便乗して悪質な処理を実行に移すもの。
生物の体に潜り込んで害を成す微生物のウイルスに似ていることからこのように呼ばれ、コンピュータ関連の文脈であることが明らかな場合は単に「ウイルス」と呼ばれることも多い。広義には不正・有害なソフトウェアの総称として用いられることがあるが、本来これは「マルウェア」(malware)と呼ぶべきであるとされる。
ウイルスの感染
コンピュータウイルスは自ら単体のプログラムとして起動する能力はなく、「宿主」となる他の(正常な)プログラムの一部として自らを「感染」させ、その動作を改変して起動時に自らを実行するよう仕向ける。感染したプログラムが起動されると様々な不正・有害な処理を行うほか、他のプログラムへ自らを複製して次々に増殖していく。
ウイルスに感染したプログラムファイルが、光学ディスクやUSBメモリなどの持ち運び可能な記憶媒体(記録メディア)、インターネットや構内ネットワーク(LAN)などを通じて他のコンピュータへ移動し、そこで起動されることにより、別のコンピュータへ次々に感染が広まっていくこともある。
ウイルスの挙動
コンピュータウイルスは記憶装置に保存されたプログラムやデータを破壊、改変、消去したり、秘密あるいは重要なデータを利用者の知らないうちにネットワークを通じて外部に送信したりといった不正・有害な動作を行う。
こうした振る舞いは感染後すぐに実行に移すとは限らず、一定時間の経過後や攻撃者の指定した日時に実行したり、システムの状態を監視して何らかの条件が満たされると実行するものもある。稀に、繰り返し感染するだけで何も有害な振る舞いを行わない愉快犯的なものもあり、これをウイルスとみなさない場合もある。
ウイルス対策
コンピュータウイルスに感染したプログラムを発見し、また、感染前の状態に戻したりする働きをするソフトウェアを「アンチウイルスソフト」(anti-virus software)あるいは「ワクチンソフト」(vaccine software)などと呼ぶ。
ウイルスの検知には、ストレージ内のファイルなどを既知のウイルスの特徴的なパターンと照合する「パターンマッチング法」や、ウイルスに特徴的な振る舞いを検知する「ヒューリスティック法」、隔離された実行環境で実際に実行してみる「ビヘイビア法」などの検知手法が用いられる。
ウイルス検知のみを行い回復は利用者や他のツールに頼るシステムと、ファイルに含まれる不正なコードの除去を試みるシステムがある。企業などのネットワークでは、伝送途上の通信内容からウイルスを検知して流入を阻止する「アンチウイルスゲートウェイ」なども用いられる。
他のマルウェアとの違い
コンピュータウイルスのような開発者が悪意に基づいて開発・配布している有害なソフトウェアを総称して「マルウェア」(malware:悪意のあるソフトウェア)という。この用語はあまり普及しておらず、総称の意味で「コンピュータウイルス」と呼ぶことも多い。
ウイルスの他に、プログラムファイルへの感染などはせず、自ら単体のプログラムとして起動し、主にネットワークを通じて他のコンピュータへの感染を広める「ワーム」(worm)、一見何か有用な働きをするソフトウェアのように振る舞うが、その裏で利用者に気づかれないように有害な動作を行う「トロイの木馬」(Trojan horse)などがある。
他にも、感染先のコンピュータのストレージを暗号化し、復号のために攻撃者への「身代金」の支払いを求める「ランサムウェア」(ransomware)、攻撃者が遠隔から操作できるネットワーク上の「窓口」を設ける「バックドア」(backdoor)、利用者の操作やコンピュータ内の処理、データ送受信などを盗聴して攻撃者に報告する「スパイウェア」(spyware)など様々な類型があり、これらの複数に該当する複合型のマルウェアも多い。
マクロウイルス 【マクロ感染型ウイルス】
オフィスソフトなどが搭載する、操作を記録して自動化する仕組みを悪用し、文書ファイルなどに寄生して感染するタイプのコンピュータウイルス。文書作成ソフトや表計算ソフトなどが標的となる。
ワープロソフトや表計算ソフトなどは、定型的な繰り返し作業などを自動化するために「マクロ」(macro)と呼ばれる簡易なコンピュータプログラムの実行機能を持っており、プログラムを文書ファイル内にデータ本体と供に保存することができるようになっている。
マクロウイルスはこの仕組みを悪用し、利用者に気づかれないようにこっそりと文書ファイルに「感染」して、自己増殖や破壊活動を行う。マクロ機能が有効になっていれば文書ファイルを開いただけで感染するため、電子メールの添付ファイルなどを通じて感染を広げやすい。
ソフトウェアの保安上の欠陥(脆弱性)を悪用するウイルスなどとは異なり、ソフトウェア本来の機能を使用して実装されているため、本来の目的で使われるマクロと形式的に区別することは難しく、修正プログラムの適用といった一律の対策で完全に排除することは困難である。
同じマクロを実行できる環境があればオペレーティングシステム(OS)の種類を問わずに活動できるため、アプリケーションソフトが複数のOSに移植されるようになった今日では、複数のOSにまたがって大量感染するケースも見られる。
また、マクロは構造上、元のプログラム(ソースコード)をそのままファイル内に記録するため、オリジナルの開発者以外が「改造」しやすく、亜種が発生しやすいという特徴もある。感染したファイルを開くとアプリケーションソフトの設定を改変し、元のファイルが削除されても他のファイルに感染することができる手の混んだウイルスもある。
最も標的にされやすい米マイクロソフト(Microsoft)社のオフィスソフト「Microsoft Office」(Word/Excel/PowerPointなど)では、2000年前後にマクロウイルスが猛威を振るったことからマクロを初期設定では無効にしているが、本来の目的でマクロを使用するために利用者の操作で簡単に実行できるようになっており、現在もスパムメールなどを通じた感染は続いている。
ワーム 【コンピュータワーム】
有害な動作を行うソフトウェアの一種で、インターネットなどを通じてコンピュータに侵入し、さらに他のコンピュータへの自身の複製を試みるもの。
ソフトウェアの保安上の弱点(脆弱性)や利用者の誤認などを悪用してコンピュータ内に自身を複製して感染する。自己増殖機能を有し、自身が感染した経路や手段を繰り返し用いて次々に他のコンピュータへの感染を試みる。
“worm” の原義はミミズや芋虫のような線形の虫や動物のこと。世間一般にはコンピュータウイルスの一種とみなされるが、一般的なウイルスと異なり宿主・寄生先となる他のソフトウェアやファイルがなく単体で侵入・活動するため、専門的な分類ではウイルスとは区別されることが多い。
主な感染経路
感染経路として最も一般的なのは電子メールの添付ファイルを悪用したもので、何か有用なファイルが添付されているように偽装したメールを無差別に大量送信し、受信者がワームと気付かず添付ファイルを開いてしまうと実行ファイルが起動して感染するというものである。
他に、WebサーバやWebブラウザの脆弱性を利用してWebページの閲覧などを介して感染するものや、ファイル共有やUSBメモリなどを介して感染するものがよく知られる。
感染後の活動
感染したコンピュータで自身が起動時に自動的に実行されるようシステム設定を改竄することが多く、利用者が気付かないうちに常時稼働状態となって他のコンピュータへの感染などの動作を繰り返し行う。
感染したシステムに対する有害な動作として、ストレージ(外部記憶装置)内のファイルなどの外部への漏洩や改竄、削除、システムを破壊し起動不能にするといった活動を行う場合がある。
また、外部の他のコンピュータへの攻撃・妨害活動を自動的に行ったり、外部の攻撃者がインターネットを通じて遠隔から操作できる窓口(バックドア)を設置することもある。ワームを介して特定の攻撃者からの指令を受け、一斉に攻撃などを行うよう組織されたコンピュータ群を「ボットネット」(botnet)という。
ボット
人間による操作や作業を代替したり、人間の行為を模して人間のように振る舞い、自動的・自律的に行動するソフトウェアやシステムなどのこと。
「ロボット」(robot)のIT分野における略語で、コンピュータ上である程度の長い時間稼働し続けて、従来は人間が操作して行っていたような作業を一定の条件や規則に基づいて連続して自動的に遂行するプログラムを、機械のロボットになぞらてこのように呼ぶ。
また、チャットやSNSなどのコミュニケーションサービス・システムなどで活動し、人間の発言や行動などを真似て人間のように振る舞う自律的なプログラムなどを指す場合もある。
検索ロボット
Web検索エンジンが検索対象のWebページを収集するシステムを「クローラ」(crawler)、「スパイダー」(spider)、「ロボット」(robot)などと呼び、ロボットを略してボットと呼ばれることがある。
Webページ間のハイパーリンクを辿って次々に様々なWebサイトやWebページを訪れ、ページを構成するHTMLファイルやCSSファイル、画像ファイルなどのデータを取得し保存する。ボットが収集したデータはインデクサー(indexer)が記述内容を解析し、索引付けを行って検索可能な状態にする。
マルウェアのボット
マルウェア(悪意のあるソフトウェア)の一種にもボットと呼ばれるプログラムがあり、感染したコンピュータで攻撃者からの指示を待ち、遠隔からの指令された動作を行う。
コンピュータウイルスやトロイの木馬などの一部として送り込まれ、感染したコンピュータ上に常駐して特定のネットワークに接続して指示を待つ。コンピュータを使用不能にするような妨害・破壊活動は行わず、なるべく遠隔操作を利用者に気づかれないように振る舞う。パスワードやクレジットカード番号など秘密の情報を盗み出して攻撃者に報告したり、別のコンピュータやネットワークへの攻撃の踏み台として悪用される。
インターネット上で同じボットが組み込まれたコンピュータにより築かれたネットワークを「ボットネット」(botnet)と呼び、攻撃者の指示で一斉に特定のネットワークへDDoS攻撃(分散DoS攻撃)を行ったり、スパムメールの発信元などとして悪用される。
オンラインゲームのボット
オンラインゲームでは本来プレーヤーが操作するキャラクターをプレーヤーに代わって「自動操縦」するプログラムをボットという。敵キャラを倒してゲーム内の通貨やアイテム、経験値などを稼ぐ作業を人間に代わって自動的に行う目的などで使われる。
ボットが操作するキャラクターはシステム上の扱いは他のプレーヤーキャラクターと変わらないが、人間が操作しているわけではないため、他のプレーヤーと会話したり共に行動したりすることができない。マナーを無視して行動したり、他のキャラクターの邪魔をしたりすることも多いため、一般のプレーヤーが快適にプレイするのを妨げるとされ嫌われている。
また、ボットを利用して育成したキャラクターや、入手したゲーム内通貨やアイテムなどを他のプレーヤーに現金で転売するRMT(Real Money Trade)行為も問題となっており、ボットの使用を規約で禁じて違反者のアクセス権を剥奪する運営元も多い。
ボットネット 【ゾンビクラスタ】
攻撃者の指令や遠隔操作などを受け入れるよう、コンピュータウイルスなどに感染させた多数のコンピュータを組織したネットワーク。
コンピュータウイルスやトロイの木馬、ワームなどの悪意のあるソフトウェア(マルウェア)の中には、特定の手段で開発者などの外部の攻撃者からの指示を実行したり、あるいは直接的に遠隔操作を受け付ける裏口(バックドア)を設置したりするものがある。
インターネット上には、これらの有害なソフトウェアが侵入した状態のまま利用者が気付かないなどの理由で放置されている「ゾンビPC」が数多く存在し、攻撃者が意のままに操って一斉攻撃などに動員することができるようになっている。このようなネットワークをボットネットという。近年ではパソコンやサーバほどにはセキュリティ対策が進んでいないIoT機器を標的としたIoTボットネットが急拡大し問題となっている。
攻撃者はボットネットに指示を送り、特定の標的に一斉に通信を発生させ機能停止に追い込むDDoS攻撃を行ったり、スパムメールやウイルスメールを大量送信したり、フィッシング詐欺を行う不正なWebサイトの構築を行ったり、攻撃者が他のコンピュータを攻撃するための通信を中継したり、機密情報などを盗み出して攻撃者に報告したりする。
不正の動作は乗っ取ったコンピュータの本来の持ち主に気付かれないよう秘密裏に行われることが多く、ボットネットによって操られたコンピュータの利用者が捜査機関によってサイバー攻撃の犯人と疑われた例もある。
ボットハーダー (bot herder)
ボットネットを組織しゾンビ端末に司令を与える攻撃者のことを「ボットハーダー」(bot herder)と呼ぶことがある。“herder” とは牛飼いや羊飼いなど家畜の世話をする人のことで、多数のゾンビ端末を自在に操る様子から名付けられた。
ハーダーは乗っ取ったコンピュータの通信記録を改竄・消去したり、すでに乗っ取った管理が杜撰なコンピュータを経由して別のコンピュータを遠隔操作するなど、自らの発信元や身元を徹底的に秘匿しながら活動するため、ボットネットからの攻撃を検知してもハーダーを特定することは困難を極める。
ハーダーからの指示を伝達するコンピュータを「C&Cサーバ」(command and control server)という。以前はハーダーからの情報の伝達にはIRC(Internet Relay Chat)がよく用いられたが、最近では独自のWebサイトを立ち上げたり、電子掲示板(BBS)やSNSへの書き込みを利用したり、独自のP2Pネットワークを構築する例も見られる。
RAT 【遠隔操作ウイルス】
不正アクセスに用いられる攻撃用ツールの一種で、標的のコンピュータに潜んで攻撃者からの遠隔操作を受け付けたりデータの盗み出しや改竄などを行うもの。
潜入の仕方や攻撃手段には様々なバリエーションがあるが、一般的によく知られるタイプは有用なソフトウェアやファイルに見せかけて標的の利用者に実行を促し、気付かれないようにシステム内に不正なプログラムなどを導入する「トロイの木馬」型のものである。このため「RAT」を “Reomte Access Trojan” の略とする場合もある。
RATは標的のコンピュータに常駐し、攻撃者が任意のOSコマンドを実行できるようにしたり、保存されているファイルなどを盗み出して攻撃者へ送信したり、存在が露見しにくいようシステムの設定や記録の変更や改竄を行ったり、利用者の操作を監視(キーロガーによる文字入力記録やデスクトップのスクリーンショット撮影など)して攻撃者に報告したりする。
スマートフォンやノートパソコンなどマイクやカメラが付いている機器の場合は、これを秘密裏に操作して盗聴や盗撮を行うこともある。企業などへの攻撃に用いる場合は、乗っ取ったコンピュータや利用者には直接害を及ぼさず、内部ネットワーク上の他のコンピュータや重要なデータを攻撃するための踏み台として悪用することもある。
RATによる攻撃は、あらかじめ決められた動作を行うだけのマルウェア感染に比べ、人間が攻撃手法を吟味して行うため被害が深刻化、長期化しやすい。外部の攻撃への踏み台に使われた場合、乗っ取られた被害者が加害者と誤解され、そのまま検挙されて罰せられてしまう事件(2012年のパソコン遠隔操作事件など)も発生している。
C&Cサーバ 【Command and Control server】
外部から侵入して乗っ取ったコンピュータを利用したサイバー攻撃で、踏み台のコンピュータを制御したり命令を出したりする役割を担うサーバコンピュータのこと。
一般家庭のパソコンなどに外部からウイルス感染や不正アクセスなどを仕掛け、利用者に気づかれないように外部から任意に遠隔操作できる接続窓口(バックドア)を設ける攻撃がある。このように外部から乗っ取られた状態のコンピュータを「ゾンビコンピュータ」(zombie computer)という。
攻撃者は侵入に成功したゾンビに個別に接続して直に操作することもあるが、同じマルウェアに何万台も感染させた場合などには、これを「ボットネット」(botnet)と呼ばれるネットワークに組織化し、一度の指示で一斉に同じ動作を行えるように管理する。
その際、各ゾンビへの指示を出し、動作を制御する役割を果たす中央サーバのことをC&Cサーバという。どのような司令を出すかは攻撃者次第だが、ウイルスメールやスパムメールの大規模送信や、一斉に特定のサイトやアドレスに接続を試みて相手方を通信過多で機能不全に追い込むDDoS攻撃(分散DoS攻撃)に利用されることが多い。
トロイの木馬 【Trojan Horse】
何らかの有用なソフトウェアなどを装って導入や実行を促し、起動すると利用者に気付かれないよう秘密裏にデータ漏洩や遠隔操作などの有害な動作を行うソフトウェア。
一般にはコンピュータウイルスの一種と理解されているが、トロイの木馬は他のソフトウェアのファイルなどの一部に寄生したりせず単体で活動し、他のコンピュータへ自律的に感染を試みる自己複製の機能も持たないため、専門的にはウイルスやインターネットワームとは区別される。
名称は古代ギリシャ神話のトロイア戦争で、木馬を利用した作戦に由来する。巨大な木製の馬の像の内部に兵士を忍ばせて敵方に送り、敵が油断したところで兵士が城門を開放して味方を手引きして勝利したという逸話が残っており、相手を欺いて忍び込む手法をこの木馬になぞらえている。
偽装・侵入方法
トロイの木馬が利用者を欺く方法は主に二つあり、最も一般的なのはセキュリティソフトやメディアプレーヤー、圧縮ソフトなど何らかの有用なソフトウェアを装って利用者に導入(インストール)を促すものである。
実行すると実際にそのソフトウェアとしての機能を提供したり、あるいは何か有用な処理を行っているふりをする(「ハードディスク内のウイルスを検索中です…」といったメッセージを表示する等)が、その裏では有害な動作を行っている。
もう一つはWindowsやメールソフトなどのファイル表示の仕様を悪用して文書や動画、画像などのファイルになりすまし、開いて閲覧するよう利用者に促す方式である。
利用者がファイルを開くと、ファイルは文書などではなく実際にはアイコンや拡張子が偽装・隠蔽された実行ファイルになっており、トロイの木馬が起動してコンピュータに自身の複製を作成する。以降はコンピュータの起動時に自動的に起動するようシステム設定を改変するなどして、利用者に気付かれないよう有害な動作を行う。
有害な動作の内容
トロイの木馬の動作は攻撃者の目的により多種多様だが、よく知られる動作として、攻撃者が秘密裏に遠隔からコンピュータを操作できるようにする裏口(バックドア)として機能するというものがある。攻撃者は継続的にコンピュータに侵入し、データを盗み取ったり利用者の通信を監視・盗聴したり、無差別な広告メールの送信元にしたり、他のコンピュータへの攻撃の「踏み台」にしたりする。
また、パスワードなど秘密の情報を盗み取って攻撃者に報告したり、あらかじめ指定された特定の場所にあるファイル(利用者個人のファイル保管場所などが選ばれることが多い)を攻撃者に送信するデータ漏洩の被害も多い。中には個人的なファイル群をP2Pネットワーク上に流出させるといった動作を行うものもある。
他にも、ネット上の特定の場所からプログラムをダウンロードして実行するよう仕組まれていたり、プロキシサーバとして外部への接続を代理し、攻撃者が発信元を隠して他のコンピュータを攻撃するための中継拠点にされてしまうこともある。
スパイウェア
有害なソフトウェアの一種で、利用者の文字入力内容やWebアクセス履歴などのデータを気付かれないようこっそり収集し、インターネットを通じて攻撃者に報告するもの。
スパイウェアは無料ソフトウェアなどの配布パッケージに同梱されて導入時にソフトウェア本体と共に導入されたり、Webページ上のスクリプトや電子メールの添付ファイルなどを通じてソフトウェアの脆弱性を悪用して侵入したり、利用者へ「ウイルスに感染しています」等の虚偽のメッセージを表示して操作を促し導入させるといった手口でコンピュータに忍び込む。
主な活動は利用者の操作の監視・記録や利用者個人に関連する情報の収集で、得られたデータやファイルは利用者に知られないようインターネットなどを通じて開発元などに送信され、蓄積される。集められたデータは広告事業者や広告主などが広告配信のために利用したり、攻撃者が不正アクセスのために利用したりする。
特に、文字入力を記録・送信するキーロガーを不正に設置し、利用者がオンラインバンキングやネット通販などのために入力した銀行口座番号や暗証番号、クレジットカード番号、パスワードなどの重要な情報を盗み出して不正アクセスや不正送金などの犯罪に利用する悪質な事例が確認されている。
情報の収集はプログラムにより自動で行われることが多いが、遠隔からアクセスできる窓口を設け、攻撃者が直に操作してファイルや情報を探したり盗聴などを行うよう設計されたものもある。また、情報収集以外にもWebブラウザの起動ページの設定を特定のサイトに変更して通常の操作では元に戻せないようにロックしたり(ブラウザハイジャッカー)、強制的に広告を表示する(アドウェア)などの迷惑行為を働く場合がある。
コンピュータウイルスと共にマルウェア(悪意のあるソフトウェア)の一つに分類されるが、ウイルスと異なり自己複製・増殖機能を持たない。また、データの不正な取得と漏洩が主目的であることから気付かれて駆除されないよう他の活動をしないものも多く、ウイルスに見られるようなデータの改変や削除、他のコンピュータへの攻撃などの破壊・妨害活動は行わない場合が多い。
ランサムウェア 【身代金型ウイルス】
有害なソフトウェアの一種で、感染したコンピュータからデータを抜き取ったり正常に利用できないような状態に置き、復元のために犯人への金品の支払いを要求するもの。
コンピュータウイルスやトロイの木馬などの形で標的への侵入を試み、成功すると操作画面をロックしてパスワードの入力を要求したり、ストレージ内のファイルを暗号化して読み取れないようにするなどして、正常に利用できない状態に改変する。
画面上には、指定された方法で犯人に金品を送れば、代わりにパスワードが提供され元の状態に復元できる旨のメッセージが表示される。送金手段には銀行振込やオンライン送金サービス、仮想通貨などが用いられることが多い。“ransom” は「身代金」の意。
多数の被害者が出ている著名なランサムウェアに対しては、一般のコンピュータウイルスなどと同じようにセキュリティソフト各社などが駆除ツールを提供している場合がある。ただし、ファイルの暗号化などを行うタイプの場合、単に実行ファイルなどの本体を削除しただけではファイルは復元できない。暗号化の手法などによっては駆除ツールが暗号化を解除できない場合もあり、通常のマルウェアとは異なる対応の困難さがある。
ランサムウェアの手法そのものは1990年代から知られていたが、広く観測されるようになったのは2000年代中頃からである。2010年代になると洗練された手口で大規模に感染を試み、送金に仮想通貨を用いるなど、摘発や駆除、送金手段の遮断などを免れて長期的に活動することを狙った営利目的と見られる犯行が増えている。
キーロガー 【キーロギング】
コンピュータのキーボード操作を常時監視して時系列に記録する装置やソフトウェア。本来は有害なものではないが、他人のコンピュータにこっそり仕掛けて秘密の情報を盗み取るのに悪用されることがある。
コンピュータの利用者や管理者が何らかの理由や目的でキー入力の履歴を得たい場合に使用するもので、OSに常駐して他のソフトウェアを利用している最中のキー操作を読み取って記録する。
近年問題になっている悪用事例として、トロイの木馬やコンピュータウイルスにキーロガーが埋め込まれ、利用者が気付かずにネット通販やオンラインバンキングなどでパスワードなど秘密の情報をキー入力すると、それを盗み取って攻撃者にこっそり報告するというものがある。
また、不特定多数の人が代わる代わる利用するコンピュータ(ネットカフェのパソコンなど)に攻撃者がキーロガーを仕掛け、利用者が気付かずにネットサービスのパスワードなどを入力して盗み取られてしまうといった被害も発生している。
rootkit 【ルートキット】
コンピュータシステムへの不正アクセスに成功した攻撃者が、侵入後に遠隔操作で活動するために必要なソフトウェア一式をまとめてパッケージにしたもの。
ルートキットは侵入者の遠隔操作の痕跡をシステムのログなどに残さず、利用者や管理者に気付かれないように遠隔から不正に操作し続けるための一連のツールで構成されている。
含まれるプログラムの多くは機能的には一般的なシステムの操作や管理に用いられるものと同じだが、通常のものとは一部が異なっており、ログインやログオフ、コマンドの実行、外部との通信などが表示や記録に現れないよう細工されている。
また、自身の存在を隠蔽し、検知や駆除を逃れるための機能も備え、ストレージにファイルとして記録されたルートキットのプログラム群の存在や、実行中のプロセスなどが通常の使用方法では見つけることができないようになっている。
一般的な管理ツールだけでなく、コンピュータの通信を監視・盗聴するスニッファや、他のコンピュータを攻撃するプログラム、侵入に利用したソフトウェアの脆弱性などが修正されても再度侵入できるようバックドア(裏口)を開けるツールなども含まれることが多い。
バックドア
攻撃者が侵入に成功したシステムに設ける接続窓口で、管理者や利用者に気付かれないよう秘密裏に設置され動作する遠隔操作用のプログラム。
「バックドア」とは「裏口」という意味で、ここを経由することで正規の利用者認証やセキュリティ対策などを回避してこっそり遠隔操作することができる。ネットワークを通じてシステムへの不正侵入に成功した攻撃者が設けることが多いが、コンピュータウイルスなどが感染する際に、外部からの操作を受け入れるための窓口として設置する場合もある。
バックドアは侵入に利用したソフトウェアの脆弱性やアカウント情報などは用いずに、別の手段により実装されるため、侵入に気づいた管理者などがソフトウェアを更新するなど侵入経路に悪用された問題点を修正しても、影響を受けずに再び侵入することができる。
不正アクセスなどが確認された際に、悪用された個所の修正などに留まらず記憶装置の完全消去やオペレーティングシステム(OS)の再インストールなどを行うべきとされるのは、バックドアを消去するためでもある。
また、システムの開発元や国家の情報機関などが、秘密裏に利用者の監視や情報の窃取などを行なうため、製品の開発時などにあらかじめバックドアを設ける場合もある。そのような事例では利用者側での対策は困難となる。
ファイルレスマルウェア
有害なソフトウェアの種類の一つで、ストレージ内のファイルなどに自身を保存せず、メモリ上で活動を完結させるもの。再起動で消滅するが、ファイルのスキャンでは検知できない。
利用者を虚偽のメッセージで誘導したりソフトウェアの保安上の弱点(脆弱性)を利用してコンピュータに入り込むまでは通常のマルウェアと同じだが、独自の実行ファイルなどをコンピュータ内のハードディスクやSSDなどに作成・保存しない。
代わりに、オペレーティングシステム(OS)のスクリプト実行機能などを利用して、悪意ある挙動を標準のコマンドやスクリプトの組み合わせとして実行する。実行ファイル自体はOS側に用意されているものを利用するため、アンチウイルスソフトなどで検知するのは難しい。再起動すると消去され、痕跡を残さない。
よく悪用されるのはWindows PowerShellというWindows標準のスクリプト機能で、電子メールにMicrosoft Office形式のファイルを添付し、その中に悪意あるスクリプトを埋め込む攻撃手法がよく用いられる。対策としては、EDR(Endpoint Detection and Response)などを導入して不審な挙動を検知したり、不審な添付ファイルを開かないようメールの運用方法を見直すことなどが挙げられる。
脆弱性 【バルネラビリティ】
コンピュータやソフトウェア、ネットワークなどが抱える保安上の弱点。システムへの損害や不正な操作、情報の盗み取りや改竄など、管理者や利用者にとって脅威となる行為に悪用できる可能性のある欠陥や、仕様・設計上の不備のこと。
例えば、ソフトウェアにバグ(プログラムの誤り)があり、正当な利用権限がなくてもコンピュータを遠隔から任意に操作可能になってしまう場合がある。外部の攻撃者はこれを悪用することでシステムを乗っ取ることができてしまう。このような弱点のことをセキュリティ上の脆弱性という。
最も一般的な脆弱性はソフトウェアの実装上の誤りや設計・仕様上の不備で、システムの利用権限の奪取や、重要なデータの抜き取りや消去・改竄、コンピュータウイルスなど悪意あるソフトウェア(マルウェア)の感染や活動、外部システムの攻撃の踏み台などに悪用される。
プログラムコードの記述ミスのような明白な誤りだけが脆弱性になるとは限らず、開発者が予想しなかった利用形態や設計段階での見落としなど、形式的には欠陥とはならない潜在的な問題点が脆弱性として後から認知される場合もある。
ソフトウェアの脆弱性は開発者が修正プログラムや修正済みの新バージョンなどを提供して後から修正することが多いが、半導体チップ(マイクロプロセッサなど)内部の回路や動作に脆弱性が存在する場合もあり、既存品の修正ができず装置の交換などが必要となる場合がある。
また、複数のシステムが通信する際のプロトコル(通信規約)や通信手順などの仕様が脆弱性となる場合もあり、規格の改訂などを行わない限りソフトウェアの修正などでは対応できないこともある。
情報セキュリティ上の脆弱性となるのはコンピュータ側の問題だけでなく、機密情報の管理体制の未整備や行動規範の不徹底といった人間の振る舞いに関する問題や、施設の警備や設備の盗難対策の不備といった物理的な問題もある。
バグ
「虫」という意味の英単語で、コンピュータの分野ではプログラムに含まれる誤り、欠陥を指す。俗に、ソフトウェアが正常に動作しなくなることを「バグる」ということがある。
ソフトウェアの誤作動を引き起こすコンピュータプログラム中の欠陥を指し、人間がプログラムを書き記す際に起きる単純な誤記や勘違いなどによるものから、構想や設計の段階で誤りや矛盾が含まれていたことに起因するものなど、様々な原因によって発生する。プログラム中の誤りを発見し取り除く作業・工程を「デバッグ」(debug:除虫する)という。
バグを含むプログラムを実行することで生じる問題は様々だが、典型的なものとしては、利用者の操作に応答しなくなったり、設計意図と異なる挙動を示したり、誤ったデータを出力したり、記録されたデータを破壊したりといった振る舞いが挙げられる。
ビデオゲームの分野では、キャラクターやフィールドが通常はありえない状態になる現象や、不可能なはずの挙動や展開が可能になるバグが注目されることが多い。製品としては欠陥だが、バグによって可能になる奇妙な挙動や攻略テクニックなどを「裏技」「バグ技」などと呼んで面白がる文化がある。
潜在的なバグ
常に同じ実行箇所に差し掛かると同じ問題を引き起こすバグは発見しやすいが、いつどこで実行しても同じ箇所で必ず不具合を引き起こすとは限らない。特定の入力データや操作、使用環境や設定、あるいはそれらの特定の組み合わせによって発現し、それ以外の状況では誤作動を引き起こさない場合がある。
例えば、1980年代までは日付データの年号部分を西暦の下二桁で記録・管理することは記憶容量の節約や処理速度の向上に寄与するとして推奨されることが多かったが、西暦2000年に到達すると正常に動作しなくなる(西暦2000年問題)。実際、情報システム業界は1990年代末に業務用システムの改修に大きな人手を割くことになった。
バグの発見と修正
コンピュータプログラムの設計・記述の多くは人間が行うため、バグの発生・混入を未然に完全に防ぐ方法はなく、いかに効率よく早期に発見し取り除くかが重要となる。そのためには、ソフトウェア開発の各段階で繰り返し入念にテストを行い、発見された不具合や誤作動についてプログラム上の発生箇所や原因を特定し、対処方法を決定して修正などを行う。
発見されたほとんどのバグは正しい動作を行うプログラムコードに差し替えられる。発売・公開前のプログラムは修正して実行ファイルなどを作りなおすが、利用者の手元に提供した後にバグが発見されることもある。そのような場合には、開発元が「パッチ」「バグフィックス」などと呼ばれる修正プログラムをインターネットなどを通じて配布し、利用者側のソフトウェアを更新する。
オペレーティングシステム(OS)やライブラリ、ミドルウェアなど基盤的なソフトウェアの場合には、修正によってプログラムの振る舞いが変わり、従前の振る舞いを前提に動作していた他のプログラムなどに思わぬ影響を及ぼすことがある。深刻な影響が想定される場合はバグをあえて放置し、別の箇所や方法で悪影響を抑えるというアプローチが取られる場合もある。
歴史
古くは19世紀の記録に機械の設計・製造上の誤りや不良が “bug” と呼ばれていた事例がいくつか知られており、初出がいつに遡るのかは判然としない。現代のコンピュータのソフトウェアにおける用例に近い初期のエピソードとして最も有名なものは、1947年にグレース・ホッパー(Grace Hopper)氏が米ハーバード大学で遭遇した事例である。
初期の電気機械式のコンピュータ「Harvard Mark II」の不具合を調査する過程で、あるスタッフがリレー(スイッチ)に蛾が挟まって接触不良を起こしているのを発見した。彼女は日誌に蛾をテープで留め、“First actual case of bug being found”(実際にバグが見つかった最初の事例) と書き残した。
セキュリティホール
コンピュータシステムに生じた保安上の弱点や欠陥。悪意ある人物やプログラムがシステムを不正に操作したり、データを不正に取得・変更することができるようになってしまう不具合のこと。現在ではほぼ同義の「脆弱性」(vulnerability)という語が用いられる。
システムを構成する機器や装置、ソフトウェア、あるいはデータ形式や通信規約(プロトコル)などに含まれる、設計上あるいは実装上の誤りや見過ごしなどにより生じる不具合のうち、システムの安全性(セキュリティ)を脅かす潜在的な危険性を持つものを指す。
攻撃者はこれを発見し悪用することで、システム上で本来の権限を超えた操作を実行したり、本来は見ることのできないデータを盗み取ったり、編集権限の無いデータを改ざん、削除したり、他のシステムへの侵入や攻撃の踏み台に使用したりすることができるようになる。攻撃はコンピュータウイルスやインターネットワームのような形で自動化されている場合もあり、知らない間にこれらに感染し損害を被ったり、他のシステムへ感染を広げてしまうことがある。
セキュリティホールの多くはソフトウェアの問題により発生するため、欠陥の発見されたソフトウェアは開発者が修正プログラム(セキュリティパッチ)を配布することが多い。インターネットが普及した現在ではセキュリティホールを放置するといつ外部からの攻撃に晒されるか分からないため、ソフトウェアは常に最新の状態に更新することが奨励されている。
シャドーIT 【shadow IT】
企業などの組織内で用いられる情報システムやその構成要素(機器やソフトウェアなど)のうち、従業員や各業務部門の判断で導入・使用され、経営部門やシステム管理部門による把握や管理が及んでいないもの。
組織内では業務用に正規に設置された機器や配線、ソフトウェアなどの他に、従業員が持ち込んだ私物のスマートフォンやタブレット端末、USBメモリなどのデジタル機器、私用の端末上で動作するソフトウェアや消費者向けネットサービス、当該部署が独自に決済して導入した機器やシステムなどが用いられることがある。
これらが経営層や情報部門の関与や認知を経ずに「知らないうちに」導入されて利用されている状態をシャドーITという。適切な管理下にあれば防げたはずのマルウェア感染や情報漏洩、外部からの攻撃などのセキュリティ上の問題を生じたり、事前の設計と異なる通信機器の設置や配による通信障害を招く場合がある。
背景として、スマートフォンなど消費者向けIT機器が高機能化・高性能化し、無料もしくは安価で便利な個人向けのソフトウェアやネットサービスが増えた結果、業務用製品がそれを後追いせざるを得なくなる「ITコンシューマライゼーション」と呼ばれる状況がある。
シャドーITへの対策としてシステムの徹底した監視と管理外要素の排除、接続遮断が行われることが多いが、そもそも従業員は業務の効率化を求めて持ち込みを行っているという事情に配慮し、一定のルールや管理システムのもと、持ち込みを認めて業務に活用する動きも見られる。これを「BYOD」(Bring Your Own Device)という。
サンクションIT (sanctioned IT)
シャドーITと対比する文脈で、組織として正式に導入、設置、支給などしているIT機器やソフトウェア、正式に契約したクラウドサービスなどのことを「サンクションIT」(sanctioned IT)と呼ぶことがある。“sanction” とは「正式に認める」「認可する」などの意。
不正のトライアングル
人が不正行為をはたらくのは「機会」「動機」「正当化」の三要素が揃った時であるとするモデル。アメリカの犯罪学者ドナルド・クレッシー(Donald R. Cressey)氏が提唱した理論をもとに会計学者のスティーブ・アルブレヒト(W. Steve Albrecht)氏がモデル化した。
主に組織内で従業員が不正行為を犯すに至るメカニズムを分析した理論で、人は三つの重要な要因が揃ったときに不正にはしるため、三つが揃わないようにするという観点で対策を立てる必要があると考える。
一つ目は不正を企図する「動機」(motive)あるいは「圧力」(pressure)で、そもそも本人がなぜ不正を働こうと思うのかという誘因や必要性を表す。例えば、「投資に失敗して多額の借金を抱えてしまった」「まとまったお金を用意できれば家族の重い病気を治療できる」といったことである。
二つ目は不正を行う「機会」(oppotunity)で、本人にとって不正を成功させるチャンスとなる状況を指す。例えば、「会計管理や入出金が一人に任されている」「監査や内部統制が機能しておらず経費精算をチェックする仕組みがない」など、不正を行っても発覚しにくい環境が該当する。
三つ目は本人の主観として不正を「正当化」(rationalization)してしまう心の働きである。例えば、「これは借りるだけで、投資で増やして返済すれば良い」「自分の待遇は能力や実績に照らして不当に低く、埋め合わせが必要である」など、自分に都合の良い理屈を考え出して倫理的な抵抗感を失わせる心理的作用を指す。
サイバー攻撃 【サイバーアタック】
あるコンピュータシステムやネットワーク、電子機器などに対し、正規の利用権限を持たない悪意のある第三者が不正な手段で働きかけ、機能不全や停止に追い込んだり、データの改竄や詐取、遠隔操作などを行うこと。
特定の組織や集団、個人を狙ったものと、不特定多数を無差別に攻撃するものがある。政治的な示威行為として行われるものは「サイバーテロ」(cyberterrorism)、国家間などで行われるものは「サイバー戦争」(cyberwarfare)と呼ばれることもある。
具体的な活動として、Webサーバに侵入してサイトの内容を改竄したり、情報システムに侵入して機密情報や個人情報を盗み出したり、大量のアクセスを集中させてサーバや回線を機能不全に追い込んだり(DoS攻撃/DDoS攻撃)、アクセス権限を不正に取得して本人になりすましてシステムを操作したり、システムを使用不能にして回復手段の提供に身代金を要求したり(ランサムウェア)といった事例が挙げられる。
攻撃者がインターネットなどを通じて標的システムに直接働きかけて攻撃を実行する手法と、コンピュータウイルスやトロイの木馬などのマルウェアを感染させ、その働きにより攻撃する手法がある。両者を組み合わせ、送り込んだマルウェアに外部から指令を送って遠隔操作する手法もある。
サイバーテロ (cyberterrorism)
サイバー攻撃のうち、政治的な要求や脅迫、示威などを目的に行われるものを「サイバーテロリズム」(cyberterrorism)、略してサイバーテロという。
特定の個人や集団が政治的な意図や動機に基づいて行うインターネットやコンピュータシステムを利用した攻撃活動で、対象に打撃を与えて政治的な主張を宣伝したり、何らかの要求に従うよう求めたり、標的側の行いに対する報復であると称したりする。
官公庁や軍、マスメディア、社会インフラ、通信網、交通機関、金融機関、医療機関など、国家や社会、人命、財産にとって重要な機能に損害を与えることを狙った攻撃が典型的だが、Webサイトの改竄や活動妨害(DoS攻撃)のような攻撃では特定の国家や民族に属するというだけで広汎・無差別に対象が選択される場合もある。
ダークウェブ 【ダークWeb】
インターネット上に存在する、特定のソフトウェアや技術を使わなければ接続できない領域で運用・公開されているWebサイトのこと。非合法な活動の温床になっているとされる。
一般的なWebサイトはインターネットに接続してWebブラウザでアクセスすれば閲覧でき、会員制のサイトも認証(ログイン)手順が必要になるだけで技術的な条件は同じだが、ダークウェブは接続のために特殊なソフトウェアを導入したり、既存の参加者から招待を受けてネットワークに参加したりする必要がある。
最も有名な例は「Tor」(トーア/The Onion Router)というツールを利用したネットワークである。これはインターネット上の通信を匿名化するために世界中のボランディアが運営する中継拠点を何段階も経由して相手先に接続するシステムで、通常のWebサイトやネットサービスへのアクセスにも使われるが、Tor経由でなければ接続できないよう設定されているサイトが多数存在する。
そのようなサイトはWeb検索エンジンなどへ掲載されることもなく発見が難しい上、Torを経由しない通常設定のWebブラウザ等ではそもそも閲覧することさえできない。運営者も閲覧者も互いに高度に秘匿されており、捜査機関であっても身元や接続元などに関する情報を得ることは困難となっている。
ダークウェブはその秘匿性の高さからしばしば非合法な活動に悪用されているとされ、所持や譲渡が規制されている薬物やコンテンツ、銃火器類、盗み取られた個人情報やアカウント情報、クレジットカード情報、企業や公的機関の機密情報、未発表のソフトウェア脆弱性、未使用のマルウェアや開発キット、ソフトウェア製品の海賊版などが取引されていると言われる。
Tor以外にも、暗号技術などを用いてインターネット内で外部から隔絶された小規模なネットワークを形成するソフトウェアが多数存在し、各ネットワーク内でダークウェブが運用されている。近年では仮想通貨の普及により支払いの匿名性を高めることが可能となり、以前にも増して取引が活発化しているとの指摘もある。
ディープウェブ/闇サイトとの違い
似た用語に「ディープウェブ」(深層Web)があるが、これは一般的な検索エンジンなどが到達し得ない場所にあるWebコンテンツ群のことで、閲覧にログインを要求するサイトや、Webページ上のリンクを辿っても到達できない情報(表示手段がフリーワード検索しか無いなど)が該当する。その多くは単に一般に非公開なだけで非合法活動と関連があるわけではない。
また、日本語で「闇サイト」という場合は、犯罪の共犯者を募集するなど非合法な目的のために設置あるいは利用されている電子掲示板(BBS)などのWebサイトのことを指し、それが技術的な意味でのダークウェブに存在するとは限らない。実際のところ、報道されているような事例の多くはダークウェブではなく通常の方法でアクセス可能なサイトばかりである。
サイバーキルチェーン
サイバー攻撃が行われる過程を7段階の行動にモデル化したもの。軍事分野で敵を攻撃する過程を4段階に分類した「キルチェーン」(kill chain)概念をサイバー攻撃に応用したもの。
システムへの不正侵入や標的型攻撃のプロセスを整理したもので、
- 偵察(Reconnaissance) … 標的の選定やシステム環境などの下調べ
- 武器化(Weaponization) … マルウェアを仕込んだ文書ファイルの作成など
- 配送(Delivery) … 標的へのメール送信など
- 攻撃(Exploitation) … マルウェアの起動など
- インストール(Installation) … バックドアなどの導入
- 遠隔操作(Command and Control) … 攻撃者との交信、指示の受信
- 目的実行(Actions on Objective) … データの流出や破壊など目的の活動
の7段階で構成される。この各段階の活動に合わせて、これを検知したり阻止する対応策を用意する必要がある。
サイバーキルチェーンという用語は2011年に軍事・航空大手の米ロッキードマーチン社が提唱したもので、“Cyber Kill Chain” は同社の登録商標となっている。内部犯を想定しておらず境界防御に頼りすぎているなどの批判もあり、必ずしも包括的なモデルとして広く受け入れられているわけではない。
元になった軍事概念のキルチェーンは一般に「目標の識別」(target identification)、「武力の指向」(force dispatch to target)、「攻撃の決断と命令」(decision and order to attack the target)、「目標の破壊」(destruction of target)の4段階で構成されるが、米空軍が策定した6段階のF2T2EA(Find, Fix, Track, Target, Engage, and Assess)など他のモデルを指す場合もある。
辞書攻撃 【ディクショナリアタック】
パスワードの割り出しなどの不明な文字列の推測を効率よく行う手法の一つで、辞書や人名録など人間にとって意味のある単語のリストを候補として用いる方式。
利用者認証などのパスワード破りに応用する場合には、辞書に掲載されている単語やフレーズを片端から入力して認証を突破できるか試みる。
文字通り語学辞書(英英辞典など)の見出し語などから候補リストを作る場合と、これに加えて何らかのリストから地名や人名、社名、製品名などの固有名詞を抽出して追加する場合がある。
人間はまったくランダムな文字列は覚えにくいため何らかの意味のある単語を使いたがるという心理を利用したもので、ありとあらゆる文字の組み合わせを試行する総当り攻撃(ブルートフォースアタック)よりも効率的に探索を進めることができる。
試行回数は増えるが、より確実性を増すために、同じ単語の大文字と小文字の組み合わせが異なるパターンや、綴りを逆さにした文字列、先頭や末尾に数字や記号を加えたものなどを自動生成して追加する場合もある。
対処法としては、パスワードなどの一部または全体をまったく無意味でランダムな文字の並びにしたり、認証の試行回数に制限(一定回数の連続失敗でアカウントをロックするなど)を設け、攻撃者が大量のパターンを自動試行できないようにするといった手法がよく知られる。
暗号文やハッシュ値への辞書攻撃
暗号やハッシュ関数の解読手法として使われる場合には、辞書にある単語や無作為に集めた平文を暗号化あるいはハッシュ化し、目的の暗号文やハッシュ値と突き合わせて一致するかどうかを調べる。
対策法としては、平文に毎回変化する無意味なデータ(ソルトと呼ばれる)を連結してから暗号化やハッシュ化などを行うようにするなどの手法がある。
総当たり攻撃 【ブルートフォースアタック】
暗号の解読やパスワードの割り出しなどに用いられる手法の一つで、割り出したい秘密の情報について、考えられるすべてのパターンをリストアップし、片っ端から検証する方式。
暗号鍵やパスワード、暗証番号(PIN)などを割り出す手法の一つで、コンピュータプログラムを用いて可能性のある符号列を自動的に生成し、順番に一つずつ正解かどうか試してみる。時間や試行回数に制限が無ければいつかは必ず解読できる。“brute force” とは「力づく」の意。
例えば、暗証番号が数字4桁のシステムの場合、「0000」から「9999」までの1万通りの可能性がある。人の手で番号の入力などを1万回行うのは大変だが、試行をコンピュータで自動化することが可能な状況ならば瞬時に終わらせることができる。
総当たり攻撃に対抗する最も単純な方法は符号列を長くするか、使用する文字の種類を増やすことである。例えば、4桁の番号の組み合わせは1万通りだが、8桁ならば1億通りになる。また、n桁の番号(数字のみ)の組み合わせは10n通りだが、数字・英大文字・英小文字の組み合わせならば62n通りとなる。
組み合わせの数がどの程度あれば安全と言えるかはその時代のコンピュータや通信回線の性能次第となる。半導体技術の発展により以前ならば十分安全だった暗号鍵やハッシュ値、パスワードなどが現実的な時間で解読できるようになってしまうことがある。実際、10年前や20年前と比べると、現在はより長い符号、より複雑なパスワードが求められるようになっている。
また、符号が短くても試行回数や速度を制限することで攻撃を難しくすることは可能である。例えば、一定の回数連続で誤った入力を試すとアカウントがロックされ、規定の方法(一定時間の経過や管理者による操作など)で解除しない限り再試行できないといった仕組みである。人間が頻繁に符号を入力しなければならない端末のパスコードやPINなどでよく用いられる。
リバースブルートフォース攻撃 【逆総当たり攻撃】
システムの利用権限(アカウント)の奪取に用いられる攻撃手法の一つで、あるシステムのアカウント名のリストを元に、多くの人が使う単純なパスワードで順番にログインを試み、たまたまそのパスワードを使っているアカウントを見つける手法。
通常の「総当たり攻撃」(ブルートフォース攻撃)は特定のアカウントのパスワードなどを力任せに解読する手法で、パスワードとして考えられる文字の組み合わせをすべて生成し、正解に行き当たるまで順番にログインを試みる。
リバースブルートフォース攻撃はこれとは逆に、何らかの方法で入手した実在のアカウント名のリストを使用して、少数の覚えやすく他人が推測しやすい単純なパスワード候補(「123456」「qwerty」「password」など)により各アカウントに順番にログインを試みる。リストの中にそのような単純なパスワードを設定している利用者がいれば、そのアカウントを乗っ取ることができる。
総当たり攻撃は「3回失敗したら1時間ログイン不可」といったように各アカウントのログイン試行回数に制限を設けることで防げるが、リバースブルートフォース攻撃はそのような単純な手法で検知や防御を行なうことが難しいという特徴がある。
この手法は「そのシステムの利用者であれば誰でも良いので乗っ取りたい」という場合に利用可能で、ある特定のアカウントのパスワードを割り出すことはできない。また、少数の限られた利用者しかいないシステムでは成功確率が極めて低く、利用者の多いネットサービスなどに適した手法である。
パスワードリスト攻撃 【クレデンシャルスタッフィング攻撃】
ネットサービスやコンピュータシステムの利用者アカウントの乗っ取りを試みる攻撃手法の一つで、別のサービスやシステムから流出したアカウント名とパスワードのリストを用いてログインを試みる手法。
何らかのシステムで実際に使われていたアカウント情報を入手して攻撃に利用する手法で、流出元と同じアカウント名(ID)とパスワードを別のシステムでも使いまわしている利用者のアカウントが乗っ取られてしまう。
攻撃者はまず管理が杜撰なインターネット上のネットサービスなどに侵入して会員のアカウント情報を盗み取ったり、別の攻撃者からリストを購入するなどして入手する。
このリストに含まれるアカウント名とパスワードの組み合わせを用いて別のサービスやシステムへのログインを試みると、同じ組み合わせを使いまわしている利用者が偶然いた場合に不正ログインに成功する。
ソフトウェアの脆弱性などを利用してシステムを直接攻撃する手法と異なり、標的システムが適切に運用され不正侵入などを受けていなくても攻撃が成功してしまう。アカウント名として利用者のメールアドレスを用いるシステムが特に標的となりやすく、また被害が起きやすい。
正規のアカウント情報を用いて行われる攻撃であるため直接防ぐことは難しく、二要素認証(二段階認証)などで本人確認を厳重にしたり、アカウント名にメールアドレス以外を設定するようにしたり、利用者に他のサービスとのパスワードの使い回しをやめるよう要請するなどの対策が取られることが多い。
クロスサイトスクリプティング 【XSS】
利用者が入力した内容を表示するような構成のWebサイトに存在する欠陥を悪用して、攻撃者が用意した悪意のあるスクリプトを利用者の元に送り込んで実行させる攻撃手法。
SNSやECサイトのように閲覧者が送信したデータを何らかの形でコンテンツの一部として表示する機能を含むWebサイトが標的となる。入力内容のチェックが甘い場合に、攻撃者の仕掛けたスクリプト(Webページ上で実行される簡易プログラム)が閲覧者のコンピュータで実行される。
典型的な攻撃例は以下の通りである。まず、標的サイトには入力フォームがあり、閲覧者の入力を受け付けてサイト内の別のページに表示する。入力内容が「Hello World」の場合「http://標的サイト/message.cgi?text=Hello+World」というURLでアクセスするものとする。
フォームの受け付けプログラムには入力内容のチェックに不備(XSS脆弱性)があり、「Hello+World」の部分が実行可能なJavaScriptのコード断片であってもそのままブラウザへ送り返し、内容を表示した閲覧者のコンピュータ上で実行されてしまう。
攻撃者はこのサイトの利用者に向けて攻撃用のサイトを用意し、標的サイトに向けてリンクを作成する。リンク先のURLには「http://標的サイト/message.cgi?text=%3Cscript%3Ealert%28%22Hello+World%22%29%3B%3C%2Fscript%3E」のように、スクリプトとして解釈・実行される文字列を含ませておく。
閲覧者が攻撃用サイトのリンクを経由して標的サイトを訪れると、攻撃者によって仕込まれていたスクリプトが標的サイト上のものとして動作し、様々な攻撃が実行される。サイトをまたいでスクリプトが移転・実行されることが「クロスサイト」の名称の由来となっている。
この攻撃により、閲覧者は標的サイトの発行したCookieデータなどを攻撃者に盗み取られたり、攻撃者の用意した偽サイトに誘導されて個人情報やアカウント情報などを攻撃者に送信してしまったり、標的サイト上で意図せず自動的に特定の操作を実行させられてしまうなどの被害を受ける。
現在では様々な攻撃のバリエーションが知られており、必ずしも攻撃者がサイトを用意する必要はなくなっている。攻撃者が用意したスクリプトを標的サイトのものとして実行させられてしまう攻撃全般をクロスサイトスクリプティングと呼んでいる。
CSRF 【Cross Site Request Forgeries】
Webブラウザを不正に操作する攻撃手法の一つで、偽装したURLを開かせることにより利用者に意図せず特定のサイト上で何らかの操作を行わせるもの。
攻撃者はあるサイトへ特定のリクエストを発生させるURL(Webアドレス)を用意し、何らかの方法でこれを偽装・隠蔽してWeb閲覧者に開かせる。閲覧者は気付かずに、あるいは何のURLであるかを誤認して開き、攻撃者の意図したリクエストを発生させてしまう。
URLを開かせる手法はいくつか知られており、Webページやメール本文にリンク先について虚偽の内容を記載したリンクを設置する、HTMLのimgタグのようにページを開くと自動的にURLが読み込まれるタグを悪用する、ページ上にURLを読み込ませるようなスクリプト(JavaScript)や自動転送(HTTPリダイレクト)などを仕掛ける、といった手口が有名である。
URLを開くことによって生じる被害や被害者も様々で、多数の閲覧者から同時に特定のサイトへリクエストを発生させて機能不全に陥らせるDDoS攻撃として用いられることもあれば、URLがSNSやネットサービスなどの手続きや操作を表しており、閲覧者の個人データやアカウント情報の漏洩や改竄、意図しない決済や送金、手続きの執行などの被害を被ることもある。
また、攻撃者が閲覧者になりすまして外部へ攻撃や迷惑行為を働く場合もあり、閲覧者が身に覚えがないまま名誉毀損や業務妨害の加害者に仕立て上げられることがある。2012年に日本で発生した、いわゆる遠隔操作ウイルス事件では、真犯人がこの手口で別の人のWebブラウザから電子掲示板に犯行予告を書き込み、その人が犯人と疑われ検挙される被害が生じた。
クロスサイトリクエストフォージェリ攻撃の標的となるのは、いきなり特定のURLへアクセスするだけで何らかの操作や手続きが完了してしまうWebサイトやWebアプリケーションで、このような状態をクロスサイトリクエストフォージェリ脆弱性という。よく知られる対策法として、送信元のチェックや、利用者が意図してアクセスしたものかの確認(確認画面の表示や画像認証など)、サイト側から発行した情報の提示を求める等の手法があり、これらを組み合わせて十分なチェックを行うのが望ましいとされる。
クリックジャッキング 【クリックジャック攻撃】
Web閲覧者への攻撃手法の一つで、攻撃用ページの上に透明表示に細工した外部サイトを重ねて表示し、外部サイト上で利用者に意図しない操作を行わせる手法。
攻撃者は閲覧者にマウスなどで特定の位置を操作するよう仕向けるページを作成し、その上に被せるようにiframeタグで外部の著名サイト(SNSや商取引サイトなど)を表示する。外部サイトの方は見た目が透明になるような表示設定を行い、閲覧者に存在を気づかせないようにする。
閲覧者が攻撃用ページをWebブラウザに表示させると、下側にある攻撃用ページの内容しか見えないため、これを操作しようとしてボタンやリンクのクリック等の操作を行うが、実際には上に覆いかぶさっている透明な外部サイトの一部をクリックしてしまい、当該サイトで意図しない操作を実行させられてしまう。
標的サイトの登録利用者がログイン状態にある場合に重大な設定変更(投稿の公開範囲の変更、アカウントの削除等)を行うよう誘導する設計になっていることが多く、その場合は閲覧者が当該サイトに登録していないかログアウト状態であれば影響は受けない。
閲覧者側の操作や設定で完全に遮断することは難しいが、Webサイト側では攻撃に悪用されないようHTTPヘッダの「X-Frame-Options」を必ず指定するようにして、外部サイトのiframe内に表示させないといった対策はできる。また、単純なクリック操作で重大な操作が完結しないよう、操作にキー入力などを組み合わせたり、重要な変更の直前に改めて利用者認証を求めるといった対策もある。
ドライブバイダウンロード 【DBD攻撃】
不正アクセスの手法の一つで、Webサイトなどに不正なソフトウェアを隠しておき、閲覧者がアクセスすると気づかないうちに自動でダウンロードして実行する攻撃手法。
攻撃者はコンピュータウイルスや遠隔操作ソフトなどのマルウェア(悪意のあるソフトウェア)を細工されたWebページに関連付けておく。閲覧者がページを開くとWebブラウザの不具合などを利用して自動的に不正なプログラムが起動し、マルウェアがダウンロードされて実行されたりコンピュータに導入(インストール)される。
閲覧者のコンピュータで起動することに成功したマルウェアは、ストレージに保管されたデータやプログラムを破壊したり、秘密の情報を不正に取得・送信したり、他のコンピュータへのウイルス感染や不正アクセスの踏み台にしたり、攻撃者からの任意の遠隔操作を受け付けるバックドアとして潜伏したりする。
攻撃に利用されるサイトは攻撃者が用意したサイトとは限らず、通常のサイトが不正アクセスやウイルス感染によって運営者が気づかないうちにマルウェアや攻撃者のサイトへ誘導するスクリプトなどを仕込まれてしまい、何も知らずに普段通りアクセスした閲覧者が被害に合う事例もある。
SQLインジェクション 【SQL injection】
データベースと連動したWebアプリケーションなどに対する攻撃手法の一つで、検索文字列など外部から指定するパラメータの一部にSQL文の断片などを混入させ不正な操作を行うもの。また、そのような攻撃を可能にする脆弱性。
データベースを利用するWebサイトの中には閲覧者の求めに応じて動的にプログラムを起動し、データベース管理システム(DBMS)へデータの検索や更新などを依頼するものがあるが、その際に「SQL」(Structured Query Language)と呼ばれる問い合わせ言語が標準的に利用される。
検索機能などを実装するために、閲覧者がフォームなどに入力した文字列をプログラムが受け取り、あらかじめ用意されたSELECT文などの一部に埋め込んでDBMSへ渡し、検索と該当データの抽出を依頼する処理がよく行われる。
その際、悪意のある攻撃者が検索文字列として引用符や条件式などを組み合わせたSQL文の断片を渡すことにより、開発者が想定していないSQL文が生成・実行され、本来得られないはずのデータを出力してしまったり、保存されたデータが破壊・改竄されることがある。“injection” は「注入」の意。
SQLインジェクションの被害で最も多いのは個人情報などデータベースに保存された重要なデータや機密データの漏洩で、過去に名簿やアカウントリストなどの流出事件が様々なサイトで発生している。また、Webサイトの改竄に悪用された場合、Webページ上にWebブラウザを攻撃するコードなどを埋め込まれる場合もあり、サイトを訪れた閲覧者に二次被害が広がってしまう。
対策としては、単純な文字列連結で動的にSQL文を生成するのをやめてプレースホルダ(バインド機構)やプリペアードクエリ(プリペアードステートメント)のような仕組みを活用したり、渡された入力値を入念にチェックして特定の文字を適切にエスケープ(無害な文字に置換)するといった手法がよく知られ、これら複数の手法を組みわせることも推奨されている。
OSコマンドインジェクション 【OS command injection】
コンピュータシステムに対する外部からの攻撃手法の一つで、システムへの入力文字列中にオペレーティングシステム(OS)のコマンド(命令文)として解釈できる断片を紛れ込ませ、不正に実行させるもの。
「インジェクション」(injection)とは「注入」という意味で、閲覧者からのデータ送信や操作を受け付けるようなWebサイトで、プログラムに与えるパラメータの扱いに問題がある場合に可能となる。
攻撃者はWebアプリケーションに送信するデータの中に、受信側が想定していない特殊な記号の組み合わせなどを含め、これに続けてOSのシェル呼び出しやコマンド実行を指示する文字列を連結しておく。
受信したシステムではこれを解釈して何らかの処理を行おうとするが、その過程で攻撃者の仕込んだコマンドも実行され、システム環境の破壊、データの不正な抜き取りや改竄、システムの遠隔操作などの攻撃が行われてしまう。
対策としては、プログラミング言語や実行環境の備えるシェル呼び出しやOSコマンド実行などの機能を使わないようにしたり、入力文字列として特定の記号文字などを受け付けないようチェックする処理を行うなどの手法がある。
入力文字列に不正な文字列を組み込んで実行させる攻撃手法は「インジェクション攻撃」と総称される。OSコマンドインジェクション以外にも、データベースシステムに対してSQL文として解釈できる文字列断片を不正に読み込ませる「SQLインジェクション」や、HTTPパケットのヘッダ部分に不正に項目を挿入する「HTTPヘッダインジェクション」などがある。
ディレクトリトラバーサル 【パストラバーサル】
コンピュータシステムへの攻撃手法の一つで、ファイル名を扱うようなプログラムに対して特殊な文字列を送信することにより、通常はアクセスできないファイルやディレクトリ(フォルダ)の内容を取得する手法。
Webアプリケーションなどで、パラメータとして外部からファイル名などの指定を受け付けるような場合に、その文字列の取り扱いに問題があると攻撃対象となる。
オペレーティングシステム(OS)の多くはファイルやディレクトリの所在を記述するパス(path)の記法の一部として、現在のディレクトリ(UNIX系OSやWindowsなどでは「.」)や一階層上の親ディレクトリ(同「..」)、最上位ディレクトリ(先頭に「/」や「¥」)などを意味する特殊な記号の組み合わせが定められている。
攻撃者はこれを悪用し、プログラムに対してディレクトリ階層を移動するようなパスを与えることにより、開発者の想定外の場所にあるファイルやディレクトリへのアクセスを行う。パスワードや個人情報など秘匿されるべき情報が詐取されたり、システム設定の記録されたファイルが改竄・削除されシステム環境が破壊されることもある。
中間者攻撃 【MITM攻撃】
通信を行う二者の間に割り込んで、両者が送受信する情報を自分が用意したものとすりかえることにより、気付かれることなく盗聴したり、通信内容に介入したりする攻撃手法。インターネットなど信頼できない通信経路を利用することで被害に遭うことがある。
攻撃者Xは、通信を行うAとBのやり取りをすべて中継することができる拠点を用意する。これは例えば、公衆Wi-Fiスポットを装った不正なアクセスポイントを設置して、知らずに接続したスマートフォン利用者と、その関係先の通信を取り次ぐといった形で行われる。
AがBに自ら公開鍵を渡して公開鍵暗号による通信を行うとすると、XはAがBに送った公開鍵を取得し、Bには代わりに自らの公開鍵をAのものと偽って送信する。Bは(Aのものと思い込んでいる)Xの公開鍵で暗号化したデータをAに送信する。
Xはこれを横取りして自らの秘密鍵で復号し、Aの公開鍵で暗号化してAに送付する。Aは自らの秘密鍵でデータを復号することができ、Bから安全に送られてきたデータだと思い込む。この過程でXは両者のやり取りを覗き見たり改竄したりすることができるが、AもBもそのことには気付かない。
公開鍵暗号で電子署名や鍵交換などを行うには、中間者攻撃で公開鍵がすり替えられないようしなければならない。AとBが共通して信頼している認証局(CA)が発行したデジタル証明書(公開鍵証明書)を利用して、公開鍵が確かに相手方のものであると確かめる必要がある。
中間者攻撃は公開鍵暗号だけでなく、一般的なWebサービス、電子メール、DNS(Domain Name System)などを標的に行われることがある。万能の解決策はなく、認証方式などを工夫して利用者やクライアントがサーバなどの接続先を本物であると確認できる手段や手順を用意する必要がある。
MITB攻撃 【Man-In-The-Browser】
ネットワークを通じた攻撃手法の一つで、攻撃対象の利用するコンピュータにトロイの木馬など悪意のあるソフトウェアを潜り込ませ、Webブラウザなどの通信を監視して通信内容を改ざんしたり操作を乗っ取る手法。
よく知られた手口として、オンラインバンキングの操作を乗っ取って利用者の預金を詐取する手法がある。攻撃者は標的のコンピュータに何らかの方法でトロイの木馬を送り込み、Webブラウザの通信をすべて中継して監視するプロキシとして動作させる。
監視中に利用者が正規の認証情報を入力して金融機関のサービスにログインしたのを検知すると、通信に介入して送受信情報の改竄を行い、振込先などの情報を不正に書き換えて攻撃者の指定した口座に預金を振り込ませてしまう。
これは、利用者から見ると不正な偽サイトに誘導されたわけではなく、正規のサービスを利用して正しく操作が完了したように見える(データの改竄は画面上ではなく送信のタイミングで行われる)ため対策が難しい。
銀行側から見ても、正規の利用者がいつものコンピュータから正規の手続きに則って認証を行い、正しく送金指示を行っているように見えるため、やはり対策を取りにくい。両者とも単独で改竄に気付くのは困難なため、送信時に送金情報に応じて変化するワンタイムパスワードを付加して受信側で検証するトランザクション署名などの仕組みが必要となる。
オープンリレー 【第三者中継】
メール送信サーバ(SMTPサーバ)が、外部からの送信依頼を受け付けること。特に、何の制限も無く誰でも自由にメールを送信できるよう開放していること。迷惑メールやウイルスメールの送信に悪用されるため好ましくないとされる。
利用者からメールを受け取って宛先の受信サーバに届けるSMTPサーバは、インターネットサービスプロバイダ(ISP)なら加入者のみが、企業などの組織であれば従業員のみが利用できるよう、依頼を受け付けるIPアドレスやメールアドレスなどを限定する運用が一般的となっている。
一方、第三者中継設定のサーバは特にそのような制限を設けず、インターネット上の誰からでも送信依頼を受け付ける。これは悪質な広告業者がスパムメールを無差別にばら撒いたり、攻撃者がウイルスメールを送信したりする「踏み台」として使われてしまう危険性があるため、適切な制限を設けることが推奨されている。
インターネット上にある第三者中継状態のサーバを調べてリストの形で公開している団体もあり、受信側が自衛手段としてリストに掲載されたメールサーバからのメールの受け取りを自動的に拒否するよう設定している場合もある。
最近では一般の家庭でもパソコンを高速な回線で常時接続することが一般的になってきたため、感染すると第三者中継サーバとして機能するコンピュータウイルスなども登場している。このようなウイルスに感染すると利用者は気付かないうちに迷惑メール送信の踏み台にされてしまう。
IPスプーフィング 【IP address spoofing】
TCP/IPネットワークを通じた攻撃手法の一つで、IPパケットの送信元として虚偽のIPアドレスを書き入れてそのアドレスになりすます手法。不正侵入にもDoS攻撃にも悪用される。
IP(Internet Protocol)の仕様では、パケットのヘッダにある送信元IPアドレスの欄は送信側の自己申告であるため、悪意を持って別のIPアドレスを書き込んでそのアドレスからの送信であるかのように偽装することができる。
企業などのネットワークでは、内部ネットワークのアドレスからの接続を許可し、外部アドレスからの接続を拒否するといった接続設定でセキュリティを確保している場合がある。そのようなネットワークへ攻撃者が内部アドレスを送信元とするパケットを送信すると、内部からの接続と誤認して許可してしまう。攻撃者は自身のアドレスをどこにも残していないため、ログ(通信記録)を調べても真の送信元がどこかは分からない。
IPスプーフィングによる通信は一方通行であり、攻撃対象からの応答は送信元として偽装されたIPアドレスへ送られ、攻撃者が応答を受信して内容を確認することはできない。また、偽装されたアドレスの本来の持ち主が稼働している場合、応答に反応して正しいパケットを送信することがあり、攻撃が成立しない場合がある。こうした制約があるため、不正侵入などに用いるには他の手法と併用されることが多い。
IPスプーフィングは古典的な攻撃手法であり、不正侵入やデータ漏洩などを防止する対策が広まっている。近年では攻撃対象に大量のデータや接続要求を送信して正常な動作を妨げるDoS攻撃(特にDDoS攻撃)と併用されることが多く、攻撃者の身元の秘匿やアクセス制限対象のアドレスの撹乱などに用いられる。
DNSキャッシュポイズニング 【DNS cache poisoning】
インターネット上のIPアドレスとドメイン名(ホスト名)を対応付けるDNS(Domain Name System)に対する攻撃手法の一つで、DNS情報の探索を行うキャッシュサーバに不正な手段で嘘の情報を覚えさせ、利用者からの問い合わせに答えさせる手法。
DNSキャッシュサーバは利用者からのドメイン名などの問い合わせを受け付け、そのドメインを管理する権威DNSサーバへの問い合わせを代行し、問い合わせ結果を一定期間保存して利用者に応答することで権威サーバの負荷を低減する役割を果たしている。
本来、キャッシュサーバが保存する情報は各々のドメインの情報を管理・配信する権威DNSサーバから受信したものだが、古いDNSサーバソフトウェアなどでは権威サーバへの問い合わせに対する応答が本当にその権威サーバからのものであるかのチェックが甘い設計のものがある。
攻撃者はこの弱点を悪用し、あるドメインの権威DNSサーバになりすましてキャッシュサーバに虚偽のDNS情報を与え、これを保存させて利用者への応答に使わせる。利用者がそのキャッシュサーバに当該ドメインについての問い合わせを行うと、攻撃者が用意した虚偽の内容を応答するようになってしまう。
これにより、利用者は正規のドメイン名にアクセスしているはずなのに攻撃者の用意した有害なサイトのIPアドレスへ誘導されて攻撃を受けたり、気づかないうちに通信内容の盗み見や改竄をされたり、特定のドメインへアクセスできない状態に陥ったりしてしまう。
利用者が操作しているソフトウェアの操作画面などに表示されるドメイン名やホスト名などの情報は正規のものであるため、虚偽の情報を流されていることを利用者側では気が付きにくいという特徴がある。
フィッシング 【フィッシング詐欺】
金融機関などからの正規のメールやWebサイトを装い、暗証番号やクレジットカード番号などを詐取する詐欺。利用者を騙して重要な情報を入力させることを狙う。
「釣り」を意味する “fishing” が語源で、釣り針の先に付けた餌やルアーに獲物が食いつく様子を釣りに例えた表現だが、偽装の手法が洗練されている(sophisticated)ことから “phishing” と綴るようになったとする説がある。
フィッシングの代表的な手口は以下のとおり。メールの送信者名を金融機関の窓口などのアドレスにしたメールを無差別に送りつけ、本文には個人情報を入力するよう促す案内文とWebページへのリンクが載っている。
リンクをクリックするとその金融機関の正規のWebサイトと、個人情報入力用のポップアップウィンドウが表示される。メインウィンドウに表示されるサイトは「本物」で、ポップアップページは「偽者」である。本物を見て安心した利用者がポップアップに表示された入力フォームに暗証番号やパスワード、クレジットカード番号などの秘密を入力・送信すると、犯人に情報が送信される。
フィッシング攻撃者は、URLに使用される特殊な書式を利用してあたかも本物のドメインにリンクしているかのように見せたり、ポップアップウィンドウのアドレスバーを非表示にするなど非常に巧妙な手口を利用しており、「釣られる」被害者が続出している。
フィッシングへの対応策としては、送信者欄を信用しない、フォームの送受信にSSLが利用されているか確認する、メールに示された連絡方法(リンクなど)以外の正規のものと確認できている電話番号やURLなどから案内が本物かどうかを確認する、などが挙げられる。
スピアフィッシング (spear phishing)
特定の人物を狙い、偽のメールを送ったりウイルスを仕込んだりしてパスワードや個人情報などを詐取する詐欺。もとは魚釣りの用語で、銛(もり)や水中銃で魚を突き刺す釣り方のこと。
大手銀行のオンラインバンキングなど有名なサービスの不特定多数の利用者を狙う通常のフィッシングとは異なり、対象の素性を調査した上で、その個人に合わせた手法が個別に考案されるのが特徴である。
例えば、大企業の支店に勤務する社員に「本社の情報システム部の者だが調査に必要なのであなたのパスワードを教えてほしい」といったメールを送り、だまされた社員から聞き出したパスワードを使ってその企業のネットワークに不正侵入するといった手が使われる。他にも、上司や取引先に成りすまして業務上の機密情報や知的財産を詐取するといった事例が報告されている。
ファーミング詐欺 (pharming)
有名な金融機関やオンラインショップのサイトをそっくりに真似た偽のサイトを作り、DNSサーバの情報を書き換えることで利用者を誘導し、暗証番号やクレジットカード番号などを詐取する詐欺。フィッシング詐欺の手口の一つ。
通常、Webサイトにアクセスするにはドメイン名を含んだURLを入力するが、ドメイン名は通信事業者などが管理するDNSサーバによってIPアドレスに変換され、対応するIPアドレスを持ったサーバにアクセスすることになる。
ファーミングを行う攻撃者は、このDNSサーバの管理するドメインとアドレスの対応表を不正に書き換え(DNSキャッシュポイズニング)、利用者がドメインを問い合わせると偽のアドレスを返すよう細工する。
利用者は自分の利用している金融機関などの正しいURLにアクセスしているつもりで、攻撃者の運用するそっくりな偽のサイトに誘導され、不正に情報を詐取される。なお、パソコンの中にもドメインとアドレスを対応付けるhostsファイルというファイルが保存されており、ウイルスなどを使ってこれを書き換えることで偽のサイトに誘導する手法もある。
フィッシング詐欺は偽の案内メールなどで利用者を「一本釣り」にする手法だが、DNSサーバに不正な情報を流すことでそのサーバを利用する利用者を丸ごと偽のサイトに誘導する様子を農業(farming)に例え、ファーミングと名付けられた。綴りが本来の "farming" ではなく "pharming" なのはフィッシング詐欺を "phishing" と綴るのを踏襲したもので、"sophisticated" (洗練された) が語源と言われている。
スミッシング
スマートフォンなどのSMS(ショートメッセージサービス)を悪用したフィッシング詐欺。“SMS” と “phishing” を組み合わせた造語で、受信者に有名企業などの偽サイトへ誘導し、本物のサイトで使っているパスワードなどを詐取するといった攻撃を仕掛ける手法。
フィッシング(phishing)とはインターネットを通じて行われる詐欺行為の一種で、会員制ネットサービスなどの運営元を装った偽のメッセージ(典型的には電子メール)を標的に送信し、本物そっくりの偽サイトへ誘導してIDやパスワード、クレジットカード番号などの重要な情報を奪い取る手法である。
スミッシングはこのようなフィッシング詐欺の偽メッセージ送信を携帯電話のSMSにより行う手法である。送信先の指定を電話番号のみで行うため、ランダムに生成した大量の番号に一斉送信するなどして、メールアドレスなどの情報が事前に手に入らない相手も標的とすることができる。
なりすましの対象となるのはスマートフォン向けに通知や手続きなどのサービスを提供している企業などが多く、金融機関(オンラインバンキングなど)、大手通販サイト、通信事業者(キャリア決済など)、宅配事業者(不在通知など)を装う事例がよく知られている。
金銭や決済に関連するサービスが狙われる場合は、クレジットカードの認証コードやオンラインバンキングの二段階認証で用いる暗号表の内容をすべて入力させるなどして、被害者になりすまして預金の盗み出しや高額商品の決済を行う悪質な事例も報告されている。
SMSは送信元も電話番号や相手の名乗った文字列で表示されるなど本物と偽物を見分けにくく、Webサイトもスマートフォンでの狭い画面、限られた情報での表示となり素人目には真贋を見抜きにくい。相手から送られたURLは開かずWeb検索で事業者のサイトを探してアクセスするといった自衛策が必要となる。
セッションハイジャック
ネットワーク上で一対の機器間で交わされる一連の通信(セッション)を途中で乗っ取り、片方になりすましてもう一方から不正にデータを詐取したり操作を行なう攻撃。
コンピュータや通信機器の間の通信は多くの場合、人が電話をかけるときのように、通信開始の手続き、データのやり取り、通信終了の手続き、が一定の手順に則って一連の流れとして行われ、これをセッションという。
セッションハイジャックはこの一連のやり取りに不正に介入する攻撃で、偽造したデータを送りつけるなどの手法によりセッションを結んでいる片方になりすまし、もう一方と通信を行なう。これにより、本来の相手にしか開示されない秘密の情報を詐取したり、パスワードの変更などの重要な操作を不正に実行することができるようになる。
Web上のセッションハイジャック
単にセッションハイジャックという場合はWebアプリケーションにおけるWebサーバとクライアント(Webブラウザなど)の通信に介入してセッションを乗っ取る攻撃を指すことが多い。
Webのデータ転送に用いられるHTTP自体にはセッション管理のための仕様が存在しないため、アプリケーション側にセッション確立のための仕組みが組み込まれている。その設計に不備があるとセッションハイジャックを可能とする脆弱性が生じる。
よく用いられる手法として、セッションIDに規則性がある場合にこれを推定して割り出す手法や、IDが記録・伝送される途上で盗み見る手法、攻撃者の用意したIDに不正にすり替える手法(セッションフィクセーション攻撃)などがある。
DoS攻撃 【Denial of Services attack】
通信ネットワークを通じてコンピュータや通信機器などに行われる攻撃手法の一つで、大量のデータや不正なデータを送りつけて相手方のシステムを正常に稼働できない状態に追い込むこと。
標的となる機器やネットワークなどを機能不全に陥らせる攻撃で、機密情報の漏洩や不正な遠隔操作などの被害は起きないが、システムに保安上の欠陥・弱点(脆弱性)が存在しなくても攻撃が成立する危険があるという特徴がある。
大量のデータを送りつけて通信容量や処理能力を飽和状態にして応答できないようにする手法(フラッド攻撃)と、ソフトウェアの脆弱性などを顕在化させるような不正なデータを送り込み、システムを応答不能にしたりソフトウェアを異常終了させてしまう手法がある。
フラッド攻撃は必ずしもセキュリティ上の弱点が存在しなくても実行でき、悪用する通信方式(プロトコル)などにより、SYNフラッド攻撃、ICMPフラッド攻撃(Pingフラッド攻撃)、UDPフラッド攻撃、F5アタックなどの種類がある。
不正に乗っ取った端末などに遠隔から指示して標的に一斉にアクセスを行う分散型の攻撃手法を「DDoS攻撃」(分散DoS攻撃)という。送信元アドレスを標的のものに偽装したパケットをネット中にばら撒いて、標的に(身に覚えのない)応答を集中させる手法は「DRDoS攻撃」(DoSリフレクション攻撃)という。
通常のDoS攻撃は処理能力や通信能力を飽和状態に追い込むことを目的とするが、標的が従量課金制のクラウドサービスなどを利用している場合に、無駄なデータ伝送や処理を大量に行わせて経済的な破滅を狙う攻撃手法もあり、「EDoS攻撃」(Economic DoS attack)と呼ばれる。
DDoS攻撃 【Distributed Denial of Service attack】
インターネット上の多数の機器から特定のネットワークやコンピュータに一斉に接続要求を送信し、過剰な負荷をかけて機能不全に追い込む攻撃手法。
攻撃対象が正常に稼働できないよう妨害するDoS攻撃(Denial of Service)の一種で、ネットワーク上に分散した多数の端末が連携して攻撃を行うことがからこのように呼ばれる。
攻撃の首謀者がSNSなどで参加者を募り、多数の実行犯が自らコンピュータを操作して攻撃に参加する場合と、攻撃者がコンピュータウイルスなどを用いて事前に乗っ取った多数の端末を遠隔操作して一斉に攻撃させる場合がある。
攻撃が開始されると標的のシステムには短時間に大量のアクセス要求が押し寄せ、サーバの処理能力や通信回線の伝送容量などを使い尽くし、機能を停止したり外部からのアクセスが困難になる。
同じ送信元から多数の接続要求を行う場合に比べ、一件一件のアクセス要求は通常のアクセスと見分けがつきにくく、攻撃のみを機械的に判別して遮断することが難しい。標的側のセキュリティ対策だけで対応するのは限界があり、大手ネット企業などもしばしば被害にあう。
メールボム 【メール爆弾】
電子メールを利用した嫌がらせ行為の一つで、相手のメールアドレスに対して大量の(あるいは巨大なデータ量の)メールを送り付けること。
大量の無意味あるいは同一内容のメールを送りつけたり、巨大なサイズのファイルを添付したメールなどを送りつける攻撃手法で、受信メールサーバ上の一時保管領域(メールボックス)の所定の保管容量を使いきって他のメールを受信できなくしたり、受信者がメールソフトを正常に利用できない状態に追い込む。
近年では、通信回線やメールサーバなどの処理性能や利用可能容量の向上、メールクライアントによる迷惑メール対策機能の充実、受信側メールサーバによる受信可能なメッセージサイズの上限設定(巨大なメールの受け取り拒否)などの施策の浸透などにより、昔ほど有効な攻撃手法ではなくなったと言われる。
標的型攻撃 【スピア型攻撃】
特定の個人や組織、情報を狙ったサイバー攻撃のこと。企業や国家の機密情報を盗み取る目的で行われることが多い。
コンピュータウイルスやトロイの木馬などの不正なプログラム(マルウェア)、システム利用者のアカウントの乗っ取り、システムへの不正侵入・遠隔操作などの手法が用いられ、個人情報や機密情報、営業秘密、知的財産などの窃取、特定のシステムの破壊、Webサイトの改竄などが行われる。
無差別に行われる攻撃とは異なり、事前に調査した対象の組織や個人に固有の情報を積極的に利用するソーシャルエンジニアリング的な手法がよく用いられる。例えば、ウイルスを添付したメールの件名や本文、偽装された送信元、添付ファイル名などに、対象と関わりのある実在の組織名や人物名、組織内でのみ通用する符丁などを記し、対象者の油断を誘ってファイルを開かせ感染させるといった手法が用いられる。
また、ウイルスやバックドア(遠隔操作用の潜伏ソフト)などは無差別にばら撒かれるものとは異なり、対象のシステムに合わせてオーダーメイドで開発され、一般的なアンチウイルスソフトや迷惑メールフィルタなどでの検知・排除が困難なことが多い。攻撃が発覚しにくいよう痕跡を消去したり、侵入に成功したシステムに長期間潜伏し、繰り返し情報を窃取する場合もある。
標的型攻撃のうち、高度に組織化された集団により多角的で継続的な攻撃が行われるものを「APT攻撃」(Advanced Persistent Threats)と呼ぶことがある。不正侵入後に数ヶ月から数年に渡って継続的に活動し、高度な国家機密にアクセスしたり、国防や社会インフラに関わる重要な施設やシステムに打撃を与えるといった活動が該当する。
水飲み場型攻撃 【ウォータリングホール攻撃】
特定の組織や個人を狙う標的型攻撃の手法の一つで、標的がよく利用すると思われるWebサイトを改竄し、コンピュータウイルスなどの感染を試みる手法。
Webサイトに不正なコードを埋め込み、利用者に気付かれずにウイルスなどをダウンロードさせる「ドライブバイダウンロード」(drive-by download)攻撃を標的型攻撃に応用したもので、肉食獣が水場の周囲で待ち伏せし、水を飲みに現れた草食獣を狙い撃ちにする様子になぞらえている。
攻撃者は標的が日常的に利用していると推測されるネットサービスやWebサイトに絞って攻撃を仕掛け、標的のシステムにのみ感染するウイルスなどを仕込む。攻撃に成功すると、標的の情報システムを遠隔操作して破壊したり、外部の攻撃への踏み台にしたり、機密情報を盗み出したりする。
インターネット利用者を無差別に攻撃する通常のドライブバイダウンロード攻撃に比べ、標的以外の利用者がサイトにアクセスしても攻撃は発動しないため、攻撃が発覚しにくいという特徴がある。
標的が頻繁に利用するWebサイトの割り出しは、標的の業種などから推測したサイトをリストアップし、実際に侵入してアクセスログなどから標的のアクセスが多いかどうかを調べているのではないかと言われている。不正侵入されたWebサイトから水飲み場型攻撃の準備段階と思われる徴候(アクセスログが読み出された以外何もされなかった等)が発見された例もある。
やり取り型攻撃
特定の相手を狙う標的型攻撃の一種で、電子メールなどで何度か無害なやり取りを行い、標的の気が緩んだどころを狙って添付ファイルによるマルウェア感染や不正なサイトへのアクセスを誘導する手法。
攻撃者はまず企業などの組織の特定の相手(問い合わせ窓口に連絡し応対した担当者を狙う場合もある)に対し、取引先や何らかの関係者、一般の問い合わせなどを装って連絡を試みる。標的から応答があったら、質問や確認などを装って何度か無害なやり取りを行う。
標的が不審がっていなさそうであると判断したら、「質問を文書ファイルにまとめたので見てほしい」などともっともらしい理由を付けて、不正な添付ファイルや攻撃用WebサイトのURLなどを載せたメッセージを送る。担当者がファイルやリンクを開いてしまうと、コンピュータがマルウェアに感染するなどして、遠隔操作や重要な情報の盗み出し等の被害を受ける。
不特定多数の相手にいきなり不正な添付ファイルやWebリンクを仕込んだメールを送り付ける「ばらまき型」の攻撃に比べ、受信者が「外部の関係者との通常のメッセージのやり取りの一環である」と錯覚し、添付ファイルやWebリンクへの警戒を怠ってしまいがちであるとされる。
対策としては、外部とメッセージ送受信が可能な従業員への攻撃手口の周知、身元の不確かな相手からファイル等を受け取ったらセキュリティ部門へ一報するなど社内の関連手順の見直し、不審なファイル等を安全に確認する体制の整備(社内システムから隔離した専用の環境を用意する等)が挙げられる。
SEOポイズニング 【SEO poisoning】
検索エンジンの検索結果の上位に不正なサイトのページを表示させ、気付かず閲覧した人に詐欺サイトへの自動転送やコンピュータウイルスなどが仕込まれたページを送信する攻撃手法。
攻撃者は何らかの検索キーワードやフレーズで上位に表示されるようSEO(検索エンジン最適化)を行なったWebページを作成し、検索エンジンに公開して索引付け(インデクシング)させる。検索エンジンは利用者がその検索語を調べると当該ページを含む検索結果を表示する。
利用者が検索結果から案内されたサイトへ移動すると、仕込まれていた攻撃が発動し、詐欺サイトや偽サイトへ自動的に転送されたり、ブラウザの保安上の弱点(脆弱性)をついて感染するワームなどのマルウェアを送り込まれる。
不正サイト側は検索エンジンから一時的に高い評価を得られる誘導ページの内容を自動的に量産するため、ターゲットのキーワードで実際に上位に表示されているページにアクセスして内容を複製し、一部を機械的に改変したり他のサイトからの複製と合成するといった手法を用いる。
また、検索エンジンに悪質サイトへの誘導などが気付かれにくいよう、検索エンジンの巡回ソフト(クローラー/ロボット)が訪れたときには一般的な構成のWebページを返し、利用者がWebブラウザで訪れたときにだけ不正な内容を送信するといったデータの出し分け(クローキング)を行う。
検索エンジン側でも利用者からの通報や他サイトからのコピー、クローキング動作などを検知して悪質サイトが検索結果に載らないよう索引から削除する対策を行なっている。しかし、攻撃者はインターネット上に公開されているセキュリティ対策の不十分なWebサーバへ不正アクセスし、その一部に攻撃サイトを構築するため、いくら削除してもすぐに別のサーバを乗っ取って新しい不正サイトを公開する「いたちごっこ」状態となっている。
ワンクリック詐欺 【ワンクリック料金請求】
インターネットを通じて行われる不当料金請求の手口の一つで、Webページを開くといきなり料金請求の画面が表示される方式。
無差別に大量に送信される勧誘メールなどからサイトにアクセスすると、ページを開いただけで「登録が完了しました」「料金をお支払いください」などのメッセージが突然表示され、金額や振込先などが表示される。
請求画面には、アクセスした人のIPアドレスや端末の機種名(スマートフォンなどの場合)、Webブラウザやオペレーティングシステム(OS)の種類、位置情報サービスなどから割り出した大まかな現在地の情報などが表示されることが多い。
これらの情報は普段からブラウザがサーバ側に提供しているものであり、これを元に氏名や住所、電話番号などの個人情報を割り出すことはできない。「個人情報を取得したので支払いが無い場合は法的措置を取る」といった恫喝的なメッセージが記載されることもある。
サイトにアクセスしただけで、あるいは十分な契約についての説明と明確な意思表示なしに契約が成立することはないので、このような請求は法的に無効であり、料金を支払う必要はない。また、自らサイト側に申告しない限り、個人情報が業者の手に渡ってしつこい督促に会うということもないので、このような画面に出くわしても無視してページを閉じて良い。
ゼロデイアタック 【ゼロデイ攻撃】
ソフトウェアなどにセキュリティ上の脆弱性が発見されたときに、問題の存在や対策法が広く周知される前に行われる攻撃。一般の利用者は対処する術がない。
コンピュータシステムを外部からの攻撃から守るには、メーカーや開発者が公開する修正プログラム(セキュリティパッチ)を公開後即座に適用するのが基本だが、ゼロデイ攻撃の場合は対応策が公表される前に攻撃が行われるため、このような対策では防ぎきれない。
実際、開発者が対応を取る前に、発見された脆弱性の情報がクラッカーコミュニティで流通したり、攻撃用ツールが配布されたりする事例が報告されており、この「時間差」が問題となっている。攻撃可能か既に実行されているが有効な対策が提供されていない脆弱性を「ゼロデイ脆弱性」という。
攻撃に使用される通信の特徴を分析し、発見されていない脆弱性を利用した攻撃を認識して遮断するソフトウェアの研究も行われているが、有効で万能な解決策は今のところない。
サイドチャネル攻撃
IT機器に対する攻撃手法の一つで、装置の物理的な特性の変化を外部から観測・解析することにより、本来読み取ることができない情報を盗み取る手法。暗号鍵の盗聴などに応用される。
暗号機能を内蔵したICカードなどの電子機器や半導体製品が主な攻撃対象で、暗号化や復号を行なうときの処理時間や消費電力の推移、外部に放出する電磁波、放熱や温度、動作音の変動などを継続的に測定し、入力値との相関から秘密鍵など秘匿された情報を割り出す。
よく知られた方式として、様々な入力を与えた時の処理時間の違いを統計的に処理して内部の秘密鍵を推測する「タイミング攻撃」(timing attack)、消費電力の違いから推測する「電力解析攻撃」(power analysis attack)などがある。
2018年以降、米インテル(Intel)社のx86系マイクロプロセッサ製品の多くに、投機的実行やアウトオブオーダー実行の仕様を利用したサイドチャネル攻撃が可能な脆弱性が存在することが次々に報告(Spectre脆弱性やMeltdown脆弱性など)され、サイドチャネル攻撃が現実的な脅威として認識されるようになってきている。
オープンリゾルバ
DNSの名前解決の機能を持つ機器(DNSキャッシュサーバなど)が、インターネット上のどの機器からの問い合わせにも応答するよう設定されている状態のこと。DoS攻撃の踏み台として悪用されるため好ましくないとされる。
名前解決はホスト名(ドメイン名)から対応するIPアドレスを、あるいはその逆を調べる処理で、インターネット上のDNSサーバをルートサーバから順に探索ドメイン名を管理するサーバまで再帰的に問い合わせ、結果をDNSクライアントに応答する。
このような名前解決が可能なシステムはフルサービスリゾルバと呼ばれ、インターネットサービスプロバイダなどが運用するDNSキャッシュサーバや、ルータなど一部のネットワーク機器がこの機能を持っている。
これらは通常の運用では自ネットワーク内にあるパソコンなどの端末からの問い合わせを受け付けて応答を返すが、設定によってはアクセス制限を行わず、インターネット上のどこからでも問い合わせに応じるように動作している場合がある。このような設定になっている機器をオープンリゾルバという。
どこからでも問い合わせを受け付ける点が攻撃者に悪用され、DNSキャッシュポイズニング攻撃やDNSリフレクター攻撃(DNSアンプ攻撃)の踏み台に使われる危険性があるため、むやみに公開設定でリゾルバを運用すべきでないとされる。
ディープフェイク
人工知能により画像や音声、動画などを生成あるいは編集し、本物そっくりの偽の情報を作り出すこと。生成AIの高性能化により人間にはにわかに真贋が判別できない動画なども作られ、詐欺への利用や政治的な偽情報の拡散が社会問題となっている。
人工知能の主要な方式の一つに、大量のデータからパターンを学習する機械学習がある。近年では深層学習(ディープラーニング)という高精度な手法が開発され、文字情報だけでなく画像や音声、動画などのメディアデータも極めて自然に生成、編集、合成できるようになってきた。
ディープフェイクはこの技術を用いて作られた悪意のある偽情報で、「ディープラーニング」の「ディープ」に「偽物」を意味する「フェイク」を組み合わせてこのように呼ばれる。人間には簡単に真贋が見極められないほど精巧な偽の写真や映像、誰かの声色を真似た偽の合成音声などが含まれる。
特定の政治勢力や敵対国の政府が報道や公式発表を装ったプロパガンダやフェイクニュースを作成して政治的な混乱や分断を煽ったり、犯罪組織などが企業や個人などを標的に詐欺やなりすまし、脅迫を行うために利用したり、精緻なフェイクポルノなど新しいタイプの人権侵害行為を引き起こしている。
実際に、政治家の架空の発言をでっちあげて報道を装ったフェイクニュースを流したり、投資詐欺グループが実在の著名人を模した合成音声で偽のメッセージを流したり、著名人の容姿から生成した精巧な偽のポルノ画像を作成したり、企業経営者の声色で電話をかけて送金の指示を行うなどの手口が確認されている。
フットプリンティング
サイバー攻撃に先立ち、攻撃者が標的の弱点などを探るために行う下調べ。外部から調べられる情報を収集する活動で、攻撃手法などを検討するために行われる。
攻撃対象となるネットワークやコンピュータ、Webサイトなどについて、攻撃にならない範囲でアクセスを試みるなどして、システムの構成や状態を探る。Web検索エンジンやWHOISデータベースなど外部の情報源を利用して標的に関連する情報を収集することもある。
調査対象は標的や攻撃の種類により異なるが、例えば、使用しているドメイン名やIPアドレス、アクセス可能なポート番号、稼働しているオペレーティングシステム(OS)や各種のサーバソフトウェアなどの種類やバージョン、Webサイトのディレクトリ構成や公開ページからリンクされていないページなどが対象となることが多い。
このような事前調査により、例えば外部からの遠隔操作を可能にする保安上の欠陥(脆弱性)の存在が知られているソフトウェアがアップデートされずにそのまま使用されているといった情報が手に入ることがあり、これを足掛かりに不正アクセスを行うといった計画を立てることができる。
ポートスキャン 【ポートスキャニング】
ネットワークに接続された機器のTCPやUDPの様々なポート番号に接続を試み、応答を調べること。攻撃者が標的のシステムを調べ、攻撃に使えそうな脆弱性のあるポートがないか探すために行われる。
インターネットなどで標準的に用いられるプロトコル(通信規約)であるIP(Internet Protocol)では、トランスポート層のプロトコルとしてTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)などを用いるが、様々なアプリケーションが同時に通信できるよう、0番から65535番までの番号で識別される「ポート」(port)と呼ばれる接続窓口が用意されている。
ポートスキャンは攻撃の前段階の調査として行われるもので、当該コンピュータの各ポートへ接続開始を要請するデータを送り、どのような反応を返すかを確かめる。主要な、あるいはすべてのポートを対象として次々に連続的にアクセスし、各ポートの状態を網羅的に調べあげることが多い。
これにより、アクセスを受け付けているポートが何番か、どのソフトウェアのどのバージョンが使用されているか、ソフトウェアの設定や状態がどのようになっているかなどを外部からある程度知ることができ、攻撃に利用可能な設定の不備やソフトウェアの脆弱性などがないかを調べる。
ポートスキャン自体は相手方に損害を与える攻撃そのものではないが、知らない相手に無許諾で行えば攻撃のための準備であると疑われることがある。攻撃者が標的システムに対して行う場合のほかに、コンピュータやネットワークの管理者などが自らが管理・運用するコンピュータにセキュリティ上の問題がないか調べるために実行することもある。ポートスキャンを行うための専門的なソフトウェアもあり「ポートスキャナ」(port scanner)という。
暗号
ある情報を特定の決まった人しか読めないように一定の手順に基づいて無意味な文字や符号の列に置き換えたもの。情報の伝送や記録、保存の際、第三者に盗み見られたり改竄されないようにするために作成される。
通信や記録の内容を秘匿する手法には様々な種類があり、内容を記録した媒体の存在自体を隠す方法などもあるが、暗号は記録内容が読み取られても何が書かれているのか分からないようにする手法を指す。
歴史的には、暗号表などを事前に作成・共有し、単語やフレーズ単位で無関係な別の文字などに置き換える「コード」(code)と、文字単位で置き換えや位置の入れ替えを行う「サイファー」(cipher)に分類される。現代のコンピュータなどが利用する暗号は後者の一種とみなされる。
暗号にまつわる用語
暗号によって秘匿したい情報のことを「平文」(ひらぶん/plain text)、これを暗号に変換する操作を「暗号化」(encryption)、出来上がった無意味な符号列を「暗号文」(cipher text)という。現代のコンピュータによる暗号化は一定の数学的な計算手順「暗号アルゴリズム」(encryption algorithm)によってビット列を操作することによって行われる。
同じ平文を同じアルゴリズムで暗号化しても毎回異なる暗号文が得られるように、平文の他に毎回異なる「暗号鍵」(cipher key)を生成し、計算手順に加える。平文が同じでも暗号鍵が異なれば暗号文も異なり、アルゴリズムが分かっていても暗号鍵が分からなければ読み解くことはできない。
正規の権限を持つ人が、暗号鍵を用いて暗号文を平文に戻すことを「復号」(decryption / decode / decipher)、権限の無い第三者が内容を盗み見るため暗号鍵の割り出しや他の方法による平文の復元を試みることを「解読」(cryptanalysis)あるいは「攻撃」(attack)という。
共通鍵暗号と公開鍵暗号
暗号化と復号に同じ暗号鍵を用いる暗号方式を「共通鍵暗号」(common key cryptosystem/共有鍵暗号)あるいは「秘密鍵暗号」(secret key cryptosystem)という。情報の送信者と受信者は安全な方法で鍵を共有する必要がある。
一方、対になる二つの鍵を用いて片方で暗号化、もう一方で復号を行う方式を「公開鍵暗号」(public key cryptosystem)という。暗号化に用いた鍵では復号できず、一方の鍵からもう一方を割り出すことも困難という性質があり、片方は所有者の元で秘匿され、対になるもう片方は公開されるためこのように呼ばれる。
暗号に似た変換処理
暗号は平文への復元を前提とした(情報の欠損を伴わない)変換を行う手法を指すが、情報を秘匿するために行われる変換処理の中には、元の状態に戻せない不可逆な変換を行う手法もある。データのハッシュ化やプログラムコードの難読化などである。逆に、映像伝送のスクランブル化などは伝送符号を乱雑化するが、情報を秘匿する目的は無いため一定の手順で誰でも元の情報を復元できる(暗号化を兼ねる場合もある)。
CRYPTREC暗号リスト 【電子政府における調達のために参照すべき暗号のリスト】
日本の政府機関で利用すべき暗号技術の推奨リスト。総務省、経済産業省、デジタル庁、情報通信研究機構(NICT)、情報処理推進機構(IPA)が共同で運営するCRYPTREC(Cryptography Research and Evaluation Committees)プロジェクトが策定している。
日本政府として推奨する暗号技術のリストで、政府機関の情報システムで暗号関連技術が含まれる製品を調達する際には、可能な限りこのリストの中から選択しなければならないと定められている(政府機関等のサイバーセキュリティ対策のための統一基準)。
暗号方式そのものに加え、デジタル署名、鍵共有、ハッシュ関数、暗号利用モード、メッセージ認証コード、認証付き暗号、エンティティ認証など暗号関連技術についても推奨技術を選定している。現行の推奨リストの他に、将来掲載される可能性がある「推奨候補暗号リスト」、推奨から外れたが互換性維持のため許容される「運用監視暗号リスト」も合わせて公開している。
2023年公表のリストには、共有鍵暗号としてAESやCamelliaなどが、公開鍵暗号としてDSAやECDSA、RSA-OAEP、DH、ECDHなどが、ハッシュ関数としてSHA-2やSHA-3などが、暗号利用モードとしてCBCやCTR、CCMなどが、メッセージ認証コードとしてCMACとHMACが採用されている。
2003年に初版が「電子政府推奨暗号リスト」として公表され、2013年に「電子政府における調達のために参照すべき暗号のリスト」(CRYPTREC暗号リスト)に改名および更新され、2023年に再度改訂された。
暗号化 【エンクリプション】
情報を第三者に盗み見られずに伝達あるいは保存するため、特定の手順に基づいて元の状態が容易に推定できない形式に変換すること。現代では、コンピュータを用いて特定の計算手順と秘密の情報に基づいてデータを変換することを指す。
伝達・保存したいデータそのものである「平文」(cleartext)と、これとは別に用意された短い秘密の符号である「暗号鍵」(cipher key)を組み合わせ、あらかじめ定められた手順によりデータの演算、加工を行い、一見すると意味が分からない符号の羅列である「暗号文」(ciphertext/cryptogram)に置き換える操作を指す。
暗号文を正規の暗号鍵を用いて平文に戻す処理を「復号」(decipher/decryption)という。正規の鍵が分からない状態で暗号鍵または平文を割り出そうとすることを「攻撃」(attack)、実際に割り出すことを「解読」(crack)という。
共通鍵暗号と公開鍵暗号
暗号方式と復号に同じ暗号鍵を用いる暗号方式を「共通鍵暗号」(common key cryptosystem)「共有鍵暗号」あるいは「秘密鍵暗号」(secret key cryptosystem)という。公開鍵暗号が発明される以前はこの方式しかなかった。
一方、対(ペア)になる二つの鍵を用いて、片方で暗号化、もう一方で復号を行う方式を「公開鍵暗号」(public key cryptosystem)という。鍵ペアのうち片方は公開し、片方は秘匿した状態で運用される。暗号方式に用いた鍵では復号できず、一方の鍵からもう一方を割り出すことも困難という性質があり、デジタル署名などにも応用される。
慣用的な用法
厳密には暗号方式とは言えないが、目的や手法が似ているために慣用的に暗号方式と呼ばれることがある変換手法がいくつかある。例えば、原文から一定の計算手順で特徴的な固定長のデータを算出する「ハッシュ関数」(hash function)および「ハッシュ化」(hashing)は、計算後のハッシュ値から元のデータに戻すことは原理的にできないため暗号方式とは区別されるが、原文を秘匿する目的に使われることがあるため、そのような文脈では分かりやすさを優先して慣用的に暗号方式と呼ばれることがある。
また、暗号鍵に相当する秘密の情報を用いずにデータを一定の手順で乱雑化する「スクランブル化」(scrambling)や、コンピュータプログラムのソースコードなどをコンピュータが解釈・実行できる状態を保ったまま人が容易に読み下せない形式に変換する「難読化」(obfuscation)なども、慣用的に暗号方式と呼ばれることがある。
暗号化 【エンクリプション】
情報を第三者に盗み見られずに伝達あるいは保存するため、特定の手順に基づいて元の状態が容易に推定できない形式に変換すること。現代では、コンピュータを用いて特定の計算手順と秘密の情報に基づいてデータを変換することを指す。
伝達・保存したいデータそのものである「平文」(cleartext)と、これとは別に用意された短い秘密の符号である「暗号鍵」(cipher key)を組み合わせ、あらかじめ定められた手順によりデータの演算、加工を行い、一見すると意味が分からない符号の羅列である「暗号文」(ciphertext/cryptogram)に置き換える操作を指す。
暗号文を正規の暗号鍵を用いて平文に戻す処理を「復号」(decipher/decryption)という。正規の鍵が分からない状態で暗号鍵または平文を割り出そうとすることを「攻撃」(attack)、実際に割り出すことを「解読」(crack)という。
共通鍵暗号と公開鍵暗号
暗号化と復号に同じ暗号鍵を用いる暗号方式を「共通鍵暗号」(common key cryptosystem)「共有鍵暗号」あるいは「秘密鍵暗号」(secret key cryptosystem)という。公開鍵暗号が発明される以前はこの方式しかなかった。
一方、対(ペア)になる二つの鍵を用いて、片方で暗号化、もう一方で復号を行う方式を「公開鍵暗号」(public key cryptosystem)という。鍵ペアのうち片方は公開し、片方は秘匿した状態で運用される。暗号化に用いた鍵では復号できず、一方の鍵からもう一方を割り出すことも困難という性質があり、デジタル署名などにも応用される。
慣用的な用法
厳密には暗号化とは言えないが、目的や手法が似ているために慣用的に暗号化と呼ばれることがある変換手法がいくつかある。例えば、原文から一定の計算手順で特徴的な固定長のデータを算出する「ハッシュ関数」(hash function)および「ハッシュ化」(hashing)は、計算後のハッシュ値から元のデータに戻すことは原理的にできないため暗号化とは区別されるが、原文を秘匿する目的に使われることがあるため、そのような文脈では分かりやすさを優先して慣用的に暗号化と呼ばれることがある。
また、暗号鍵に相当する秘密の情報を用いずにデータを一定の手順で乱雑化する「スクランブル化」(scrambling)や、コンピュータプログラムのソースコードなどをコンピュータが解釈・実行できる状態を保ったまま人が容易に読み下せない形式に変換する「難読化」(obfuscation)なども、慣用的に暗号化と呼ばれることがある。
暗号鍵 【暗号化キー】
データの暗号化や復号を行う際、計算手順に与える短い符号のこと。同じデータを同じ暗号方式で暗号化しても、異なる暗号鍵を用いて計算することで異なる暗号を得ることができる。
古代の暗号では暗号化の手順自体を秘匿して伝達・共有することもあったが、コンピュータによる計算に基づく現代的な暗号アルゴリズムでは、手順の秘匿は期待できないことを前提としている。代わりに、毎回異なる短い符号を計算に加味することで暗号文を変化させ、解読を防止する。
暗号化を行う際には何らかの方法で暗号鍵を生成し、暗号化すべき平文と共に計算することにより暗号文を得る。同じ暗号方式で同じ平文を暗号化しても、異なる暗号鍵からは異なる暗号文が得られるようになっている。
共通鍵暗号の鍵
暗号方式の多くを占める共通鍵暗号(共有鍵暗号/秘密鍵暗号/対称鍵暗号)では暗号鍵を一つだけ用い、暗号化と復号の両方に用いる。この唯一の鍵が攻撃者に知られれば復号されてしまうため、送信者と受信者は何らかの安全な手段や経路によって暗号鍵を伝達・共有する必要がある。
公開鍵暗号の鍵
一方、公開鍵暗号(非対称鍵暗号)と呼ばれる方式では対になる二つの暗号鍵を生成し、一方で暗号化、もう一方で復号を行う。このうち、暗号化のための鍵は公開しても構わないため公開鍵(public key)と呼ばれ、復号のための鍵は共通鍵同様に秘匿しなければならないため秘密鍵(secret key)と呼ばれる。
公開鍵は誰でも入手できるが、数学的な原理を利用して対になる秘密鍵は容易に割り出すことができないようになっている。暗号文の送信者は受信者が公開している公開鍵を入手して暗号化を行う。復号には本人しか知らない秘密鍵が必要なため、攻撃者が暗号文と公開鍵を手に入れても内容を解読することはできない。
復号 【復号化】
暗号化やデータ圧縮など何らかの変換処理によって得られた符号列から、元のデータを復元すること。
データや信号などを、何らかの目的のために符号化(encode)することがある。盗聴を防ぐための暗号化やデータ量を削減するための圧縮、伝送中の信号の誤りに備えた誤り訂正符号の付与などである。
このように元の状態から変換された符号列から、符号化とは逆方向の変換処理を行い、元のデータに復元する処理や工程を復号という。暗号の場合には、暗号化に用いた秘密の情報(暗号鍵)を用いて元のデータを得ることを意味し、これを用いずに元の情報を復元することは「解読」という。
「暗号」が暗号文の意味を持ち、変換過程のことを「暗号化」というため、同じように「復号化」と表記する例も見られるが、一般には符号の逆変換工程のことを「復号」と呼び、得られたデータを「復号」とは呼ばないため、復号化という表記は誤りであるとみなされることが多い。
英語では “decode” (動詞) “decoding” (名詞)というが、特に暗号の復号のことは “decrypt” / “decryption” あるいは “decipher” ということが多い。(暗号鍵を用いない)解読のことは “attack” “break” “crack” などのように表現することが多い。
暗号解読
暗号鍵を持たない状態で暗号文を暗号化前の状態(平文)に戻すこと。暗号鍵を用いて元の状態に戻す「復号」(decryption)とは区別される。
現代のデータ暗号化では、暗号鍵などの秘密の情報を用いて平文から暗号文を生成する。この秘密の情報を入手することができれば、暗号化とは逆の計算手順で暗号文から平文を取り出すことができる。秘密の情報を用いて平文を得る操作を復号という。
一方、秘密の情報が与えられていない状況で、暗号文を解析し、元のなった平文を割り出したり、暗号化に用いた秘密の情報を割り出して復号することを解読という。広義には、特定の暗号文から平文を割り出す操作だけでなく、任意の暗号文から容易に暗号鍵や平文を割り出すことができる手法を見出すことも含まれる。
どのような情報に基づいて解析を進めるかについていくつかの方法論に分かれる。暗号文のみを用いて平文を求める手法を「暗号文単独攻撃」、既に分かっている平文と対になる暗号文を用いる手法を「既知平文攻撃」、任意の平文に対して暗号文を作成できる状況で解析する手法を「選択平文攻撃」という。
共通鍵暗号 【秘密鍵暗号】
暗号化と復号に同じ暗号鍵を用いる暗号方式。暗号文の送信者と受信者で同じ鍵を共有する必要があり、あらかじめ安全な経路で鍵を共有しなければならない。
暗号化の対象となる平文と、単一の暗号鍵を用いて、特定の計算手順(暗号アルゴリズム)により暗号文を得る。平文と鍵のいずれかが異なれば暗号文も異なる。暗号文を元の平文に戻すには、暗号化に用いた鍵によって暗号化時と逆方向の変換を行う。
古代より換字表を鍵としたものなど様々な方式が利用されてきたが、現代では、数十から数百ビット程度の規則性のないデータを鍵として、任意の長さの平文をコンピュータによる計算により暗号化する方式が普及している。アルゴリズムは公開を原則とし、暗号鍵の推測しにくさ(特に、鍵の長さ)によって安全性を確保する。
暗号化を行うデータの区切り方の違いにより、一定の長さごとのブロック単位で暗号化を行うものを「ブロック暗号」(block cipher)、1ビット単位で処理するものを「ストリーム暗号」(stream cipher)という。ブロック暗号は64ビットや128ビット、長いものでは256ビットなどの単位ごとにデータを区切り、それぞれの塊ごとに暗号化と復号を行う。
鍵が分かれば暗号文を平文に戻すことができるため、送信者と受信者の間で鍵を安全に受け渡して共有する必要がある。多数の相手との間で暗号を利用する場合、全員に同じ鍵を渡せば漏洩の危険が高まり、すべて別の鍵にすれば鍵の生成や受け渡し、暗号化のコストが増大するというジレンマがある。
代表的な共通鍵暗号方式方式として、1977年に米IBM社が開発し米政府標準に採用された「DES」(Data Encryption Standard)や、その後継として2000年に米政府標準となった「AES」(Advanced Encryption Standard/暗号アルゴリズムとしてはRijndael)、ストリーム暗号の標準的な方式として広く普及している「RC4」(ARCFOUR)などがよく知られる。
公開鍵暗号との違い
一方、対になる2つの鍵ペアを生成し、一方で暗号化を、もう一方で復号を行う暗号方式を「公開鍵暗号」(public key encryption)という。片方の鍵は共通鍵暗号方式の鍵のように第三者に知られないよう秘匿する秘密鍵だが、相手方に送る方の鍵は人に知られてもよいため「公開鍵」と呼ばれる。
1970年代に公開鍵暗号が考案されるまでは暗号といえば共通鍵暗号方式のことだった。現代でも、暗号化や復号の処理速度は共通鍵暗号方式の方が優れているため、両方式を組み合わせ、共通鍵暗号方式の鍵交換のために公開鍵暗号を用い、データ本体は共通鍵暗号方式で暗号化する「ハイブリッド暗号」がSSL/TLSなどの形で広く利用されている。
共通鍵 【共有鍵】
データの暗号化や復号に用いる暗号鍵のうち、暗号文の送信者と受信者の間で共有するもの。共有鍵暗号における唯一の暗号鍵を指すことが多い。
暗号鍵は暗号を算出する計算手順に与える短い符号で、暗号方式が同じでも鍵が異なれば暗号文は異なる。暗号化や復号の計算方式が分かっていても、鍵が分からなければ解読することは困難となる。
暗号方式のうち「共有鍵暗号」(共通鍵暗号/秘密鍵暗号)と呼ばれる方式では暗号化と復号に同じ暗号鍵を用い、これを共通鍵という。暗号の受信者は送信者が用いた共通鍵を安全に入手する必要がある。
一方、「公開鍵暗号」と呼ばれる方式では対になる二つの暗号鍵の一方を本人しか知らない秘密鍵、もう一方を公開してよい「公開鍵」として運用する。共有鍵暗号における共通鍵を第三者に知られてはならないという意味で「秘密鍵」と呼ぶことがあるが、公開鍵暗号における秘密鍵と紛らわしいため共有鍵あるいは共通鍵と呼ぶのが一般的である。
公開鍵暗号 【非対称鍵暗号】
対になる2つの鍵を使ってデータの暗号化・復号を行う暗号方式。暗号化に用いる鍵は公開され、復号に用いる鍵は秘匿される。公開鍵から効率よく暗号鍵を割り出すことはできないようになっている。
1976年にウィットフィールド・ディフィー(Whitfield Diffie)氏とマーティン・ヘルマン(Martin E. Hellman)氏によって基本原理が考案された。具体的な暗号方式として世界で初めて公表されたのは、1977年にロナルド・リベスト(Ronald L. Rivest)氏、アディ・シャミア(Adi Shamir)氏、レオナルド・エーデルマン(Leonard M. Adleman)氏が考案したRSA暗号である。
暗号化に用いる暗号鍵は誰に知られてもよいため公開鍵(public key)と呼ばれ、復号に用いる鍵は本人しか知らないよう管理する必要があるため秘密鍵(secret key)と呼ばれる。ある相手に暗号文を渡したいときにはその人の公開鍵を入手して暗号化することで、秘密鍵を知る本人しか復号できない暗号文を得ることができる。
最もよく知られるRSA暗号ではこれとは逆に、秘密鍵で暗号化して公開鍵で復号することも可能だが、これはほとんどの公開鍵暗号方式方式ではできない珍しい性質で、一般的な特徴ではない。
共有鍵暗号と公開鍵暗号
公開鍵暗号方式が発明される以前の暗号は単一の暗号鍵で暗号化と復号の両方を行うものしかなかったが、現在ではこのような暗号は「共通鍵暗号」(共有鍵暗号/秘密鍵暗号/対称鍵暗号)と呼ばれる。
公開鍵暗号方式は復号のための鍵を完全に秘匿したまま運用でき、共有鍵で必要となる鍵を安全に相手に配送するために高コストの手段(人が訪ねて手渡しする等)を用意する必要がなく、配送途上で盗み取られて解読される危険もないという利点がある。
一方、共有鍵暗号より暗号化や復号の処理が複雑で、同程度の暗号強度を得るのにより多くの計算資源や計算時間を必要とする。両者の特徴を組み合わせ、通信データの暗号化自体は共有鍵暗号を利用し、共有鍵を安全に受け渡す手段として公開鍵暗号方式を利用する「ハイブリッド暗号」もよく用いられる。
秘密鍵解読の困難性
秘密鍵と公開鍵の鍵ペアを生成するのは容易な一方、公開鍵から秘密鍵を推測したり割り出したりするのはコンピュータによる解析でも極めて困難になるよう設計されている。
この困難さは数学上の問題を背景にしており、例えばRSA暗号は数十桁もある巨大な2つの素数をかけ合わせた数を素因数分解する効率的な手法は発見されていないことを利用する。素数を元に秘密鍵を、素数の積を元に公開鍵を生成すれば、現代の技術では現実的な計算資源や時間で効率よく公開鍵から秘密鍵を割り出すことはできない。
同様に、ElGamal暗号やDiffie-Hellman鍵交換、DSA(デジタル署名アルゴリズム)では離散対数問題と呼ばれる数学上の問題を、楕円曲線暗号では楕円曲線上の離散対数問題と呼ばれる問題を秘密鍵解読の困難性の担保としている。
公開鍵暗号とデジタル署名
公開鍵暗号方式の原理(必ずしも公開鍵暗号方式そのものとは限らない)と暗号学的ハッシュ関数を組み合わせ、文書やメッセージにすり替えや改竄が行われていないことや、確かに作成者・送信者本人のものであると証明する短いデータを生成することができる。文書データの末尾などに添付され、サインや印鑑のような働きをするため「デジタル署名」(digital signature)と呼ばれる。
メッセージの送信者は本人しか知らない秘密鍵と本文を元に一定の手順で算出した固定長の暗号データをメッセージに添付し、相手方に送る。受信者は受け取った本文と、送信者の公開鍵などを用いて一定の手順で同様のデータの算出を試み、添付されたものと照合する。両者が一致すれば、メッセージが確かに送信者本人のものであり、かつ伝送途上で第三者による改竄やすり替えが行われていないことが確認できる。
公開鍵証明書とPKI
公開鍵暗号方式は共有鍵のように復号のための鍵を盗み取られる危険は少ないが、暗号化のために相手の公開鍵を入手する際、信用できない経路を用いることで悪意のある第三者によって偽物にすり替えられる別の危険性がある。
確実に相手の公開鍵を入手するには共有鍵のように安全な別の経路で共有するのも一つの手段だが、それでは結局同じように高いコストがかかってしまう。危険な経路でも安全に鍵を受け渡すため、公開鍵に信頼できる第三者がデジタル署名した「デジタル証明書」(公開鍵証明書)を渡し、鍵の真正性を確認できるようにするという方式が考案された。
証明書を検証するには発行者(認証局という)の公開鍵が必要となるため、受信者は送信者が利用する認証局の公開鍵を安全に入手しなければならない。しかし、世の中のすべての認証局の公開鍵をあらかじめ揃えておくことは現実的ではない。
このため、実際にはWebブラウザなど公開鍵暗号方式を利用するソフトウェアには世界的に有力な大手商用認証局や政府機関の認証局の公開鍵が安全な方法であらかじめ組み込まれており、各認証局は自らの公開鍵をそれら最上位の認証局(ルート認証局)が発行した証明書として提供している。このように、インターネットのみで公開鍵暗号方式を安全に運用できるようにするために築かれた社会的基盤のことをPKI(Public Key Infrastructure:公開鍵基盤)という。
公開鍵 【パブリックキー】
公開鍵暗号で使用される一対の暗号鍵の組のうち、相手方に渡したり一般に公開する鍵。もう一方の鍵は所有者が管理して秘匿する必要があり、「秘密鍵」(secret key)と呼ばれる。
公開鍵暗号では一対の対応関係にある暗号鍵のペアを用い、公開鍵で暗号化した暗号文は秘密鍵でしか復号できないという仕組みになっている。通信を暗号化する場合は相手の公開鍵を入手して送信データを暗号化することにより、対になる秘密鍵を知る相手本人しか復号できないようにする。
代表的な公開鍵暗号のRSA方式ではこの逆も可能で、秘密鍵で暗号化(に相当する変換処理)を行い、対になる公開鍵で復号する、といった使い方もできる。このような対称性を持つ方式は珍しく、公開鍵暗号一般に見られる性質ではない。
また、メッセージを送信する際に、本文をハッシュ関数で要約した短いデータと秘密鍵、公開鍵を元に一定の手順で計算したデジタル署名を添付することにより、受信側が送信元を確認したり、改竄やすり替えを検知することができる。
公開鍵暗号を利用するには事前に相手方の公開鍵を入手しておく必要があるが、実用上は相手方との間にインターネットなど必ずしも信用できない経路を含む伝送手段しかない場合が多く、攻撃者によるすり替えなどの危険がある。
このため、送信者と受信者の双方が信頼する第三者が電子署名した特殊なメッセージによって公開鍵を運び、受信者が送信元や鍵の真正性の確認を行うことができるようにすることが多い。この公開鍵を含む署名されたメッセージをデジタル証明書(電子証明書/公開鍵証明書)と呼ぶ。
秘密鍵 【シークレットキー】
公開鍵暗号で使用される一対の暗号鍵の組のうち、相手方に渡したり一般に公開せず、所有者が管理下に置いて秘匿する必要がある鍵。もう一方の鍵は公開して相手方が利用するもので「公開鍵」(public key)と呼ばれる。
公開鍵暗号では一対の対応関係にある暗号鍵のペアを用い、公開鍵で暗号化した暗号文は秘密鍵でしか復号できないという仕組みになっている。代表的な公開鍵暗号のRSAではこの逆も可能で、秘密鍵で暗号化(に相当する変換処理)を行い、対になる公開鍵で復号する、といった使い方もできる(このような対称性を持つ公開鍵暗号は珍しい)。
通信を暗号化する場合は相手の公開鍵を入手して送信データを暗号化することにより、対になる秘密鍵を知る相手本人しか復号できないようにすることができる。また、メッセージを送信する際に、本文をハッシュ関数で要約した短いデータと秘密鍵、公開鍵を元に一定の手順で計算したデジタル署名を添付することにより、受信側が送信元を確認したり、改竄やすり替えを検知することができる。
秘密鍵が漏洩すると自分宛ての暗号文を攻撃者に解読されたり、攻撃者が自分になりすまして署名したりできるようになってしまう。このため、秘密鍵が漏洩したり漏洩の疑いがある場合には対になる公開鍵と共にこれを失効させ、新たな鍵ペアを生成して使用する。
また、稀に秘密鍵暗号(共通鍵暗号)で暗号化と復号の両方に用いられる単一の暗号鍵を秘密鍵と呼ぶこともあるが、一つしかないため一般的には単に暗号鍵と呼ぶことが多い。
RSA 【Rivest-Shamir-Adleman cryptosystem】
巨大な素数同士をかけ合わせた整数を素因数分解するのが困難であることを利用した公開鍵暗号の一つ。
概念としては知られていた公開鍵暗号の具体的な実装方式として世界で初めて発表されたもので、1977年にロナルド・リベスト(Ronald L. Rivest)氏、アディ・シャミア(Adi Shamir)氏、レオナルド・エーデルマン(Leonard M. Adleman)氏が考案した。「RSA」の名称は3人の頭文字を繋いだものである。
公開鍵暗号は対になる二つの鍵を用いて一方で暗号化を、もう片方で復号を行う暗号方式で、一方は誰でも取得できるよう公開する「公開鍵」、もう片方は本人の管理下で秘匿する「秘密鍵」であるため、このように呼ばれる。
暗号化に使った鍵で復号することはできず、一方の鍵からもう一方の鍵を(通常は入手可能な公開鍵から秘匿された秘密鍵を)割り出すのが極めて困難であることが安全性の根拠となる。RSA暗号では、この困難さを巨大な整数の素因数分解の難しさに依存している。
素数と暗号鍵
RSA暗号では、二つの巨大な素数について、これを掛け合わせて積を求めるのは簡単だが、積から元になった巨大な素因数を効率的に探索することはできないという非対称性を利用する。素数の積を元に公開鍵を、二つの素数を元に秘密鍵を生成することにより、公開鍵を入手しても対になる秘密鍵を割り出すのは困難となる。
暗号鍵が1024ビットのRSA1024方式では、素数の積は10進数で300桁程度、各々の素数は150桁前後となる。鍵生成のためにこのような大きな桁数の素数を発見するのは時間がかかるため、実用上は簡易な判定手法を用いて素数である確率が高い数(確率的素数)を見つけ出し、これを利用する場合が多い。
RSAの応用
公開鍵暗号全般に共通するが、公開鍵で暗号化、秘密鍵で復号することにより、事前に暗号鍵を共有・交換することなく通信を暗号化することができる。受信者の公開鍵(送信者以外に知られても構わない)で暗号化されたデータを復号できるのは受信者しか知らない秘密鍵のみだからである。
また、秘密鍵と元になる文書から一定の計算手順で規則性のないデータ(これを署名という)を生成して文書に添付し、他者が本人の公開鍵で検証することにより、本人確認や真正性の証明を行うことができる。これを「RSA署名」と呼び、デジタル署名の一方式である。
RSA暗号は初めて実用化された公開鍵暗号方式として、通信ネットワーク上の暗号化やデジタル署名に幅広く普及し、Web通信の暗号化などに用いるSSLや後継のTLSなど、多くの標準規格の一部としても採用されている。
鍵長が1024ビットの方式を「RSA1024」、2048ビットの方式を「RSA2048」、4096ビットの方式を「RSA4096」という。コンピュータの進歩によりRSA1024はすでに十分安全とは言い切れなくなっており、RSA2048も2030年代までには安全性が保証できなくなると予測されているため、現在はRSA4096への移行が進みつつある。
歴史
1973年にRSA暗号にほぼ相当する暗号方式を英諜報機関GCHQ(政府通信本部)の数学者、クリフォード・コックス(Clifford Cocks)氏が考案していたが、軍事機密として秘匿され、1997年になるまでその事実は公表されなかった。
現在知られているRSA暗号方式は1977年に前記のリベスト、シャミア、エーデルマンの3氏が考案し、1983年に特許登録された。同氏らを中心にRSA Data Security社が設立され、RSA暗号や他の暗号方式のライセンス事業やセキュリティソフトウェア事業を展開した。
同特許は2000年に期限切れを迎え、同社も企業向けストレージシステム大手EMC社に買収された。その後、EMC社は米デルテクノロジーズ(Dell Technologies)社に買収され、同社はRSA社を米投資会社へ売却、再び独立系企業としてセキュリティ関連事業を展開している。
ハイブリッド暗号
公開鍵暗号と共通鍵暗号(秘密鍵暗号)を組み合わせた暗号方式。公開鍵暗号によって共通鍵暗号の鍵を配送し、共通鍵暗号で伝送内容本体の暗号化を行なう。Webの暗号化などで広く普及しているSSL/TLSなどで用いられている。
共通鍵暗号は暗号化や復号を高速に行うことができるが、事前に安全な手段で鍵を共有する必要がある。公開鍵暗号は事前に鍵を共有しなくて良いが、暗号化や復号が遅い。このように両者は互いに相反する特徴を持っている。
ハイブリッド暗号は両者を組み合わせ、互いの長所を活かして短所を補い合う方式である。通信開始時に公開鍵暗号で共通鍵暗号の暗号鍵(あるいはその元になる共有情報)を暗号化して共有し、以降の通信には共有した鍵を元に共有鍵暗号で暗号化したデータを送受信する。
Web通信の暗号化に用いられるSSL(Secure Socket Layer)および後継のTLS(Transport Layer Security)はハイブリッド暗号となっており、接続確立時に公開鍵暗号のRSAやDiffie-Hellman鍵交換などで共有鍵の交換を行い、共有鍵暗号のAESやCamelliaを用いてコンテンツ本体の暗号化を行う。
ハッシュ関数 【ハッシュアルゴリズム】
入力データに一定の手順で計算を行い、データの長さによらずあらかじめ決められた固定長の出力値を得る関数。暗号技術の一部などとして応用されている。
ハッシュ関数は同じ入力からは必ず同じ値が得られ、どのような長さの入力からも同じ長さの値を得る。得られた値は「ハッシュ値」(hash value)と呼ばれる。値の長さは実用上は数バイトから数十バイト程度とすることが多い。計算過程で情報の一部が欠落するため、出力値(だけ)を元に入力データの候補を推測することはできても、完全に元通りに復元することはできない。
ハッシュ値は元のデータの特徴を表す短い符号として利用することができ、データの比較や検索を高速化することができる。例えば、複数の大きな容量のファイルの内容が同一であるかを比較する際に、端から順にすべてのデータを照合すれば時間が掛かるが、それぞれハッシュ値を計算しておけば一瞬で比較が完了する。用途や特性により様々な計算手法があり、データの改竄や破損の検知、類似データの探索などにも応用される。
暗号学的ハッシュ関数 (一方向性ハッシュ関数)
ハッシュ関数のうち、暗号や電子署名などセキュリティ上の用途に適した性質を持つものを「暗号学的ハッシュ関数」あるいは「一方向性ハッシュ関数」という。
これは入力データと出力値の間に規則性がなく、入力が少しでも異なれば類推不能なまったく異なる出力値となる。ある特定の出力値が得られるような入力を効率よく求めることができない「弱衝突耐性」や、同じ出力値となる別の入力を容易には見つけられない「強衝突耐性」などの性質を備えている。
これらの性質により、パスワードなどの秘密の情報をハッシュ値として伝送あるいは保管すれば、認証などで入力値と登録値が一致するかどうかは元の情報が無くても検証できる一方、攻撃者がハッシュ値を盗み取っても元の情報に復元することはできない。また、デジタル署名が施されたメッセージを改竄して同一の署名を付け直すといった攻撃も阻止できる。
標準規格として1990年代に考案された「MD5」(Message Digest 5)や「SHA-1」(Secure Hash Algorithm 1)がよく知られ、長年に渡り様々な分野で利用されてきた。これらは2010年代にはハッシュ値の短さ(MD5は128ビット、SHA-1は160ビット)や攻撃手法の研究が進んだことからセキュリティ用途としては十分安全とは言えない状況になっており、「SHA-2」や「SHA-3」など新しい規格への移行が推奨されている。
SHA-256 【Secure Hash Algorithm 256-bit】
任意の長さの原文から固定長の特徴的な値を算出するハッシュ関数(要約関数)の一つ。SHA-2規格に含まれる仕様の一つで、どんな長さの原文からも256ビットのハッシュ値を算出することができる。
ハッシュ関数とは
ハッシュ関数は任意の長さの入力データを元に数十バイト程度までの短い固定長のデータを算出する関数で、同じ入力値からは必ず同じ値が得られる一方、わずかでも入力値が異なるとまったく違う出力値になる。
SHA-256はいわゆる「暗号学的ハッシュ関数」の一つで、出力値には規則性がなく、計算過程に逆算困難な一方向関数を含むため、ハッシュ値から入力値を割り出したり、同じハッシュ値となる別の入力値を生成するのは容易ではない。
データの伝送や複製を行なう際、入力側と出力側でハッシュ値を求めて照合すれば同一性を簡単に確認でき、途中でデータの改竄や欠落、破損などが起こっていないことが分かる。また、暗号や認証、デジタル署名などの要素技術として様々な場面で利用されている。
SHA-256とは
SHA-256はNSA(米国家安全保障局)が考案し、2001年にNIST(米国標準技術局)によって連邦情報処理標準の一つ(FIPS 180-4)として標準化された「SHA-2」規格の一部として定義されている。最長で2の64乗-1ビットまでの任意の長さのデータから256ビット(32バイト)のハッシュ値を生成する。
SHA-2では他にハッシュ値の長さが224ビットの「SHA-224」、384ビットの「SHA-384」、512ビットの「SHA-512」などが定義されている。SHA-256はその中でも実装のしやすさや計算速度、暗号学的な安全性のバランスに優れ、最も広く普及している。
なお、SHA-224はSHA-256の出力値を224ビットに切り詰めたもので、実質的な計算手順は同じである。また、SHA-2で256ビットのハッシュ値を算出する方式としては、512ビットのSHA-512を算出したあとに256ビットに切り詰める「SHA-512/256」が2012年に追加されている。
SHA-2 【Secure Hash Algorithm 2】
任意の長さの原文から特徴的な固定長のハッシュ値を算出するハッシュ関数(要約関数)の標準規格の一つ。SHA-1の後継規格で、ハッシュ値の長さは224ビット、256ビット、384ビット、512ビットから選べる。
ハッシュ関数とは
ハッシュ関数は任意の長さの入力データを元に数十バイト程度までの短い固定長のデータを算出する関数で、同じ入力値からは必ず同じ値が得られる一方、わずかでも入力値が異なるとまったく違う出力値になる。
SHA-2はいわゆる「暗号学的ハッシュ関数」の一つで、出力値には規則性がなく、計算過程に逆算困難な一方向関数を含むため、ハッシュ値から入力値を割り出したり、同じハッシュ値となる別の入力値を生成するのは容易ではない。
データの伝送や複製を行なう際、入力側と出力側でハッシュ値を求めて照合すれば同一性を簡単に確認でき、途中でデータの改竄や欠落、破損などが起こっていないことが分かる。また、暗号や認証、デジタル署名などの要素技術として様々な場面で利用されている。
SHA-2とは
SHA-2はNSA(米国家安全保障局)が考案し、2001年にNIST(米国標準技術局)によって連邦情報処理標準の一つ(FIPS 180-4)として標準化された。1995年に標準化されたSHA-1(160ビット)の後継規格である。民間や米国外でも広く利用されており、日本のCRYPTRECやヨーロッパのNESSIEなどでも推奨される暗号技術の一つとして選定されている。
SHA-224、SHA-256、SHA-384、SHA-512の4種類があり、これらの末尾の数字がそれぞれが出力するハッシュ値のビット長を表している。計算の過程自体は概ね同じである。SHA-512/224、SHA-512/256というバリエーションもあり、SHA-512の算出値を224ビットおよび256ビットに切り詰めたものである。最長のSHA-512が最も安全性が高く、一般的にはSHA-256が最もよく利用されている。
2005年頃からSHA-1に対する効率的な攻撃手法がいくつか発見され十分な安全が保てなくなってきたため、これまでSHA-1を利用してきたSSL/TLSなどの技術やソフトウェアではSHA-2への移行が進められている。2015年には後継の「SHA-3」が策定されているが、現在でもSHA-2は十分な安全性を確保しているとされる。
ブロック暗号
暗号の種類の一つで、データを一定の長さごとに区切ってこれを単位として暗号化を行うもの。共通鍵暗号(共有鍵暗号/秘密鍵暗号)のほとんどが該当し、1ビットあるいは1バイト単位で暗号化を行うストリーム暗号と対比される。
ブロック暗号は平文を暗号化する際、先頭から順に64ビット、128ビットなどのあらかじめ定められた固定長のブロックに分割し、それぞれのブロックを対象に暗号化処理を行う。暗号文の長さは平文と同じになる。ブロック長は暗号方式の仕様として決まった値を定めている場合(例えばDESは64ビット固定)と、いくつかの値から暗号化時に選択できるもの(Rijndaelは128~256ビット)がある。
ブロック内ではデータの位置の入れ替え(転置)などが行われるため、復号するにはブロックの全体が揃っていなければならない。データの末尾などでブロック長に足りない場合には、全ビット0のデータを既定の長さまで埋めるといった埋め合わせ(パディング)処理が行われる。
暗号モード (block cipher mode)
ブロック暗号では暗号文のランダム性を高めるため、一つ前のブロックの暗号化の結果を暗号化処理に反映させるテクニックが用いられることがある。どのように反映させるかを定めたものを暗号モードという。
最も単純なECBモード(Electronic Codebook Mode)と最も広く用いられるCBCモード(Cipher Block Chaining Mode)が有名だが、他にもCFBモード(Cipher Feedback Mode)やOFBモード(Output Feedback Mode)、CTRモード(Counter Mode)など様々な種類があり、CCMモード(Counter with CBC-MAC)のように認証のために考案されたモードもある。
ECBモード (Electronic Codebook Mode)
前のブロックの結果を利用せず、毎回どのブロックにも同じ暗号化処理を行う方式をECBモードという。最も単純な方式で、各ブロックの平文と暗号鍵のみを用いて暗号文を生成し、同じ平文からは常に同じ暗号文が得られる。
パターンの出現頻度などを解析して解読されやすく、毎回同じ暗号文となるため反射攻撃に悪用可能である。実装が容易で高速に暗号化・復号できるが、機密度が低いため実用上はなるべく用いない方がよいとされる。
CBCモード (Cipher Block Chaining Mode)
平文と直前のブロックの暗号文の各ビットをXOR演算したデータに対して暗号化を行い、これをそのブロックの暗号文とする方式をCBCモードという。様々な暗号方式で最もよく利用されている。
平文の一部が共通するブロックがあっても直前のブロックの結果が反映されて異なる暗号文が生成される。最初のブロックには直前のブロックが無いため、代わりに初期化ベクトル(IV:Initialization Vector)と呼ばれるダミーデータを用意する。これを毎回ランダムに変更すれば、得られる暗号文全体も規則性なく変化させることができる。
安全性は高いが、前から順番に暗号化しなければならないため処理を並列化できず暗号化に時間がかかる。また、あるブロックに生じた伝送エラーがそのブロックだけでなく直後のブロックの復号にも影響する。
AES 【Advanced Encryption Standard】
2001年にアメリカ連邦政府標準の暗号方式として採用された、共通鍵暗号(秘密鍵暗号)方式の一つ。「AES」は米国立標準技術研究所(NIST)の標準規格としての名称であり、規格番号は「FIPS PUB 197」、暗号方式(暗号アルゴリズム)そのものは「Rijndael」(ラインダール)とも呼ばれる。
米政府機関が調達などの際に利用する暗号技術の標準として策定されたが、開発元の許諾や対価の支払いが必要な特許技術などを含まず、完全な仕様が公開され、誰でも自由に利用することができる。有効な攻撃手法は見つかっておらず、高い安全性を誇る。
米政府関連の情報機器やシステムだけでなく様々な製品や技術規格などに採用され、共有鍵暗号の標準として全世界で広く普及している。身近な例では無線LAN(Wi-Fi)の通信の暗号化、インターネット上の通信を暗号化するSSL/TLS、圧縮ファイルの暗号化などで用いられている。
暗号アルゴリズム
暗号化と復号に同じ暗号鍵を用いる共通鍵暗号(秘密鍵暗号)で、平文を一定の長さごとに暗号文に変換するブロック暗号である。ブロック長は128ビットで、鍵長は128ビット(AES128)、192ビット(AES192)、256ビット(AES256)の三種類から選択できる。
暗号化は複数の演算を連続して行う「ラウンド」と呼ばれる処理単位を繰り返すことによって行われ、128ビット鍵では10ラウンド、192ビット鍵では12ラウンド、256ビット鍵では14ラウンドを繰り返す。暗号データに逆の手順を施せば元の平文に復号できる。
各ラウンドは換字表(Sボックス)によるデータの入れ替え、左巡回シフト、行列変換、ラウンド鍵とのXOR演算の4つの処理からなり、暗号鍵から導出されたラウンドごとに変化するラウンド鍵を用いてパラメータを決定する。
制定の経緯
米政府の暗号標準には1977年に制定された「DES」(Data Encryption Standard)が長年用いられてきたが、コンピュータの処理速度向上による強度不足などの問題が表面化し、NISTは1997年に次世代の暗号標準であるAESの候補を公募した。
全世界から21の候補が寄せられたが、5つに絞られた最終候補の中から、「Twofish」や「RC6」など有力な候補を抑えて、ベルギーの暗号学者フィンセント・ライメン(Vincent Rijmen)氏とホアン・ダーメン(Joan Daemen)氏の考案したRijndael方式が採用された。このため、暗号方式そのものを指す場合はRijndaelと呼ばれる。
ブロック暗号
暗号の種類の一つで、データを一定の長さごとに区切ってこれを単位として暗号化を行うもの。共通鍵暗号(共有鍵暗号/秘密鍵暗号)のほとんどが該当し、1ビットあるいは1バイト単位で暗号化を行うストリーム暗号と対比される。
暗号利用モードは平文を暗号化する際、先頭から順に64ビット、128ビットなどのあらかじめ定められた固定長のブロックに分割し、それぞれのブロックを対象に暗号化処理を行う。暗号文の長さは平文と同じになる。ブロック長は暗号方式の仕様として決まった値を定めている場合(例えばDESは64ビット固定)と、いくつかの値から暗号化時に選択できるもの(Rijndaelは128~256ビット)がある。
ブロック内ではデータの位置の入れ替え(転置)などが行われるため、復号するにはブロックの全体が揃っていなければならない。データの末尾などでブロック長に足りない場合には、全ビット0のデータを既定の長さまで埋めるといった埋め合わせ(パディング)処理が行われる。
暗号モード (block cipher mode)
暗号利用モードでは暗号文のランダム性を高めるため、一つ前のブロックの暗号化の結果を暗号化処理に反映させるテクニックが用いられることがある。どのように反映させるかを定めたものを暗号モードという。
最も単純なECBモード(Electronic Codebook Mode)と最も広く用いられるCBCモード(Cipher Block Chaining Mode)が有名だが、他にもCFBモード(Cipher Feedback Mode)やOFBモード(Output Feedback Mode)、CTRモード(Counter Mode)など様々な種類があり、CCMモード(Counter with CBC-MAC)のように認証のために考案されたモードもある。
ECBモード (Electronic Codebook Mode)
前のブロックの結果を利用せず、毎回どのブロックにも同じ暗号化処理を行う方式をECBモードという。最も単純な方式で、各ブロックの平文と暗号鍵のみを用いて暗号文を生成し、同じ平文からは常に同じ暗号文が得られる。
パターンの出現頻度などを解析して解読されやすく、毎回同じ暗号文となるため反射攻撃に悪用可能である。実装が容易で高速に暗号化・復号できるが、機密度が低いため実用上はなるべく用いない方がよいとされる。
CBCモード (Cipher Block Chaining Mode)
平文と直前のブロックの暗号文の各ビットをXOR演算したデータに対して暗号化を行い、これをそのブロックの暗号文とする方式をCBCモードという。様々な暗号方式で最もよく利用されている。
平文の一部が共通するブロックがあっても直前のブロックの結果が反映されて異なる暗号文が生成される。最初のブロックには直前のブロックが無いため、代わりに初期化ベクトル(IV:Initialization Vector)と呼ばれるダミーデータを用意する。これを毎回ランダムに変更すれば、得られる暗号文全体も規則性なく変化させることができる。
安全性は高いが、前から順番に暗号化しなければならないため処理を並列化できず暗号化に時間がかかる。また、あるブロックに生じた伝送エラーがそのブロックだけでなく直後のブロックの復号にも影響する。
ストリーム暗号
暗号の種類の一つで、データを1ビット単位あるいは1バイト単位で逐次暗号化していく方式のこと。データを一定の長さのブロックごとに暗号化する「ブロック暗号」(block cipher)と対比される。
暗号化したデータを伝送する場合、ブロック暗号はブロック全体が揃わないと復号できないのに対し、ストリーム暗号は受信したデータを即座に復号することができる。また、ブロック暗号がデータ量をブロック長の整数倍になるよう調整するのに対し、ストリーム暗号は元のデータ(平文)の量と暗号化後のデータ量が常に一致するという特性がある。応答性が重視される通信用途で用いられることが多い。
具体的な方式としてよく用いられるのは論理演算のXOR(排他的論理和)を利用する手法である。暗号鍵を元に一定の演算規則(擬似乱数の生成とすることが多い)で無限に続く符号列(鍵ストリーム)を生成し、(同位置の)平文との間でXOR演算を行った結果を暗号文として送出する。受信側では同じ暗号鍵から鍵ストリームを生成し、受信した暗号文との間でXOR演算を行うと平文に戻すことができる。
ディスク暗号化 【ストレージ暗号化】
ハードディスクやSSDなどの記録内容を丸ごと暗号化すること。破棄や盗難、紛失などで第三者の手に渡ったストレージ装置から重要なデータが抜き取られるのを防ぐことができる。
コンピュータに内蔵あるいは外付けされたハードディスクやSSDなどのストレージ装置を、装置全体あるいはドライブ、ボリューム、パーティションなどの管理単位ごとに丸ごと暗号化する。通常の用途ではリムーバブルメディアは対象外だが、「BitLocker To Go」のようにUSBメモリなど容易に着脱可能な装置を対象とするシステムもある。
書き込み時の暗号化、読み込み時の復号はオペレーティングシステム(OS)や装置内に組み込まれた専用のソフトウェアによって自動的に行われ、一度設定を行えば利用者は毎回個別に操作する必要はない。アプリケーション側もデータの書き込みをOSに依頼すれば暗号化され、読み込みを依頼すれば復号済みのデータが得られるため、特に対応する必要はない。
OSから独立した専用の暗号化ソフトを導入する場合には、起動時にOSとは別にIDとパスワードの入力を求め、これにパスするとOSの起動とデータの利用が可能になる。ストレージ装置を本体から取り外して起動可能なコンピュータに繋いでも内容は暗号化されており読み取ることはできない。
Windowsの「BitLocker」のようにOSに暗号化ツールが付属する場合もあり、OSのユーザー認証プロセスを経てストレージの読み書きが可能になる。業務用のポータブルハードディスクや外付けハードディスクなどの製品にはディスク装置側に暗号化機能が実装されているものもある。暗号化・復号の処理をストレージ側で行うためコンピュータ本体の負荷が軽いという利点がある。
危殆化
何らかの作為や状況の変化により、対象が危険に晒されるようになること。ITの分野では、暗号の安全性に疑念が生じる「暗号の危殆化」を指すことが多い。
暗号の危殆化
何らかの事象の発生や状況の変化により、特定の暗号技術(ハッシュ関数や擬似乱数などの要素技術を含む)や応用システムなどが、もはや十分な安全性を提供できない状態に陥ることを指す。その原因や影響範囲により、暗号アルゴリズムの問題、暗号を実装した装置やソフトウェアの問題、暗号システムの運用の問題に大別される。
暗号アルゴリズム自体の問題とは、効率的な暗号鍵の解読法が考案されたり、コンピュータシステムの性能向上や大規模化により現実的な時間で総当たり攻撃が可能になるといった事態である。そのアルゴリズムに基づく暗号システムすべてが危殆化する。
暗号装置やソフトウェアの問題とは、ある暗号方式による暗号化や復号の処理を実装した装置やソフトウェア、システムなどにバグや脆弱性があり、攻撃者による暗号鍵の盗み取りなどの危険に晒される状態である。問題が発見された特定の実装のみが危殆化する。
暗号の運用の問題とは、アルゴリズムや機器の実装などに問題はなかったが、杜撰な鍵管理などにより秘密鍵が漏洩したり(暗号鍵の危殆化)、デジタル証明書の認証局(CA)が不正アクセスを受けるなどして、その局の発行した証明書全体が攻撃の危険に晒されるといった事態を指す。
認証
対象の正当性や真正性を確かめること。ITの分野では、システム利用などに際して相手が名乗った通りの本人であると何らかの手段により確かめる手続きのことを認証ということが多い。
相手が本物か確かめるという相手認証の他に、メッセージ認証のようにデータが改竄されていないか確かめたり、時刻認証のようにデータの属性が真正であることを確認することを指す場合もある。
二者間認証/相手認証 (authentication/オーセンティケーション)
二者が相対で相手方の真正性などを確かめることを「相手認証」あるいは「二者間認証」と呼び、英語では “authentication” (オーセンティケーション、動詞は “authenticate” )という。
例えば、ある利用者がコンピュータに自分のアカウント名を名乗り、そのアカウント名の正しいパスワードを入力できれば、確かにその利用者がアカウント名の本人であることが確認できる。日常的にも、金融機関のATM(現金自動預け払い機)などで、キャッシュカードを提示したのが本人であることを確認するために暗証番号を入力させる、といった場面で利用されている。
三者間認証/第三者認証 (certification/サーティフィケーション)
第三者に問い合わせて相手方の正当性を確かめることを「三者間認証」あるいは「第三者認証」と呼び、英語では “certification” (サーティフィケーション、動詞は “certify” )という。
例えば、通信経路を暗号化する際などに、相手方から提示されたデジタル証明書を発行元(認証局/CA:Certificate Authority)に照会すれば、身元を確認することができる。日常的には、資格や行政機関の認証制度、クレジットカードを使用する際に加盟店が発行元に信用照会する仕組みなどが該当する。
認証方法の分類 (WYK/WYH/WYA)
認証を行う二者の間で事前に秘密の情報を共有し、認証時に正しく入力できれば本人であるとみなす方式をWYK(What You Know)認証という。パスワードやパスフレーズ、暗証番号などが該当する。何らかの方法で本人から詐取したり、入力時の覗き見や通信時の盗み見などで秘密の情報を入手されると、認証が突破され第三者によるなりすましが可能となる。
認証元が本人に発行した物理的なモノを提示・接続することにより本人であることを確認する方式をWYH(What You Have)認証という。セキュリティトークン(USBトークンなど)や暗号鍵などを格納したICカードを手元の機器の端子に接続したり、本人に発行した乱数表の指定位置の文字・数字を入力させるといった手法が知られる。モノを盗まれるとなりすましの危険がある。
認証元に登録された本人の身体に固有のパターンにより本人確認する方式をWYA(What You Are)認証あるいは生体認証(バイオメトリクス認証/biometrics authentication)という。指紋認証や静脈認証(掌の静脈のパターンを用いる)、虹彩認証(瞳の黒目部分にある虹彩の模様を用いる)、声紋認証、顔認証などが知られる。
他の方式より他人による(特定の個人への故意の)なりすましは最も難しいとされるが、方式によってはパターン識別システムの認識精度を100%にすることは難しく、本人を拒否してしまったり、他人と取り違えてしまうといった誤検知の問題がある。
認証と認可
認証済みの利用者に対し、アクセス権の設定などを参照して本人に与えられた適切な権限による操作を許可する(権限外の利用を拒否する)ことを「認可」と呼び、英語では “authorization” (オーソライゼーション、動詞は “authorize” )という。
認証の次の段階で行われる権限の付与のことを指すが、単純なシステムでは認証と同時に認可も済んでしまうことも多く、字面も似ており、日常的な語彙としては似た意味合いであるため、しばしば混同される。認証向けの技術を認可に用いるといった不適切な事例も起きている。
英語でも “authentication” と “authorization” は日常語彙としては意味も綴りも似ており、日本語の場合と事情は近い。さらに、方式名や製品名に使用する際などに、どちらも “auth” と略されることがあるため、余計に混同しやすいという事情があり、近年では認証を “authn” 、認可を “authz” として別の略号を用いることが提唱されている。
電子署名 【デジタル署名】
文書やメッセージなどのデータの真正性を証明するために付加される短いデータ。作成者を証明し、改竄やすり替えが行われていないことを保証する。欧米で紙の文書に記されるサイン(signature)に似た働きをするためこのように呼ばれる。
対になる2つの暗号鍵を用いる公開鍵暗号の原理と暗号学的ハッシュ関数を組み合わせた仕組みで、メッセージの送信者は本人しか知らない秘密鍵と本文を元に一定の手順で算出した固定長の符号をメッセージに添付し、相手方に送る。
受信者は受け取った本文と、秘密鍵と対になる送信者の公開鍵などを用いて一定の手順で同様の符号の算出を試み、添付されたものと照合する。両者が一致すれば、メッセージが確かに送信者本人のものであり、かつ伝送途上で第三者による改竄やすり替えが行われていないことが確認できる。
デジタル署名はインターネットなど信頼できない経路を通じたメッセージの送受信でよく用いられるが、文書の安全な保管などにも用いられる。作成者が後になって自分が作成したことを否定するのを防ぐ(否認防止)証拠として用いられる場合もある。
公開鍵証明書とPKI
受信者が署名を検証するには送信者の公開鍵が必要だが、インターネットなど信頼できない経路で伝送すると攻撃者によるすり替えの危険があるため、公開鍵データに送信者と受信者の双方が信用する第三者のデジタル署名を添付するという手法が考案された。これをデジタル証明書(公開鍵証明書)と呼び、信頼できる第三者を認証局(CA:Certificate Authority)という。
証明書の真正性を確認するには認証局の公開鍵が必要であり、これは上位の認証局によって署名されたデジタル証明書によって配布される。このような信頼の連鎖の起点となる最上位の認証局はルート認証局(Root CA)と呼ばれ、実用上は送信者と受信者が同じルート認証局の証明書(ルート証明書)を持っていれば、それに連なる任意の認証局の証明書を用いて鍵を配送することができる。
このような安全な公開鍵配送のための社会的なインフラのことをPKI(Public Key Infrastructure)と呼び、インターネットなどで電子署名を利用するソフトウェアにはあらかじめ世界的に有力なルート認証局の証明書が組み込まれている。
電子署名とデジタル署名の違い
「電子署名」(electoronic signature)とは本来、紙の文書における押印やサインに相当する証明手段を電子的な手段で実現したもの全般を表す総称であり、「デジタル署名」(digital signature)は公開鍵暗号の原理に基づく電子署名の一方式である。
電子署名の方式としては他に、ペン型の入力機器で文書にサインを書き入れる電子サインなどがあるが、最も有力で普及しているデジタル署名を電子署名の同義語のように用いることが多い。
電子署名法
電子署名と認証業務に関する規定を定め、電子署名が手書き署名や押印と同等に通用することを定めた日本の法律。2000(平成12)年5月成立、2001年4月施行。正式名称は「電子署名及び認証業務に関する法律」。
有効な電子署名について一定の要件を定め、これを満たす電子署名が付された電子データに対して紙の文書に署名・捺印されたものと同等の法的な証拠性を認めている。具体的な技術要件は総務省・経済産業省・法務省が共同で告示しており、1024ビットRSAや1024ビットDSA、160ビットECDSAが挙げられている。このうちRSAについては危殆化の懸念から2019年までに2048ビットへの移行が予定され、同時にこれらの署名方式に用いるハッシュ関数もSHA-1からSHA-2へ移行される。
また、署名が本人のものであることを証明する認証業務について、一定の基準を満たした認証局がデジタル証明書を発行する業務を特定認証業務としている。その中で、さらに厳しい基準を満たし、国や指定検査機関の審査を経て認定された認証局の業務を認定認証業務という。認定認証局は全国で十社程度が認定されている。
署名鍵
公開鍵暗号を応用した電子署名(デジタル署名)で、一対の鍵のうち署名を作成するための鍵。公開鍵暗号における秘密鍵が該当し、署名者が手元で管理し秘匿する。
公開鍵暗号は数学的に簡単に解けない問題を利用して一対の値のペアを作成し、片方で暗号化、もう一方で復号する暗号方式である。鍵の持ち主は暗号化に用いる鍵は公開して相手方に渡し、復号に用いる鍵は誰にも知られないよう手元で秘匿して保管する。前者を「公開鍵」、後者を「秘密鍵」という。
デジタル署名ではこの公開鍵暗号の原理を応用し、鍵ペアの持ち主(送信者)は手元の署名鍵(秘密鍵)を用いてメッセージから一定の計算手順で署名データを作成する。メッセージに署名を添付して送ることで、内容は送信者が作成し、第三者が改ざんやすり替えを行っていないことを証明できる。
署名を受け取った検証者は、送信者が公開している検証鍵(公開鍵)をデジタル証明書などの形で取り寄せ、受信したメッセージの内容から所定の計算手順で署名データを算出する。これがメッセージに添付された送信者の署名に一致すれば、その署名は確かに送信者しか知らない署名鍵で作成され、内容も変わっていないと確認できる。
署名鍵と検証鍵は巨大な素数同士の積など数学的に関連した値のペアとなっており、ある署名鍵で作成された署名が、ペアの検証鍵以外の値で検証されることはない。また、受信したメッセージや署名、公開されている検証鍵をもとに、対になる署名鍵を算出する効率的な方法は見つかっておらず、現実的な時間で署名鍵を割り出すことはできないようになっている。
検証鍵
公開鍵暗号を応用した電子署名(デジタル署名)で、一対の鍵のうち署名を検証するための鍵。公開鍵暗号における公開鍵が該当し、署名者がデジタル証明書などの形で公開したり、相手方へ提供する。
公開鍵暗号は数学的に簡単に解けない問題を利用して一対の値のペアを作成し、片方で暗号化、もう一方で復号する暗号方式である。鍵の持ち主は暗号化に用いる鍵は公開して相手方に渡し、復号に用いる鍵は誰にも知られないよう手元で秘匿して保管する。前者を「公開鍵」、後者を「秘密鍵」という。
デジタル署名ではこの公開鍵暗号の原理を応用し、鍵ペアの持ち主(送信者)は手元の署名鍵(秘密鍵)を用いてメッセージから一定の計算手順で署名データを作成する。メッセージに署名を添付して送ることで、内容は送信者が作成し、第三者が改ざんやすり替えを行っていないことを証明できる。
署名を受け取った検証者は、送信者が公開している検証鍵(公開鍵)をデジタル証明書などの形で取り寄せ、受信したメッセージの内容から所定の計算手順で署名データを算出する。これがメッセージに添付された送信者の署名に一致すれば、その署名は確かに送信者しか知らない署名鍵で作成され、内容も変わっていないと確認できる。
署名鍵と検証鍵は巨大な素数同士の積など数学的に関連した値のペアとなっており、ある署名鍵で作成された署名が、ペアの検証鍵以外の値で検証されることはない。また、受信したメッセージや署名、公開されている検証鍵をもとに、対になる署名鍵を算出する効率的な方法は見つかっておらず、現実的な時間で署名鍵を割り出すことはできないようになっている。
XML署名 【XML Signature】
デジタル署名をXML形式で記述し、対象の文書が改竄されていないか、作成者が署名者本人に間違いないかなどを確認できるようにする技術。最初の規格は2001年にW3Cによって標準化された。
公開鍵暗号およびデジタル証明書を利用したデジタル署名をXMLの書式に従って作成する方法を定めている。主な署名の対象はXML文書だが、XML以外の任意の形式のデータに対して署名を作成することもできる。
署名者は自身の暗号鍵ペアと署名対象データを元にハッシュ値(ダイジェスト)を算出し、Signature要素および子要素の組み合わせによって署名データを記述する。受信者は受け取ったデータからハッシュ値を算出して照合することで、対象データの改竄やすり替え、署名者のなりすましが行われていないか検証することができる。
署名の形式は3つ用意されている。「デタッチ署名」(detached signature)は対象データとは別にXML署名を作成する形式で、署名内から対象データをURI(Uniform Resource Identifier)で指定する。「エンベロープ署名」(enveloped signature)は任意のXML文書の一部にXML署名を埋め込む形式、「エンベローピング署名」(enveloping signature)はXML署名の要素の一部として対象データを埋め込む形式である。
XMLは文法上、空白文字や改行文字の有無や数などを区別しない仕様になっているが、ハッシュ値による比較・照合はビット列のレベルでデータが完全に同一であることが必要となる。このギャップを埋めるため、署名を行うXML文書は一定の規則に従って単一の表現形式に揃えるXML正規化(XML Canonicalization)を施す必要がある。
時刻認証 【タイムスタンプ】
ある電子文書がある時点で存在し、それ以降内容が改変されていないことを第三者が保証する仕組み。電子文書の証拠性を高めることができる。
コンピュータ上のデータとして表現された文書は複製や編集が容易であるため、紙の書籍に比べ証拠性が低いとみなされ、契約書や証書類などの作成や保管の電子化の妨げとなってきた。時刻認証を利用することで、電子文書の真正性を第三者によって証明することができる。
タイムスタンプは「TSA」(Time Stamping Authority:時刻認証局/タイムスタンプ局)と呼ばれる事業者が提供する時刻認証サービスを利用して作成する。文書の所有者が申請した日時に確かに文書が存在し、その内容がそれ以降変更されていないことを時刻情報とハッシュ値を利用して証明することができる。
電子署名方式
有力な方式が二つあり、その一つはデジタル署名を応用した電子署名方式である。これはTSAが文書データのハッシュ値と現在時刻を含む「タイムスタンプトークン」を作成し、自らのデジタル証明書(公開鍵証明書)で署名して申請者に提供する。
トークンは申請者が保管し、証明が必要になったときはTSAの証明書を用いていつでも検証することができる。保管と検証にTSAが関与しないため、公開する文書の証明などに適しているが、デジタル証明書には有効期限(数年から長くても10年程度)があるため、長期保管には向かない。
アーカイビング方式
もう一つの方式はアーカイビング方式で、申請に基づき作成されたタイムスタンプトークンを申請者とTSAの両者が保管する。証明が必要なときにはTSAに問い合わせを行い、申請者側にあるトークンと内容が一致することを証明してもらう。
サービスが継続する限りいつまでも検証することができるが、検証にTSAへの問い合わせが必要で、誰でも検証できるわけではない(申請者に限定している場合が多い)。TSA側に保管されたデータの真正性は誰も検証できないため、一定期間ごとに全保管データから算出したハッシュ値を公開している事業者もある。
ハッシュ値 【ダイジェスト値】
元になるデータから一定の計算手順により求められた固定長の値。その性質から暗号や認証、データ構造などに応用されている。メッセージダイジェストを求めるための計算手順のことをハッシュ関数、要約関数、メッセージダイジェスト関数などという。
メッセージダイジェストは元のデータの長さによらず一定の長さとなっており、同じデータからは必ず同じメッセージダイジェストが得られる。実用上は数バイトから数十バイト程度の長さとすることが多い。計算過程で情報の欠損が起きる不可逆な変換が含まれ、メッセージダイジェストから元のデータを復元することはできない。
メッセージダイジェストは元のデータの特徴を表す短い符号として利用することができ、データの比較や検索を高速化することができる。例えば、大きな容量のファイルの内容が同一であるかを比較する際に端から順にすべてのデータを照合すれば時間が掛かるが、それぞれメッセージダイジェストを計算しておいて比較すれば一致するかどうかは一瞬で判別することができる。
ハッシュ関数のうち、暗号などに適した性質を持つものを「暗号学的ハッシュ関数」という。このような関数から得られたメッセージダイジェストは、入力値との間に規則性がなく、入力値が少しでも異なればまったく異なるメッセージダイジェストとなる。
また、ある特定のメッセージダイジェストが得られるような入力値を効率よく求めることはできず(弱衝突耐性)、同じメッセージダイジェストとなる別の入力値も容易には見つけられない(強衝突耐性)。
このようなハッシュ関数は非常に有用であり、暗号化や認証、デジタル署名など様々なセキュリティ技術の基礎的な要素技術として応用されている。算出法についての標準規格も定められ、古くはMD5やSHA-1などが広く普及したが、これらは現在では十分安全でないことが知られ、SHA-2(SHA-256など)への置き換えが進んでいる。
メッセージ認証
ネットワークを通じて伝送されたメッセージが途中で改竄されていないことを確認する技術。そのためにメッセージに添付される短いデータのことを「メッセージ認証コード」(MAC:Message Authentication Code)あるいは「メッセージ認証符号」という。
一般的なメッセージ認証では、メッセージ本文と送信者・受信者があらかじめ安全な手段で共有した秘密の情報(共通鍵/共有鍵)を元に、一定の計算法によって短いデータ(MAC値)を算出し、これをメッセージに添付する。
受信側では、届いたメッセージ本文と、事前に送信者と共有した共通鍵から同じようにMAC値を算出し、添付されたMAC値と比較する。両者が一致すれば、相手は共通鍵を知っており、メッセージが通信途上で改竄されていないことを確認することができる。
MAC値の算出に共通鍵暗号(ブロック暗号)による暗号化を用いる方式(CMAC、OMAC、PMACなど)と、ハッシュ関数を用いる「HMAC」(Hash-based MAC)がある。なお、共通鍵ではなく公開鍵暗号を用いて認証と改竄検知を行う手法は「デジタル署名」(digital signature)と呼ばれる。こちらは送信者が本人であることを証明する否認防止の機能も持つ。
メッセージ認証コード 【MAC】
相手から届いたメッセージが途中で改竄やすり替えに合っていないか検証するための短い符号。送信者と受信者が共有する秘密のデータ(鍵)とメッセージ本体から生成する。
送信者はメッセージと共有鍵を利用して一定の計算手順で短い符号(MAC値)を算出し、メッセージに添付して送信する。受信者は届いたメッセージの本文と鍵から同じ手順で符号を算出し、添付された符号と一致するか確かめる。両者が一致すれば、メッセージが確かに鍵の持ち主によって作成され、本文も第三者によって改竄やすり替えが行われていないことが分かる。
メッセージ認証符号は符号の生成と検証に共通の鍵を用いるため、(送信者と受信者の言い分が対立した場合などに)メッセージの作成者が送信者であることを保証することはできない(否認防止性がない)。メッセージ作成者の証明が必要な場合は電子署名を用いる。また、メッセージの送受信の前に鍵を安全な方法で共有しなければならず、実用的には公開鍵暗号によって鍵を交換するなどの方法が用いられる。
メッセージ認証符号の生成や検証の手順にはいくつかの標準的な方式があり、ハッシュ関数を用いる「HMAC」(Hash-based MAC)、共通鍵暗号を用いる「CMAC」(Cipher-based MAC)や「CBC-MAC」(Cipher Block Chaining MAC)などの方式がよく知られている。
チャレンジ/レスポンス認証
通信回線やネットワークを介して利用者の認証を行う際に、パスワードなどの秘密の情報を直接やり取りすることなく確認する方式の一つ。暗号学的ハッシュ関数の性質を利用して、パスワードそのものは回線に流さずにパスワードを知っていることを証明する。
クライアントが認証の開始を申し出ると、サーバは「チャレンジ」と呼ばれる乱数を元に決めた毎回異なるデータ列を送信する。クライアントは利用者が自分の知っているパスワードとして入力した文字列とチャレンジを組み合わせ、これをハッシュ関数を通してハッシュ値に変換したものを「レスポンス」としてサーバに返信する。
サーバは手元の認証情報から正しいパスワードとチャレンジを組み合わせてハッシュ値を算出し、レスポンスと比較・照合する。両者が一致すれば確かにクライアントに入力されたパスワードはサーバ上のものと同一であると確認できる。
一連の手順でパスワードそのもの(平文)はサーバとクライアントの間でやり取りされず、経路上で攻撃者が盗聴することはできない。また、チャレンジやレスポンスを盗聴したとしても、暗号学的ハッシュ関数の性質によりパスワードを導き出すのは極めて難しい。チャレンジやレスポンスに十分な長さがあれば事実上不可能である。
チャレンジは認証を行うごとに不規則に変化し予測不能であるため、ある種のワンタイムパスワードのように働き、盗聴した情報をそのまま送りつける反射攻撃(リプレイアタック)などの攻撃手法にも耐性がある。
チャレンジ/レスポンス認証は様々な認証方式に採用されており、有名なものではPPP(Point-to-Point Protocol)の認証などに用いられるCHAP(Challenge-Handshake Authentication Protocol)がある。SSHのチャレンジ/レスポンス認証のようにハッシュ関数ではなく公開鍵暗号を利用する方式や、HTTPのDigest認証のようにクライアントがチャレンジを生成する方式など、いくつかのバリエーションがある。
リスクベース認証 【アダプティブ多要素認証】
システムの利用者を認証するユーザー認証の手法の一つで、利用者が普段と違う行動を取った場合のみ追加の認証を要求する方式。利用者の負担を抑えつつパスワードなど秘密の情報の漏洩によるなりすましを防止することができる。
一般的なユーザー認証では、ID(アカウント名などの識別名)とパスワードを入力し、システム側に登録されたものに一致すれば本人であると認めるパスワード認証が用いられることが多い。この方式では本人以外がIDとパスワードを入手し、本人になりすましてログインする被害が問題となる。
リスクベース認証では、一般的な認証方式によるログインを許可するが、その際に利用者の使用している端末の情報やアクセス元のIPアドレス、位置情報、曜日や時間帯などの行動パターンを記録する。認証時これらの情報を過去の行動履歴に照らし合わせ、普段のパターンから著しく外れた不審な相手に対しては、パスワードが合致していてもなりすましを疑い追加の認証を要求する。
追加の認証方式はシステムへの利用者登録時などにパスワードとは別に用意しておく必要がある。一般的には、いわゆる「秘密の質問」(本人しか知らないプライベートな事柄に関する質問と回答をシステム登録しておく)や、SMSや暗号表、専用の装置によるワンタイムパスワード(OTP)の生成と入力が利用されることが多い。
利用者は普段の行動パターンに沿ってシステムを利用する限り単純なパスワード認証しか必要なく、ログイン時に必ず二段階認証を求める方式より負担感を減らすことができる。攻撃者はパスワードなどの奪取に成功しても端末の識別情報や位置情報、利用時間帯などまで含めて偽装しなければならず、効果的になりすまし被害を防止することができる。
ログイン 【ログオン】
システムに自分の身元を示す登録情報を入力し、接続や利用開始を申請すること。本人であると確認されれば操作画面が表示され、利用を開始することができる。
利用者はユーザー名(ID/アカウント名)など自身の識別情報と、パスワードなど本人であることを証明できる秘密の情報をシステムに入力し、システム側に保管されているものと照合する。あらかじめ登録してある利用者の情報に一致すればシステムの使用が許可される。この過程を「ユーザー認証」(user authentication)という。
ログイン前の操作画面には資格情報の入力を促すフォームなどが表示され、システム自体の操作や利用は受け付けない「ログイン画面」になっている。ログインに成功して操作を行った後、操作を終了するログオフ手続きを行うと再びログイン画面に戻り、再度ログインしなければ操作できなくなる。ログインからログオフまでの操作可能な期間を「セッション」(session)という。
ログイン手続きはシステムを誰が使用するのか、正当な権限がある者が使用しているか、どのような操作を行ったかなどを記録に残し、権限のない者による不正な操作を防ぐために行われる。コンピュータやソフトウェアの起動、利用や登録の手続き(アカウント作成/ユーザー登録)とは独立した概念である。
ログインとは逆に、接続を切ったり利用を終了する操作を「ログオフ」(logoff)あるいは「ログアウト」(logout)という。明示的に終了しなくても、一定時間通信や操作が無い場合は自動的に終了手続きが行われる場合があり「タイムアウト」(timeout)という。
認証方式
本人であることの証明には、パスワードや暗証番号など秘密の情報の入力だけでなく、指紋の照合など人体の特徴を使用した生体認証(バイオメトリクス認証)、事前に発行した文字盤による入力やUSBトークンの差し込みなど持ち物による確認が用いられることもある。
また、自らは資格情報を保管せず、外部の別のシステムやネットサービスなどに認証を依頼し、手続きの成否と識別情報を報告してもらうログイン方式もあり、「ID連携」(ID federation)「ソーシャルログイン」(social login)などと呼ばれる。著名SNSのアカウントがあればユーザー登録しなくてもすぐに使用を開始できるネットサービスなどで活用されている。
呼称の違い
「ログイン」と「ログオン」は一般的にはほぼ同義語とみなされ、システムごとの仕様や挙動の違いはあれど語義レベルでの明確な差異や区別はない。前置詞の対応関係から、「ログイン」に対応する操作終了の手続きは「ログアウト」、「ログオン」の場合は「ログオフ」となる。
歴史的には、インターネット関連やUNIX系システムなどでは「ログイン」という表現が好まれ、米マイクロソフト(Microsoft)社の製品(Windowsなど)では「ログオン」がよく使われてきたため、それらの影響を受けたシステムではそれぞれの表現が用いられる傾向にある。
近年では、ネットサービスなどで「サインイン」(sign-in)「サインオン」(sign-on)と呼ばれることが増えており、Windowsなど著名な製品でも「サインイン」を採用する事例が見られる。様々なシステムのログイン手続きを一か所に集約する技術を「シングルサインオン」(SSO:Single Sign-On)という。
UID 【User Identifier】
複数の利用者を一意に識別するための識別子。または、一意の識別子。具体的な仕様や規約はシステムの種類によって異なる。
アカウントのUID
システムやサービスに利用者登録(アカウント作成)を行う際に設定する利用者名(ユーザー名/アカウント名)のことを利用者IDということがある。氏名やメールアドレス、ニックネーム、本人が任意に設定する英数字の組み合わせなどが使われることが多い。
UNIXのUID
UNIX系OSで登録利用者を一意に識別するために割り振られた識別番号をUIDあるいは「ユーザー識別子」という。16ビットあるいは32ビットの整数値が用いられ、0は必ずスーパーユーザー(rootユーザー)を表し、1から100(OSによって異なる)はシステムによって予約されている。
携帯電話のUID
携帯電話事業者が個々の契約者に割り当てた契約者固有識別子や、個々の端末に割り当てた端末固有識別子などをUIDということがある。
文脈により、SIMカードなどに記録された契約者ごとに固有の識別番号(端末が変わっても引き継がれる)などを指す場合と、端末内部に記録された個体ごとに固有の製造番号(利用者が変わっても引き継がれる)などを指す場合がある。
パスワード
利用者が名乗った本人であるか確認する際などに用いられる秘密の合言葉。事前に登録したものと、認証時に入力したものが一致すれば本人であるとみなされる。
利用者の登録・識別を必要とするシステムでは、利用者の登録(アカウント作成など)の際に識別名(ユーザーID/アカウント名)とセットでパスワードを登録する。その識別名を名乗る利用者が使用開始(ログイン)を申請すると、システムはパスワードの入力を求め、登録されたものと一致すれば本人とみなして使用を許可する。
利用できる文字の種類や長さは個々のシステムによって定められているが、(半角の)ラテンアルファベット(大文字・小文字の区別あり)、数字、一部の記号の組み合わせで8文字以上と規定されている場合が多い。
パスワードと同じ秘密の情報を入力させる仕組みのものには、数桁の数字を入力させる暗証番号(PIN:Personal Identification Number)や、いくつかの単語の組み合わせを入力させるパスフレーズ(passphrase)などがある。
パスワードの割り出し
パスワードを他人に知られてしまうと自分になりすましてシステムを利用されてしまうため、誰にも知らせてはならない。ただし、攻撃者が不正にシステムを利用するためにパスワードの割り出しを試みる場合があり、直接知られなくても入手されてしまうことがある。
パスワードへの攻撃は、何らかの手法で候補を大量に生成し、実際にログインを試みることにより行われることが多い。主な手法として、すべての文字の組み合わせを片っ端から試す「総当たり攻撃」(ブルートフォースアタック)や、人間が覚えやすい既存の単語や文字の並びのリストを作り、それらを組み合わせて候補を作成する「辞書攻撃」(ディクショナリアタック)などがある。
これらの攻撃手法では短く覚えやすいものほど割り出しやすいため、パスワードは覚えられる範囲でなるべく長く、様々な文字種(大文字・小文字・数字・記号)を組み合わせて作成し、意味のある単語や覚えやすい単純な文字の並び(「password」「123456」など)などは避けるべきとされる。
また、本人や家族の氏名、生年月日、電話番号、居住地、出身地など、何らかの方法で入手した本人についての様々な情報から候補を作成する手法もあるため、自分や家族に関連する単語や番号などは含めないことが望ましい。
ICカード 【IC card】
プラスチック製カードに極めて薄い半導体集積回路を埋め込み、データの記録や処理、外部との入出力などをできるようにしたもの。外部との入出力方式の違いにより接触式と非接触式がある。
カード内に半導体メモリを内蔵し、数KB(キロバイト)から1MB(メガバイト)程度のデータを記録することができる。内蔵メモリ素子が読み出し専用のROMチップの場合は書き換えできないが、フラッシュメモリを採用したものは専用の装置で記憶内容の追加や上書き、消去ができる。簡易なCPU(処理装置)を内蔵して暗号化などの処理が可能なものもある。
記録や通信の暗号化、認証やアクセス制御によりデータの不正な読み取りや改ざんを防ぐことができるため、磁気ストライプ式などに比べ偽造や変造が困難で安全性が高いとされる。記憶容量が大きいため単純な識別番号などの他に様々な情報を記録・送受信することができ、一枚のカードに複数の機能を持たせる汎用カードを作ることもできる。
日本では「ICカード」の呼称が広く浸透しているが、英語圏では “IC card” という表記はほとんど用いられず、 “integrated circuit card” とICを略さずに記すか、“smart card” (スマートカード)あるいは “chip card” (チップカード)の呼称の方が一般的である。
接触式ICカード
接触式ICカードはカード表面に平たい金属端子を備え、読み取り装置側の端子に接触させることにより通電し、回路駆動用の電力供給と信号の送受信を行う。
端子の物理仕様などの基礎的な技術仕様はISO/IEC 7816として標準化されており、これに基づいて各業界がデータの記録や送受信などに関する個別の標準規格を定めている。主に従来の磁気ストライプカードに代わってクレジットカードやキャッシュカードなどに用いられるほか、携帯電話のSIMカード(UIMカード)や、日本ではETCカードやデジタル放送の受信者識別カード(B-CASカード)にも採用されている。
非接触ICカード
非接触ICカードはコイル状のアンテナを内蔵し、読み取り装置からの無線電波による電磁誘導で電力を発生させ、電波で無線通信を行う。
ソニーなどが推進する日本のFeliCa(フェリカ)、蘭フィリップス(Philips)社(現NXPセミコンダクターズ)などが推進する欧州のMifare(マイフェア)が早くから浸透しており、両者を併記したNFC(Near Field Communications)がISO/IEC 18092として標準化され、広く採用されている。
カードと機器を接触・固定する必要がないため、交通機関のICカード乗車券やカード型電子マネーなど、極めて短時間での処理や手続きが求められる用途でよく用いられる。日本では運転免許証(ICカード免許証)、個人番号カード(マイナンバーカード/接触式端子と併用)、パスポート(IC日本国旅券)などにも採用されている。
PIN 【Personal Identification Number】
情報システムが利用者の本人確認のために用いる秘密の番号。4桁が一般的で、金融機関での本人確認やオペレーティングシステム(OS)へのログインなどで用いられる。
本人がシステムにあらかじめ数桁の番号を登録し、システムの利用時に入力することで、利用しようとする人物が本人であることを確かめる。他人に知られると成りすまして悪用される恐れがあるため、他の人に教えたり紙に書き留めたりせずに暗誦しなければならない。
1960年代に金融機関のATM(現金自動預け払い機)が発明された際に本人確認の手段として導入されたもので、現在でもキャッシュカードやクレジットカードなどの本人確認手段としてよく利用される。当初導入されたシステムで4桁のPINコード(0000から9999までのいずれか)が採用されたことから4桁のシステムが多い
4桁の番号は1万通りの組み合わせがあるが、覚えやすいように自分や近親者の誕生日、記念日などの日付を設定する人もおり、その場合は「0101」から「1231」まで366通りに絞られる。本人に関連する番号は容易に推測されてしまうため望ましくないとされる。
手作業で1万回の番号入力を試すのは時間がかかるため窓口などでの利用には十分安全と言えるが、現代ではシステムの種類や方式によってはコンピュータなどを用いて1万回の試行を繰り返して容易に割り出すことができる場合があるため、より長い桁数を用いたり、他の確認手段の補助として用いるべきとする考えもある。
一方、コンピュータシステムでは8桁程度かそれ以上の長さの英数字・記号の組み合わせからなる「パスワード」(password)を本人確認のための秘密の情報として用いることが多いが、近年では携帯端末のロック解除コードやワンタイムパスワード、パスワードリセット時の認証コードなど、補助的な役割でPINコードが利用されることもある。
ワンタイムパスワード 【OTP】
利用者の本人確認などに用いる秘密の文字列として、短時間のみ有効な、その場限りの文字列を生成して用いる方式。専用の携帯端末やSMSで通知する方式がよく用いられる。
従来の固定的なパスワードは同じものが長期間繰り返し使われるため、攻撃者が長い時間をかけて何度も試行を行うなどして割り出したり、何度も送受信しているうちに通信途上で盗み取られるリスクがある。ワンタイムパスワードはその場限り有効な「使い捨て」のパスワードを認証ごとに毎回生成して使用するため、こうした危険を回避しやすい。
ワンタイムパスワードを利用する際は利用者と認証者の間であらかじめ生成方法を共有しておき、認証時には利用者がその場限り有効なパスワードを生成して送信、同時に認証者が生成したものと一致すれば認証成功となる。生成されたワンタイムパスワードは短い時間(数十秒から数分)が経過したり一度認証に成功すると破棄され、同じものは使えない。
パスワードの生成・共有方法にはいくつか方式があるが、よく用いられるのは携帯電話のSMSを用いる方式、時刻同期方式、チャレンジ/レスポンス方式、マトリクス認証などである。
SMSを用いる方式
SMS(ショートメッセージ)を用いる方式は、利用者の携帯電話の番号をあらかじめ登録しておき、利用時に認証サーバからSMSでワンタイムパスワードを通知、その場で入力してもらう方式である。認証に成功したり短時間(用途により数分から数時間程度まで)が経過すると無効となる。
時刻同期方式
時刻同期方式は、認証サーバと時刻を同期させた小型の専用の装置(セキュリティトークン、ハードウェアトークンなどと呼ばれる)などを用い、現在時刻を元にあらかじめ決められた算出方式に従ってパスワードを生成・表示する。パスワードは短い時間(通常1分前後)ごとに切り替わり、次々に新しいものが表示される。パソコンやスマートフォンのソフトウェアとして実装された製品もある。
チャレンジ/レスポンス方式
チャレンジ/レスポンス方式は、認証時にサーバから利用者にチャレンジと呼ばれるランダムなデータなどが送信され、利用者(側のソフトウェア)がパスワードとチャレンジから一定の手順で計算を行い、計算結果を送り返す。これをレスポンスという。サーバ側では手元のパスワードで同様の計算を行い、一致すれば相手も同じパスワードを共有していることが確認できる。
マトリクス認証 (マトリックス認証)
マトリクス認証方式は、文字や数字そのものではなく、「右から3番目の上から2番目」といった表の中の位置をパスワードの代用とする方式である。
利用者には認証ごとに、文字や数字が毎回異なる配置にシャッフルされた碁盤目状の表が提示される。その中から、事前に設定した位置にある文字を入力し、ワンタイムパスワードとして送信する。
一文字や二文字では簡単に破られてしまうため、「左上からV字をなぞるように8文字」といった形で複数の位置を利用するのが一般的である。利用者は毎回表中の同じ位置に出現した文字を入力するが、表の配列は入れ替えられているため、毎回異なる文字列がパスワードとなる。
多要素認証 【MFA】
利用者の本人確認などを行う認証手順において、複数の異なる原理の認証手段を組み合わせて用いることにより、精度と安全性を高める手法。実用上は二つの要素を用いる方式がよく用いられる。
認証方式は何によって認証を行うかにより、パスワードや暗証番号など本人しか知らないはずの情報を用いる「WYK」(What You Know)認証、乱数表やUSBトークンなど本人しか持っていないはずの物品(モノ)を用いる「WYH」(What You Have)認証、指紋や虹彩など人体の特徴を用いる「WYA」(What You Are)認証の三つに分類できる。
多要素認証はパスワードとUSBトークン、指紋と暗証番号など、この三方式から異なる複数の方式を選んで組み合わせ、連続的に実施することにより認証を行う。これにより、いずれか一つが盗まれたり偽造されるなどして攻撃者に突破されても、他の方式も同時に突破しなければ本人になりすますことはできず、セキュリティを高めることができる。
実用上よく用いられるのは、三つの要素のうち二つを組み合わせる「二要素認証」(2FA:2-Factor Authentication)で、パスワード(WYK認証)とSMSなどで送信されるワンタイムパスワード(本人のスマートフォン所持を確認するWYH認証)の組み合わせや、パスワードと乱数表の指定位置の情報入力(WYH認証)、パスワード認証と専用の機器による指紋認証や静脈認証などの生体認証(WYA認証)の組み合わせなどである。
金融機関などで古くから用いられている、キャッシュカードや預金通帳(WYH認証)を機械に差し込み、暗証番号(WYK認証)を入力する方式や、クレジットカード(WYH認証)を支払い端末に差し込んでPINコード(WYK認証)を入力する方式なども、ある種の多要素認証であると考えることができる。
一方、認証を何段階も連続して行うことを「多段階認証」(マルチステップ認証)と呼ぶ。これには多要素認証だけでなく、同じ種類の認証方式を複数回組み合わせる手法も含まれる。例えば、パスワードと秘密の質問の答えを入力させるなど、異なる情報のWYK認証を複数組み合わせるといった方法である。
二段階認証 【2ステップ認証】
情報システムなどで利用者の認証を行う際に、異なる二つの情報や方式を用いた認証を組み合わせる方式。二回続けて認証を行い、両方にパスしたときのみ確かに本人であると確認される。
最初にパスワードによる認証を行い、これにパスすると本人のスマートフォンへSMSで番号を送って入力させるSMS認証を行う、といったように二段階に分けて認証を実施する。この場合は攻撃者がパスワードを知っているだけではSMS認証を突破できないため本人になりすますことはできない。
二段階認証の多くは、本人の知っている情報(暗証番号やパスワードなど)による認証と、本人の持っているもの(スマートフォンや番号表、セキュリティトークンなど)による認証、本人の身体的特徴(指紋や虹彩、顔貌など)による認証(生体認証)の3種類から2種類を組み合わせるのが一般的である。
このように、認証に用いる要素が異なる方式を二種類組み合わせることを「二要素認証」(two-factor authentication)という。単に二段階の認証を行うだけなら、本人の知っている情報による認証を二回続けて行う構成(PINコードとパスワードなど)なども可能だが、同じ仕組みの認証を繰り返しても安全性を高める効果は限られるため、二段階認証を行う場合は二要素認証とするのが一般的である。
多段階認証
複数回の認証を連続して行い、すべてにパスすると認証成功とする方式を総称して「多段階認証」(multi-step authentication)という。極めて高いセキュリティ水準が要求される場合などに、3段階や4段階などの認証を行う場合がある。
FIDO 【Fast IDentity Online】
生体認証(バイオメトリクス認証)や公開鍵暗号を組み合わせ、パスワード不要のオンライン認証を実現する技術。業界団体FIDO Allianceが仕様を策定している。
従来、ネットワークを通じた利用者の認証はID(会員番号やユーザー名、メールアドレスなど利用者の識別名)とパスワードを入力して登録されたものに一致するか確かめるパスワード認証が基本で、パスワード漏洩によるなりすまし利用が深刻な社会問題となっている。
FIDOでは利用者が所有、保管する認証のための簡易な装置と公開鍵暗号を組み合わせ、パスワードのような秘密の情報のやり取りを行わずに安全にネットワーク越しの認証を行える手順を定義している。
UAF (Universal Authentication Framework)
最初の規格FIDO 1.0では、個人ごとに異なる人体の特徴を用いる生体認証(バイオメトリクス認証)が可能な認証装置を利用する方式を「UAF」(Universal Authentication Framework)として定義している。
認証装置内には公開鍵暗号の秘密鍵が記録されており、対になる公開鍵を認証サーバ側に伝えておく。ログイン時は装置に対して生体認証を行い、これが成功するとサーバに対して秘密鍵で署名したデータ(トークン)が送信される。サーバ側では利用者の公開鍵を用いてトークンを検証し、対になる秘密鍵で署名されたことを確認する。
公開鍵から対になる秘密鍵を割り出すことはできないため、公開鍵が第三者に知られても本人になりすますことはできない。また、生体認証の工程は装置内で完了するため、生体情報がネットワークを通じて送受信されることもない。
生体認証の具体的な手法(指紋認証、静脈認証、虹彩認証など)は制約せず、装置メーカー側で規定することができる。コンピュータなどの端末への実装や接続の方式も様々で、機器本体にセンサーを内蔵する方式や、外付けの認証装置をUSBなどで機器に接続して利用する方式がある。
U2F (Universal 2nd Factor)
FIDO 1.0ではもう一つの認証方式として、セキュリティキー用いる二段階認証「U2F」(Universal 2nd Factor)を規定している。これは通常のパスワード認証に異なる方式の認証を追加する二要素認証(二段階認証)を行う仕様で、秘密鍵を記録したセキュリティキー(ドングル)を機器に接続し、UAFと同じ手順で公開鍵暗号を応用した署名と検証を行う。キーは指先ほどの大きさでUSB接続の製品が多いが、NFCやBluetooth(BLE)などの接続方式も選択できる。
FIDO2/WebAuthn
FIDO2ではUAFとU2Fが統合されて「Web Authentication」(WebAuthn)となり、これにクライアントと認証装置の通信手順を定めたCTAP(Client-to-Authenticator Protocol)を加えて規格を構成する。WebAuthnはWeb技術の標準化団体であるW3Cに提案され、2019年に標準として勧告された。現在では主要なWebブラウザへの実装が完了している。
セキュリティトークン 【ハードウェアトークン】
コンピュータシステムの利用者認証のために用いる小型の装置。暗号鍵など秘密の情報を保管したり、認証に用いる情報の生成や表示などのために使われる。
セキュリティトークンはシステムへの利用者登録時に発行され、利用者毎に異なる固有の情報を保管したり表示したりするよう設定される。トークンを所持し、その生成する情報を利用できることをもって本人であることを確認するための道具で、パスワード入力などの他の認証手段と併用されることが多い。
よく使われるのはワンタイムパスワードを生成する装置で、ログイン回数や現在時刻などを元に、その場限りで有効なパスワードや暗証番号を利用者に通知する。認証システム側でも同じ情報をもとにパスワードを生成しており、入力値と照合してトークン所持を確認する。公開鍵暗号の秘密鍵(私有鍵)を保管して暗号化やデジタル署名に用いる装置もある。
形態としてはキーホルダー型やカード型が多く、パソコンなどに接続して利用するタイプの製品にはUSBコネクタ型などもある。単体で使用する装置は内蔵の電池で駆動し、筐体前面に小型の液晶画面や数字を入力するキーパッドなどがついている。スマートフォンなどの機器の一部としてあらかじめセキュリティトークンの機能が内蔵されている場合もある。
通常、セキュリティトークンは装置として提供されるハードウェアトークンだが、コンピュータに導入・実行できるソフトウェアによってセキュリティトークンの機能を実現するものもあり、「ソフトウェアトークン」(software token)と呼ばれる。スマートフォンアプリなどの形で提供されているものがある。
有価証券のセキュリティトークン
ブロックチェーン技術を応用し、チェーン上に改竄できない形で永続的に記録された短いデータによって資産の所有や移転を示すものをセキュリティトークンと呼ぶことがある。証券をブロックチェーン化したもので、単一の情報管理主体を置かなくても電子的に資産の所有権や移転の証明を行うことができる。
シングルサインオン 【SSO】
一度の利用者認証で複数のコンピュータやソフトウェア、サービスなどを利用できるようにすること。また、認証システムなどが提供するそのような機能。
企業の情報システムなどで複数のコンピュータやソフトウェアが個別に認証情報を管理していると、手元のコンピュータのOSにログインするために認証を行い、業務システムにアクセスするために認証を行い、別のサーバに保存されたデータが必要になり認証を行い…というように何度も認証手続きが必要になり、利用者の負担が大きくなる。
このような状況は手間の増大や業務効率の低下だけでなく、パスワードの使いまわしやメモ書きなど、セキュリティ上好ましくない習慣を誘発することもある。負担軽減のために認証不要のシステムを増やしたり利用者に過大なアクセス権限を与えるなど、本末転倒な状況に陥ることもある。
シングルサインオンでは、複数のシステムから横断して利用できる認証基盤を用意し、利用者は一度の認証作業で連携するすべてのシステムにアクセスできるようにする。統合された「唯一の」IDには非常に強力なアクセス権が与えられることになるため、2段階認証やワンタイムパスワードなど、単純なパスワード認証よりも厳密な認証を求めるようにすることが多い。
ID統合を利用する方式
企業内の複数の情報システムなどでシングルサインオンを行う場合、単一のアカウント管理システムに認証機能を集約し、他のシステムはそのシステムに接続するという方式がよく用いられる。
Webアプリケーションの場合には、利用者がプロキシサーバを介して各システムに接続し、プロキシが認証サーバと連携して認証を行うリバースプロキシ型、各Webサーバ側に認証サーバと連携するモジュールを埋め込むエージェント型がよく用いられる。
Windowsシステムの場合には、Active Directoryにアカウント情報を集約し、Kerberos認証や統合Windows認証などを利用することも多い。
ID連携を利用する方式
ネットサービス間の連携など、統合されたアカウント管理システムなどを用意できない環境の場合には、ID連携を利用した方法がよく用いられる。
利用者のアカウント情報を持つシステムがIdP(IDプロバイダ)となり、認証機能の利用を希望する外部のシステム(SP:サービスプロバイダ)からの問い合わせを受け付ける。SPは利用者からログインの申請があるとIdPへ問い合わせを行う(利用者側のWebブラウザなどを経由して間接的に行う場合もある)。
利用者がそのIdPにアカウントを持っており、その場でログイン手続きをするか既にログイン済みであれば、IdPはSPに対しそれは確かに当該アカウントの所有者本人であると回答し、SPでのログインが完了する。
一連のやり取りの過程でIdPはSPにパスワードなど利用者の秘密の情報そのものは提供しないため、SP側の情報管理に問題があってもアカウント情報が漏洩することはなく、また、悪意のあるSPがIdPに干渉してアカウント情報を盗み取ったり改竄などをすることもできない。
具体的なID連携の技術規格としてSAMLやOpenID(OpenID Connect)などがある。ID連携を用いて「Googleアカウントでログイン」「Facebookアカウントでログイン」といったように大手ネットサービスのアカウントを流用できるようにしているネットサービスが多数存在する。
CAPTCHA 【Completely Automated Public Turing test to tell Computers and Humans Apart】
Webページに設置された入力フォームなどで、人間による操作・入力であることを確かめるために行われるテスト。歪んだ文字が記された画像を表示して内容を入力させる方式がよく知られる。
Webサイトやネットサービスなどに設置されたフォームは人間の利用者が入力することを想定して作られているが、何らかの理由によりソフトウェアによる自動操作で入力・送信しようとする者がいる。
例えば、無料メールサービスの会員登録を大量に申請して取得したアカウントを迷惑メール送信の踏み台に悪用したり、ブログや電子掲示板(BBS)を巡回して宣伝文句を大量に投稿するといった目的で自動入力が利用される。
このような自動操作を拒否して人間による入力のみを受け付けるようにするため、操作者が人間であることを証明させる仕組みがCAPTCHAである。フォームの一部が回答欄になっており、入力内容とともに回答を送り、正解すると人間の入力であるとして投稿が受理される。
最も一般的な画像の文字認識を利用した方式では、数文字のアルファベットや数字を含む画像を表示し、操作者に何が書かれているか答えさせる。ただし、文字列は一部が歪んだり欠けたり重なったりしており、また、無関係な図形やノイズが含まれているため、コンピュータによる文字認識(OCR)では記載内容が検知できないようになっている。
また、数個から十数個の小さな画像を提示し、問いに当てはまる画像を選択させるといった手法もよく用いられる。例えば、犬と猫の画像を並べ「この中から猫を選んでください」と表示してマウス操作やタッチ操作で画像を選択させる。視覚障害者への配慮として、音声を再生して何が聞こえたか答えさせる問題に切り替えることができるようになっている場合もある。
バイオメトリクス認証 【生体認証】
指紋など固有性の高い人間の身体的特徴をデータ化して本人確認に用いる認証方式。暗証番号のように本人の記憶を用いる方式に比べ、原理的に他人による「なりすまし」が難しいが、生体は状態が安定しないことがあり本人の認識に失敗する場合がある。
古来より指紋は本人固有の生体的特徴として利用されてきたが、コンピュータによる指紋認証ではセンサーで表面の模様を読み取って一定の手順で図形的な特徴を符号化し、記録された本人のものと照合する。
指紋以外にも、眼球の黒目部分の皺の模様を用いる虹彩認証や、手のひらや指先の静脈の形状を赤外線センサーなどで読み取る静脈認証、声の特徴を用いる音声認証(声紋認証/声認証)、顔の特徴を用いる顔認証などが実用化されている。ペン型の入力機器で署名させ、その形状や筆圧、速度の変化などを符号化して照合する電子サインも生体認証の一種と言える。
パスワードなど単純な文字列や数字の比較に比べ、センサーを備えた特殊な機器が必要だったり、画像処理などで大量の計算をしなければならないなど仕組みが大掛かりなため、出入国管理や金融機関など業務用の機器やシステムから普及が始まった。
2010年代には装置の小型化やコンピュータの性能向上などが進み、スマートフォンやノートパソコンなどの携帯情報端末での利用者認証などにも利用が広がっている。パスワードなどと組み合わせて二段階認証を構成し、より高いセキュリティを実現する用途にも用いられる。
静脈認証 【手のひら認証】
人体の固有の特徴を利用して本人確認を行う生体認証(バイオメトリクス認証)の一種で、手のひらや指先の静脈のパターンを利用する方式。専用のセンサーに手をかざして照合する。
手のひらや指先をセンサーにかざして赤外線などを照射し、透過した光を元に静脈の形状パターンを読み取り、あらかじめ登録された本人のものと照合して認証を行う。センサー面に手を触れない非接触方式も開発されており、衛生的に認証を行うことができる。
静脈のパターンは個人ごとの固有性が高く、一卵性双生児でも異なる形状となる。また、大きさ以外は成長や老化などに関わらず生涯ほとんど変化せず、身体内部の情報であるため不正に読み取ったり偽造するのは困難である。
指紋のようにケガや摩耗、薬品などの影響で薄れたり消えることもなく、触れたものに残った跡から複製するといったこともできない。顔や筆跡、声紋など他の生体的特徴に比べ環境や体調などの変化による条件の振れ幅も小さく、他人受入率も小さいことが知られている。
静脈パターン認証は高精度の生体認証方式として銀行の現金自動預け払い機(ATM)や入退室管理システムなどに採用され、暗証番号などと組み合わせて二段階認証を構成することもある。赤外線の照射のために専用の装置が必要なシステムがほとんどだったが、近年では可視光を用いる方式も開発されており、カメラを内蔵した一般的な携帯機器でも利用できるようになっている。
虹彩認証 【アイリス認証】
人体の固有の特徴を利用して本人確認を行う生体認証(バイオメトリクス認証)の一種で、眼球の黒目部分に現れる特徴的な模様を利用する方式。専用のカメラで撮影して照合する。
眼球には瞳孔の外側に虹彩(iris)と呼ばれる環状の部分があり、瞳孔を開いたり絞ったりする筋肉がある。胎児の頃に眼球が形成される過程で皺が寄り、2~3歳で成長が止まり以後は生涯に渡って変化しないことが知られている。皺の形状は遺伝とは無関係にランダムに決まるため一卵性双生児でも異なる模様になる。
虹彩認証ではカメラで目を撮影し、虹彩部分の像から画像処理や数学的な計算を行って固有のパターンを抽出し、あらかじめ登録してある本人のパターンを照合して本人確認を行う。撮影は少し離れた場所(実用上は数メートル程度)からでも可能なため、衛生的で心理的な負担が少ない。人によっては虹彩がまぶたなどで隠れないように目を大きく見開かなければならない場合もある。
指紋のように身体表面のパターンではないため摩耗などで変化・消失することもなく、触れたものに残った跡から複製することもできない。顔などに比べ成長や老化、体調や体型の変化などの影響もなく、意図的に変形や切除などすることもできないため、長期間安定的に利用できる。
現在実用化されている照合方式は様々な生体認証の中でも飛び抜けて認識精度が高いことが知られ、別人を本人と取り違える誤判定が起きた事例は未だに確認されていない。
ただし、画像に写った虹彩が本当に生体の一部であるかどうかの確認が難しく、他人の虹彩の画像を高解像度で印刷したものをセンサーに提示することで認証を突破できてしまうシステムがあることが知られている。このため、主に撮影状況に人が立ち会える用途で使用されており、無人化された自動入退室管理システムなどには向かない。
虹彩認証は出入国管理や住民登録、病院の患者識別システム、学校の出席管理システムなどに採用例がある。カメラがあれば特殊な機材は不要なため、スマートフォンのカメラと連動した利用者認証システムに用いられたこともある。
顔認証
人体の固有の特徴を利用して本人確認を行う生体認証(バイオメトリクス認証)の一種で、顔の特徴を利用する方式。カメラで撮影した顔の画像から一定の計算により特徴量のセットを抽出し、あらかじめ登録された本人のものと照合する。
よく知られている手法では、目の中心や唇の端といった特徴点の位置関係や距離の比、顎の形状などを元に特徴を表す短い符号に変換し、比較や照合を行う。初期にはカメラの正面に立ち静止した状態で撮影する必要があったが、近年ではある程度の動きや傾きなどがあっても補正できるようになっており、サングラスで目を覆ってもかなりの精度で認識できる製品も登場している。。
人の顔は髪型や化粧、表情、成長や老化、病気やケガ、体調や体型の変化などで大きく変わるが、なるべくこれらの影響を受けにくい特徴を用いるよう工夫されている。ただし、整形や特殊メイクのように人間にも分からないほど意図的に大きく改変した場合は同定できず、一卵性双生児の識別も難しい。
他の生体認証方式に比べ離れた場所から撮影した画像で認証でき、カメラと専用のソフトウェアがあれば特殊な機材は不要というメリットがある。航空機の搭乗手続きやコンサートのチケット転売防止などで採用例があり、ノートパソコンやスマートフォンなど情報機器の利用者認証に用いられたこともある。
網膜認証
人体の固有の特徴を利用して本人確認を行う生体認証(バイオメトリクス認証)の一種で、眼球の奥にある網膜の静脈パターンを利用する方式。専用のセンサーに目を近付けてパターンを読み取る。
眼球の最も奥には網膜という膜状の組織があり、外から差し込む光の刺激を電気信号に変換して脳に繋がる視神経に伝達する働きをしている。網膜には毛細血管が張り巡らされており、その形状のパターンは一人ひとり異なっており生涯変わることがない。
網膜認証はこの網膜の微細な静脈の形状をセンサーで読み取って登録済みのパターンと照合する認証方式で、眼球に外から微弱な近赤外線を照射して、その反射を読み取る。網膜は目の奥にあり、光学画像を使わないため偽装がしにくいという利点があるが、装置が大掛かり、センサーを目に近接させなければならない、白内障患者などは利用できないなどの難点もある。
同じ眼球の特徴を用いる生体認証方式に「虹彩認証」(iris authentication)がある。これは瞳孔の外側にある虹彩と呼ばれる環状の部分のパターンをカメラで読み取る方式で、撮影が容易で実装しやすい利点があるが、実装方式や運用方式によっては本人の眼球の写った高解像度の画像で偽装できてしまう場合もある。
音声認証 【声紋認証】
人体の固有の特徴を利用して本人確認を行う生体認証(バイオメトリクス認証)の一種で、声の特徴を利用する方式。マイクにある程度の長さの言葉を話しかけ、これを解析する。
人の声は様々な周波数の音波の組み合わせでできており、同じ言葉を発しても人によって周波数成分の強度の分布や時間による変化の仕方に固有の特徴が現れる。声を収録した音声データに一定の計算を行い個人ごとの特徴量を抽出したものを声紋(voiceprints)と呼び、これを照合することで本人確認を行うことができる。
マイクに向かってある程度の長さの言葉を話すことにより認証を行うため、電話越しやビデオ通話越しなど、通信回線を通して遠隔で認証することもできる。また、カメラやセンサーを用いる他の生体認証と異なり体の部位をスキャンする必要がないため、人によっては心理的な負担や圧迫感を軽減できる。認識精度はあまり高くないため、単独で保安上の用途に用いることはほとんどない。
よく用いられる認証システムでは、あらかじめ決められた短い言葉(1秒以下から数秒程度)を話して解析する方式と、どのような内容でもいいので比較的長い時間(十数秒程度)話して解析する方式があり、両者を選択できるようになっている製品も多い。後者の方式は、会話をしながらその音声を用いて並行して認証を行うといった他の方式では難しい認証方法が可能である。
本人拒否率 【FRR】
生体認証(バイオメトリクス認証)システムなどの精度を表す指標の一つで、本人が認証を試みているのに本人であると認識できず拒否してしまう割合。
生体認証では指紋など一人ひとり異なる身体的特徴をあらかじめ登録しておき、認証を試みた人物の特徴が本人のものに一致するか照合する。その際、本人が認証を試みているのに本人であると認識できず、他人であるとして拒否してしまう割合のことを本人拒否率という。
例えば、本人による認証を1000回繰り返し、999回が成功、1回が失敗となったら、本人拒否率は1000分の1で0.1%となる。この値は具体的な製品の実装によって異なるが、認証に用いる身体的特徴の種類によっても傾向が異なっている。
これに対し、他人のことを本人であると誤認して受け入れてしまう割合のことを「他人受入率」(FAR:False Acceptance Rate)という。本人拒否率も他人受入率も共に低いシステムが識別精度の高いシステムだが、ほとんどの方式で両者はトレードオフの関係にある。
一方を改善しようとするともう一方は劣化してしまいがちだが、認証システムの性質として誤って他人を受け入れてしまうほうが損害が大きいため、本人拒否率を多少犠牲にしても他人受入率を下げるよう調整されていることが多い。
他人受入率 【FAR】
生体認証(バイオメトリクス認証)システムなどの精度を表す指標の一つで、他人が認証を試みたときに本人であると誤認してしまう割合。
生体認証では指紋など一人ひとり異なる身体的特徴をあらかじめ登録しておき、認証を試みた人物の特徴が本人のものに一致するか照合する。その際、他人が本人になりすまして認証を試みているのに、他人であると認識できず本人として通してしまう割合のことを他人受入率という。
例えば、他人による認証の試みを1000回繰り返し、誤って通過してしまう事象が1回発生すれば、他人受入率は1000分の1で0.1%となる。この値は具体的な製品の実装によって異なるが、認証に用いる身体的特徴の種類によっても傾向が異なっている。
これに対し、本人が認証しているのに本人であると認識できず拒否してしまう割合のことを「本人拒否率」(FRR:False Rejection Rate)という。他人受入率も本人拒否率も共に低いシステムが識別精度の高いシステムだが、ほとんどの方式で両者はトレードオフの関係にある。
一方を改善しようとするともう一方は劣化してしまいがちだが、認証システムの性質として誤って他人を受け入れてしまうほうが損害が大きいため、本人拒否率を多少犠牲にしても他人受入率を下げるよう調整されていることが多い。
PKI 【Public Key Infrastructure】
公開鍵暗号やデジタル署名をインターネットによる通信のみで安全に運用するために築かれた社会的基盤。公開鍵暗号を利用するソフトウェアに組み込まれたルート証明書を起点とする認証局間の信頼の連鎖により、公開鍵を安全に配送する。
公開鍵暗号やデジタル署名を利用するには通信の相手方の公開鍵を安全に入手する必要があるが、インターネットなど信用できない経路を利用すると途中で悪意の第三者にすり替えられる危険がある。このため、送信者と受信者の双方が信頼する第三者のデジタル署名を添付した「デジタル証明書」(公開鍵証明書)の形で配達し、受信側が鍵の真正性を確かめられるようにするという方法が考案された。
デジタル証明書を署名して発行する第三者を認証局(CA:Certificate Authority)というが、受信者が証明書を検証するには送信者が利用した認証局の公開鍵をあらかじめ安全に入手しておかなければならない。特定の相手としか通信しないなら、ある認証局から一度だけ鍵を取り寄せれば済むが、インターネットで様々な相手と暗号通信を利用するには世の中のすべての認証局の公開鍵を揃えなければならず、これは現実的ではない。
そこで、公開鍵暗号を利用するソフトウェア開発者などが信用するに足りると判断した認証局が自らの秘密鍵で署名したデジタル証明書をあらかじめ組み込んでおき、他の認証局は上位の認証局が署名した証明書によって公開鍵を提供するという仕組みが生まれた。その際、信用の起点となる最上位の認証局を「ルート認証局」(Root CA)と呼び、その発行する自らの証明書を「ルート証明書」という。
Webブラウザなど公開鍵暗号を利用するソフトウェアには、国際的な大手商用認証局や各国の政府機関が運用する認証局などのルート証明書が組み込まれており、一般に利用される世界のほとんどの認証局をカバーすることができるようになっている。カバーされない認証局を利用する場合には、利用者が自ら安全な方法で証明書を取り寄せてルート証明書として登録することもできる。
このようなルート認証局を頂点とする木構造の信用の連鎖によって、インターネットのみで安全に公開鍵技術を利用できるように構築された社会的基盤のことをPKIという。
デジタル証明書 【電子証明書】
暗号化やデジタル署名に用いる公開鍵暗号の公開鍵を配送する際に、受信者が鍵の所有者を確認するために添付される一連のデータセットのこと。一般的には認証局(CA:Certificate Authority)と呼ばれる機関が発行する。
公開鍵暗号では一対の暗号鍵の組を用い、一方は自分しか知らない秘密鍵として、もう一方は通信の相手方に渡して使ってもらう公開鍵として用いる。相手と安全な受け渡し手段がある場合は事前に公開鍵を渡しておくことができるが、そうでない場合はインターネットなど信用できない経路を含む通信手段で鍵を配送しなければならない。
そこで、公開鍵が通信途上で攻撃者による改竄・すり替えに遭っておらず、確かに送信者本人のものであると受信者が確認できるようにするために、公開鍵データに送信者と受信者の双方が信用する第三者(認証局)のデジタル署名を添付するという手法が考案された。
送信者は認証局に自らの識別(身元)情報や公開鍵を申請し、認証局の秘密鍵でデジタル署名されたデジタル証明書を作成してもらい、これを受信者に渡す。受信者は証明書から公開鍵を取り出し署名を検証することで、認証局がその公開鍵が送信者本人のものであると主張していることを確かめることができる。
現在広く普及しているデジタル証明書の規格はITU-Tの定めたX.509で、公開鍵自体の他に、証明書発行者(認証局など)の識別情報、証明書の識別情報(シリアル番号など)、証明書の有効期間(開始日・終了日)、鍵の所有者の識別情報、公開鍵の暗号アルゴリズムの種類、発行者によるデジタル署名などの情報が記載される。
認証局の鍵配送問題とルート認証局
証明書のデジタル署名を検証するには認証局の公開鍵が必要となるため、受信者は送信者が利用する認証局の公開鍵を安全に入手しなければならない。しかし、世の中のすべての認証局の公開鍵をあらかじめ揃えておくことは現実的ではなく、また、インターネットなどで公開鍵をそのまま配送するのは送信者の鍵を送る場合と同じ危険がある。
この問題を回避するため、Webブラウザなど公開鍵暗号を利用するソフトウェアには世界的に有力な少数の認証局の公開鍵が安全な方法であらかじめ組み込まれており、そのような認証局をルート認証局(ルートCA)という。
各認証局は自らの公開鍵を上位の認証局に署名してもらって公開し、上位認証局はさらに上位の認証局に署名してもらって鍵を公開し…というプロセスを繰り返し、最終的にルート認証局の署名が得られれば、利用者は安全に各認証局の公開鍵を入手することができる。ルート認証局は利用者側でも追加できるようになっているため、必ずしも著名な機関を頂点とする証明書しか使用できないわけではない。
ルート証明書
デジタル証明書を発行する認証局が自らの正当性を証明するために自ら署名して発行した自己署名証明書のうち、公開鍵暗号を利用するソフトウェアに直に組み込まれたもの。そのソフトウェアの開発者や利用者が信用する認証局の証明書であり、デジタル署名を検証する際の信用の起点として用いられる。
通信に公開鍵暗号を利用するには暗号文の送信者の公開鍵を受信者が安全に入手する必要があり、送信者が公開鍵に第三者のデジタル署名を付したデジタル証明書を受信者に渡すという方法がよく用いられる。デジタル証明書を発行する第三者を認証局(CA:Certificate Authority)というが、その署名が信用できるか確かめるには認証局の公開鍵を安全に入手して検証しなければならない。
そのためには上位の認証局が署名して発行した認証局自身のデジタル証明書を入手すればよいが、その署名が信用できるか確かめるにはさらに上位の認証局の発行した証明書を入手して…という具合に、限りなく上位の認証局をたどっていかなければならなくなってしまう。
このため、Webブラウザなど公開鍵暗号を利用するソフトウェアの開発者は、世界的に有力な大手の商用認証局や政府機関の認証局など、信頼するに足ると思う機関が自ら発行する証明書を事前に入手して組み込んでおき、証明書を上位にたどっていった結果その機関の証明書に行き当たったら正しく検証されたと判断するようにしている。
この信用の連鎖により安全に公開鍵暗号を運用する社会的な基盤のことをPKI(Public Key Infrastructure/公開鍵基盤)と呼び、その最上位に位置する機関をルート認証局(ルートCA)、その発行する自らのデジタル証明書をルート証明書という。
通常はソフトウェアの開発時にあらかじめ組み込まれたものを指すが、利用者が安全に入手した証明書をソフトウェアに登録してルート証明書とすることもできるようになっている場合もある。特定の国や企業の内部で通用するルート証明書などは利用者側で導入して有効にする場合がある。
中間証明書 【中間CA証明書】
デジタル証明書を発行する認証局(CA:Certificate Authority)自体のデジタル証明書。認証局の公開鍵が真正であることを示すためにルート認証局から発行される。
インターネットなどで公開鍵暗号を利用するには相手方の公開鍵を入手する必要があるが、相手が送ってきた公開鍵が伝送中に攻撃者によるすり替えや改竄に遭っていないか確かめる必要がある。そこで、信頼できる第三者によるデジタル署名を付与したデジタル証明書として送信し、受信側で署名を検証することがで真正性を確認する仕組みが用いられる。
信頼できる第三者としてデジタル証明書を発行する機関を「認証局」(CA:Certificate Authority)というが、署名の検証には認証局の公開鍵が必要なため、これを安全に入手する必要がある。世の中のすべての認証局の公開鍵を安全に揃えるのは困難なため、別の認証局が発行した中間証明書の形で公開鍵を入手する。
Webブラウザなどのデジタル証明書を利用するソフトウェアには、著名な認証局の証明書が登録済みとなっており、入手した中間証明書が組み込み済みの証明書で検証できれば、真正な認証局の公開鍵であるとみなすことができる。このような信用の起点となる認証局を「ルート認証局」(ルートCA)、そのデジタル証明書を「ルート証明書」という。
WebサーバでSSL/TLS通信を利用する場合には、認証局からSSLサーバ証明書の発行を受け、Webブラウザなどのクライアントに送信することが多いが、その際には認証局の中間証明書を同梱する。クライアント側では自身に内蔵されたルート認証局の証明書によって中間証明書を検証し、中間証明書によってサーバ証明書を検証するという2段階の検証を行う。
SSLサーバ証明書 【SSL server certificate】
Webサイトの身元の証明やSSL/TLSによる暗号通信の暗号鍵の配送に用いられるデジタル証明書。公開鍵暗号の公開鍵が確かにサイト運営者本人のものであることを証明する。
Web通信の暗号化に用いられるSSLや後継のTLSでは、接続手順の一部に公開鍵暗号を用いる。公開鍵暗号は公開鍵と秘密鍵という対になる2つの暗号鍵を利用する方式で、サーバの公開鍵をWebブラウザなどのクライアントに渡す必要がある。
インターネットのような信用できない経路で単に公開鍵をそのまま送ると改竄やすり替え、偽物のなりすましなどの危険があるため、サーバは事前に「認証局」(CA:Certificate Authority)という第三者にデジタル証明書の作成を申請し、クライアントにはこの証明書を送信する。
証明書を受け取ったクライアントは認証局に問い合わせることで、サーバが事前に申請した公開鍵であることを確かめることができる。証明書にはサーバの公開鍵以外にも、CAによるデジタル署名、サーバの身元に関する情報(ドメイン名や組織名など)が記載されている。
DV/OV/EV証明書の違い
サーバ証明書はCAが申請者の情報をどこまで確認したかによっていくつかの種類に分かれる。最も簡易な「DV証明書」(Domain-Validated certificate)は証明書の発行時にサーバのドメイン名を確認するもので、クライアントは「確かにそのドメイン名に対して発行された証明書である」ことを検証できる。
「OV証明書」(Organization-Validated certificate)は発行時に法人登記などで申請者の実在性を確かめ、公開された連絡先などから申請確認を行って「なりすまし」でないことを確かめる。ドメイン名の所有権が申請者にあることも確認する。クライアントは実在の特定の法人や人物に発行されたものであることを検証できる。
最も厳しい「EV証明書」(Extended Validation certificate)はOV証明書の手続きをより厳格にしたもので、実在性の確認だけでなく事業の運営実態の確認や、担当者や責任者の明確化と申請手続きの執行を裏付ける書面の提出などを行う。確認プロセスは規格化されており、CA側も適切に審査を行っているか業界団体から監査を受ける。接続先がEV証明書を利用していることはブラウザ上の表示で見分けられるようになっている。
クライアント証明書
サーバやネットワークにアクセスするコンピュータやその利用者の認証を行うためのデジタル証明書。サーバなどに接続を試みたクライアントが登録済みのものと同一かどうか確かめる。
クライアント証明書はサーバ側の証明書と同じように認証局(CA:Certificate Authority)が発行し、取得者が操作するコンピュータのソフトウェア(Webブラウザや電子メールソフトなど)に登録される。
サーバにアクセスする際に証明書を提示することにより、パスワードなどを入力しなくても利用者の認証を行って本人であることを確かめたり、所属組織を確認することができる。デジタル署名やメッセージの暗号化に使用するソフトウェアもある。
単にクライアント証明書といった場合は利用者の個人に紐付いたユーザー証明書を指すことが多いが、これとは別に、コンピュータの個体識別と認証のために発行されるコンピュータ証明書を用いるシステム(IEEE 802.1XのEAP-TLS認証など)もある。
CRL 【Certificate Revocation List】
何らかの理由で有効期限前に失効させられたデジタル証明書(公開鍵証明書)のリスト。証明書の発行元の認証局(CA)が管理・公開しており、定期的に更新される。
誤発行や秘密鍵の漏洩などが判明し、悪用の可能性があると判断された証明書は有効期間が残っていてもCAの判断で効力が停止される。無効になった証明書を周知するための手段として、CAはCRLに証明書のシリアル番号を記載して公開し、使用しないよう呼びかける。
効力の停止は厳密には二種類あり、恒久的に無効化される失効(revoke)と、調査のため一時的に無効化される停止(hold)に分かれる。停止された証明書は秘密鍵の状態などを調べ、安全だと判断されればCRLから削除され効力が復活する場合もある。
提示された証明書が有効かどうかを利用者側でチェックするには、CAから最新のCRLをダウンロードして証明書のシリアル番号が含まれていないか照合する方法が最も単純だが、CRLの容量が大きい場合は通信帯域にかかる負担が大きく、最新の情報を入手するためチェックする度に毎回ダウンロードし直さなければならないという問題がある。
このため、検証局(VA:Validation Authority)と呼ばれる機関でCRLを集中的に管理し、利用者側からはOCSP(Online Certificate Status Protocol)などのプロトコル(通信規約)でVAに問い合わせを行う方式がよく用いられる。CRL全体を入手しなくても特定の証明書の状態だけをリアルタイムに知ることできる。
OCSP 【Online Certificate Status Protocol】
TCP/IPネットワークを通じてデジタル証明書(公開鍵証明書)の有効性を問い合わせる手順を定めたプロトコル(通信規約)。暗号化やデジタル署名に用いるX.509証明書が何らかの理由により有効期限前に失効している場合、そのことを速やかに知ることができる。
有効性が不明な証明書を通信の相手方から受け取ったクライアントは、証明書を発行した認証局(CA:Certificate Authority)などがネットワーク上に設置しているOCSPに対応したサーバ(OCSPレスポンダという)へ証明書のシリアル番号などを記載した問い合わせのメッセージを送る。
OCSPレスポンダは認証局の証明書失効リスト(CRL:Certificate Revocation List)を参照して当該証明書の状態を確認し、有効、失効、不明のいずれかの応答を返す。応答が改竄されることを防ぐためデジタル署名が添付される。OCSPレスポンダは認証局に設置される場合と、認証局からCRLを受け取りOCSP応答に専念する検証局(VA:Validation Authority)により提供される場合がある。
OCSPを使わない場合、利用者は証明書を確認する度に認証局からCRLをダウンロードして照合しなければならず、データ容量などの点で非効率であり、即時性にも欠ける。OCSPの仕様はIETFにより1999年にRFC 2560として標準化され、2013年にRFC 6960として改訂された。
認証局 【CA】
電子商取引事業者などに、暗号通信などで必要となるデジタル証明書を発行する機関。信頼の起点となる「ルート認証局」(root CA)と、証明書の発行を担う「中間認証局」(intermediate CA)がある。
ルート認証局は上位の認証局による認証を受けず、自分の正当性を自ら証明する。他の認証局に対してデジタル証明書を発行し、認証局に対する信頼の拠り所となる。ルート証明書の信頼性は、厳しい監査を受けることや、認証業務運用規程(CPS)を公開すること、運用実績や知名度など、デジタル証明書以外の方法で示される。
ルート認証局以外の認証局が中間認証局で、上位の認証局からデジタル証明書を発行してもらうことで、自らの正当性を証明する。中間認証局の多くは一般にデジタル証明書を販売する事業者で、Webサーバに導入するSSLサーバ証明書などはここから購入する。
通常、Webブラウザなどデジタル証明書を利用するソフトウェアには、ソフトウェアの発行元や利用者が信頼できるルート認証局の証明書が同梱されている。Webサイトなどに接続した時に、相手の提示した証明書が信用できるかどうかは、発行元の認証局を調べ、さらにその認証局を認証している上位局を調べ…といった具合に辿っていき、最終的に自分の手元にあるルート証明書に一致するルート認証局にたどり着けば、信用できると確認できる。
なお、商用認証局から証明書の交付を受けるには費用がかかるため、Webサイトなどの中には、自らがルート認証局となって証明書を発行し、暗号化通信などを利用するサイトもある。そのようなサイトの場合、あらかじめ同梱されたルート認証局の認証は受けていないことになるため、Webブラウザなどがその旨警告するようになっている。
登録局 (RA:Registration Authority)
デジタル証明書の発行申請を受け付け、本人確認を行い、認証局(CA:Certificate Authority)に発行を申請する機関を登録局(RA:Registration Authority)という。主に大規模なPKI(公開鍵認証基盤)で設置されるもので、自らは証明書を発行する機能・権限はなく、末端の利用者に対して発行や失効の手続きを受け付ける窓口となる機関である。
登録局から申請に応じて証明書を発行するのはCAの役割だが、登録局からの要請に基いて(自らは本人確認など登録局が行う業務は行わず)証明書の発行のみを行うCAのことを発行局(IA:Issuing Authority)ということがある。
検証局 (VA:Validation Authority)
デジタル証明書の失効リスト(CRL)を集中管理して、証明書の有効性をチェックする機関を検証局(VA:Validation Authority)という。認証局(CA)と違い、デジタル証明書の発行は行わず、検証機能に特化しているためこのように呼ばれる。クライアントからの問い合わせに応じて、CAの公開鍵で署名の正当性を検証したり、証明書の有効期限を確認したりする。
GPKI 【Government Public Key Infrastructure】
日本政府が運用する、公開鍵暗号による電子署名を利用するための認証基盤。国民や国内の団体などと政府機関の間でインターネットを通じて申請や届出、通知などを行う際に用いられるデジタル証明書の発行や真正性の確認などを行う。
各省庁は申請・届出・通知などの電子化を推進しているが、インターネットを通じてこれらを行うには文書の改竄やなりすましを防止する仕組みが必要となる。そのために公開鍵暗号技術に基づくデジタル署名が用いられるが、署名に用いられた暗号鍵が正しいものかどうかを確認するためにデジタル証明書が必要となる。
GPKIでは政府が運営する認証局が証明書の発行や失効、有効性や真正性の問い合わせなどに応じ、通信の安全性を担保する。2001年の開始当初は省庁毎に設置された府省認証局とそれらを繋ぐ総務省のブリッジ認証局という構成だったが、2008年に制度改正があり政府共用認証局に統合された。民間認証局や地方自治体の認証局(LGPKI)ともブリッジ認証局を介して相互認証している。
GPKIを利用するにはソフトウェアにGPKIのルート証明書が組み込まれている必要があるが、Webブラウザの場合には著名なソフトウェアがすべて外国製なこともあり、国際的に有力な民間認証局のルート証明書は組み込まれている一方、GPKIの証明書には標準では対応していないことが多い。このため利用者側で何らかの手段でルート証明書を入手して自分で組み込まなければならない状態が続いており問題となっている。
情報セキュリティ
情報を詐取や改竄などから保護しつつ、必要に応じて利用可能な状態を維持すること。また、そのために講じる措置や対策などの総体。
一般には、情報の「機密性」(confidentiality)、「完全性」(integrity)、「可用性」(availability)の三つの性質を維持することと理解される。これらの頭文字を組み合わせて「情報セキュリティのC.I.A.」と呼ぶ。国際標準のISO/IEC 27000シリーズなどでも、この三要素を情報セキュリティの構成要件としている。
情報の機密性とは正当な権限を持った者だけが情報に触れることができる状態を、完全性とは情報の破損や欠落がなく正確さを保っている状態を、可用性とは正当な権限のある者が必要なときに情報に触れることができる状態を、それぞれ表す。
また、これに加えて「真正性」(authenticity)や「責任追跡性」(accountability)、「信頼性」(reliability)、「否認防止」(non-repudiation)などの要素を情報セキュリティの要件の一部とする場合もある。
情報セキュリティが脅かされると、外部の攻撃者や内部犯による機密情報や個人情報などの漏洩や改竄、消去などの被害が生じる。企業などの組織が取り扱う情報の安全を確保するには、これらの要素に留意しながら、適切なコンピュータシステムによる保管や管理、認証やアクセス制御、暗号化などの実施、適切な利用手順の整備や利用者に対する啓発などが必要となる。
情報セキュリティポリシー
企業などの組織が取り扱う情報やコンピュータシステムを安全に保つための基本方針や対策基準などを定めたもの。広義には、具体的な規約や実施手順、管理規定などを含む場合がある。
情報部門などの提案や助言などを得ながら経営層が策定し、全社に周知すべきものとされる。基本方針など一部は、その組織の情報管理についての考え方や取り組み方を表明する文書として外部や一般にも公開される。
基本方針には、ポリシーの適用範囲、対象となる情報資産、実施体制、各員・部門の役割や責務、実施・策定すべき施策や規約、遵守する法令や指針などが記述される。これに基づき、組織内に存在する人員や部門、情報などに合わせて具体的に何をどのような脅威から守るのか、誰が何をすべき・すべきでないか、誰に何を許可する・許可しないか、といった方針をセキュリティ対策基準として策定する。
基本方針のみ、あるいは対策基準までをポリシーの範囲とする場合が多く、これらに基づいて実施手順や運用規約、社内規定など個別具体的なルールが定められる。内部の人員にはこれら具体的な規約が手順書やマニュアルなどの形で周知・徹底される。
情報セキュリティポリシーは技術的な対策や専門家、専任スタッフだけでは適切な情報資産の管理に限界があることを踏まえ、全社の人や組織がどのように情報やシステムを安全に運用していくか観点で策定される。このため、作成しただけで具体的な行動に反映されなければ意味がなく、また、施行後も運用状況や外部環境の変化などに合わせて繰り返し見直しや改善を行うことが重要とされる。
情報資産
企業などの組織が保有する資産としての情報。情報が記録された書類や電子メディアなどの記憶媒体を含む。
企業や官公庁などの組織が収集、記録、蓄積している情報を、金銭や設備などと同じように組織が保有する一種の資産として捉えた用語である。典型的には組織に属する財産や従業員についての情報、製品やサービスについての情報、顧客や関係先、取引についての情報などが含まれる。
情報がどのような形態で保管されているかは問わず、書類など紙媒体に記録されたもの、コンピュータの内蔵ストレージ装置や光学ディスク、USBメモリ、磁気テープなどの記録媒体にデジタルデータとして記録されたもの、クラウドサービスなどを利用して外部の事業者の設備に保管されたものなどが含まれる。
情報資産の中には、個人情報や認証情報などのように第三者の手に渡ると被害や損害に繋がるものがあるため、重要性に応じて適切に保護し、権限のない者が触れることができないようにする仕組み作りが必要となる。情報の安全を確保することを「情報セキュリティ」と呼び、機密性、完全性、可用性の三つの要素から成る。
サービス
役務、業務、奉仕、貢献などの意味を持つ英単語。人や組織の間でやり取りされる財のうち物理的実体を伴わないもの。外来語としては無料で供される役務や物品という意味もある。
ITの分野では、人や組織が提供する役務といった一般の外来語としての意味に追加して、コンピュータなどの機器やソフトウェアが、利用者や他の機器、ソフトウェアなどに対して提供する機能や働きのことをサービスということがある。
Windowsのサービス
Windowsでは、利用者や実行中のソフトウェアの求めに応じて即座に何らかの機能を提供できるよう、起動された状態でシステムに常駐するプログラムのことをサービスという。
システムやデータの管理や監視のための機能や、多くのソフトウェアが共通して必要とする汎用的な機能などを実装したもので、通常は操作画面などを持たず、利用者が直接操作することはほとんどない。
Windowsがオペレーティングシステム(OS)の機能の一部として標準的に提供するもののほかに、個々のアプリケーションソフトが提供するものがある。起動時に自動的に実行されるよう設定されており、コントロールパネルの「サービス」アプリから実行、停止、再起動を行うことができる。起動時の自動実行の有無も切り替えることができる。
リスクマネジメント 【リスク管理】
企業などの事業活動に伴って想定される有害な事象への備えや対処を、業務として組織的に取り組むこと。様々なリスクへの対処方針の策定、実際に生じたリスクへの対処を継続的に行う。
リスク(risk)とは将来起こりうる悪い出来事、および、その確率や損害の程度のことを指す。特に、全く偶発的に外部からもたらされる災禍ではなく、組織や個人の何らかの行動や意思決定、あるいはその欠如によって起こり得るものを指すことが多い。
リスクマネジメントとは、将来のリスクを考えうる限り想定し、それぞれについて事前に対処方針を定め、実際にリスクが顕在化した際に方針に則って対処するという一連の行動を、組織内の仕組みとして明確なプロセスの元に実施することを意味する。
一般的な流れとしては、まずリスク特定、リスク分析、リスク評価からなる「リスクアセスメント」(risk assessment)を実施してリスクの洗い出しと対処方針の策定を行う。その後、事業を遂行する中で実際に遭遇した事象に対してリスク対応を行う。一定の期間が経過したら、記録を元に振り返り(レビュー)を行い、対処方針の改善などを行う。これを一つのサイクルとして、事業年度ごとなどの単位で繰り返し実施する。
セキュリティインシデント 【情報セキュリティインシデント】
コンピュータの利用や情報管理、情報システム運用に関して保安(セキュリティ)上の脅威となる事象のこと。システムの機能不全や乗っ取り、データ漏洩、改竄などが含まれる。
情報セキュリティを脅かす事件や事故、およびセキュリティ上好ましくない事象・事態のことで、コンピュータウイルスなどのマルウェア感染、不正アクセス、アカウント乗っ取り(なりすまし)、Webサイトの改竄、機密情報の漏洩、迷惑メール送信、サービス拒否攻撃(DoS攻撃)、情報機器や記憶媒体の紛失や盗難などが含まれる。
システムの機能停止などの事象は悪意による意図的な行為だけでなく偶発的な故障や事故、不手際などでも引き起こされるため、原因を調べたら結果的にセキュリティ(保安)上の問題ではなかったことが明らかになる場合もある。
情報セキュリティ事象が発生した際に、発見者や被害者からの報告を受け、事態の情報収集や公表、関係者への通知や対処依頼、有害事象の抑止や被害拡大の防止、再発防止策の策定などを行う一連の活動のことを「情報セキュリティ事象レスポンス」(情報セキュリティ事象対応)あるいは略して「インシデントレスポンス」(インシデント対応)という。
企業や官公庁などの組織内でインシデントレスポンスを担当し、利用部門や外部との窓口となる部署を「CSIRT」(Computer Security Incident Response Team)あるいは「CIRT」(Computer Incident Response Team)「SIRT」(Security Incident Response Team)などという。
セキュリティインシデント 【情報セキュリティインシデント】
コンピュータの利用や情報管理、情報システム運用に関して保安(セキュリティ)上の脅威となる事象のこと。システムの機能不全や乗っ取り、データ漏洩、改竄などが含まれる。
情報セキュリティを脅かす事件や事故、およびセキュリティ上好ましくない事象・事態のことで、コンピュータウイルスなどのマルウェア感染、不正アクセス、アカウント乗っ取り(なりすまし)、Webサイトの改竄、機密情報の漏洩、迷惑メール送信、サービス拒否攻撃(DoS攻撃)、情報機器や記憶媒体の紛失や盗難などが含まれる。
システムの機能停止などの事象は悪意による意図的な行為だけでなく偶発的な故障や事故、不手際などでも引き起こされるため、原因を調べたら結果的にセキュリティ(保安)上の問題ではなかったことが明らかになる場合もある。
情報セキュリティインシデントが発生した際に、発見者や被害者からの報告を受け、事態の情報収集や公表、関係者への通知や対処依頼、有害事象の抑止や被害拡大の防止、再発防止策の策定などを行う一連の活動のことを「情報セキュリティインシデントレスポンス」(情報セキュリティインシデント対応)あるいは略して「インシデントレスポンス」(インシデント対応)という。
企業や官公庁などの組織内でインシデントレスポンスを担当し、利用部門や外部との窓口となる部署を「CSIRT」(Computer Security Incident Response Team)あるいは「CIRT」(Computer Incident Response Team)「SIRT」(Security Incident Response Team)などという。
Need-to-knowの原則
企業などの組織における情報管理の基本原則の一つで、その情報を必要とする人にのみ情報に接する権限を与えるというもの。機密漏洩などを防ぐために適用される。
保管する情報を重要度や機密度に応じて分類し、業務上の必要性に基づいて検索、閲覧、複製、印刷、編集、削除などの許諾を与える。必要のない人には情報を知らせず、取得を試みても手に入らないよう何らかの制限を設ける。
職位や所属などを元に機械的に権限を与えることは極力避け、なるべく個別に判断することが原則だが、管理コストとの兼ね合いもあるため、機密資料や個人情報など最重要の情報の種類を決めておき、重点的に保護する運用とすることが多い。
情報システムで管理するデータについては、システムの利用者アカウントやグループに対するアクセス権のコントロールによって管理することが多いが、操作できる端末の限定、アクセス可能な時間帯や曜日の制限などを行ったり、IRMなど専用のシステムを用いることもある。
最小権限の原則 【最小特権の原則】
情報システム上のアクセス権限の運用についての原則の一つで、本来の目的に必要な最低限の権限しか与えないようにすること。障害や不正による被害を最小限に抑えることができる。
システムの利用者や実行されるプログラム、接続された装置などについて、オペレーティングシステム(OS)のセキュリティ機能などを用いて、対象が本来の目的を遂行するのに必要となる最小限の権限のみを与え、他の挙動を禁じる運用方針を指す。
例えば、データの保存や書き換えが不要なプログラムには、ファイルやディレクトリの読み取り以外の権限を与えないようにしたり、システム管理者以外の一般利用者のアカウントからはシステム設定の変更やソフトウェアのインストールといったシステムの挙動を変更するため権限を剥奪しておくといった対応を行う。
これにより、誤操作やソフトウェアの欠陥などによりシステムの動作に異常をきたしたり、不正アクセスやマルウェア感染といった外部からの攻撃に晒されたり、記録の改竄や機密情報の持ち出しといった不正行為が企図された際に、あらかじめ設定された権限で操作可能な範囲に被害を抑え込み、システム内の重要な区画やデータを保護することができる。
リスクアセスメント 【RA】
企業などで組織的に取り組む、将来のリスクに備えるための準備活動。一般的にはリスク特定、リスク分析、リスク評価の各工程からなる一連のプロセスとされる。
事業の遂行などに伴って将来起こりうる悪い出来事やその確率、損害の程度を「リスク」(risk)という。企業などの組織体、あるいはプロジェクトチームなどの集団が、将来のリスクを予見して備えるために行う活動がリスクアセスメントである。
リスクアセスメントでは、まずどのようなリスクが想定されるか洗い出し(リスク特定)、それぞれについてその性質や発生確率、損害の大きさなどを特定・推定し(リスク分析)、一定の基準に基いて各リスクへの対応・行動の必要性の有無や優先順位を判断・決定する(リスク評価)。
リスクアセスメントはリスクが顕在化する前にこれに備えるために行われる行動・活動の総体であり、事業やプロジェクトなどの実施前、計画段階で実施される。企業の通常業務など定常的な活動についてのリスクアセスメントは一定期間ごとに実施されることが多い。
リスクアセスメントを含む、リスクに対する組織的な取り組みの総体を「リスクマネジメント」(risk management)という。最初にリスクアセスメントを行い、事業を遂行する中で実際に遭遇した事象に対してリスク対応を行う。年度末など一定期間ごとに振り返り(レビュー)を行い、対処方針の改善などを行う。これを一つのサイクルとして、事業年度ごとなどの単位で繰り返し実施する。
リスク対応
事業に見込まれる様々なリスクについて、その対応策を決定して実施すること。リスクマネジメントの一環としてリスクアセスメントの後に行われる。
リスク(risk)とは将来起こりうる悪い出来事、および、その確率や損害の程度のことを指す。特に、全く偶発的に外部からもたらされる災禍ではなく、組織や個人の何らかの行動や意思決定、あるいはその欠如によって起こり得るものを指すことが多い。
リスク対応では、リスクアセスメントによって特定、分析、評価したリスクについて、それぞれのリスクの性質に基づいてどのように対処するかを決定する。施策の実施が必要なものについては導入計画の策定や実施なども行う。
対応策はいくつかの類型に分類することができる。主な類型として、リスク要因を除去する「リスク回避」、リスクの発生率や影響度を下げる「リスク低減」(リスク軽減)、リスクを外部と共有する「リスク共有」(リスク分散)、リスクを外部へ移す「リスク転嫁」(リスク移転)、リスクを甘んじて受容する「リスク保有」(リスク許容/リスク受容)がある。
機密性
情報セキュリティの基本的な概念の一つで、正当な権限を持った者だけが情報に触れることができる状態。また、そのような状態を確保・維持すること。
正規に許可を得た人だけが、認められた範囲内で情報に触れることができ、故意や誤りによる情報の漏洩や改竄、削除などを引き起こすことができない状態を表す。
機密性を確保するには、利用者の識別や認証、所属や権限に応じた情報や機能へのアクセス制御、情報の閲覧や複製、移動に関する履歴の記録や監査などが適切に行われる必要がある。
「完全性」(Integrity)「可用性」(Availability)と合わせて、情報セキュリティの三要素、または、それぞれの英単語の頭文字を取って「C.I.A.」と呼ばれることがある。
インテグリティ 【完全性】
誠実、正直、完全(性)、全体性、整合性、統合性、などの意味を持つ英単語。ITの分野では、システムやデータの整合性、無矛盾性、一貫性などの意味で用いられることが多い。
データインテグリティ (data integrity/データ完全性)
データの処理・読み込み・書き込み・保管・転送などに際して、目的のデータが常に揃っていて、内容に誤りや欠けが無いこと(および、それが保証されていること)をデータの完全性という。日本語で「完全性」の訳語が当てられることもある。
データベースにおける正規化や制約の設定などが不十分でデータ間の関係に矛盾が生じたり、装置の障害やソフトウェアのバグによって内容の欠損や変質が起きたり、外部の攻撃者によって改竄されたりすると、完全性が損なわれることになる。
可用性 【アベイラビリティ】
システムなどが使用できる状態を維持し続ける能力。利用者などから見て、必要なときに使用可能な状態が継続されている度合いを表したもの。
可用性の高さは、使用可能であるべき時間のうち実際に使用可能であった時間の割合(稼働率)で示されることが多い。例えば、24時間365日の稼働が求められるシステムの稼働率が99.9999%であるとすると、年間平均で約31.5秒間使用不能な時間が生じることを意味する。
重要な業務システムなどに用いるため、装置の二重化や複数のコンピュータによるクラスタリングなどの措置を講じ、装置の故障やメンテナンスがあってもシステムが提供する機能やサービスが停止・中断しない状態を「高可用性」(HA:High Availability)という。
似た概念に「信頼性」(reliablity)があるが、これは機器などの故障、破損、障害の起きにくさ、停止しにくさを指す。定量的には、単位期間あたりに故障が起きる確率である故障率や、故障から次の故障までの平均期間である平均故障間隔(MTBF)などで表される。
ある一つの装置などについては可用性の高さと信頼性の高さは一致することもあるが、複雑・大規模なシステムでは、装置やシステムを複数用意して一つが停止しても全体が停止しないようにすることで、低い信頼性の要素を組み合わせて高い可用性を確保することもできる。
情報システムに求められる特性として、可用性、信頼性、保守性(整備や修理のしやすさ)の3つの頭文字を繋げた「RAS」(Reliability Availability Serviceability)や、さらに完全性(Integrity)、機密性(Security)の2つを追加した「RASIS」の概念がよく用いられる。
リスク
将来起こりうる悪い出来事、および、その確率や損害の程度。特に、何らかの行動や決断、あるいはその欠如によって、将来遭遇しうる損害とその可能性のこと。危険性、不確実性などと訳されることもある。
通常、事前にある程度の想定や制御、回避などが可能であるような事象のことを意味し、まったく想像もつかないような(あるいは一切の制御や回避が不可能であるような)災厄のことは含まれない。また、行動に伴って必ず支払わなければならない代償は「コスト」(cost:費用)であり、やはりリスクとは区別される。
金融などの分野では結果の不確実性という意味で良い出来事やその利益を含む場合もあるが、IT関連あるいは一般の外来語としては、悪い出来事についてのみ用いるのが普通である。
経営や投資などでは、将来想定されるリスクの洗い出しや評価、見積もりを行い、何らかのコストを支払って損失の回避や軽減を試みるリスク管理(リスクマネジメント)が行われることが多い。
例えば、投資家が資産を株式や不動産や債権、外貨などに分散投資したり、企業が情報システムを地理的に離れた二拠点に構築して災害時などに一方が他方の機能を代替できるようにすることは、リスクの分散や低減のために役立つ。
リスクレベル
想定されるリスクの重大さ。事象の起こりやすさと、実際に起きたときの被害の大きさなどを勘案し、低、中、高などの尺度で表現することが多い。
事業の遂行などに伴って将来起こりうる悪い出来事やその確率、損害の程度を「リスク」(risk)という。リスクには様々な種類があり、滅多に起こらないが大きな損失をもたらすもの(戦争など)、時々起きるが被害は小さいもの(作業ミス、停電など)といった性質の違いがある。
リスクレベルはリスク事象の生起頻度と見積もられる損害の大きさによってリスクを評価・分類したもので、優先度や対処方法を決める際の基礎となる。情報セキュリティ管理についての標準規格であるJIS Q 27000では「結果とその起こりやすさの組合せとして表現される,リスクの大きさ」と定義されている。
リスクアセスメント 【RA】
企業などで組織的に取り組む、将来のリスクに備えるための準備活動。一般的にはリスク特定、リスク分析、リスク評価の各工程からなる一連のプロセスとされる。
事業の遂行などに伴って将来起こりうる悪い出来事やその確率、損害の程度を「リスク」(risk)という。企業などの組織体、あるいはプロジェクトチームなどの集団が、将来のリスクを予見して備えるために行う活動がリスクアセスメントである。
リスクアセスメントでは、まずどのようなリスクが想定されるか洗い出し(リスク特定)、それぞれについてその性質や発生確率、損害の大きさなどを特定・推定し(リスク分析)、一定の基準に基いて各リスクへの対応・行動の必要性の有無や優先順位を判断・決定する(リスク評価)。
リスクアセスメントはリスクが顕在化する前にこれに備えるために行われる行動・活動の総体であり、事業やプロジェクトなどの実施前、計画段階で実施される。企業の通常業務など定常的な活動についてのリスクアセスメントは一定期間ごとに実施されることが多い。
リスクアセスメントを含む、リスクに対する組織的な取り組みの総体を「リスクマネジメント」(risk management)という。最初にリスクアセスメントを行い、事業を遂行する中で実際に遭遇した事象に対してリスク対応を行う。年度末など一定期間ごとに振り返り(レビュー)を行い、対処方針の改善などを行う。これを一つのサイクルとして、事業年度ごとなどの単位で繰り返し実施する。
リスク分析
事業に見込まれる様々なリスクについて、その性質や発生確率、損害の大きさなどを見積もること。リスクアセスメントの一環として行われる。
事業の遂行などに伴って将来起こりうる悪い出来事やその確率、損害の程度を「リスク」(risk)という。企業などの組織体、あるいはプロジェクトチームなどの集団は、リスクに備え、あるいは対応するために「リスクマネジメント」(risk management)などの活動を行う。
ある事業や業務、プロジェクトなどについて想定される様々なリスクについて、詳細を調べる工程をリスク分析という。事象が生起する可能性(確率や頻度、周期など)の大きさ、実際に生起した際に生じ得る事態や状況、引き起こされる影響や損害、損失の大きさなどを見積もる。
リスク分析に先立って、考えられるリスクを洗い出し、列挙する工程を「リスク特定」という。また、リスク分析の後に、一定の基準に基いて各リスクへの対応・行動の必要性の有無や優先順位を判断・決定する工程を「リスク評価」という。これらの3つの工程を合わせて「リスクアセスメント」(risk assessment)という。
リスクファイナンス 【リスクファイナンシング】
企業経営やプロジェクトマネジメントなどで行なわれるリスク対策の一つで、リスクが顕在化した時に備えて財務的、資金的な手当てや備えをしておくこと。保険への加入などが該当する。
将来想定される有害な事象やその被害を「リスク」(risk)というが、企業活動においてはリスクが顕在化すると損失が発生する。この損失に備えるための資金的な方策を総称してリスクファイナンシングという。
リスクファイナンシングは大きく分けて「リスク保有」と「リスク移転」に分かれる。リスク保有は自ら損失を負担することで、想定される損失が大きい場合は企業の存続に関わる致命的な損害を免れるために一定の積立金、準備金、引当金、借入金などを用意することが多い。
「リスク移転」は契約に基づいて他者にリスクの一部または全部を移す方策で、一定の対価を支払う代わりにリスクが顕在化した際の損失を肩代わりしてもらう保険などがこれに当たる。例えば、毎月決まった額の火災保険料を支払い、いざ火災が起きたら被害額を保険金として受け取ることで損失を免れることができる。
リスク回避
企業などが組織的に行うリスク対応の類型の一つで、リスクのある事業を中止するといったように、当該リスクがそもそも発生しない状態にすること。
リスク(risk)とは将来起こりうる悪い出来事、および、その確率や損害の程度のことを指す。組織のリスクマネジメントでは、想定される様々なリスクを洗い出し、それぞれついてどのような対策を行うか検討する。
リスク回避はリスク対応の方策の一つで、リスクを伴う活動自体の中止や、リスクを引き起こす要因の根本的な排除などを指す。例えば、投資の引き揚げ、製品の生産終了、取得した個人情報の破棄などが該当する。
リスク共有 【リスク分散】
企業などが組織的に行うリスク対応の類型の一つで、他者と一定の合意や契約のもとで当該リスクを分かち合うこと。
リスク(risk)とは将来起こりうる悪い出来事、および、その確率や損害の程度のことを指す。組織のリスクマネジメントでは、想定される様々なリスクを洗い出し、それぞれついてどのような対策を行うか検討する。
リスク共有はリスク対応の方策の一つで、利益の分配や対価の支払いなどを条件に、リスクの一部を事業パートナーなど他者に引き受けてもらう方策を指す。例えば、合弁や共同出資、施設の共同利用、アウトソーシング、クラウドサービスの利用などが該当する。
なお、「リスク共有」は保険への加入なども含め「リスク転嫁」「リスク移転」と同義とすることもある。また、「リスク分散」は施設の分散配置のように、引き受け主体ではなくリスク要因の方を分割する「リスク低減」「リスク軽減」を指す場合もある。
リスク転嫁 【リスク移転】
企業などが組織的に行うリスク対応の類型の一つで、一定の合意のもとで他者に当該リスクを(全面的に)移すこと。
リスク(risk)とは将来起こりうる悪い出来事、および、その確率や損害の程度のことを指す。組織のリスクマネジメントでは、想定される様々なリスクを洗い出し、それぞれついてどのような対策を行うか検討する。
リスク移転はリスク対応の方策の一つで、契約などを結んで他者にリスクを移転する手法を指す。典型的なリスク移転策は保険への加入で、一定の対価を支払うことでリスクが顕現した際の損失を保険会社に引き受けさせることができる。アウトソーシングなど部分的なリスクの移転を含め「リスク共有」と同義とすることもある。
リスク共有 【リスク分散】
企業などが組織的に行うリスク対応の類型の一つで、他者と一定の合意や契約のもとで当該リスクを分かち合うこと。
リスク(risk)とは将来起こりうる悪い出来事、および、その確率や損害の程度のことを指す。組織のリスクマネジメントでは、想定される様々なリスクを洗い出し、それぞれついてどのような対策を行うか検討する。
リスク分散はリスク対応の方策の一つで、利益の分配や対価の支払いなどを条件に、リスクの一部を事業パートナーなど他者に引き受けてもらう方策を指す。例えば、合弁や共同出資、施設の共同利用、アウトソーシング、クラウドサービスの利用などが該当する。
なお、「リスク共有」は保険への加入なども含め「リスク転嫁」「リスク移転」と同義とすることもある。また、「リスク分散」は施設の分散配置のように、引き受け主体ではなくリスク要因の方を分割する「リスク低減」「リスク軽減」を指す場合もある。
リスク保有 【リスク許容】
企業などが組織的に行うリスク対応の類型の一つで、当該リスクを認識した上で、あえて措置を講じず甘んじて受け入れること
リスク(risk)とは将来起こりうる悪い出来事、および、その確率や損害の程度のことを指す。組織のリスクマネジメントでは、想定される様々なリスクを洗い出し、それぞれついてどのような対策を行うか検討する。
リスク保有はリスク対応の方策の一つで、事前に特に手を打たず、顕在化した場合の損失を丸ごと引き受けることを指す。そもそも他の対応策が極めて困難あるいは不可能な場合(戦争や政変など)や、発生確率や頻度、損害が極めて小さい場合、どの対応策を選んでもコストが想定損害額を上回ると試算される場合などに選択されることがある。
BCM 【Business Continuity Management】
企業などの経営管理の一分野で、企業や事業の存続を脅かす事態の発生に備え、事業の継続計画を策定したり、計画を的確に実施できるよう定期的な計画の改定や教育・訓練などを行うこと。
大規模な災害の発生など、通常の事業の継続が困難になる事態へ備えるための業務や活動の総体であり、重要な業務の継続や代替手段への切り替え、業務の停止・中断期間の最小化などを目的とする。
事業継続マネジメントの中心となるのは有事に備えて策定された計画である「BCP」(Business Continuity Plan:事業継続計画)である。BCPに沿って必要な資金や資機材の手当て、業務マニュアルなどへの反映、従業員への教育・訓練などが実施される。BCPは業務実態や時代状況の変化などに合わせて定期的に見直し、改訂が行われる。
事業継続マネジメントのガイドラインを定めた標準規格として、英国規格協会(BSI)が2006年に定めた「BS25999」がよく知られる。これを元に、2012年にISO(国際標準化機構)が事業継続マネジメントシステム(BCMS)の国際規格「ISO 22301」を策定した。
コンティンジェンシープラン 【CP】
事故や災害など非常事態が発生した場合に備えて、対応策をまとめた計画。「緊急時対応計画」と訳されることもある。
事業や業務の遂行を困難にする事象を想定し、それぞれについて予想される事態や損害の大きさを見積もり、組織や人員の行動計画などを定める。損害を軽減するための事前の対策などが含まれることもある。
「BCP」(Business Continuity Plan:事業継続計画)に似た概念だが、BCPが事象発生後の事業の継続や復旧に力点が置かれるのに対し、コンティンジェンシー計画は発生直後に被害を最小限に抑えるための緊急対応・初動計画という意味合いが強い。BCPの一部としてコンティンジェンシー計画を組み込むとする考え方もある。
ディザスタリカバリ 【DR】
情報システムが自然災害などで深刻な被害を受けたときに、損害を軽減したり、機能を維持あるいは回復・復旧すること。また、そのための備えとなる設備や体制、措置などのこと。
地震や風水害などの自然災害、事故や停電、火災、テロ、サイバー攻撃など、システムの正常な運用を脅かす何らかの事態が生じた際に、システムの停止による損失を最小限に抑える様々な手段や手順の総体を表す。
施設や什器の耐震性の向上、停電対策といった被害を軽減するための措置と、被災した施設や設備を復旧するための措置、システムの機能を別の設備で代替して運用を維持する措置などに分かれるが、システムの運用維持の観点からは特に機能の代替措置が重視される。
例えば、システムの主要拠点から地理的に離れた場所に災害対策拠点(DRサイト)を設置し、データを常にバックアップして消失を防いだり、いざというときはシステム運用を肩代わりできる機材や人員を準備しておくといった対策が行われる。
災害復旧を含む、事業の継続を脅かす事態への対処やそのための準備、環境整備などのことをBCM(Business Continuity Management:事業継続マネジメント)と呼び、脅威に備えて作成される対応計画をBCP(Business Continuity Plan:事業継続計画)という。
プライバシーポリシー 【プラポリ】
Webサイトやネットサービスなどが利用者に告知する、個人情報やパーソナルデータの収集・利用に関する方針をまとめた文書。加入制のサービスでは登録時や利用開始時などに提示して同意を求めることが多い。
そのサービスが利用者や端末から入手する情報の種類や取得方法、利用目的や利用方法、第三者への提供の有無や相手方、第三者による利用目的や方法、保管や廃棄の規定などの方針が記述されている。「プライバシーについて」「個人情報について」「個人情報保護方針」などの題目で掲示されている場合もある。
プライバシーポリシーを策定する目的として、利用者から個人情報を取得してサービスに反映させることについて本人に理解を促し納得を得ることがある。また、個人情報保護法では個人情報を取得する際に目的を告知する義務や、取得した情報を第三者に提供する際に同意を得る義務が規定されており、これを遵守するためにも必要となる。
ソーシャルメディアポリシー 【ソーシャルメディアガイドライン】
企業や官公庁、大学などの組織がソーシャルメディア(SNS)を利用する際の原則や方針、ルールなどを定めた規約。組織による公式のSNS利用に適用される方針のほか、従業員など所属メンバーの私的利用に関する要請などを含む場合がある。
組織がソーシャルメディアを通じて情報発信や他の利用者との間でやり取りする活動に関して、目的や基本方針、運営体制、行動基準、連絡窓口、免責事項、フォローや返信などSNSでの行動に関する方針、他の利用者に求める制限や禁止事項などを記載する。
企業などが広報やマーケティングなどでSNSを活用する場面が増えるに従い、いわゆる炎上や著作権侵害、商標権侵害などのトラブルに遭遇する事例も増えている。組織や関係者に何かあると公式アカウントが窓口扱いされることもあり、企業としてSNSに取り組む姿勢を外部に告知する目的でソーシャルメディアガイドラインが策定される。
策定した文書は組織の公式Webサイト上で発表し、SNS上のアカウントのプロフィール欄などからリンクすることが多い。公表される文書は主に組織外の人へ方針を知らせる目的で作成されるため、従業員が業務でSNSを利用する際の運営規則やマニュアルは詳細なものを別に作成し、社内や部署内で共有することが多い。
ISMS 【Information Security Management System】
組織内での情報の取り扱いについて、機密性、完全性、可用性を一定の水準で確保するための仕組み。特に、ISO/IEC 27001などの標準規格に基づいて整備された組織的なセキュリティ管理体制。
組織の管理の一環として、取り扱う情報の種類などから確保すべきセキュリティの水準を定め、計画や規約を整備して情報システムの運用などに反映させる取り組みの総体を指す。具体的には、国際規格であるISO/IEC 27001および同等の国内規格JIS Q 27001に定められた要求事項を満たし、体制を整備して継続的に実施することが求められる。
組織がどのような情報をどのように取り扱うかを特定し、情報の適切な保護・管理についての基本方針や対策基準(情報セキュリティポリシー)、実施手順などを定め、担当部門だけでなく全社的な取り組みとして周知・実施を図る。
また、情報セキュリティ上のリスクについて、アセスメント(特定・分析・評価)を行って対応方針を決め、実際に現場で起きる様々なリスクへ対応し、一定期間状況を監視・記録(モニタリング)して検証(レビュー)し、結果を元に再度アセスメントから一連のプロセスを繰り返すというサイクルを継続的に実施することが求められる。
ISMSの起源はBSI(イギリス規格協会)が1995年に策定したイギリス国内規格であるBS 7799で、これを元に2000年に国際規格のISO/IEC 17799が策定され、2005年にISO/IEC 27001および27002に改番された。日本ではほぼ同様の内容が国内規格として2006年にJIS Q 27001/27002として標準化された。
日本ではJIPDEC(日本情報経済社会推進協会)の情報マネジメントシステム認定センターが主導してISMS適合性評価制度を運用しており、審査を経て認定を受けることによりISMSが適切に整備されていることを内外に示すことができる。
ISMS適合性評価制度 【ISMS認証】
組織内での情報の取り扱いについて、機密性、完全性、可用性を一定の水準で確保するための仕組みが整っていることを認定する制度。一般社団法人情報マネジメントシステム認定センター(ISMS-AC)が運用している。
認定を受けるには国際規格であるISO/IEC 27001および同等の国内規格JIS Q 27001に定められた要求事項を満たし、体制を整備して継続的に実施することが求められる。組織がどのような情報をどのように取り扱うかを特定し、情報の適切な保護・管理についての基本方針や対策基準(情報セキュリティポリシー)、実施手順などを定め、担当部門だけでなく全社的な取り組みとして周知・実施を図らなければならない。
認定を希望する組織は国内に約20あるISMS-AC指定の認証機関に審査を申請し、数か月をかけて何段階かに渡り書面、立ち入りによる審査を行う。基準を満たしていると認められると認証登録が行われる。登録後は通常1年毎に維持審査(サーベイランス審査)、3年毎に再認証審査を行い、取り組みが継続していることを確かめる。
認定されるとパンフレットやWebサイトなどで登録番号などを掲示することができ、対外的に情報セキュリティへの取り組みをアピールすることができる。認定状況はISMS-ACのWebサイトなどでも公開されるため、当該組織の認定状況は誰でも確認することができる。
2002年に一般財団法人日本情報経済社会推進協会(JIPDEC)内に設けられた情報マネジメントシステム認定センターが制度運用を開始した。2018年に同センターは一般社団法人として独立した。
ISMS適合性評価制度 【ISMS認証】
組織内での情報の取り扱いについて、機密性、完全性、可用性を一定の水準で確保するための仕組みが整っていることを認定する制度。一般社団法人情報マネジメントシステム認定センター(ISMS-AC)が運用している。
認定を受けるには国際規格であるISO/IEC 27001および同等の国内規格JIS Q 27001に定められた要求事項を満たし、体制を整備して継続的に実施することが求められる。組織がどのような情報をどのように取り扱うかを特定し、情報の適切な保護・管理についての基本方針や対策基準(情報セキュリティポリシー)、実施手順などを定め、担当部門だけでなく全社的な取り組みとして周知・実施を図らなければならない。
認定を希望する組織は国内に約20あるISMS-AC指定の認証機関に審査を申請し、数か月をかけて何段階かに渡り書面、立ち入りによる審査を行う。基準を満たしていると認められると認証登録が行われる。登録後は通常1年毎に維持審査(サーベイランス審査)、3年毎に再認証審査を行い、取り組みが継続していることを確かめる。
認定されるとパンフレットやWebサイトなどで登録番号などを掲示することができ、対外的に情報セキュリティへの取り組みをアピールすることができる。認定状況はISMS-ACのWebサイトなどでも公開されるため、当該組織の認定状況は誰でも確認することができる。
2002年に一般財団法人日本情報経済社会推進協会(JIPDEC)内に設けられた情報マネジメントシステム認定センターが制度運用を開始した。2018年に同センターは一般社団法人として独立した。
JIS Q 27001
日本産業規格(JIS規格)の一つで、組織の情報セキュリティ管理体制についての要求事項を定めたもの。国際標準の「ISO/IEC 27001」に対応する国内規格で、2006年に初版が発行された。
企業などが情報セキュリティを管理する仕組みを「情報セキュリティマネジメントシステム」(ISMS:Information Security Management System)という。JIS Q 27001ではISMSが満たすべき要件を定めており、認証機関による審査に合格すると規格に準拠していることが認定される。
要求事項は「組織の状況」「リーダーシップ」「計画」「支援」「運用」「パフォーマンス評価」「改善」の7章で構成され、各章がいくつかの節に分かれて詳細な項目が挙げられている。全体が計画、運用、評価、改善というPDCAサイクルを構成しており、これを継続的に実施する体制づくりが求められる。
ISMS要求事項の国際標準として国際標準化機構(ISO)と国際電気標準会議(IEC)が2005年に共同で策定した「ISO/IEC 27001」があり、これを国内で適用できるよう同等の内容のJIS Q 27001が策定された。これに基づいて「ISMS適合性評価制度」が運用されており、一般社団法人情報マネジメントシステム認定センター(ISMS-AC)が認定機関として制度運用を担当している。
ISO/IEC 27001
国際標準化機構(ISO)と国際電気標準会議(IEC)が共同で策定している情報セキュリティについての標準規格の一つで、組織の情報セキュリティ管理が一定水準を確保していることを認定するための要求事項を定めたもの。2005年に初版が発行された。
企業などが情報セキュリティを管理する仕組みを「情報セキュリティマネジメントシステム」(ISMS:Information Security Management System)という。ISO/IEC 27001ではISMSが満たすべき要件を定めており、認証機関による審査に合格すると規格に準拠していることが認定される。
要求事項は「組織の状況」「リーダーシップ」「計画」「支援」「運用」「パフォーマンス評価」「改善」の7章で構成され、各章がいくつかの節に分かれて詳細な項目が挙げられている。全体が計画、運用、評価、改善というPDCAサイクルを構成しており、これを継続的に実施する体制づくりが求められる。
日本では同等の内容が日本産業規格(JIS規格)「JIS Q 27001」として発行されている。また、ISMS認証制度は国内では「ISMS適合性評価制度」の名称で運用されており、一般社団法人情報マネジメントシステム認定センター(ISMS-AC)が認定機関として制度運用を担当している。
JIS Q 27000シリーズ
日本産業規格(JIS規格)の一つで、情報セキュリティマネジメントシステム(ISMS)についてのベストプラクティスやガイドラインをまとめたもの。国際標準のISO/IEC 27000シリーズと同等の内容となっている。
ISMS(Information Security Management System)とは、組織内での情報の取り扱いについて、機密性、完全性、可用性を一定の水準で確保するための仕組みを意味する。JIS Q 27002では企業などが情報セキュリティ管理を行うために必要な要件や規範を示し、規格に準拠していることを認証するための基準を定めている。
「JIS Q 27000」は「JIS Q 27001」「JIS Q 27002」などの一連の規格群(ISMSファミリ規格)の総称であると共に、「JIS Q 27000」という個別の規格も設けられている。この規格ではISMSファミリ規格群の目的や概要を示し、共通する用語の定義を列挙している。
JIS Q 27001
2005年に発行されたISO/IEC 27001と同等の内容を定めた国内規格で、2006年に発行された。規格名称は「情報セキュリティ,サイバーセキュリティ及びプライバシー保護-情報セキュリティマネジメントシステム-要求事項」。
ISMSの要求事項を定めた規格で、認定機関による審査によって基準を満たしていると認められた組織にはISMS認証が与えられる。これを「ISMS適合性評価制度」と呼び、一般社団法人情報マネジメントシステム認定センター(ISMS-AC)が制度を運用している。
JIS Q 27002
2005年に発行されたISO/IEC 27002と同等の内容を定めた国内規格で、2006年に発行された。規格名称は「情報技術-セキュリティ技術-情報セキュリティ管理策の実践のための規範」。ISO/IEC 17799をもとに策定されたJIS X 5080の改訂版。
情報セキュリティ管理を実践するためのベストプラクティスをまとめた規格で、基本方針、組織、資産管理、人的セキュリティ、物理セキュリティ、通信ネットワーク、アクセス制御、システム開発・保守、セキュリティインシデント管理、事業継続、コンプライアンスの12章に分けて規範が紹介されている。
ISO/IEC 27000シリーズ
国際標準化機構(ISO)と国際電気標準会議(IEC)が共同で策定している、情報セキュリティマネジメントシステム(ISMS)に関する一連の標準規格群。企業などが組織的に情報セキュリティ対策に取り組む際に必要な事項などを定めている。
ISOとIECの合同作業部会(JTC1)が策定した規格群で、企業などの組織が情報セキュリティ管理を行う際のベストプラクティスやガイドラインを提供する。日本では同等の内容が日本産業規格(JIS規格)「JIS Q 27000シリーズ」として発行されている。
「ISO/IEC 27000」は「ISO/IEC 27001」「ISO/IEC 27002」などの一連の規格群(ISMSファミリ規格)の総称であると共に、「ISO/IEC 27000」という個別の規格も設けられている。この規格ではISMSファミリ規格群の目的や概要を示し、共通する用語の定義を列挙している。
ISO/IEC 27001
2005年に初版が発行された規格で、組織の情報セキュリティ管理が一定の水準を満たしていることを認定する「ISMS認証」の要求事項を定義している。日本では2006年に「JIS Q 27001」として同等の国内規格が発行されている。
ISMS認証制度は各国の認定機関が対象組織を審査し、ISO/IEC 27001の要求する事項を達成している場合にこれを認証するもので、日本では「ISMS適合性評価制度」の名称で一般社団法人情報マネジメントシステム認定センター(ISMS-AC)が制度を運用している。
ISO/IEC 27002
情報セキュリティ管理を実践するためのベストプラクティス(実践規範)をまとめた規格。英国規格の「BS 7799」を元に2000年に策定された「ISO/IEC 17799」が2005年に改訂され、規格番号が改められISO/IEC 27000シリーズに編入された。日本では2006年に同等の内容が「JIS Q 27002」として発行されている。
組織が情報セキュリティ管理を実践するための指針として、基本方針、組織、資産管理、人的セキュリティ、物理セキュリティ、通信ネットワーク、アクセス制御、システム開発・保守、セキュリティインシデント管理、事業継続、コンプライアンスの12章に分けて規範が紹介されている。
CSIRT 【Computer Security Incident Response Team】
企業や行政機関などに設置される組織の一種で、コンピュータシステムやネットワークに保安上の問題に繋がる事象が発生した際に対応する組織。
社内の情報システムや通信ネットワークでウイルス感染や不正アクセス、サービス拒否攻撃(DoS攻撃)などセキュリティ上の脅威となる現象や行為が発生した際に、組織内の対応窓口となって被害の拡大防止や関連情報の収集・告知、再発防止策の策定などの活動を行う。また、外部のCSIRTと連携して事件・事故の被害情報やシステムの脆弱性についての情報を共有したり、一般利用者へ情報セキュリティに関する教育や啓発、広報などの活動を行うこともある。
大きな組織では常設の機関として専任の人員を置く場合もあるが、普段は情報システム関連の業務を行なうスタッフが事象発生時に集まって対応するという形態もある。インターネット全体、あるいは、ある国のインターネット全体を対象に活動するCSIRTもあり、アメリカのCERT/CCや日本のJPCERT/CCがよく知られている。
CERT/CC (Computer Emergency Response Team/Coordination Center)
コンピュータやインターネットのセキュリティに関する研究や情報発信を行なっているアメリカの研究機関。広く普及しているソフトウェアの保安上の弱点(セキュリティ脆弱性)についての分析情報を配信する活動でよく知られる。
1988年にインターネット上でワームの大規模感染事件が発生したのを契機に米国防高等研究計画局(DAPRA)が中心となって設立したもので、カーネギーメロン大学ソフトウェア工学研究所内に設置されている。現在様々な組織に設置されているCSIRTの草分け的な存在とされ、CERT/CCをモデルに設立された機関の中には「CERT」の名称を冠したものも存在するが、これらはCERT/CCと直接的な繋がりがあるわけではない。
ちなみに、現在「CERT」はCERT/CCの登録商標であり、CERT/CC類似組織の総称として用いたり、他の組織が許諾なく名乗ることはできない。また、「CERT」は現在は公式には何の略称でもないとされている。
セキュリティオペレーションセンター 【SOC】
企業などが運用する情報システムの状態を24時間365日監視し、外部からの攻撃などのセキュリティ事象の発生に備える組織。
通信機器のログなどをリアルタイムに取得して分析し、インターネットなどを通じた外部の攻撃者による不正アクセス、ウイルス感染、外部への機密情報の漏洩などが疑われる不審な通信を検知すると管理者に通知する。
セキュリティ状態の監視を目的とするため、発生した事象への介入や対応、対策の実施などはCSIRTなど別の組織が行うのが原則だが、組織やサービスの形態によっては応急的な措置の実施や対応策のアドバイス等を行う機能を持つ場合もある。
自社内の部署としてSOCを設ける場合を「プライベートSOC」、専門の事業者が顧客に対する商用サービスとしてSOCの機能を(遠隔から)提供する場合を「パブリックSOC」、自社内の部署が機器の設置や設定を行い、監視活動は事業者に外注する場合などを「ハイブリッドSOC」という。
機器やソフトウェア、データの管理権限や機密情報の取り扱いなどの関係上、パブリックSOCが監視するのはネットワーク境界のセキュリティ機器に限られることが多い。プライベートSOCはこれに加えてシステム内部の個別のサーバやネットワーク機器、OS、データベースなどを監視対象とすることもある(ディープSOC)。
ホワイトハッカー 【エシカルハッカー】
コンピュータやネットワークについて高度な知識や技能を持ち、それを外部の攻撃からの防御など善良な目的のために使う技術者のこと。英語では本来 “white hat hacker” (白帽子のハッカー)というが、日本に紹介され広まる過程で “hat” が欠落して和製英語化した。
元来、情報技術に深い造詣と探究心があり、ソフトウェアを改変・拡張したり、システムに設計意図から外れた挙動を行わせるような技術者のことを「ハッカー」(hacker)と呼んでいたが、そのような技能を用いて不正アクセスなど悪事を働く者が目立つようになり、「技術を悪用する者」という意味合いで一般に認識されるようになった。
しかし、ハッカー的な人々の中には、サイバー攻撃についての知見を活かしてシステムのセキュリティ上の欠陥や弱点を発見して対策したり、攻撃を検知して対処するなど、システムを守るために働く人もおり、善良な目的のハッカーを「ホワイトハットハッカー」(white hat hacker)、悪事を企てるハッカーを「ブラックハットハッカー」(black hat hacker)と呼び分けるようになった。
エシカルハッカーの主な活動としては、企業などの依頼を受けてシステムに模擬的な攻撃を仕掛け、悪用可能な弱点が無いか確かめる試験「ペネトレーションテスト」(penetration testing)を行ったり、公開されているソフトウェアやネットサービスに保安上の欠陥が無いか調査し、開発元や運営元に連絡して改善するよう勧告するバグハンター活動などがある。
「ホワイトハット」「ブラックハット」の名称は、西部劇の映画などで善玉のカウボーイが白いカウボーイハットを、悪玉が黒い帽子をかぶるのがお決まりの演出だったことに由来すると言われる。日本では2012年頃から広まり始めたが、「ハット」が省略され「ホワイトハッカー」「ブラックハッカー」の呼称が一般的になっている。英語では “white hat” と略すことはあるが “white hacker” とは言わないため注意が必要である。
NISC 【National center of Incident readiness and Strategy for Cybersecurity】
日本政府の内閣官房に設置された、国の機関における情報セキュリティを所管する組織。国のサイバー攻撃対策の司令塔。内閣官房組織令に基づき設置され、センター長は内閣官房副長官補が兼務する。
国の情報システムへのサイバー攻撃の監視や対処、国としての情報セキュリティ対策方針の策定や行政機関への助言・援助、脆弱性など潜在的な驚異の調査や研究、諸外国の関係機関との連絡・調整、ライフラインなど重要な公共インフラのサイバー攻撃からの防護などの活動を行う。
2000年に「内閣官房情報セキュリティ対策推進室」として設置され、2005年に「内閣官房情報セキュリティセンター」(National Information Security Center)に改組、2015年に現在の体制に改められた。
CRYPTREC 【Cryptography Research and Evaluation Committees】
政府機関で利用すべき暗号技術の推奨リストを作成するプロジェクト。総務省、経済産業省、情報通信研究機構(NICT)、情報処理推進機構(IPA)が共同で運営している。
共通鍵暗号(秘密鍵暗号)や公開鍵暗号、ハッシュ関数、暗号利用モード、メッセージ認証コードなど暗号に関連する技術に関して、暗号技術の専門家が安全性や利用実績、調達の容易さなどを多角的に評価・検討する。
検討結果は「電子政府推奨暗号リスト」(電子政府における調達のために参照すべき暗号のリスト)として公表される。政府機関の情報システムで暗号関連技術を利用する際には、可能な限りこのリストの中から選択しなければならない。
推奨リストの掲載された技術には、共通鍵暗号のAESやハッシュ関数のSHA-2(SHA-256/384/512)など世界的に広く普及している米政府標準(FIPS等)が多く見られるが、ブロック暗号のCamelliaやストリーム暗号のKCipher-2など一部に国産技術も採用されている。
JPCERT/CC 【Japan Computer Emergency Response Team/Coordination Center】
サイバーセキュリティに関連する事象(インシデント)の情報を収集し、注意喚起や対応支援、関連情報の発信を行う国内の中心的な組織の一つ。
日本の代表的なCSIRT(Computer Security Incident Respose Team)で、国内外の情報セキュリティ対策活動のコーディネートを行ったり、国際的なCSIRTコミュニティのFIRSTやAPCERTなどに加盟して各国代表CSIRTとの連携窓口を担っている。
インターネット上で発生するセキュリティ関連事象の情報を収集し、分析して詳細情報の公表や注意喚起を行い、国内CSIRTのインシデント対応を支援している。ソフトウェアに発見された保安上の欠陥(脆弱性)について、発見者からの報告の受付窓口となり、開発者などに情報を提供して対応を促すなどの活動も行っている。
アジア・太平洋の各国・地域のCSIRTと連携してインターネット上のセキュリティ関連事象の定点観測を行う「TSUBAMEプロジェクト」や、国内のソフトウェアの脆弱性情報を収集・公開する「JVN」(Japan Vulnerability Notes)などの運営、日本シーサート協議会やフィッシング対策協議会の事務局としてもよく知られる。
1992年に当時のインターネット運営に携わる有志の技術者や研究者がボランティアとして始めた活動で、1996年から「JPCERT/CC」の名称で活動している。1998年に国内CSIRTとして初めてFIRST(Forum of Incident Response and Security Team)に加盟した。2003年に有限責任中間法人として法人格を取得、2009年に一般社団法人に改組した。
サイバー情報共有イニシアティブ 【J-CSIP】
国内の企業などの間でサイバー攻撃に関する情報を迅速に共有する制度。情報処理推進機構(IPA)が主催し、業界ごとに分科会を設けて活動している。
社会インフラを担う企業やインフラで使用される機器のメーカーなど、サイバー攻撃を受けると社会に深刻な被害を及ぼす恐れのある業界を中心に、業界ごとに参加企業が「SIG」(Special Interest Group)を構成し、情報を共有する。
参加企業はサイバー攻撃を受けるとIPAへ通報し、IPAは業界内の他の企業にも状況や詳細を通知する。各企業とIPAは事前にNDA(秘密保持契約)を結んでおり、攻撃の詳細に関して外部に公開、共有したくない部分については秘匿したり、匿名化することができる。
JPCERT/CCや、内閣サイバーセキュリティセンター(NISC)の「標的型攻撃に関する情報共有体制」(C4TAP)などとも連携し、ソフトウェアの開発元など関係者との連絡や情報の共有、一般へ注意喚起を促す広報活動など、脅威に対処する様々な活動も行う。
2012年に5業界39組織の体制で発足し、初年度は情報提供246件だったが、年々参加組織や報告数が増大し、2020年には13業界262組織、SIGとは別の情報連絡体制が2業界(医療業界、水道業界)、情報提供6000件を超えるまでに取り組みが拡大している。
JVN 【Japan Vulnerability Notes】
日本で流通・利用されているソフトウェアの脆弱性に関連する情報を収集しているデータベースの一つ。Webサイトの形で公開され、誰でも閲覧・検索することができるようになっている。JPCERT/CCとIPA(情報処理推進機構)が共同で運営している。
JPCERT/CCなどに寄せられたソフトウェア脆弱性について、概要や影響受ける製品やシステム、想定される影響や危険性、発行元の対応状況、対策方法、問題の回避方法などを掲載している。CERT/CCなど海外の機関が公開した情報なども掲載している。
脆弱性情報には一件ごとに識別番号が割り振られている。2012年から運用されている現在の番号体系では「情報セキュリティ早期警戒パートナーシップ」に基づいて公表した情報には「JVN#」に続く8桁の番号、CERT/CCなど外国の機関と連携して公表した情報には「JVNVU#」に続く8桁の番号、外部との調整有無に関わらずJPCERT/CCが公表した情報には「JVNTA#」に続く8桁の番号が割り当てられている。
また、JVNとは別に「JVN iPedia」と呼ばれるデータベースおよびWebサイトも公開されており、JVNの情報に加えて国内で日々発見される脆弱性情報を収集・公開している。「MyJVN」というサービスも提供しており、コンピュータに導入されたソフトウェアが最新か調べたり(バージョンチェッカ)、APIを通じてJVN iPediaの情報を取得したりできる。
ISMAP 【Information system Security Management and Assessment Program】
日本の政府機関が構築・運用する情報システムに求められるセキュリティ要件を満たしたクラウドサービスを認定・登録する制度。内閣サイバーセキュリティセンター(NISC)、デジタル庁、総務省、経済産業省が共同で運用しており、実務は情報処理推進機構(IPA)が担当している。
政府では行政機関の情報システムの運用基盤として、民間事業者によるIaaS型やPaaS型のクラウドサービスの利用を推進(クラウドバイデフォルト原則)しているが、従来は各官庁が個別にセキュリティ基準などを定めてサービスの選定を行っていた。
政府として統一されたセキュリティ対策の元でシステムを運用するため、2020年にNISC、デジタル庁、総務省、経産省が共同でISMAP制度を立ち上げ、事業者から申請のあったクラウドサービスについて審査および外部機関による監査を行っている。審査を通過したサービスは登録リストに記載され、Webサイト等を通じて公表される。
仮想化されたサーバやアプリケーション実行基盤を貸し出すIaaS/PaaSとしては、民間でもすでに広く利用されている米アマゾンドットコム(Amazon.com)社の「Amazon Web Services」や米マイクロソフト(Microsoft)社の「Microsoft Azure」、米グーグル(Google)社の「Google Cloud Platform」、米オラクル(Oracle)社の「Oracle Cloud Infrastructure」などの世界的な大手サービスのほか、NTTデータや野村総研、日立、NEC、富士通、KDDI、ソフトバンク、IIJ、サイボウズ、さくらインターネットなど国内勢のサービスも登録されている。
個別用途のアプリケーションをクラウドで提供するSaaS型のサービスも登録されている。オフィスソフトの「Microsoft 365」や「Google Workspace」、オンラインストレージの「Box」、ビジネスチャットの「Slack」、ビデオ会議の「Webex」、ERPパッケージの「COMPANY」などである。
SECURITY ACTION
中小企業が情報セキュリティ対策に自ら取り組んでいることを宣言する制度。「一つ星」「二つ星」の2段階があり、情報処理推進機構(IPA)がガイドラインを公表している。
コンピュータシステムや重要なデータを守る情報セキュリティについて、専門家でなくても取り組むことができる施策について一定のガイドラインを設け、専任のセキュリティ部門を設置するのが難しい中小規模の事業者が自ら取り組んでいることを宣言する制度である。
二段階の取り組み目標が設けられており、それぞれ「一つ星」「二つ星」としてロゴマークが用意されている。示された対策に取り組み、IPAに申請を行うとロゴマークの使用許諾が発行され、自社のWebサイトや印刷物、名刺、封筒などに掲示することができる。
一つ星
SECURITY ACTION「一つ星」(★)の目標は、IPAの提唱する「情報セキュリティ5か条」を実施することである。「OSやソフトウェアは常に最新の状態にしよう!」「ウイルス対策ソフトを導入しよう!」「パスワードを強化しよう!」「共有設定を見直そう!」「脅威や攻撃の手口を知ろう!」の5つの項目に取り組むことが求められる。
二つ星
SECURITY ACTION「二つ星」(★★)の目標は、IPAの提唱する「5分でできる!情報セキュリティ自己診断」の実施と、情報セキュリティ基本方針の策定である。自己診断は「基本的対策」「従業員としての対策」「組織としての対策」の3領域、25問の質問から構成され、回答を採点して点数に応じて対策を行なうことが求められる。
また、IPAでは「中小企業の情報セキュリティ対策ガイドライン」を公開しており、これに準拠した自社の情報セキュリティ基本方針の策定と実施が求められる。ガイドラインでは汎用的な雛形も公開しており、これを自社向けに適宜編集して作成することもできるようになっている。
サイバーセキュリティ経営ガイドライン
経済産業省が企業向けに発行しているガイドラインの一つで、経営者が経営課題としてサイバーセキュリティ施策に取り組む際に認識すべき事柄をまとめた指針。
企業などの経営者が自らのリーダーシップの下、経営上のリスクマネジメントの一貫として組織的にサイバーセキュリティ対策に取り組む際の指針を示している。必ずしもITやセキュリティの専門家とは限らない企業経営者に向け、セキュリティ対策の意義や必要性、経営上の位置づけなどから説き起こしている。
ガイドラインではまず「経営者が認識すべき3原則」として「経営者は、サイバーセキュリティリスクが自社のリスクマネジメントにおける重要課題であることを認識し、自らのリーダーシップのもとで対策を進めることが必要」などの3つの原則を示し、それぞれについて詳述している。
次に、「サイバーセキュリティ経営の重要10項目」を挙げている。これは経営者の視点から社内のセキュリティ担当者や担当部署への指示の形式で書かれており、「指示1:サイバーセキュリティリスクの認識、組織全体での対応方針の策定」といった項目が10個並んでいる。
付録として、対策を進める上で有用なチェックシートや参考情報、他のガイドラインや標準規格などとの関係、用語集、組織体制の確立や人材確保を行うための手引きなどが用意されている。初版は2015年に発表され、第2版(Ver2.0)は2017年に、第3版(Ver3.0)は2023年に公表された。
PCI DSS 【Payment Card Industry Data Security Standard】
クレジットカード情報を安全に取り扱うために事業者に求められるセキュリティ基準を定めた規格の一つ。VISA、MasterCardなど国際的なクレジットカード大手の参加する業界団体が策定したもので、2004年12月に最初の規格が発行された。
カード発行会社(イシュアー)や加盟店管理会社(アクワイアラー)、加盟店、銀行、決済代行業者など、クレジットカード情報を取り扱うすべての事業者を対象としたもので、情報システムや情報管理についての詳細で具体的な要件を定めている。カード業界以外でもセキュリティ基準の標準として利用されることがある。
PCI DSSでは、「安全なネットワークの構築と維持」「カード会員データの保護」「脆弱性管理プログラムの整備」「強固なアクセス制御手法の導入」「ネットワークの定期的な監視およびテスト」「情報セキュリティポリシーの整備」の6つの目的のために12の要件を定めており、これらはさらに約200の具体的な項目に細分化されている。
米ビザ(VISA)、米マスターカード(MasterCard)、米ディスカバー(Discover)、米アメリカン・エクスプレス(American Express)、JCBの国際カードブランド大手5社が管理団体「PCI SSC」(Payment Card Industry Security Standards Council)を運営しており、基準の策定や改定、審査機関の認定などを行っている。
一般の加盟店など、取り扱うカード情報の規模が小さい事業者は、準拠すべき要件をチェックリスト形式でまとめた自己診断を行い、すべての項目を満たせば良い。カード発行会社など取り扱い規模が大きい事業者はQSA(Qualified Security Assessor)呼ばれる認定審査機関による訪問審査などが行われる。
コモンクライテリア 【CC】
情報機器や情報システムなどのセキュリティを評価するための基準を定めた国際規格。日本では同様のものが「情報技術セキュリティの評価基準」(JIS X 5070)として規格化されている。
IT機器やソフトウェア、それらを組み合わせた情報システムなどについて、情報セキュリティを確保するための機能や信頼性を評価する枠組みを提供する。対象そのものだけでなく、設計・開発のプロセスや、利用者への操作説明などにセキュリティを確保するための方針や方策が適切に反映されているかどうかも評価される。
どの程度まで詳しく評価するかは「EAL」(Evaluation Assurance Level)と呼ばれる保証レベルで表され、機能テストのみを行なう最も簡易で低コストなEAL1から、設計の形式的検証やテストなどを行なう最も厳密だがコストのかかるEAL7まで7段階が定められている。
ISO/IEC 15408に基づく評価は各国の認証機関(日本では情報処理推進機構)が認定した評価機関が行なう。機関が異なっても結果に著しい差が生じないよう、評価手法や判断基準などについて一定の指針を示した「CEM」(Common Evaluation Methodology : 共通評価方法)が定められており、ISO/IEC 18045として標準化されている。
評価結果は「CCRA」(Common Criteria Recognition Arrangement:CC承認アレンジメント)と呼ばれる国際協定により、他の締結国でも有効となる。日米など約20か国が相互承認を行っており、他に英国など約10か国が受入国(自国で認証は行わないが他国の結果は受け入れる)となっている。高いEALの評価は複雑になるため、CCRAの対象となるのはEAL4まで(一部製品はEAL2まで)となっている。
コモンクライテリア 【CC】
情報機器や情報システムなどのセキュリティを評価するための基準を定めた国際規格。日本では同様のものが「情報技術セキュリティの評価基準」(JIS X 5070)として規格化されている。
IT機器やソフトウェア、それらを組み合わせた情報システムなどについて、情報セキュリティを確保するための機能や信頼性を評価する枠組みを提供する。対象そのものだけでなく、設計・開発のプロセスや、利用者への操作説明などにセキュリティを確保するための方針や方策が適切に反映されているかどうかも評価される。
どの程度まで詳しく評価するかは「EAL」(Evaluation Assurance Level)と呼ばれる保証レベルで表され、機能テストのみを行なう最も簡易で低コストなEAL1から、設計の形式的検証やテストなどを行なう最も厳密だがコストのかかるEAL7まで7段階が定められている。
コモンクライテリアに基づく評価は各国の認証機関(日本では情報処理推進機構)が認定した評価機関が行なう。機関が異なっても結果に著しい差が生じないよう、評価手法や判断基準などについて一定の指針を示した「CEM」(Common Evaluation Methodology : 共通評価方法)が定められており、ISO/IEC 18045として標準化されている。
評価結果は「CCRA」(Common Criteria Recognition Arrangement:CC承認アレンジメント)と呼ばれる国際協定により、他の締結国でも有効となる。日米など約20か国が相互承認を行っており、他に英国など約10か国が受入国(自国で認証は行わないが他国の結果は受け入れる)となっている。高いEALの評価は複雑になるため、CCRAの対象となるのはEAL4まで(一部製品はEAL2まで)となっている。
コモンクライテリア 【CC】
情報機器や情報システムなどのセキュリティを評価するための基準を定めた国際規格。日本では同様のものが「情報技術セキュリティの評価基準」(JIS X 5070)として規格化されている。
IT機器やソフトウェア、それらを組み合わせた情報システムなどについて、情報セキュリティを確保するための機能や信頼性を評価する枠組みを提供する。対象そのものだけでなく、設計・開発のプロセスや、利用者への操作説明などにセキュリティを確保するための方針や方策が適切に反映されているかどうかも評価される。
どの程度まで詳しく評価するかは「EAL」(Evaluation Assurance Level)と呼ばれる保証レベルで表され、機能テストのみを行なう最も簡易で低コストなEAL1から、設計の形式的検証やテストなどを行なう最も厳密だがコストのかかるEAL7まで7段階が定められている。
保証レベルに基づく評価は各国の認証機関(日本では情報処理推進機構)が認定した評価機関が行なう。機関が異なっても結果に著しい差が生じないよう、評価手法や判断基準などについて一定の指針を示した「CEM」(Common Evaluation Methodology : 共通評価方法)が定められており、ISO/IEC 18045として標準化されている。
評価結果は「CCRA」(Common Criteria Recognition Arrangement:CC承認アレンジメント)と呼ばれる国際協定により、他の締結国でも有効となる。日米など約20か国が相互承認を行っており、他に英国など約10か国が受入国(自国で認証は行わないが他国の結果は受け入れる)となっている。高いEALの評価は複雑になるため、CCRAの対象となるのはEAL4まで(一部製品はEAL2まで)となっている。
JISEC 【Japan Information Technology Security Evaluation and Certification Scheme】
情報機器やソフトウェアのセキュリティ機能が一定の水準を満たしていることを認定する制度。IPA(情報処理推進機構)が運営する制度で、国際標準のISO/IEC 15408に基づいて審査を行う。国や自治体のIT調達に活用されている。
情報システムの一部として利用される機器やソフトウェアのセキュリティ機能について、開発元や販売元などの申請に基づいてIPAが認定した評価機関が審査する。評価結果はIPAに報告され、製品が一定の水準を満たしていることをIPAが認証する。
審査基準は「コモンクライテリア」(CC:Common Criteria)として知られるセキュリティ評価に関する標準規格ISO/IEC 15408で、IPAによる認証は国際的承認アレンジメント制度(CCRA:Common Criteria Recognition Arrangement)に参加する他国でもそのまま通用する。
国や自治体などが情報システムを調達する際に、製品がJISECの認証を受けていることを要件とすることで、一定のセキュリティ水準を満たした製品でシステムを構成することができる。機器やソフトウェアなど認証された製品の一覧はIPAのWebサイトで公開されている。
JCMVP 【Japan Cryptographic Module Validation Program】
暗号やハッシュ化、デジタル署名などの技術を提供する製品が機能を適切に実装しているかどうかを試験して認証する制度。経済産業省が所管する独立行政法人のIPA(情報処理推進機構)が実施している。
暗号関連の技術を扱うソフトウェアやハードウェアについて、開発元のメーカーがIPAの認定した試験機関に検証を依頼し、試験に合格すればIPAからJCMVP認証が与えられる。政府機関の調達では暗号関連製品について同認証を受けた製品から選定することが望ましいと規定されている。
対象となる主な暗号技術は、公開鍵暗号に基づくデジタル署名、共通鍵暗号(ブロック暗号/ストリーム暗号)、暗号学的ハッシュ関数、メッセージ認証、乱数生成器、鍵共有手順などで、暗号化ソフトや暗号ライブラリ、ハードウェアトークン、セキュリティチップなどの製品が対象となる。
試験の実施については関連する国際規格(ISO/IEC 19790やISO/IEC 24759など)および対応する国内JIS規格(JIS X 19790やJIS X 24759)に基づいて要件などが定められている。認定試験機関や合格した製品はIPAのWebサイトなどで公開されており、誰でも確認することができる。
PCI DSS 【Payment Card Industry Data Security Standard】
クレジットカード情報を安全に取り扱うために事業者に求められるセキュリティ基準を定めた規格の一つ。VISA、MasterCardなど国際的なクレジットカード大手の参加する業界団体が策定したもので、2004年12月に最初の規格が発行された。
カード発行会社(イシュアー)や加盟店管理会社(アクワイアラー)、加盟店、銀行、決済代行業者など、クレジットカード情報を取り扱うすべての事業者を対象としたもので、情報システムや情報管理についての詳細で具体的な要件を定めている。カード業界以外でもセキュリティ基準の標準として利用されることがある。
PCI DSSでは、「安全なネットワークの構築と維持」「カード会員データの保護」「脆弱性管理プログラムの整備」「強固なアクセス制御手法の導入」「ネットワークの定期的な監視およびテスト」「情報セキュリティポリシーの整備」の6つの目的のために12の要件を定めており、これらはさらに約200の具体的な項目に細分化されている。
米ビザ(VISA)、米マスターカード(MasterCard)、米ディスカバー(Discover)、米アメリカン・エクスプレス(American Express)、JCBの国際カードブランド大手5社が管理団体「PCI SSC」(Payment Card Industry Security Standards Council)を運営しており、基準の策定や改定、審査機関の認定などを行っている。
一般の加盟店など、取り扱うカード情報の規模が小さい事業者は、準拠すべき要件をチェックリスト形式でまとめた自己診断を行い、すべての項目を満たせば良い。カード発行会社など取り扱い規模が大きい事業者はQSA(Qualified Security Assessor)呼ばれる認定審査機関による訪問審査などが行われる。
CVSS 【Common Vulnerability Scoring System】
ソフトウェアや情報システムに発見された保安上の弱点(脆弱性)の深刻度を評価する手法の一つ。システムの種類や開発元の違い、評価者の違いなどよらず共通の尺度で深刻度を表すもので、3種類の指標を0.0から10.0までの得点で表す。
その脆弱性によってどこからどのような攻撃が可能か、どのような影響が起こりうるかなど、脆弱性自体の性質に基づいて評価される指標を「CVSS基本値」(base score)という。主に情報セキュリティの三要素(C.I.A.:機密性、完全性、可用性)に対する影響度合いを見積もる。
攻撃プログラムの入手性や、対応策や修正プログラムなどが利用可能か、脆弱性情報の信頼性など、その脆弱性の現在の状態によって評価される指標を「CVSS現状値」(temporal score)という。時間の経過と共に、攻撃手法の公開や対策の進展などによって変化する。
攻撃を受けた際の二次被害の可能性や影響を受ける対象の範囲、対象システムの機密性の要求度合いなど、脆弱性を取り巻く環境によって評価される指標を「CVSS環境値」(environmental score)という。対象システムの利用者が自らの環境における深刻度を評価するために用いるもので、利用者によって異なる。
これら3つ指標について、それぞれ数個ずつの評価項目と基準、値が定められている。例えば、基本値の評価項目の一つである「攻撃前の認証要否」は、「不要」(スコア0.704)、「一回必要」(0.56)、「二回以上必要」(0.45)のように配点が定められている。各項目について値を決定し、定められた算出式に代入することにより、各指標の値が決定される。
脆弱性診断 【セキュリティ診断】
稼働中の情報システムに保安上の弱点(セキュリティ脆弱性)が存在しないか調査すること。発見された脆弱性は危険性や緊急性などの評価を行った上で列挙し、対策に活用する。
コンピューシステムやネットワークを構成する機器やソフトウェアに潜在する、外部からのサイバー攻撃やマルウェア感染などに悪用できる保安上の欠陥を「脆弱性」(vulnerability)という。プログラムなどの誤り(バグ)だけでなく、望ましくない構成や設定なども含まれる。
脆弱性診断では、システムを構成するオペレーティングシステム(OS)やサーバソフトウェア、ミドルウェア、ライブラリ、ネットワーク上の通信機器などを洗い出し、それぞれのバージョンや設定、構成などを確認し、攻撃に利用できる脆弱性が含まれていないかを確かめる。
発見された脆弱性は、種類や利用可能な攻撃手法の詳細、危険性、緊急性などをCVSS(共通脆弱性評価システム)などの評価基準を参考にリスト化し、システム管理者に提供する。管理者はこれに基づいて対策計画を立て、ソフトウェアを最新版に更新したり設定を見直すなどして脆弱性を一つずつ潰していく。
よく似たシステムのセキュリティ評価手法に「ペネトレーションテスト」(penetration test/侵入テスト)があるが、これは攻撃者の立場で模擬的にシステムへの侵入や機密データの奪取といったサイバー攻撃を実践してみて、どのような攻撃が可能か検証する。脆弱性診断はツールなどを用いてシステムの構成要素を網羅的に調査するが、実際に侵入を試みるといった方法は用いない。
ペネトレーションテスト 【侵入テスト】
通信ネットワークで外部と接続されたコンピュータシステムの安全性を調査するテスト手法の一つで、既に知られている手法を用いて実際に侵入や攻撃を試みる方式。
実際に運用している、あるいはその予定のシステムに対し、専門の技術者が様々な手法を駆使してサイバー攻撃を実施し、攻撃の可否や想定される被害や影響の範囲や程度を調べる。結果はレポートなどの形にまとめて報告される。
対象のシステムの種類や構成、運用形態などによっても異なるが、ソフトウェアの保安上の弱点(脆弱性)や設定の不備などを利用して、外部からのアクセスにより乗っ取りやサービス停止、非公開の情報の取得などができるかどうかを調べる。
大量の接続要求などで処理性能や通信容量を使い切り稼働停止を狙うDoS攻撃(サービス拒否攻撃)にどれくらい耐えられるかを調べたり、侵入された際にそこを踏み台にして他のコンピュータや外部のネットワークを攻撃できるかなどを調べる場合もある。
コンピュータセキュリティ関連企業には専門のエンジニアによるペネトレーションテストを実施するサービスを提供しているところもある。特定の種類の機器やソフトウェアを対象にある程度自動的にテストと診断を行うことができるツールが公開されており、これを利用して社内の担当部門が実施する場合もある。
攻撃手法や脆弱性は新たに発見されることがあり、システムの状態や構成、要素の追加や入れ替えなどによっても安全性は変化することがあるため、一度のテストで安全と診断されても定期的あるいは状況が変化した際などに受け直すのが望ましいとされる。
耐タンパー性 【タンパーレジスタンス】
機器や装置、ソフトウェアなどが、外部から内部構造や記録されたデータなどを解析、読み取り、改竄されにくいようになっている状態。また、その度合いや強度。機密情報や暗号化処理などを取り扱うICチップなどが備えている。
外部からの観測や解析により暗号鍵などの機密情報や情報の処理過程、プログラムなどを抜き取ったり、動作に干渉してデータやプログラムを改竄されることを防ぐために様々な防護策が施される。このような非正規な手段による解析や干渉に耐えられる強さを耐タンパ性という。
耐タンパ性を高める手法は、外部から干渉されにくいよう守りを固める方法と、干渉を受けると内部が破壊され動作や読み取りが不可能になる方法の二種類に大別される。また、ソフトウェア上の処理によって対策を講じる論理的な手法と、ハードウェアの構造や仕組みによって対策する物理的な手法に分類することもある。
ICチップなどの場合、特殊なパッケージに封入して開けると内部が破壊される仕組みにしたり、空気や光を検知して自動的に内容が消去される半導体メモリを使用したり、消費電力や処理時間の変動を観測して動作を解析されることを防ぐためにこれらを一定に保つ仕組みを導入したりといった対策がよく知られる。
ソフトウェアの場合には、プログラムを暗号化して正規の実行時のみ復号して実行するような仕組みにしたり、リバースエンジニアリングで動作を解析されにくいようプログラムを難読化したり、ハッシュ値などを利用した改竄検知の仕組みを導入したりといった手法が知られる。
ソーシャルエンジニアリング 【ソーシャルハッキング】
コンピュータシステムにアクセスするために必要な情報(パスワードなど)やその手がかりを、それを知る本人や周辺者への接触や接近を通じて盗み取る手法の総称。
コンピュータウイルスや通信の盗聴のような情報システムに直接介入する攻撃手法を用いず、物理的に本人の周辺に近づいて、人間の行動や心理に生じる隙を利用して重要な情報を得る手法を指す。
例えば、本人が端末にパスワードや暗証番号を入力しているところに近づいて、背後から肩越しに入力内容を盗み見る「ショルダーハック」(shoulder surfing)がよく知られる。
他にも、本人が席を外した隙にメモや付箋を盗み見たり、ゴミとして捨てられた書類などを盗んだり、身分を詐称して電話をかけて情報を聞き出すといった手法が知られている。情報の盗み取りだけでなく、本人にしかできない手続きを本人になりすまして行わせる手法も含む場合がある。
また、架空請求詐欺やフィッシングのように、虚偽の発信元や内容を記した電子メールやショートメッセージなどで受信者を騙し、ウイルス感染や偽サイトへの誘導、金銭の詐取など狙う手法も、電子的な手段を用いているがソーシャルエンジニアリングの一種に分類される場合もある。
レッドチーム演習
企業などがサイバー攻撃に対処するための演習形式の一つで、実際に専門家集団が攻撃者として様々な攻撃手法を模擬的に実践する手法。
外部のサイバーセキュリティサービス企業などと契約し、実際に攻撃者が用いる手法を動員して自社を標的とするサイバー攻撃を仕掛けてもらう。自社の従業員や業務部門、情報セキュリティ部門、情報システム、ネットワークなどの対処能力を実地で検証する。
実践的な対処能力を試す目的で行われるため、攻撃対象や手法の限定はせず、実際に攻撃者が用いるであろう様々な情報や手法を駆使する。ソフトウェアの脆弱性といったサイバー領域の問題に留まらず、ソーシャルエンジニアリングなどを用いた「人」を足掛かりとする手法、オフィスなど施設への侵入や設備への干渉といった「物理」的な手法などを用いる場合もある。
もともと軍の実戦(対戦)形式の演習で、攻撃側を「レッドチーム」、防衛側を「ブルーチーム」と呼んでいたことが名称の由来である。チェックリストや検査ツールなどを用いて主に既知の一般的な問題点を探索するペネトレーションテストとは異なり、APT攻撃のような特定の標的に特化した高度な攻撃に対処する能力を試すことができる。
NDA 【Non-Disclosure Agreement】
取引や交渉に際して相手方から一般に公開されていない秘密の情報を入手した場合、それを公開したり第三者に渡したりしないことを求める契約(書)。一方の当事者が相手方に求める場合と、双方が互いに求める場合がある。
相手方とまだ具体的な取引契約などを結んでいない段階で、交渉などのために秘密の情報を提供・開示する必要がある場合、何の縛りも無ければ相手方から世間や第三者に情報が漏洩するリスクがある。これを回避するため、秘密を守ることに限定して結ばれる契約が秘密保持契約である。
具体的な契約内容は双方の合意によって決められるが、すでに公知の情報や、秘密を当事者以外から別に入手した場合を除外する規定が定められることが多い。また、顧問弁護士のように交渉や取引に密接に関わる必要のある第三者への開示や、公的機関などから法律に則って開示を求められた場合なども除外されることが多い。
法律や制度で規定された守秘義務とは異なり、あくまで相手方との民事上の契約であるため、違反が発覚した場合には相手方へ差し止めや損害賠償を請求し、折り合わなければ民事訴訟で決着をつける形となる。秘密保持契約違反それ自体に刑事上あるいは行政上の刑罰が与えられることはないが、違反の内容に法律違反が含まれればそれについて裁かれることはありうる。
アンチウイルスソフト 【ウイルス対策ソフト】
コンピュータ内部に忍び込んだコンピュータウイルスを検知、除去するソフトウェア。狭義のウイルスに限らず、スパイウェアやトロイの木馬などマルウェア全般を対象とするシステムが一般的である。
コンピュータの外部記憶装置(ストレージ)に保存された実行可能ファイルなどの一部として感染したウイルスや、メモリ上で実行されているウイルスを探し出し、機能を停止して取り除く。感染したファイルからはウイルス部分の除去を試み、成功すれば感染前の正常な状態に戻すが、除去が不可能な場合は感染が広まらないよう隔離する。
トロイの木馬、ワーム、スパイウェアなどウイルス以外の悪意のあるソフトウェア(マルウェア)を検知、除去する機能や、外部との通信やソフトウェアの実行状況を監視するなどしてウイルスの侵入、感染を直前に察知して防御、遮断する機能を持ったものもある。
ウイルス検知手法
マルウェア対策ソフトがウイルスを検知する手法には大きく分けて二つの手法がある。一つはパターンマッチング法で、これまでに発見されたウイルスについて、そのプログラムコードの特徴的な一部を採取、登録したデータベース(パターンファイル、ウイルス定義ファイルなどと呼ばれる)を用意する。
これに該当するパターンが含まれていないか、実行ファイルなどをしらみつぶしに調べていく手法である。パターンファイルはインターネットなどを通じてメーカーから定期的に最新のものが送られてきて更新されるようになっている製品が多い。
もう一つはヒューリスティック法で、一般的なプログラムではありえないようなウイルスに特徴的な異常な挙動(重要なシステムファイルを書き換えようとする等)の有無を調べる。一部の特殊なシステムファイルなどをウイルスと誤認することもあるが、パターンマッチング法の苦手な未知のウイルスや、既存のウイルスの一部が改変された亜種などにも対応できる。
提供形態・動作形態
一般によく利用されるのは、パソコンにアプリケーションとして導入され、そのパソコンに保存されたデータを監視するソフトウェアだが、近年では総合的なセキュリティソフトの機能の一部として統合されて提供されることが多い。
サーバ上で動作してネットワークを通じて送受信するデータを監視するシステムもある。中継機器上でネットワーク内外を通過するデータを対象に監視やウイルス除去を行うのに特化した製品は「アンチウイルスゲートウェイ」と呼ばれる。
ウイルス定義ファイル 【パターンファイル】
既知のコンピュータウイルスに特有・固有のデータ出現パターンを登録したデータファイル。アンチウイルスソフト(ワクチンソフト、ウイルス対策ソフト)がコンピュータに保存されたファイルからウイルスを検出するのに使用する。
マルウェア定義ファイルにはウイルスのプログラムコードの一部分を抽出したデータなど、ウイルスに特有のパターンが大量に登録されており、検査対象のファイルと照合してパターンが一致すると、そのファイルは感染しているとみなされる。
稀に、正常なファイル中に偶然ウイルスのパターンに一致する箇所があり、誤って感染を検知することもある。(狭義の)ウイルス以外にもワームやトロイの木馬、スパイウェアなど各種のマルウェア(悪意のあるソフトウェア)のパターンが登録されていることもある。
マルウェア定義ファイルはアンチウイルスソフトによりデータ形式や登録されているウイルスの種類などが異なり、それぞれ専用のものが必要となる。次々に現れる新種や既存のウイルスの亜種に対応するため、各メーカーは定期的あるいは頻繁に追加・更新データを配布している。
アンチウイルスソフトはインターネットなどを通じてこれを自動的に取得・更新するようになっており、利用者は一定期間(1年程度)毎にメーカーに料金を支払い、最新データを入手する権利を取得・更新する仕組みになっていることが多い。
シグネチャコード (signature code)
コンピュータプログラムの識別・同定を行なうための断片的なプログラムコードを「シグネチャコード」(signature code)という。コンピュータのストレージやメインメモリに紛れ込んだコンピュータウイルスなどの検知・識別に用いられる。
既存のプログラムの短い断片で、そのプログラムに固有であるか、何らかの特徴的なパターンを持つ部分が選ばれる。マルウェア定義ファイルには過去に発見されたウイルスなどのマルウェアのシグネチャコードが大量に登録されており、メモリやファイルの内容と照合することで、潜んでいるマルウェアを検知することができる。
多くのウイルス対策ソフトは、開発元が新たに発見したウイルスなどのシグネチャコードをインターネットなどを通じて取得して定義ファイルを更新し、新しいマルウェアに対応できるようになっている。
3-2-1ルール
データをバックアップする際に推奨される運用ルールの一つ。3つの複製を用意し、2つの異なる媒体に保存し、1つは地理的に離れた場所に保存する。
組織がデータをバックアップする仕組みを作る際の指針で、データは本体と2つの複製の3つを常に用意しておき、これを物理的に2つ以上の装置や媒体に分けて保存する。1つは他の2つと地理的に離れた場所(オフサイト)にある設備に保管する。
複製が3つあることで、2つを喪失しても残りの1つから復旧できる可能性が高まる。複数の媒体に分けて保管することで、媒体が物理的に破損しても別の媒体にデータが残る。地理的に離れた場所にも複製を置くことで、施設が丸ごと被災する災害やサイバー攻撃などにも対処できる。
2009年に米写真家のピーター・クロー(Peter Krogh)氏が著書 “The DAM Book - Digital Asset Management for Photographers” (写真家のためのデジタル資産管理)で提唱したのが初出とされ、米国政府やUS-CERTなどのセキュリティ機関が推奨したことで広まった。現代では「別の媒体」「離れた場所」はクラウドサービスにより満たすことができる。
ワーム 【コンピュータワーム】
有害な動作を行うソフトウェアの一種で、インターネットなどを通じてコンピュータに侵入し、さらに他のコンピュータへの自身の複製を試みるもの。
ソフトウェアの保安上の弱点(脆弱性)や利用者の誤認などを悪用してコンピュータ内に自身を複製して感染する。自己増殖機能を有し、自身が感染した経路や手段を繰り返し用いて次々に他のコンピュータへの感染を試みる。
“worm” の原義はミミズや芋虫のような線形の虫や動物のこと。世間一般にはコンピュータウイルスの一種とみなされるが、一般的なウイルスと異なり宿主・寄生先となる他のソフトウェアやファイルがなく単体で侵入・活動するため、専門的な分類ではウイルスとは区別されることが多い。
主な感染経路
感染経路として最も一般的なのは電子メールの添付ファイルを悪用したもので、何か有用なファイルが添付されているように偽装したメールを無差別に大量送信し、受信者がWORMと気付かず添付ファイルを開いてしまうと実行ファイルが起動して感染するというものである。
他に、WebサーバやWebブラウザの脆弱性を利用してWebページの閲覧などを介して感染するものや、ファイル共有やUSBメモリなどを介して感染するものがよく知られる。
感染後の活動
感染したコンピュータで自身が起動時に自動的に実行されるようシステム設定を改竄することが多く、利用者が気付かないうちに常時稼働状態となって他のコンピュータへの感染などの動作を繰り返し行う。
感染したシステムに対する有害な動作として、ストレージ(外部記憶装置)内のファイルなどの外部への漏洩や改竄、削除、システムを破壊し起動不能にするといった活動を行う場合がある。
また、外部の他のコンピュータへの攻撃・妨害活動を自動的に行ったり、外部の攻撃者がインターネットを通じて遠隔から操作できる窓口(バックドア)を設置することもある。WORMを介して特定の攻撃者からの指令を受け、一斉に攻撃などを行うよう組織されたコンピュータ群を「ボットネット」(botnet)という。
ウイルススキャン 【ウイルスチェック】
コンピュータのストレージ(外部記憶装置)に保存されたファイルの一部としてコンピュータウイルスが潜んでいないか検査すること。トロイの木馬など他のマルウェアも対象とすることが多い。
ハードディスクやSSD、光学ディスク、USBメモリなど、記録メディアに保管されたファイルを順番に読み込んで、ウイルスなどの不正なソフトウェアに感染していないか調べる。
正規版(製品版)のアンチウイルスソフトなどは検知されたウイルスを駆除して感染前の状態に戻す機能を持つことが多いが、体験版や無償のオンラインサービスなどでは検査だけを行い、駆除は行わないものもある。
パターンマッチング法
ウイルスの検知手法として最も一般的な方式で、既知のウイルスに含まれる特異的なコード断片などのパターンを大量に記録しておき、検査対象のファイルに一致するものがないかを調べる方式である。
識別用のデータはパターンファイル(ウイルス定義ファイル)として開発元から提供され、新種が発見されるたびに自動的にオンラインで更新されるようになっていることが多い。
過去に発見されたウイルスはほぼ完全に捕捉でき、誤検知が少ない一方、広まり始めたばかりの新種や、既存のウイルスの一部を改変してパターンに一致しなくなった亜種、感染時に毎回自らを書き換えるポリモーフィック型ウイルスには弱い。
ヒューリスティック検知
コードの並びそのものを調べるのではなく、ウイルスに特徴的なプログラムの振る舞いを検知する方式をヒューリスティック検知(heuristic scan)という。
通常のプログラムはあまり行わないが、多くのウイルスが共通して行う挙動があり、そうした挙動が同じ実行ファイルにいくつも見られるような場合にはその部分にウイルス感染が疑われる。
パターンマッチングでは検知が難しい未知のウイルスや亜種にも対応できるが、システム設定を書き換えるプログラムなどをウイルスであると誤判定することもある。
挙動の確認方法の違いにより、プログラムファイルのコードを読み込んで既知の不審なパターンに一致するか調べる「静的ヒューリスティック法」(単にヒューリスティック法といえばこちらを指す)と、仮想環境などを用意して実際にプログラムを実行してみる「動的ヒューリスティック法」(ビヘイビア法)がある。
ビヘイビア法 【振る舞い検知】
アンチウイルスソフトなどがウイルスの存在を検知する手法の一つで、実行中のプログラムの振る舞い(behavior)を監視して、不審な処理が行われていないかを調べる方式。
プログラムの挙動に着目する「ヒューリスティック検知」の一種で、実際にプログラムを実行してみるため「動的ヒューリスティック法」(ダイナミックヒューリスティック法)とも呼ばれる。
実際のシステム環境から隔離された仮想的な実行環境(サンドボックス)を用意してプログラムを実行し、異常な行動を起こさないか調べる方式と、実際の環境で実行されているプログラムを監視して異常な行動が観測されたら即座に実行を打ち切る方式がある。
既知のウイルスに含まれる特徴的なコード断片が含まれていないかを調べる「パターンマッチング法」では検知できない新種のウイルスや既存ウイルスの一部が改変された亜種、静的ヒューリスティック法での検知が難しいミューテーション型(ポリモーフィック型)などにも対応することができる。
ヒューリスティック検知 【ヒューリスティックスキャン】
アンチウイルスソフトなどがコンピュータ内に潜むウイルスなどを探索する手法の一つで、ウイルスに特徴的な挙動がないか調べる方式。未知のウイルスや亜種にも対応できる。
従来一般的な探索手法はパターンマッチング法で、既知のウイルスプログラムに含まれる特徴的なコード断片(シグネチャコード)をウイルス定義ファイルに登録し、コンピュータ内のファイルを順に読み込んで一致するパターンが含まれるかを調べるものであった。
一方、ヒューリスティック法では、これまでに知られるウイルスなどの動作を解析し、感染や破壊などのために行われる、(ウイルス以外の)通常のプログラムがあまり行わない特徴的な処理のパターンを見出す。コンピュータ内の実行ファイルを分析して同じ動作パターンが含まれれば、高い確率でウイルスであることが疑われる。
これにより、ウイルス定義ファイルに登録されていない未知のウイルスや、パターンマッチングで検知されないよう一部を書き換えた既存ウイルスの亜種なども検知することができる。ただし、システム設定を改変する動作を含むソフトウェアなどをウイルスであると誤判定してしまう場合もある。
動作の確認手法の違いにより、プログラムファイルを読み込んでコードの内容がパターンに一致するかどうかを調べる静的ヒューリスティック法と、実際のコンピュータ環境に影響を及ぼさない仮想的な実行環境で起動してみて挙動を調べる動的ヒューリスティック法(ビヘイビア法/振る舞い検知)の二種類がある。前者の方が高速に処理できるが、後者を用いると前者では検知が難しいミューテーション型(ポリモーフィック型)ウイルスにも対応することができる。
アクセス制御 【アクセスコントロール】
情報システムが利用者などを識別して、あらかじめ設定された権限に基づいて対象への接触や操作を許可あるいは禁止する仕組み。
何らかの主体(人間や機器、ソフトウェアなど)が、システムの管理下にある対象(装置や回線、データ、プログラム、ファイルなど)に対して、どのような操作が許されているかを登録・管理し、権限外の操作を実行しようとした時にはこれを拒否する。
例えば、ファイルシステムによるアクセス制御であれば、各ユーザーアカウントやユーザーのグループに対して、ファイルやディレクトリに対する読み込み、書き込み、削除、プログラムファイルの実行といった権限を付与し、操作主体と権限を確認して許可や拒否を行う。
認証・認可・監査
アクセス制御は「認証」(authentication)、「認可」(aurhorization)、「監査」(audit)といったプロセスから成る。認証は主体を識別して本物であることを確認するプロセスで、利用者にアカウント名を入力させ、パスワードなどの確認手段で本院であることを確かめる活動などが該当する。
認可は権限に基づいて操作の可否を判断するプロセスで、アカウント情報や管理者の定義したポリシー設定、アクセス制御リスト(ACL)などを参照して対象者の資格や権限を確認し、対象者が行おうとしている操作を許可したり拒絶したりする。
監査は、認証や認可、および利用主体による対象へのアクセスの履歴(ログ)を記録・蓄積し、後から「いつ誰が何を試みて結果がどうなったか」を管理者が追跡できるようにするプロセスである。システムやデータの安全を脅かす不審な試みや、不正な行為による被害などを確かめることができるようにする。
モデル
アクセス制御を適用する手法にはいくつかの典型的なモデルがあり、実際のシステムはモデルに基づいてアクセス制御の仕組みを実装している。
古くからありよく知られるのは、操作対象(オブジェクト)の所有者がアクセス許可の指定を行う「任意アクセス制御」(DAC:Discretionary Access Control)で、一般的なオペレーティングシステム(OS)のセキュリティ機能などで採用されている。
これに対して、「強制アクセス制御」(MAC:Mandatory Access Control)は管理者およびシステムが権限を設定し、所有者と言えどこれを変更できない仕組みである。軍用システムなど高度なセキュリティが要求される一部のシステムで実装されている。
他にも、利用者の役割(ロール)ごとに権限を設定する「ロールベースアクセス制御」(RBAC:Role-Based Access Control)や、利用者や操作対象の持つ様々な属性情報を収集し、どの属性のユーザーがどの環境でどの対象にアクセス可能かといった設定を記述していく「属性ベースアクセス制御」(ABAC:Attribute-Based Access Control)などの手法も提唱されている。
セキュリティパッチ
ソフトウェアに保安上の弱点(脆弱性)が発見された際に利用者に配布される修正プログラム。現代ではインターネットを通じて配信するのが一般的となっている。
ソフトウェアには公開・出荷後に問題が見つかる場合があり、本来できないはずの操作が可能になるなど、外部の攻撃者やマルウェア(悪意のあるプログラム)が悪用すると安全が脅かされるものもある。
セキュリティパッチはそのような脆弱性の含まれるプログラムファイルや設定ファイルなどを上書きし、問題が修正された最新版に置き換える。同時期に複数の問題が見つかった場合は、それらを同時に置き換えるプログラムが発行される場合もある。
パッチの適用
問題の深刻さや悪用のしやすさ、利用者側での使用環境などにもよるが、公表された脆弱性はそれを応用した攻撃に晒されやすくなるため、セキュリティパッチの配布が開始されたら速やかに入手して適用すべきであるとされる。
パッチの適用によって仕様や設定などが変わり、ソフトウェアが今まで通りに動作しなくなったり、稀にパッチが別の問題を引き起こすこともあるため、法人ユーザーなどではシステム管理部門が自社システムで正しく動作するか検証してから各機器へ配信を開始するいった対応を行うことが多い。
提供方式
一般消費者の利用するオペレーティングシステム(OS)製品では、利用者が必ずしもコンピュータに詳しくないため、開発元の運用するサーバコンピュータから自動的に修正プログラムを入手して適用する仕組みが設けられていることが多い。Windowsを修正する「Windows Update」などがよく知られる。
有名で利用者の多い製品や大規模なソフトウェアでは、さほど深刻ではない細かい問題点が頻繁に見つかることがあるため、更新プログラムを月に一度など定期的に配布し、前回の配布以降に見つかった問題をまとめて修正するようになっている場合もある。
SBOM 【Software Bill of Materials】
ソフトウェアがどのような構成要素(モジュール、ライブラリなど)から成り立っているかを一覧できるリスト。製造業の部品表(BOM:Bill Of Materials)をソフトウェアに適用したもの。
企業などが用いる大規模なソフトウェアは独自開発のソースコード群のみで成り立っているとは限らず、外部のモジュール、パッケージ、コンポーネント、ライブラリなどを組み合わせて構成されることが増えている。
これらは企業などが販売する有償の製品、オープンソースソフトウェアなどが混在し、それぞれ固有の使用・配布条件(ライセンス)を課していたり、さらに外部の別のモジュールなどの存在に依存しており、必ず一緒に導入しなければならないなど個別の事情がある。
ソフトウェアの開発や更新の際にこのような構成部品となるソフトウェア群の情報を専用のデータベースなどに記録し、開発元、バージョン、ライセンス、依存関係などを後から簡単に一覧、参照できるようにするのがSBOMの考え方である。
近年では広く普及したオープンソースのライブラリなどに深刻なゼロデイ脆弱性が発見されたり、悪意のあるコードの混入や差し替えなどの事象が発生した際に、企業や官公庁が自らの情報システムに含まれるかどうかを即座に判断できず対応が遅れる事例が報告されており、SBOM整備の必要性が叫ばれている。
IDS 【Intrusion Detection System】
サーバやネットワークの外部との通信を監視し、攻撃や侵入の試みなど不正なアクセスを検知して管理者に画面通知やメールなどで通報するシステム。
防御の対象により、ネットワーク全体を一括して監視する「ネットワーク型侵入検知」(NIDS:Network-based 侵入検知)と、一台の機器を監視する「ホスト型侵入検知」(HIDS:Host-based 侵入検知)に大別される。
検知・通報に留まらず、アクセスを遮断する等の防御措置を取る機能を持ったシステムのことは「IPS」(Intrusion Prevention System:侵入防止システム)という。
ネットワーク型IDS (NIDS:Network-based IDS)
NIDSはネットワークを流れる通信をリアルタイムに監視し、不正の兆しのある通信を発見すると記録をとって管理者に知らせる。
必ずしもネットワーク境界に設置する必要はなく、プロミスキャスモード(ステルスモード)と呼ばれる特殊な通信モードでネットワーク上のすべての通信を捕捉するようになっている製品が多い。
汎用のサーバ機で動作するソフトウェアとして実装された製品と、専用の通信機器(アプライアンス)として提供される製品がある。HIDSのように対象の個々のコンピュータにソフトウェアの導入や設定などを行う必要がなく、ネットワーク上のすべての機器に対する攻撃を一台でまとめて監視できる。
ホスト型IDS (HIDS:Host-based IDS)
HIDSはサーバに常駐して動作するソフトウェアで、そのサーバと他の機器との通信を監視して、攻撃の徴候とみなされるアクセスを検知するとサーバの管理者に知らせる。
外部からそのコンピュータへアクセスするための通信内容を取得・解析し、異常がないかを監視する。通信経路上でデータが暗号化されたアクセスも検知でき、不正アクセス等によってコンピュータ内部で生じた異常も監視することができる。
ソフトウェアの動作状況などをOSレベルで詳細に解析することができ、ネットワーク型では検知が難しい攻撃にも対処できる場合がある。ただし、HIDSが動作しているコンピュータしか監視できず、コンピュータごとに個別に導入・設定が必要となる。
シグネチャ検知とアノマリ検知
不正な通信の検知手法には主に二つの方式がある。「シグネチャ検知」(不正検出)と呼ばれる方式は、既知の攻撃手法について特徴的なパターンを登録したデータベースを用意し、パターンに一致するデータを含むパケットが見つかると攻撃の徴候として検出する。誤検知の可能性は低いが未知の手法による攻撃は見過ごしてしまう場合もある。
もう一つは「アノマリ検知」(異常検出)と呼ばれる方式で、普段とは大きく異なる事態や通常はありえない行動などを検知する手法である。いつもと異なる使い方などをすると攻撃と誤認識してしまうこともあるが、未知の手法による攻撃にもある程度対応できる長所がある。
侵入検知サービス (intrusion detection service)
ネットワークやサーバを監視し、外部から不正アクセスがあると管理者に通知してくれるサービスを侵入検知サービスという。
設定された条件に従って単純にパケットを選別するファイアウォールとは違って、ネットワークを通過するパケットをリアルタイムに監視し、ポートスキャンやセキュリティホールに対する攻撃、ブルートフォースなどパスワードに対する攻撃などを検知すると管理者に報告する。侵入検知サービス自体は不正アクセスを防御するわけではないが、不正アクセスや未遂の記録をとることによって効率的にネットワークのセキュリティを強化することが可能になる。
IPS 【Intrusion Prevention System】
サーバやネットワークの外部との通信を監視し、侵入の試みなど不正なアクセスを検知して攻撃を未然に防ぐシステム。一定の基準に基づいて不正な通信を検知したら、相手方との通信を遮断して管理者に知らせる。
防御の対象によって、複数の機器で構成されるネットワークを保護する「ネットワーク型侵入防止」(NIPS:Network-based 侵入防止)と、外部に公開しているサーバなど特定の一台の機器を保護する「ホスト型侵入防止」(HIPS:Host-based 侵入防止)に大別される。
ネットワーク型IPS (NIPS)
NIPSはネットワーク境界などに設置され、内外の通信をリアルタイムに監視する。不正の兆しのある通信を発見すると記録をとって管理者に知らせ、当該アドレスからのアクセスを遮断するなどの防御措置を発動する。
ゲートウェイサーバなどの機能の一つとして侵入防止の役割を持たせる場合と、専用の通信機器(アプライアンス)を用いる場合がある。対象の個々のコンピュータにソフトウェアの導入や設定の変更などを行う必要がなく、ネットワーク上のすべてのコンピュータに対する攻撃を一台でまとめて監視できる。
ホスト型IPS (HIPS)
HIPSはサーバに常駐して動作するソフトウェアで、そのサーバと別のコンピュータの通信を監視する。NIPSと同じように攻撃を検知すると通信を遮断するなどの措置を取り、通信記録の保全や管理者へ通報などを行う。
ソフトウェアの脆弱性や異常動作を悪用した攻撃をOSレベルで防いだり、一般利用者のアカウントによる管理者権限の取得を禁止したり、アクセスログの改竄を防いだりといった、ネットワーク型では難しい機能も提供する。HIPSが動作しているコンピュータに対する攻撃しか対処できないため、コンピュータごとに個別に導入・設定を行う必要がある。
検知手法
不正な通信の検知手法には主に二つの方式がある。「シグネチャ検知」(不正検出)と呼ばれる方式は、既知の攻撃手法について特徴的なパターンを登録したデータベースを用意し、パターンに一致するデータを含むパケットが見つかると攻撃の徴候として検出する手法である。誤検知の可能性は低いが未知の手法による攻撃は見過ごしてしまう場合もある。
もう一つは「アノマリ検知」(異常検出)と呼ばれる方式で、普段とは大きく異なる事態や通常はありえない行動などを検知する手法である。いつもと異なる使い方などをすると攻撃と誤認識してしまうこともあるが、未知の手法による攻撃にもある程度対応できる長所がある。
IDSとの違い
侵入防止は不正な通信の遮断など防御のための操作を行うが、防御は行わずに通信を監視して異常を検知すると管理者に知らせるシステムのことは「IDS」(Intrusion Detection System:侵入検知システム)という。両者を合わせて「IDS/IPS」「IDPS」(Intrusion Detection and Prevention System)のように総称することもある。
DMZ 【DeMilitarized Zone】
インターネットなどに接続されたネットワークで、ファイアウォールなどの機器を用いて外部と内部の両ネットワークの中間に設けられたネットワーク領域のこと。もとは軍事用語で、紛争地域の軍事境界線付近に設定された軍事活動の禁じられた地域のことを指す。
内部ネットワークの一部を分離して外部からファイアウォールを通して接続可能にした領域で、外部からのアクセスを受け付ける必要があるWebサーバやDNSサーバ、メールサーバなどを運用するために設定されることが多い。DMZよりも内側へは外部から接続を確立することはできない。
DMZと内部側、外部側の両方のネットワーク境界にファイアウォールなどの通信管理のための機器が設置されており、DMZ内の機器には内外の両方からアクセス可能な一方、DMZ内から内部ネットワークに向けて接続を試みることはできないよう設定される。これにより、外部からの攻撃によりDMZ内のサーバなどが乗っ取りやマルウェア感染などの被害に遭っても、そこを踏み台に内部ネットワークの機器へ被害が拡大することを防ぐことができる。
外部側と内部側、両境界のファイアウォールにそれぞれ別の機器を用いる構成と、単一のファイアウォールを結節点として外部・DMZ・内部の3つを分離する構成がある。また、DMZの奥にさらにファイアウォールで仕切られた領域を設け、手前のDMZ内からの接続しか受け付けない(外部から直接接続できない)よう設定し、バックエンド処理を担当するサーバなどを設置する場合もある。
一方、内部ネットワークのうちファイアウォールなどによって保護されておらず、むき出しの状態で外部に接続されている領域は「バリアセグメント」という。外部からの通信回線を直接接続するルータやネットワークスイッチなどが置かれるが、ここに公開サーバなどを置く場合もある。
簡易DMZ
なお、家庭向けのブロードバンドルータ(ホームルータ)などの製品の中には、内部ネットワーク側の特定の一台に外部からの接続要求を取り次ぐ機能を「簡易DMZ」「DMZホスト」などの名称で提供している場合がある。
本来は外部側から接続を確立できないプライベートネットワーク上の特定のコンピュータの特定のポート番号に外部から接続できるようにする機能で、サーバを運用したり外部側からの接続が必要なオンラインゲームなどを利用するのに必要となる。
外部から接続可能な領域を作り出すという意味ではDMZに似ていなくもないが、接続を許可したコンピュータと他の内部側の機器は隔離されていないため、セキュリティ上はDMZとしての役割を果たすことはできない。
検疫ネットワーク
外部から持ち込んだパソコンや携帯情報端末などを接続し、ウイルスなどに感染していないか検査する、他から隔離されたネットワーク領域。
コンピュータウイルスなどの中には、ネットワークに接続するとすぐに別のコンピュータへの侵入や感染を試みるものがあるため、社内の業務用のネットワークから隔離された検疫ネットワークに一旦接続し、不審な点がないか検査する。
既知のマルウェア感染の有無や、ウイルス対策ソフトやオペレーティングシステム(OS)が最新の状態になっているか、社内規定に違反する不審なソフトウェアが入っていないかといった点を調べる。
検査で問題が見つからなければ社内ネットワークへのアクセスが許可され、他の端末やサーバなどと通信が可能になる。問題が発見されると専門のサーバがソフトウェアのアップデートなど「治療」を行い、問題が解消されれば接続が許可される。
対象の隔離にはいくつかの方式があるが、ネットワークスイッチが検疫ネットワークと通常ネットワークにVLANを設定して分離し、問題が無い端末に通常側のVLANへの接続を許可する認証スイッチ方式がよく用いられる。他にゲートウェイ方式やDHCP認証方式、パーソナルファイアウォール方式が知られる。
コンテンツフィルタリング
インターネットを通じて端末に流入する情報を監視し、あらかじめ設定された条件に合致したものを排除・遮断する技術。主にWebページの内容に基づいて閲覧の可否を判定する仕組みを指す。
ネットワークやコンピュータの管理者が利用者にとって望ましくないWebコンテンツやサービスを排除するために用いるもので、利用者が直接操作する端末などに設定される場合と、ネットワークの出入口にある通信機器など(ルータやファイアウォール、プロキシサーバなど)で一括して行われる場合がある。
前者は保護者が子どもにパソコンなどを使わせる際に不適切なサイトへアクセスしないよう制限するために実施されることが多く、後者は企業などで従業員が業務と無関係なサイトを閲覧したり、ウイルス感染や情報漏洩することを防ぐために実施することが多い。
主な実装方式として、実際に送られてくるデータをリアルタイムに監視し、特定の語句が含まれていないかなどを基準に制限を行う「動的コンテンツフィルタリング」と、接続しようとしているサイトのアドレス(URL/URI)を元に制限を行う「URLフィルタリング」がある。
URLに基いて判断する方式には、接続可能なURLを列挙し、それ以外への接続を遮断するホワイトリスト方式と、遮断するURLを列挙し、それ以外への接続を許可するブラックリスト方式がある。
コンテンツフィルタリング
インターネットを通じて端末に流入する情報を監視し、あらかじめ設定された条件に合致したものを排除・遮断する技術。主にWebページの内容に基づいて閲覧の可否を判定する仕組みを指す。
ネットワークやコンピュータの管理者が利用者にとって望ましくないWebコンテンツやサービスを排除するために用いるもので、利用者が直接操作する端末などに設定される場合と、ネットワークの出入口にある通信機器など(ルータやファイアウォール、プロキシサーバなど)で一括して行われる場合がある。
前者は保護者が子どもにパソコンなどを使わせる際に不適切なサイトへアクセスしないよう制限するために実施されることが多く、後者は企業などで従業員が業務と無関係なサイトを閲覧したり、ウイルス感染や情報漏洩することを防ぐために実施することが多い。
主な実装方式として、実際に送られてくるデータをリアルタイムに監視し、特定の語句が含まれていないかなどを基準に制限を行う「動的コンテンツフィルタリング」と、接続しようとしているサイトのアドレス(URL/URI)を元に制限を行う「URLフィルタリング」がある。
URLに基いて判断する方式には、接続可能なURLを列挙し、それ以外への接続を遮断するホワイトリスト方式と、遮断するURLを列挙し、それ以外への接続を許可するブラックリスト方式がある。
電子透かし 【デジタルウォーターマーク】
画像や動画、音声などのデータに、関連する情報を人には知覚できない形で埋め込む技術のこと。専用のソフトウェアなどを用いることで埋め込まれた情報を検出することができる。
一見何も描かれていないように見える部分から光の加減で像が浮き上がる「透かし」技術は紙幣の偽造防止などのために使われているが、電子透かしはこれと同じように人間にはほとんど分からない形でメディアデータ中に情報を埋め込むことができる。
静止画や映像、音声への埋め込み技術がよく知られ、データの編集や切り取り、再圧縮、再符号化などによって失われないよう偏在させる手法が提案されている。また、文字(テキスト)情報やコンピュータプログラム、印刷物へ埋め込む技術も研究されている。
著作権の保護や不正コピーの検知のために用いられることが多く、その場合は著作権者やロゴ、使用許諾先、コピーの可否や回数、コンテンツのID、課金情報などが埋め込まれる。著作権関連の用途以外にも、画像にWebサイトのURLを埋め込んで閲覧者を誘導するサービスやシステムなどが開発されている。
電子透かしの元になった技術で、メディアデータなどの中に情報を人間に知覚できないように埋め込む技術を「ステガノグラフィ」(steganography)という。これは暗号のように情報を秘匿して伝達するための技術で、埋め込まれる画像などと伝達する内容には必ずしも関連がない。
デジタルフォレンジック 【コンピュータフォレンジック】
犯罪捜査や法的紛争などで、コンピュータなどの電子機器に残る記録を収集・分析し、その法的な証拠性を明らかにする手段や技術の総称。デジタル版の鑑識活動。
“forensics” には「法医学」「科学捜査」「鑑識」といった意味があり、分かりやすく意訳すれば「デジタル鑑識」となる。事件の関係先の機器を押収して記憶装置から証拠となるデータを抽出したり、サーバや通信機器などに蓄積された通信記録から違法行為の証拠となる活動記録を割り出したり、破壊・消去された記憶装置を復元して証拠となるデータを割り出すといった技術や活動が該当する。
対象となるのはパソコンや周辺機器、記憶媒体、ネットワーク機器、スマートフォン、タブレット端末、情報家電などデジタルデータを扱う機器全般で、契約先や関係先のネットサービス上のサーバに記録されたデータなどが対象となる場合もある。
また、コピーや消去、改ざんが容易であるというデジタルデータの性質に対応して、データが捏造されたものかどうかを検証する技術や、記録の段階でデータが改ざんできないよう工夫したり、ハッシュ値やデジタル署名などで同一性を保全する技術なども含まれる。
不正アクセスや機密情報漏洩など、コンピュータや通信ネットワークに直接関係する犯罪における捜査手法として注目されたが、社会へのITの普及・浸透に伴って、SNSやメッセンジャー、スマートフォンなどが関係する一般の刑事事件でも捜査や立証に活用されるようになってきている。
SIEM 【Security Information and Event Management】
セキュリティソフトの一つで、様々な機器やソフトウェアの動作状況の記録(ログ)を一元的に蓄積・管理し、保安上の脅威となる事象をいち早く検知・分析するもの。
企業などの情報システムを構成する様々なサーバやネットワーク機器、セキュリティ機器などからリアルタイムにログを取得し、外部からの侵入の試みやマルウェアの感染、機密情報の流出などが疑われる状況を察知して管理者に知らせる。
情報収集の対象となる機器はルータやスイッチ、無線アクセスポイントなどのネットワーク機器、Webサーバやメールサーバ、プロキシサーバなど各種サーバ、ファイアウォールやIDS/IPS、アンチウイルスゲートウェイなどのセキュリティ機器で、これらの上で動作するソフトウェアも対象となる。
単体の機器の記録だけでは気付かない異状を複数の機器の記録を突き合わせて割り出したり、一回一回は正常な操作やアクセスの記録を時系列に並べることで不審な試みが行われていることを把握し、管理者に警告を発するといった動作も可能である。
過去に起きた事象について記録を解析して原因や被害状況を調べたり、被害や手口の証拠を得るのに用いることもあるが、今起きている事象を即座に把握して被害の拡大を抑えることが主な役割となる。企業などが自社のシステムで運用するだけでなく、セキュリティサービス企業が顧客のシステム監視に用いる場合もある。
ファイアウォール
ネットワークの境界などに設置され、内外の通信を中継・監視し、外部の攻撃から内部を保護するためのソフトウェアや機器、システムなどのこと。
原義は「防火壁」で、外部から攻撃のために送り込まれるデータに対する防御を、火事の炎を遮断して延焼を防ぐことになぞらえている。「FW」「F/W」などの略号で示されることもある。
一般的な構成では、ファイアウォールに内部ネットワーク(LAN)の回線とインターネットなど外部ネットワーク(WAN)の回線を両方つなぎ、内部と外部の境界をまたぐ通信が必ずファイアウォールを通過するようにして、一定の基準に従って不正と判断した通信を遮断する。
サーバコンピュータ上でソフトウェアとして動作するものと、専用の通信機器(アプライアンス)として提供されるもの、ルータなどのネットワーク機器の機能の一つとして統合されているものがあり、防御対象や規模などに応じて選択する。パソコン向けのセキュリティソフトやオペレーティングシステム(OS)にはファイアウォール機能が含まれることもある。
パケットフィルタリング方式
ファイアウォールが通信の可否を判断する方式には様々なものがあるが、最も一般的なのは「パケットフィルタリング」(packet filtering)と呼ばれる方式で、内外を通過するパケットの制御情報(ヘッダ)を読み取り、あらかじめ指定された条件に基づいて通過か破棄かの判定を行う。
よく用いられる条件として、送信元IPアドレス、宛先IPアドレス、プロトコルの種類(ICMP/UDP/TCP)、送信元ポート番号、宛先ポート番号、通信の方向(内部→外部/外部→内部)などがあり、これらの組み合わせによって可否を指定することができる。
形式的な判定だけでなく、TCPコネクションの状態などを一定の過去まで記録しておき、過去の通信と辻褄の合わない奇妙な制御情報が記載されたパケットが届くと攻撃の試みであるとみなして拒絶する「ステートフルパケットインスペクション」(SPI)など、高度な判断が可能な製品もある。
他の方式
パケットフィルタ方式は原則としてIP(Internet Protocol)の制御情報を利用するが、トランスポート層のTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)のレベルで通信の中継を行うものを「サーキットレベルゲートウェイ」という。SOCKSなどが該当し、通過や遮断の制御だけでなく、NATのようにプライベートIPアドレスとグローバルIPアドレスの変換なども行う。
また、さらに上位のHTTPなど個別のアプリケーション層のプロトコルの制御情報を用いて通信制御を行うものは「アプリケーションレベルゲートウェイ」という。プロキシサーバなどが該当し、アドレス変換やコンテンツのキャッシュ、ウイルスチェックなどの機能も合わせて提供される。
パーソナルファイアウォール
家庭などでパソコンに導入する個人向けの製品は「パーソナルファイアウォール」(PFW:Personal Firewall)と呼ばれる。パソコンと外部の機器とのネットワーク通信を監視し、あらかじめ指定された条件に基づいて許可された通信以外を遮断する。
単体の製品やフリーソフトウェアがあるほか、セキュリティソフトウェア企業などでは、アンチウイルスソフトなどと共に統合セキュリティソフトウェア(「○○インターネットセキュリティ」といった製品)の機能の一部として提供している場合がある。Windowsでは標準で内蔵されている「Windows Defender」にパーソナルファイアウォール機能が組み込まれている。
WAF 【Web Application Firewall】
Webサーバへの外部からの攻撃を検知、防御するシステム。Webサーバとインターネットなど外部との中間に設置され、サーバと外部との通信を監視して、攻撃とみなしたアクセスをブロックする。
Webサーバ上で運用されるWebアプリケーションには保安上の弱点(脆弱性)が存在する場合があり、外部の攻撃者がこれを悪用して遠隔操作や秘密の情報の詐取などの不正アクセスを行う場合がある。本来はサーバ側のソフトウェアの監視や修正に努め、脆弱性をすみやかに排除することが望ましいが、様々な事情から即時に対応できない場合がある。
WAFはWebサーバへの通信を常に監視し、時系列の通信記録(ログ)として保管する。また、あらかじめ登録された不審なアクセスのパターンを検知したり、送受信されるデータ中に特定のパターン(個人情報に似た形式のデータなど)を発見すると、通信に介入してアクセスをブロックする。
WAFは専用のハードウェアとして実装されたものと、ゲートウェイなどのサーバ上で動作させるソフトウェア、また、Webサーバ自体に組み込むモジュールの形になっているものがある。Webサーバと別になっているタイプの製品はネットワークの入り口付近に設置して複数のWebサーバを守ることもできる。
動作モードとしては、リバースプロキシとして動作するものとアクセスを透過させるものに分かれる。SSL/TLSで通信が暗号化されていると通信内容を解析することができないため、WAF自身がTLS通信の終端となって暗号化を解除してWebサーバへ取り次ぐような動作設定にしたり、SSLアクセラレータとWebサーバの中間に設置する必要がある。
IDS 【Intrusion Detection System】
サーバやネットワークの外部との通信を監視し、攻撃や侵入の試みなど不正なアクセスを検知して管理者に画面通知やメールなどで通報するシステム。
防御の対象により、ネットワーク全体を一括して監視する「ネットワーク型IDS」(NIDS:Network-based IDS)と、一台の機器を監視する「ホスト型IDS」(HIDS:Host-based IDS)に大別される。
検知・通報に留まらず、アクセスを遮断する等の防御措置を取る機能を持ったシステムのことは「IPS」(Intrusion Prevention System:侵入防止システム)という。
ネットワーク型IDS (NIDS:Network-based IDS)
NIDSはネットワークを流れる通信をリアルタイムに監視し、不正の兆しのある通信を発見すると記録をとって管理者に知らせる。
必ずしもネットワーク境界に設置する必要はなく、プロミスキャスモード(ステルスモード)と呼ばれる特殊な通信モードでネットワーク上のすべての通信を捕捉するようになっている製品が多い。
汎用のサーバ機で動作するソフトウェアとして実装された製品と、専用の通信機器(アプライアンス)として提供される製品がある。HIDSのように対象の個々のコンピュータにソフトウェアの導入や設定などを行う必要がなく、ネットワーク上のすべての機器に対する攻撃を一台でまとめて監視できる。
ホスト型IDS (HIDS:Host-based IDS)
HIDSはサーバに常駐して動作するソフトウェアで、そのサーバと他の機器との通信を監視して、攻撃の徴候とみなされるアクセスを検知するとサーバの管理者に知らせる。
外部からそのコンピュータへアクセスするための通信内容を取得・解析し、異常がないかを監視する。通信経路上でデータが暗号化されたアクセスも検知でき、不正アクセス等によってコンピュータ内部で生じた異常も監視することができる。
ソフトウェアの動作状況などをOSレベルで詳細に解析することができ、ネットワーク型では検知が難しい攻撃にも対処できる場合がある。ただし、HIDSが動作しているコンピュータしか監視できず、コンピュータごとに個別に導入・設定が必要となる。
シグネチャ検知とアノマリ検知
不正な通信の検知手法には主に二つの方式がある。「シグネチャ検知」(不正検出)と呼ばれる方式は、既知の攻撃手法について特徴的なパターンを登録したデータベースを用意し、パターンに一致するデータを含むパケットが見つかると攻撃の徴候として検出する。誤検知の可能性は低いが未知の手法による攻撃は見過ごしてしまう場合もある。
もう一つは「アノマリ検知」(異常検出)と呼ばれる方式で、普段とは大きく異なる事態や通常はありえない行動などを検知する手法である。いつもと異なる使い方などをすると攻撃と誤認識してしまうこともあるが、未知の手法による攻撃にもある程度対応できる長所がある。
侵入検知サービス (intrusion detection service)
ネットワークやサーバを監視し、外部から不正アクセスがあると管理者に通知してくれるサービスを侵入検知サービスという。
設定された条件に従って単純にパケットを選別するファイアウォールとは違って、ネットワークを通過するパケットをリアルタイムに監視し、ポートスキャンやセキュリティホールに対する攻撃、ブルートフォースなどパスワードに対する攻撃などを検知すると管理者に報告する。侵入検知サービス自体は不正アクセスを防御するわけではないが、不正アクセスや未遂の記録をとることによって効率的にネットワークのセキュリティを強化することが可能になる。
IPS 【Intrusion Prevention System】
サーバやネットワークの外部との通信を監視し、侵入の試みなど不正なアクセスを検知して攻撃を未然に防ぐシステム。一定の基準に基づいて不正な通信を検知したら、相手方との通信を遮断して管理者に知らせる。
防御の対象によって、複数の機器で構成されるネットワークを保護する「ネットワーク型IPS」(NIPS:Network-based IPS)と、外部に公開しているサーバなど特定の一台の機器を保護する「ホスト型IPS」(HIPS:Host-based IPS)に大別される。
ネットワーク型IPS (NIPS)
NIPSはネットワーク境界などに設置され、内外の通信をリアルタイムに監視する。不正の兆しのある通信を発見すると記録をとって管理者に知らせ、当該アドレスからのアクセスを遮断するなどの防御措置を発動する。
ゲートウェイサーバなどの機能の一つとしてIPSの役割を持たせる場合と、専用の通信機器(アプライアンス)を用いる場合がある。対象の個々のコンピュータにソフトウェアの導入や設定の変更などを行う必要がなく、ネットワーク上のすべてのコンピュータに対する攻撃を一台でまとめて監視できる。
ホスト型IPS (HIPS)
HIPSはサーバに常駐して動作するソフトウェアで、そのサーバと別のコンピュータの通信を監視する。NIPSと同じように攻撃を検知すると通信を遮断するなどの措置を取り、通信記録の保全や管理者へ通報などを行う。
ソフトウェアの脆弱性や異常動作を悪用した攻撃をOSレベルで防いだり、一般利用者のアカウントによる管理者権限の取得を禁止したり、アクセスログの改竄を防いだりといった、ネットワーク型では難しい機能も提供する。HIPSが動作しているコンピュータに対する攻撃しか対処できないため、コンピュータごとに個別に導入・設定を行う必要がある。
検知手法
不正な通信の検知手法には主に二つの方式がある。「シグネチャ検知」(不正検出)と呼ばれる方式は、既知の攻撃手法について特徴的なパターンを登録したデータベースを用意し、パターンに一致するデータを含むパケットが見つかると攻撃の徴候として検出する手法である。誤検知の可能性は低いが未知の手法による攻撃は見過ごしてしまう場合もある。
もう一つは「アノマリ検知」(異常検出)と呼ばれる方式で、普段とは大きく異なる事態や通常はありえない行動などを検知する手法である。いつもと異なる使い方などをすると攻撃と誤認識してしまうこともあるが、未知の手法による攻撃にもある程度対応できる長所がある。
IDSとの違い
IPSは不正な通信の遮断など防御のための操作を行うが、防御は行わずに通信を監視して異常を検知すると管理者に知らせるシステムのことは「IDS」(Intrusion Detection System:侵入検知システム)という。両者を合わせて「IDS/IPS」「IDPS」(Intrusion Detection and Prevention System)のように総称することもある。
UTM 【Unified Threat Management】
企業などの情報セキュリティ対策として、複合的・網羅的な機能を持ったセキュリティ機器やソフトウェアを導入して包括的・統合的に対策を実施すること。そのために用いられる専用製品「UTMアプライアンス」を略してUTMと呼ぶこともある。
UTMではファイアウォールやアンチウイルスゲートウェイ、不正侵入検知・防御(IDS/IPS)、Webコンテンツフィルタリング、アンチスパム/アンチフィッシングといったネットワークセキュリティに必要な一通りの機能を統合した単一のシステムを利用する。
これにより、必要なサービス以外の不要な通信の遮断、外部からの攻撃の検知や防御、ウイルスやマルウェア、不正な電子メールなどの排除、内部からの危険なWebサイトへのアクセスの防止などの対策をネットワーク境界で一挙に行なうことができる。
対策項目ごとに個別に機器やソフトウェアを導入して管理・運用する場合に比べ、低コストで迅速に総合的な対策を開始することができ、運用や保守にかかる手間や人員、コストも削減できる。専任のシステム管理部門やセキュリティ部門を設置・維持するのが難しい中堅・中小企業のセキュリティ対策として普及している。
一方、すべての機能を単一の提供元による単一システムで賄うため、個別の機能や製品を比べると専用機器や専門メーカーの方が優れている場合もある。また、原理上ネットワーク境界ですべての通信を監視、処理するため、通信需要が増大すると速度が低下することがあり、故障などで停止するとネットワーク接続が中断してしまう難点もある。
UTMは一台の機器にすべての機能を実装した「UTMアプライアンス」を設置する形態が一般的だったが、近年ではVPNの追加機能などとしてネットワーク事業者がサービスとしてUTM機能を提供する「クラウド型UTM」も一般的になっている。クラウド型は機器の設置や運用が不要で、決まった費用を支払えばオペレーションを事業者に委託できる利点がある。
ホワイトリスト 【WL】
対象を選別して受け入れたり拒絶したりする仕組みの一つで、受け入れる対象を列挙した目録(リスト)を作り、そこに載っていないものは拒絶する方式。また、そのような目録のこと。
IT分野では、通信やアクセスを許可する対象やアドレスなどのリストを作成し、それ以外は拒否・禁止する方式を「許可リスト方式」という。許可したい対象が特定可能で、拒否したい対象より少数の場合に適している。
アクセスを許可するWebサイトのURLを列挙したURLフィルタや、受信を許可するメールアドレスなどを列挙した迷惑メールフィルタ、通信可能なIPアドレスやポート番号の組み合わせを列挙したファイアウォールの設定などがこれに当たる。
対義語は「ブラックリスト」(blacklist)で、目録に載っているものだけを拒絶し、それ以外は受け入れる方式である。近年では、色にポジティブあるいはネガティブな意味を対応付けて表すのは好ましくないとする考え方もあり、「許可リスト」(allow list)のように言い換えることもある。
フォールスネガティブ 【偽陰性】
検査などで不正や異常、有害な事象を誤って正常であるとみなしてしまうこと。検知漏れ。IT分野では、情報セキュリティにおいて不正アクセスやマルウェアを検知できず見過ごしてしまうことをこのように呼ぶ。
IDS/IPSやファイアウォールは通信を監視して外部からの攻撃などが無いかを、アンチウイルスソフトはプログラムファイルなどを解析してコンピュータウイルスなどのマルウェアが無いかを検査するが、こうした仕組みは完全ではなく、検知に失敗することがある。
本来は有害であると判断されるべき事象について、検査をすり抜けて正常であると誤って判断されてしまうことをフォールスネガティブという。これとは逆に、正常な事象を誤って有害であると判定してしまう誤検知は「フォールスポジティブ」(false positive)という。
検査の基準などを厳しくすればフォールスネガティブを減らして安全性を高めることができるが、正常な事象が誤って遮断されてしまうフォールスポジティブも増え、利便性や安定性は低くなる。逆に、基準を緩めればフォールスポジティブが減って操作や運用への支障は減るが、フォールスネガティブが増えて危険性が増すというトレードオフの関係にある。
医療分野では同様の概念(検査などで実際は陽性の患者や検体を誤って陰性と判定してしまう)について「偽陰性」という訳語が当てられるため、セキュリティ分野でもこれにならってフォールスネガティブを偽陰性と呼ぶことがある。
フォールスポジティブ 【偽陽性】
検査などで正常な事象を誤って不正や異常、有害であると判定してしまうこと。誤検知。IT分野では、情報セキュリティにおいて正常な通信やプログラムを誤って不正アクセスやマルウェアであると判断してしまうことをこのように呼ぶ。
IDS/IPSやファイアウォールは通信を監視して外部からの攻撃などが無いかを、アンチウイルスソフトはプログラムファイルなどを解析してコンピュータウイルスなどのマルウェアが無いかを検査するが、こうした仕組みは完全ではなく、検知に失敗することがある。
正常で無害な通常の事象を誤って有害であると判定してしまう誤検知をフォールスポジティブという。逆に、不正や異常を見過ごして正常であると誤判定してしまう検知漏れのことは「フォールスネガティブ」(false negative)という。
検査などの基準を緩めればフォールスポジティブを減らして利便性や安定性を高めることができるが、フォールスネガティブが増えて危険性が増す。逆に、基準などを厳しくすればフォールスネガティブを減らして安全性を向上できるが、フォールスポジティブが増えて操作や運用に頻繁に支障をきたすようになるというトレードオフの関係にある。
医療分野では同様の概念(検査などで実際は陰性の患者や検体を誤って陽性と判定してしまう)について「偽陽性」という訳語が当てられるため、セキュリティ分野でもこれにならってフォールスポジティブを偽陽性と呼ぶことがある。
SSLアクセラレータ 【SSL accelerator】
SSL/TLSによる暗号化や復号の処理を専門的に行う機器のこと。Webサーバなどが行う暗号化などの処理を肩代わりして暗号化処理の負荷を軽減することができる。
SSL(Secure Socket Layer)および後継のTLS(Transport Layer Security)はHTTPなどと併用するプロトコル(通信規約)の一つで、HTTPなどで交わされるデータを丸ごと暗号化し、インターネットを通じてサーバとクライアントが安全に情報を送受信できるようにする。
サーバ側では、WebサーバソフトウェアなどにSSL/TLSの機能が内蔵されており、Webサーバ上でデータの暗号化や復号を行うのが一般的だが、本来のWebサーバとしての処理に暗号化のための処理が追加されるため、特に大規模なシステムでは処理性能が低下することがある。
SSL/TLSアクセラレータはネットワーク上に設置してWebサーバと併用する製品で、SSL/TLS関連の処理を引き受け、Webサーバが本来の処理に専念することができるようにする。暗号化・復号に特化した構成となっているため、安価な製品でも高い性能を発揮することができる。
単体で動作するコンピュータ(アプライアンスサーバ)としてWebサーバと外部ネットワークの間に設置するタイプの製品と、拡張カードなどの形でWebサーバなどに装着して利用する製品がある。汎用のサーバコンピュータで動作するソフトウェアとして実装された製品もある。
MDM 【Mobile Device Management】
企業などで社員に支給するスマートフォンなどの携帯情報端末のシステム設定などを統合的・効率的に管理する手法。また、それを実現するソフトウェアや情報システムなどのこと。
MDMでは、社員が使用する端末の設定などを管理部門で一元的に管理し、社の方針に沿ったセキュリティ設定を施したり、使用するソフトウェアの種類やバージョンを揃えたり、利用できる機能に制限を加えたり、勝手に私用のソフトやデータを導入できないようにする。
端末の紛失・盗難時に重要なデータが漏洩したり社内システムに侵入されないよう、遠隔からデータを消去したり(リモートワイプ)、操作できないようロックをかけたり(リモートロック)、一定回数のログイン試行失敗で消去したり(ローカルワイプ)、GPS機能で端末の場所を把握できる製品などもある。
これに対し、携帯端末のアプリケーションを集中的に管理すること、およびそのようなシステムを「MAM」(モバイルアプリケーション管理)、端末で利用するデータや情報を集中的に管理すること、およびそのようなシステムを「MCM」(モバイルコンテンツ管理)という。
また、これらすべてを統合・発展させ、端末のハードウェアやシステム、アプリケーション、データを集中的に管理する手法および制御システムを「EMM」(Enterprise Mobility Management:エンタープライズモビリティ管理)という。
物理セキュリティ 【物理的対策】
情報セキュリティのうち、施設や設備、機材などに対する物理的な干渉に備える対策のこと。施設や区画の入退室管理、盗難対策などが該当する。
通信ネットワークなどサイバー領域のセキュリティ対策をいくら固めても、重要な情報を保管した施設へ誰でも立ち入ることができ、簡単に機器の操作や持ち去りなどができてしまうのであれば攻撃を防ぐことはできない。
物理的セキュリティ対策は正規の権限がない者が施設や機材に物理的にアプローチするのを防ぐための施策で、生体認証などを用いた重要施設の入構管理や重要区画の入退室管理、共連れ・すれ違い防止(インターロックゲート)、一人入室禁止(TPMOR)、不正入退場防止(アンチパスバック)、監視カメラの設置、鍵付き筐体やセキュリティワイヤーなどによる持ち出し阻止などがある。
なお、同じ物理世界における対策でも、人間の行動に関するものは人的なセキュリティ対策(人的対策)として区別されることが多い。例えば、パスワードをメモに残さない、離席時に画面を操作可能なままにしない、機密情報をUSBメモリなどで持ち出さない、といった事柄である。
RASIS 【Reliability, Availability, Serviceability, Integrity and Security】
コンピュータシステムが期待された機能・性能を安定して発揮できるか否かを示すのに用いられる代表的な5つの特性の頭文字を繋ぎ合わせた用語。
「R」は “Reliability” の略で、「信頼性」と訳される。障害や不具合による停止や性能低下の発生しにくさを表す。稼働時間当たりの障害発生回数(MTBF:Mean Time Between Failures)などの指標で表すことが多い。
「A」は “Availability” の略で、「可用性」と訳される。稼働率の高さ、障害や保守による停止時間の短さを意味する。稼働が期待される時間に対する実際の稼働時間の割合(稼働率)などの指標で表すことが多い。
「S」は “Serviceability” の略で、「保守性」あるいは「運用性」と訳される。障害からの復旧やメンテナンスのしやすさを表す。障害発生から復旧までの平均時間(MTTR:Mean Time To Repair)などの指標で表すことが多い。
「I」は “Integrity” の略で、「保全性」あるいは「完全性」と訳される。システムが管理するデータの一貫性が維持される性質を表し、過負荷や障害、誤操作などによるデータの破壊や喪失、不整合などの起こりにくさを意味する。
「S」は “Security” の略で、「安全性」あるいは「機密性」と訳される。外部の攻撃者や内部犯、マルウェアなどによる攻撃への耐性を表し、不正侵入や遠隔操作、データやプログラムの改竄や破壊、機密データの漏洩などの起こりにくさを意味する。
RASとの違い
元になった概念は先頭3つを繋いだ「RAS」(Reliability, Availability and Serviceability)で、1970年代に米IBM社がメインフレーム製品の特性を表す用語として提唱した。「RASIS」は日本語以外の資料には記載が極めて乏しく、欧米圏ではその後も(現在も)専らRASの用語が用いられており、RASISは日本で独自に拡張されて広まった用語であると考えられる。
RAS 【Reliability, Availability and Serviceability】
コンピュータシステムが期待された機能・性能を安定して発揮できるか否かを検証するための評価項目として知られる3つの要素の頭文字を繋ぎ合わせた用語。
「R」は “Reliability” (リライアビリティ)の略で「信頼性」と訳される。故障や障害などによるシステムの停止や機能不全の発生しにくさを表す。稼働時間当たりの障害発生回数(MTBF:Mean Time Between Failures)などの指標で表すことが多い。
「A」は “Availability” (アベイラビリティ)の略で「可用性」と訳される。稼働率の高さ、障害や保守による停止時間の短さを表す。稼働が期待される時間に対する実際の稼働時間の割合(稼働率)などの指標で表す場合が多い。
「S」は “Serviceability” (サービサビリティ)の略で「保守性」と訳される。障害復旧やメンテナンスのしやすさを表す。障害発生から復旧までの平均時間(MTTR:Mean Time To Repair)などの指標で表すことが多い。
1970年代に米IBM社がメインフレーム製品の特性を表す用語として提唱したものが広まったとされる。日本では、これに「I」(Integrity:保全性、完全性)と「S」(Security:機密性)の2つを加えた「RASIS」という用語がよく用いられる。
UPS 【Uninterruptible Power Supply】
電源装置の一種で、二次電池など電力を蓄積する装置を内蔵し、外部からの電力供給が途絶えても一定時間決められた出力で外部に電力を供給することができる装置のこと。
一般的には、通常の商用電源(家庭用の100V交流電源など)に接続して給電を受け、同じ規格の電力を外部に供給する装置を意味する。コンピュータなどの電気機械をUPSを介して電源に接続することにより、停電が起きても暫くの間稼働を続けることができる。
落雷などによる電源の瞬断や一時的な電圧低下などが機器の動作に影響することも回避できるが、UPS自体はこうした電源異常に対する耐性や防護機能があるわけではないため、対策が必要な場合はサージ防護機器などを別途導入する必要がある。
ビルの電気設備に組み込まれ、建物内の電源全体を保全する大型の製品はデータセンター施設などで用いられる。より一般的なのはコンピュータなどの機器と電源(コンセント)の間に設置する小型の製品で、IT分野だけでなく医療や防災、放送などで重要な電気製品を稼働させるために導入される。
コンピュータ向けの製品の中には通信ケーブルで接続して通知や制御を行う機能を持ったものもある。停電すると自動的に稼働中のオペレーティングシステム(OS)にシャットダウン操作を行い、突然の電源断によるデータの喪失やストレージ装置の破損などを防止する。
CVCFとの違い
常に一定の電圧および周波数で電力を供給する交流電源(装置)、および、電源装置などが持つそのような出力電流の安定化機能を「CVCF」(Constant-Voltage Constant-Frequency:定電圧定周波数装置/交流安定化電源)という。
外部の電源から入力された電気を元に独自に一定の電圧・周波数の交流電流を起こし、これを出力側に送出する。不安定な外部電源による電圧や周波数のノイズ、瞬間的な変動などの影響を取り除き、常に一定の品質の交流電流を提供する。出力する電流は入力側と異なる電圧・周波数でも構わないため、電圧や周波数の変換機能を内蔵しているものもある。
UPSとCVCFは役割が似ており、実際、UPSの中にはCVCFとしての機能が組み込まれたものが多く、逆にCVCF装置も蓄電池を内蔵しており電源の瞬断などに対応できるものが多い。両者が混同されることも多いが、UPSは電源の瞬断や停電時に電力供給が途絶えないようにすることが目的であるのに対し、CVCFは電圧と周波数の安定化が目的という違いがある。
冗長化
機器やシステムの構成要素について、同じ機能や役割の要素をあらかじめ複数用意しておき、異状が発生した時に肩代わりできるよう待機させておくこと。一部の機能が損なわれてもシステム全体が停止することを防ぎ、運用を継続することができる。システムの持つそのような性質を「冗長性」(redundancy)という。
例えば、同じ機能を持つサーバを二台用意しておき、一方でシステムを稼働させもう一方を待機しておけば、稼働系が装置の故障などにより停止しても、即座に待機系に切り替えることにより運用を続行することができる。このように、互いに役割を代替することができる複数の系統を準備しておくことを多重化技術という。
複数系統の一つが稼働して残りが待機する方式(アクティブ/スタンバイ構成、アクティブ/パッシブ構成などという)以外にも、普段から全系統が並列に稼働して負荷を分散しており、一部が停止しても残りの系統で機能を維持する方式(アクティブ/アクティブ構成)もある。
情報システムや機器、装置の多重化技術以外にも、通信回線やデータ伝送路の多重化技術、誤り訂正符号の付加など情報の多重化技術、組織や人員配置の多重化技術などもある。ITの分野に限らず様々な分野で一般的に行われる信頼性向上策であり、例えば航空機エンジンが一基停止しても飛び続けられるなどの例は有名である。
多重化技術を行うには系統を単体で導入するより倍以上のコストが掛かるのが一般的であるため、コストを負担してでも無停止で運用することが要求される場合に行われる。ITの分野では政府や大企業の基幹システム、金融機関やインフラ事業者のシステムや通信回線などでよく用いられる。
一方、停止すると系全体が停止するような構成要素のことを単一障害点(SPOF:Single Point Of Failure)という。構成要素が多岐にわたるシステムの場合、一部の要素を多重化技術してもSPOFが残っているとそこが停止すれば全体が停止してしまう「弱点」「急所」となってしまうため、いかにSPOFを残さないよう多重化技術するかが重要となる。
ミラーリング 【ミラー化】
「鏡写し」という意味の英単語で、IT分野では同じ内容を同時に二ヶ所に反映することを指す。複数の表示機器に同じ内容を同時に映し出すことや、複数の記憶装置に同じデータを同時に記録することなどを表す。
画面ミラーリング
コンピュータの画面出力を複数の表示装置(ディスプレイ)に同時に行うことを画面ミラーリングあるいはスクリーンミラーリングという。携帯機器などの本体付属の画面と外部の別の表示装置に同時に出力する方式を指すことが多い。
例えば、スマートフォンの画面を接続先のテレビやディスプレイ画面のにも出力し、手元で操作しながら同時に大画面で表示する、といったことが可能になる。ディスプレイケーブルなどで直に繋ぐ方式と、表示装置側の外部入力端子に専用の小さな受信装置を挿入し、これを端末と無線接続して表示内容を転送する方式がある。
iPhoneの場合はAirPlayによる無線接続やLightningコネクタ-HDMI変換ケーブルによる有線接続が、Androidの場合はChromecastやFire TV Stickなどの受信装置による無線接続やマイクロHDMIケーブルによる有線接続などがよく用いられる。
ストレージのミラーリング
一台のコンピュータ(システム)に複数のストレージ(外部記憶装置)を接続し、データを書き込む際に同じ内容を二台同時に書き込むことをミラーリングと言い、ハードディスクを用いる場合を特にディスクミラーリングという。
複数のストレージの一体的運用について定めたRAID技術では「RAID 1」(RAIDレベル1)として知られている。二台の装置にはまったく同じ内容のディレクトリやファイルが記録され、一台が破損して読み出せなくなっても残りの一台から内容を読み出すことができる。
破損した方を入れ替えて再び内容を同期させることで、データの喪失やシステムの停止を伴わずにストレージ装置の障害対応が可能になる。一台の場合に比べ(二台同時に)故障する確率は元の2乗と大幅に減少するが、記憶容量の利用効率は半分となる。
コンピュータに専用の制御装置を導入してこれに二台のストレージを接続して行う方式と、通常の方式で繋いだ二台のストレージを用いてOSの機能や専用のソフトウェアが実施する方式がある。後者の方が手軽に導入できコストも安いが、性能や障害時の対応などは前者が優る。
サーバやサイトのミラーリング
ネットワーク上でサーバの機能や内容を複数台で同期し、同じ内容を複数のサーバから提供できるようにすることをミラーリングという。そのように複製されたサーバを「ミラーサーバ」、Webサイトを「ミラーサイト」という。
複数のサーバが同じ機能や内容を提供することで、一台が障害やメンテナンスで停止してもサービスを継続できる。また、構成や制御方式によってはアクセス要求が多い場合にミラーサーバ間で負荷分散を行い一台あたりの負荷を軽減することもできる。
セキュリティゲート
建物の入口などに設置される自動開閉式ゲート。IDカードなどで入館者を識別し、正規の入館者以外の通過を阻止する。
オフィスビルや公的機関などで建物全体やフロア、居室の入口などに設置される腰の高さくらいの電動式のゲートで、入館・入室を試みる人に認証を要求し、事前に登録された正規の関係者と確認できた場合のみ扉を開く。
扉や設置方式の種類によって、板が開閉するフラッパー式(フラップ式)、金属棒が回転するアーム式、ポールにフラッパーなどが付いたコンパクトなポール式などの種類がある。認証方式はIDカードをかざす方式が多いが、高いセキュリティが求められる施設では生体認証も用いられる。
セキュリティゲートを設置することで部外者がみだりに侵入することを防ぐ。関係者の入退室の把握や勤怠管理などの用途を兼ねる場合もある。多くの製品は腰の高さ程度の大きさでその気になれば乗り越えることはできるため、物理的に侵入を完全に防ぐための設備ではない。
必要に応じて側に警備員や監視員を配置したり、防犯カメラを併用するなどの対策を行う必要がある。高度な機密を扱う施設や居室では、施設やフロア入口のセキュリティゲートに加えて、重要な区画へ通じるドアをIDカードや生体認証で開閉するといったシステムを用いることが多い。
クリアデスク
情報セキュリティに関する行動指針の一つで、自席の机の上に情報を記録したものを放置したまま離席しないことを求めるもの。攻撃者が重要な情報に物理的に接することを防ぐ。
機密情報やその入手の助けになる情報の漏洩を防ぐための行動規範で、食事やトイレ、会議などで自席や居室を離れるときは、書類やデータの記録媒体(DVDやUSBメモリなど)、コンピュータ本体などを机の上や周辺に放置しないよう求めている。「クリアデスクポリシー」「クリアデスク方針」などとも呼ばれる。
自席でコンピュータを使う場合は据置型(デスクトップ型やタワー型、ディスプレイ一体型など)ではなくノートパソコンやタブレット端末など持ち運べる機器を使い、退勤から出勤までの夜間などは施錠できる安全な場所に保管することが推奨される。
一方、離席時にコンピュータの操作画面をロックして第三者が操作や盗み見できないよう求める行動規範は「クリアスクリーン」(clear screen)と呼ばれ、クリアデスクとセットで導入されることが多い。
クリアデスクは、BSI(英国規格協会)が策定した企業・団体向け情報システムセキュリティ管理ガイドラインであるBS 7799の一部として定められ、これを元に策定されたISO/IEC 27001(日本ではJIS Q 27001およびISMS)やPCI DSSなどの各種セキュリティ規格にも採用されている。
クリアスクリーン
情報セキュリティに関する行動指針の一つで、自席のコンピュータを意図せず第三者に操作されたり画面を盗み見されたりしないよう対策を求めるもの。攻撃者が物理的に接触することを防ぐ。
機密情報やその入手の助けになる情報の漏洩を防ぐための行動規範で、食事やトイレ、会議などで自席や居室を離れるときは、必ずコンピュータのログアウト(ログオフ)やスクリーンロックを行うことを求める。「クリアスクリーンポリシー」「クリアスクリーン方針」などとも呼ばれる。
近くにいる第三者が本人の利用権限でコンピュータを操作したり、画面を盗み見たりできないようにするために行われる。画面の周辺にパスワードなどアクセスに必要な情報を掲示するといった行為も認められない。
一方、離席時に書類や記録メディア、コンピュータ本体などを机の上や周辺に放置しないよう求める行動規範は「クリアデスク」(clear desk)と呼ばれ、クリアスクリーンとセットで導入されることが多い。
クリアスクリーンは、BSI(英国規格協会)が策定した企業・団体向け情報システムセキュリティ管理ガイドラインであるBS 7799の一部として定められ、これを元に策定されたISO/IEC 27001(日本ではJIS Q 27001およびISMS)やPCI DSSなどの各種セキュリティ規格にも採用されている。
リモートバックアップ 【遠隔バックアップ】
コンピュータのストレージ(外部記憶装置)に保存されたデータを他の装置に複製するバックアップの一種で、地理的に離れた場所にある装置に複製すること。主に災害対策などの一貫として行われる。
通常のバックアップは同じ居室や施設内の別の機器や記憶媒体にデータを複製することが多く、機器や媒体の破損や盗難、誤操作による消去、不正アクセスによる改竄など、個別の装置に対する脅威に備えるために行われる。
一方、遠隔バックアップではシステムが稼働している施設から離れた場所に用意した施設や、別の地域や国で操業している専門の事業者などにインターネットや広域通信回線を通じてデータを送信したり、データを複製した記憶媒体を運搬して保管する。
通常の方式だと自然災害や火災などで施設全体が被災するとバックアップされたデータも同時に失われる危険性があるが、遠隔バックアップであれば余程のことがない限り複製先も同時に壊滅することは避けられる。通常よりもコストや時間が余計にかかるため、通常のバックアップとは別に低い頻度で行ったり、最重要のデータのみに絞って実施したりすることが多い。
セキュリティワイヤー 【ケンジントンロック】
コンピュータの盗難や不正な持ち出し、ケーブルや周辺機器の不正な差し込みなどを防止するための金属線でできた固定器具。
金属製のワイヤーでコンピュータ本体を机や什器に固定するための器具で、シリンダ錠やダイヤル錠などで鍵をかけることができる。店頭などオープンな場所に置かれた機器の盗難や不正使用を防止するために用いられる。
複数の機器をまとめて固定したり、筐体(ケース)を開けることができないよう封印したり、接続された周辺機器の取り外しを防いだり、逆に、空いているコネクタ(ポート)を塞いでケーブルなどを接続できないようにする機能を持った製品もある。
セキュリティケーブルが必要な状況では大量の機器をまとめて設置・管理している場合も多いため、多数のロックを単一のマスターキーで施錠・解錠できるようにした製品も用意されている。
セキュリティプロトコル 【セキュアプロトコル】
ネットワーク上で用いられるプロトコル(通信規約)のうち、暗号化など通信の安全性を確保したり高めたりする機能を備えたもの。
通信の機密性や完全性の確保に関連する機能を実装したプロトコル群で、狭義には暗号プロトコルを指すことが多いが、広義には、暗号化に加え認証プロトコルや鍵交換プロトコル、電子署名アルゴリズムなどが含まれる。
暗号プロトコルは二者間の通信を暗号によって盗聴や改竄から保護するプロトコル群で、通信のどの過程で暗号化などの機能を提供するかによっていくつかの種類に分かれる。リンク層(ネットワークアクセス層)で機能するものには無線LANを暗号化するWEPやWPA、WPA2、WPA3、VPNなどに用いられるPPTPやL2TP、L2Fなどがある。
ネットワーク層(インターネット層)で機能するものとしてはIPsecがよく知られ、トランスポート層で機能するものとしてはSSLや後継のTLSおよびDTLS、QUICなどがある。アプリケーション層では、SSL/TLSと既存のプロトコルを組み合わせたHTTPSなどの「~S」プロトコル群や、S/MIMEやPGPなどメッセージ暗号化仕様、SSHなどをセキュアプロトコルに分類する場合がある。
暗号化以外の広義のセキュアプロトコルとしては、RADIUSやTACACS+、Kerberos、OAuth、SAML、CHAP、PAP、EAPなどの認証や認可のためのプロトコル、DH(Diffie-Hellman鍵交換)やECDH、ECDHEなどの鍵交換プロトコル、HMACやCMACなどのメッセージ認証コードなどが挙げられる。
IPsec 【Security Architecture for Internet Protocol】
インターネットなどのTCP/IPネットワークで暗号通信を行うためのプロトコル(通信規約)の一つ。IPデータグラムを暗号化し、IPを用いるすべての通信を保護することができる。
IPネットワーク上の二台の機器の間で「SA」(Security Association)という伝送経路を確立し、継続的に暗号化された通信を行う。SAは一方からもう一方への片方向のコネクションであるため、双方向に暗号化したい場合は2本のSAを確立する。
接続の確立
SAを確立するには「ISAKMP」(Internet Security Association and Key Management Protocol)というプロコトルで通信を行い、通信相手の認証、暗号アルゴリズムの設定、暗号鍵の交換・共有などを行う。鍵交換は標準では「IKE」(Internet Key Exchange)が用いられるが、双方が対応していれば他の手順も選択できる。
データ伝送
SA上でのデータ伝送には2つのプロトコルが用いられる。「AH」(認証ヘッダ:Authentication Header)は送信元の認証(なりすまし防止)とメッセージ認証コード(MAC)による改竄検知が可能だが、データは暗号化しないため覗き見を防止することはできない。
「ESP」(Encapsulated Security Payload)は伝送データ本体(ペイロード)を暗号化して覗き見から保護する。送信元の認証はできなかったが、追加仕様で認証とペイロード部の改竄検知も可能となった。AHとESPを併用することもできる。
動作モード
IPsecでは二つの動作モードが用意されており、IPヘッダ部分はそのままで、送受信するデータ本体(ペイロード)部分のみを暗号化する「トランスポートモード」と、元のIPヘッダを暗号化して新しいIPヘッダを付け加えることによりパケット全体を暗号化する「トンネルモード」がある。
トンネルモードは末端のパソコンなどの機器がIPsecに対応していなくても、インターネットへの出入り口にあるルータやVPNゲートウェイが対応していればネットワーク間を暗号化して接続することができる。ネットワーク単位のVPNの構築などに利用される。
SSL 【Secure Sockets Layer】
インターネットなどのIPネットワークでデータを暗号化して送受信するプロトコル(通信手順)の一つ。データを送受信する一対の機器間で通信を暗号化し、中継装置などネットワーク上の他の機器から通信内容を覗き見たりすり替えたりできないようにする。
SSLは公開鍵暗号を応用したデジタル証明書による通信相手の認証(一般的にはサーバの認証)と、共通鍵暗号(秘密鍵暗号)による通信の暗号化、ハッシュ関数による改竄検知などの機能を提供する。Webアクセスに使われるHTTPと組み合わせ、Webサイトで認証情報や個人情報、決済情報などの送受信を安全に行う手段として広く普及している。
認証局と証明書
SSLでは、一対の秘密鍵と公開鍵を組み合わせて用いる「公開鍵暗号」により通信相手の確認や通信の暗号化に用いる暗号鍵の交換を行う。そのためには相手方(クライアント側ソフトウェアにとってサーバ側)の公開鍵をすり替えや改竄ができない方法で入手する必要がある。
SSLを利用するクライアント(Webブラウザなど)が、アクセス先のすべてのサーバの公開鍵を個別に安全に入手することは現実的ではないため、信頼できる「認証局」(CA:Certificate Authority)と呼ばれる機関が発行したデジタル証明書によって公開鍵の受け渡しを行う。
Webブラウザなどには著名な大手CAの公開鍵が記録された「ルート証明書」があらかじめ格納されており、これを用いてサーバから送られてきた証明書を検証することにより、途中ですり替えや改竄が行われていないことを確認することができる。この仕組みを「PKI」(Public Key Infrastructure:公開鍵基盤)という。
サーバ側ではSSLに対応するために大手CAやその認証を受けた下位CAの発行(通常は販売)する証明書を導入する必要がある。仕組みの上ではCAなど外部機関の認証を受けず自らが発行した証明書を使うこともできるが、クライアント側では「発行元の検証ができない」警告メッセージが表示される。
プロトコルとポート番号
SSLはプロトコル階層ではIP(Internet Protocol)の一段階上位で、TCPやUDPと同じトランスポート層のプロトコルである。TCPの代替として利用することができるため、HTTPに限らず様々な上位層(アプリケーション層)のプロトコルと組み合わせて使用され、インターネットにおける汎用的な通信の暗号化方式として定着している。
組み合わせるプロトコル応じて「○○ over SSL」(○○S)という名称で呼ばれ、HTTPであれば「HTTPS」、SMTPであれば「SMTPS」、POP3であれば「POP3S」などと呼ばれる。これらは元のプロトコルとは別に標準のポート番号が与えられており、HTTPは標準ではTCPの80番を使用するが、HTTPSは443番を使う。同様にSMTPSは465番(SMTPは25番)、POP3Sは995番(POP3は110番)が割り当てられている。
SSLとTLS
初期のSSLの仕様は1990年代半ばに当時のWebブラウザ大手、米ネットスケープ・コミュニケーションズ(Netscape Communications)社が開発した。SSL 1.0は欠陥が見つかったため公式発表前に破棄され、最初に公開されたのは1994年のSSL 2.0である。翌1995年にSSL 3.0が発表された。これらは現在では深刻な脆弱性が発見されており、利用を中止して後継版へ移行することが推奨されている。
SSL 3.0の次のバージョンから名称が「TLS」(Transport Layer Security)に変更されたため、現在広く利用されているのは正確にはTLSの方だが、「SSL」という名称が既に広く定着していたため、実際にはTLSを指していてもSSLと表記したり、「SSL/TLS」「TLS/SSL」などと両者を併記することが多い。
TLS 【Transport Layer Security】
インターネットなどのIPネットワークでデータを暗号化して送受信するプロトコル(通信手順)の一つ。送受信データの暗号化による盗み見の防止、相手方の認証による真正性の確認(なりすまし防止)、経路途上での改竄検知などを行うことができる。
TLSはデジタル証明書(公開鍵証明書)による通信相手の認証(一般的にはサーバの認証)を行い、中継装置などネットワーク上の他の機器によるなりすましを防止する。また、共通鍵暗号(秘密鍵暗号)によって通信を暗号化し、ハッシュ関数を応用してデータの改竄を検知することができる。
Webコンテンツの送受信に使われるHTTPと組み合わせた「HTTPS」(HTTP over SSL/TLS)が特によく知られ、Webサイトと閲覧者のWebブラウザの間で認証情報や個人情報、決済情報などの送受信を安全に行う手段として広く普及している。
TLSはTCPやUDPと同じ、いわゆるトランスポート層のプロトコルで、TCPの代替として利用することができるため、HTTPに限らず様々な上位層のプロトコルと組み合わせて使用され、インターネットにおける汎用的な通信の暗号化方式として定着している。UDPと組み合わせることができる派生仕様もあり「DTLS」(Datagram TLS)という。
デジタル証明書の運用
TLSでは公開鍵暗号を利用するため、サーバ側に認証局(CA:Certificate Authority)によって署名されたデジタル証明書(SSLサーバ証明書)が、クライアント側に同じ認証局の証明書か最上位認証局(ルート認証局)のルート証明書が必要となる。
実際の運用では、サーバは著名なルート認証局により認証された中間認証局から得た証明書を提示することが多い。Webブラウザなどのクライアントソフトには著名ルート認証局の証明書があらかじめ同梱されており、通信相手ごとにいちいち利用者が証明書の取り寄せなどを行う必要はない。
SSLとの関係
当初の標準規格は「SSL」(Secure Socket Layer)と呼ばれ、SSL 3.0が改訂される際に同時に名称が改められて「TLS 1.0」が生まれたが、SSLという名称が既に広く定着していたため、実際にはTLSを指していてもSSLと表記したり、「SSL/TLS」「TLS/SSL」などと両者を併記することが多い。
現在実際に使われているのはほとんどがTLSである。SSLの最終版であるSSL 3.0には保安上の弱点(脆弱性)が発見されており、もはや十分に安全とは言えない状況になっているため、インターネット上で運用されるサーバは早急なTLSへの移行とSSL旧バージョンの無効化が推奨されている。
SSH 【Secure Shell】
主にLinuxなどのUNIX系OSで利用される、ネットワークを通じて別のコンピュータを安全に遠隔操作するための通信手順(プロトコル)およびソフトウェア(sshコマンド、sshデーモンなど)。通信経路が暗号化されるため、インターネットなどを経由しても安全にアクセスすることができる。
オペレーティングシステム(OS)を利用者が対話的に操作することができる「シェル」(shell)を遠隔から呼び出してネットワークを通じて操作する仕様を定めている。接続後は一般的なUNIX系OSのシェルと同じようにコマンドの発行を行い、実行結果を文字で受け取ることができる。
公開鍵暗号と秘密鍵暗号を組み合わせて通信経路を暗号化し、パスワードなどの認証情報や入力されるコマンド、出力された処理結果などをすべて暗号化して送受信する。Telnetなど暗号化の仕組みのないプログラムやプロトコルに代わって安全な遠隔操作手段として普及している。
SSH接続で形成された安全な伝送経路を用いてローカル側とリモート側でファイルを複製(送受信)することもできる。標準ではcpコマンドに相当するscpコマンドが提供されるほか、FTPを模して作られた機能が豊富なSFTP(Secure File Transport Protocol/sftpコマンド)も利用できる。
SSHサーバとSSHクライアント
端末側で利用者が操作するソフトウェアを「SSHクライアント」、サーバ側で接続を受け付けるソフトウェアを「SSHサーバ」という。SSHサーバは標準ではTCPの22番ポートでクライアントの接続を待ち受ける。
SSHクライアント、SSHサーバともに様々な種類があるが、両方の機能を実装したオープンソースソフトウェアの「OpenSSH」の人気が高く、特にサーバの実装はこれを用いることが多い。ターミナルソフトなどにもSSHクライアント機能が内蔵されていることが多い。
接続手順
接続に先立ち、クライアントはサーバにパスワードを登録するか、公開鍵暗号の鍵ペアを生成して公開鍵をサーバに預ける。サーバ側にも導入時に固有の鍵ペアが生成されており、接続を希望するクライアントに公開鍵を渡しておく。
接続時にはまずクライアントが持つサーバの公開鍵を用いて、接続先のサーバがなりすましの偽物でないかを検証する(ホスト認証/サーバ認証)。本物と確認されたらDiffie-Hellman鍵交換などを用いて通信の暗号化に用いる共通鍵暗号の暗号鍵を共有し、伝送経路の暗号化を開始する。
パスワード認証を選択した場合には、暗号化された伝送経路を用いてパスワードを送信して利用者本人であることを確かめる。公開鍵認証を選択した場合には、クライアントが自らの秘密鍵で電子署名を生成してサーバに送付し、サーバは利用者の公開鍵で検証して本人かどうか確かめる。
公開鍵認証方式はパスワード認証のようにサーバに保管したパスワードの管理が杜撰で漏洩してしまったり、他のシステムと同じものを使い回してそちらから漏れるといった危険が無いため、利用可能であれば公開鍵認証を使うことが推奨される。
歴史
1980年代からUNIX系OSにはシェルの機能をネットワークを通じて遠隔から利用するrshやrexecなどのいわゆるr系コマンド群が存在したが、暗号化の仕組みが無く、インターネットなどオープンな環境で利用するのには適さない問題があった。
1995年、フィンランドのヘルシンキ工科大学(当時)に在籍するタトュ・ウルネン(Tatu Ylönen)氏がSSHの初期のバージョン(SSH-1)を開発した。これはフリーソフトウェアや、氏が創業したSSH Communications Security社の商用ソフトウェア製品などとして広まった。
2006年、SSH-1に発見された保安上の弱点(脆弱性)への対応やセキュリティ機能の強化が行われたSSH-2が開発され、RFC 4253など複数の仕様書によって標準化された。SSH-1とSSH-2は互換性がなく、現在ではSSH-2の方が普及しているが、古いソフトウェアとの互換性のためどちらで通信するか選択できる場合もある。
HTTPS 【HTTP over SSL/TLS】
通信方式の種別などを表すURIスキームの一つで、Webのデータ転送に用いられるHTTPが、SSLやTLSで暗号化されている状態を表したもの。WebサーバとWebブラウザの間の通信が暗号化されていることを意味し、通信経路上での盗聴や改竄、第三者によるなりすましを防止する。
インターネット上での情報資源を指し示すのに「http://www.example.com/」といった形式の「URL」(Uniform Resource Locator)あるいは「URI」と呼ばれる書式が用いられる。先頭部分の「http://」は資源の種類や通信方式、プロトコル(通信手順)などを表すスキームと呼ばれる要素で、通常のWeb通信ではHTTPによる通信を表す「http://」を用いる。
HTTPには通信の暗号化についての仕様が無いため、環境によっては通信内容を伝送途上で盗み見られたり途中で内容をすり替えられる危険がある。このため、暗号化プロトコルの「SSL」(Secure Socket Layer)あるいは後継の「TLS」(Transport Layer Security)で暗号化されたデータ伝送路を確立し、その中でHTTPによる通信を行うという方式が用いられる。
この通信方式を「HTTP over SSL/TLS」と呼び、スキームとして「https://」を用いる。アクセスしたいWebサイトのアドレス(URL)や、Webブラウザに表示されたWebページのアドレス欄などが「https://」で始まっていることを確認すれば、そのページのデータ伝送がSSL/TLSによって保護されていることが確認できる。
暗号化にはデジタル証明書が用いられ、Webブラウザのアドレス欄の近くにあるアイコンなどをクリック/タップすることなどにより、証明書の発行元(認証局)や、暗号方式の詳細、発行元に登録されたWebサーバ運営者の身元情報などを知ることができる。
HTTPは標準でTCPの80番ポートを使用して通信するが、HTTPS向けには標準でTCPの443番ポートが使われる。「https://www.example.com:8080/」のように特定のポートを指定することもできる。SSL/TLSを組み合わせて暗号化するプロトコルは他にもあり、SMTPを暗号化したSMTPS、POP3を暗号化したPOP3S、IMAP4を暗号化したIMAPSなどがよく知られる。
WPA2 【Wi-Fi Protected Access 2】
無線LAN(Wi-Fi)上で通信を暗号化して保護するための技術規格の一つで、WPAの後継。また、通信機器などが同規格に準拠していることを認定する認証制度。業界団体のWi-Fi Allianceが運用している。
旧版のWPAは無線LANのセキュリティについて定めた国際標準である「IEEE 802.11i」のドラフト(標準案)を元に策定されたが、WPA2は同規格の完成版を元にしている。WPA2対応製品同士はメーカーや機種の違いによらず共通の方法で暗号化機能を利用できる。
暗号化の方式として新たに「AES」(Advanced Encryption Standard)暗号を用いた「CCMP」(Counter mode with CBC-MAC Protocol)を採用している。この通信モードは「WPA2-AES」と呼ばれ、最長256ビット(AES256)までの強力な暗号鍵を利用できる。
WPA同様、事前共有鍵(PSK:Pre-Shared Key)を用いる個人・家庭・小規模事業所向けの「WPA2 Personal」(パーソナルモード/WPA2-PSK)と、IEEE 802.1X標準に基づくRADIUS認証サーバにより利用者や端末の認証を行う、大規模事業所向けの「WPA2 Enterprise」(エンタープライズモード)の二つを選択できる。
歴史
2004年9月にWi-Fi Allianceが発表した規格で、2002年に発表された初代のWPA規格とほとんどの仕様は共通となっている。TKIPなどWPAの仕様をそのまま用いる互換モードも用意されているため、WPA2対応機器は古いWPA対応の機器とも通信することができる。
2006年からはWPA2に対応しなければ無線LAN機器の「Wi-Fi CERTIFIED」認証を得られないようになっており、以降のすべての認定機器が対応している。2017年には「KRACK」と呼ばれる攻撃手法が発見され、各社は脆弱性を修正するファームウェアの更新などで対応している。2018年には後継の「WPA3」規格が発表され、新しい機種で移行が進みつつある。
WPA3 【Wi-Fi Protected Access 3】
無線LAN(Wi-Fi)上で通信を暗号化して保護するための技術規格の一つで、WPA2の後継。また、通信機器などが同規格に準拠していることを認定する認証制度。業界団体のWi-Fi Allianceが2018年6月に発表した。
基本的な仕様はWPA2に則っており、いくつかの機能が拡張・強化されている。WPA3対応機器は古いWPA2対応機器とはWPA2を用いて通信することができる。新たに策定された仕様はWPA3対応機器間でのみ利用できる。
WPA2およびWPAと同様に、個人・家庭・小規模事業所向けの「WPA3-Personal」(WPA3-SAE/パーソナルモード)と、IEEE 802.1X認証サーバにより利用者や端末の認証を行う大規模ネットワーク向けの「WPA3-Enterprise」(WPA3-EAP/エンタープライズモード)の二つを選択できる。
パーソナルモードではWPA2までの事前共有鍵(PSK:Pre-Shared Key)方式を改め、利用者の入力したパスワードから一定の手順で算出した値と乱数を用い、楕円曲線暗号によって認証を行う「SAE」(Simultaneous Authentication of Equals)方式が採用された。エンタープライズモードでは新たな暗号スイートであるCSNA(Commercial National Security Algorithm)を採用し、192ビット安全性を実現している。
PGP 【Pretty Good Privacy】
データを暗号化してやり取りするためのソフトウェアの一つ。また、同ソフトが利用している暗号化の方式および手順。公開鍵暗号と共通鍵暗号を組み合わせ、メッセージを効率よく安全に暗号化することができる。
ランダムに生成した暗号鍵を用いて共通鍵暗号でメッセージを暗号化し、送信相手の公開鍵で共通鍵を暗号化、両者を合わせて相手に送信する。受信者は自分の秘密鍵で共通鍵を復号し、これを用いてメッセージ本体を復号する。
PGPの暗号化方式を標準化した仕様は「OpenPGP」と呼ばれ、IETFによって1998年にRFC 2440として公開された。これにより、オリジナルのPGPソフトウェア以外にも、GNUプロジェクトによるオープンソースソフトウェア「GNU Privacy Guard」(GPG/GnuPG)など、様々なソフトウェアの暗号化にPGP方式が取り入れられるようになった。
歴史
オリジナルのPGPは1991年にフィル・ジマーマン(Philip R. Zimmermann Jr.)氏が開発・公開した。当時の米国政府の暗号技術の輸出規制により米国外に持ち出したり使用することができなかったが、ソースコードを出版物として印刷し外国で入力し直すという方策により国際版「PGPi」が公開された。後に輸出規制が緩和されたためオリジナルのPGPをどこでも利用できるようになった。
1996年に同氏はPGP社(PGP Inc.)を設立してPGP製品の開発・販売に乗り出し、同社は1997年に当時の米ネットワーク・アソシエイツ(Network Associates)社(NA)に買収された。2002年にNA社はPGP事業の継続を断念したため、元PGP部門の数人が新たにPGP Corporation社を設立してNA社から関連資産を取得した。
新生PGP社は2010年に当時の米シマンテック(Symantec)社に買収され、同社のセキュリティ製品ラインの一部となったが、シマンテック社も2019年に米ブロードコム(Broadcom)社に買収され、現在は同社がPGP関連資産を保有している。
S/MIME 【Secure Multipurpose Internet Mail Extensions】
公開鍵暗号を応用し、電子メールの内容を暗号化したりデジタル署名を付加することができる標準規格の一つ。正規の受信者以外による盗み見や改竄、偽物による送信者のなりすましなどを防止することができる。
メールの添付ファイル(MIME:Multipurpose Internet Mail Extension)の仕組みを応用して、本文を暗号化して添付ファイルとしたメッセージを作成し、正規の受信者以外が傍受しても復号できないようにすることができる。
また、メッセージにデジタル署名を添付して、送信者がなりすました偽物ではなく確かに本人であることを受信者が確認できるようにする。伝送途上で悪意の第三者がメッセージを改竄した場合も、署名が本人のものと一致しないためこれを検知することができる。
S/MIMEを利用するには認証局(CA:Certificate Authority)の発行したデジタル証明書(公開鍵証明書)が必要となる。メッセージが組織内でのみやり取りされる場合は組織内に設置したプライベートCAを用いても良いが、通常は事業者が運営するパブリックCAから証明書を取得することが多い。
暗号化と署名は同時に用いることも、必要に応じて片方のみ用いることもできる。暗号化に用いる証明書(および鍵ペア)と署名に用いる証明書は同一でも良いが、目的が異なるため別の証明書にするのが望ましいとされる。
S/MIMEの仕様は業界標準として利用されていたPKCS #7を元に米RSAデータセキュリティ(RSA Data Security)社が開発し、1998年にIETFによって最初の規格(S/MIME Version 2/RFC 2311~2315)が標準化された。最新の規格は2019年に策定されたS/MIME 4.0(RFC 8551)である。
ベイジアンフィルタ 【Bayesian filter】
ベイズ推定と呼ばれる統計的手法を応用し、データを分類したり判別したりするソフトウェア。また、ソフトウェアの持つそのような機能。メールソフトなどで迷惑メールの自動振り分け機能(スパムフィルタ)として用いられることが多い。
迷惑メール判定を行なうベイジアンフィルタリングの場合、最初に利用者などがメールを迷惑メールと通常のメールに分類し、これをベイジアンフィルタリングに読み込ませてそれぞれの特徴を学習させる。この学習結果を元に、新たに届いたメールがどちらにどのくらい似ているかを算出し、より似ている方に含まれると判定する。
判定が正しければこの新しいメールの内容も学習し、以後の判定に利用する。判定を誤った場合は利用者がそれを指摘することで、学習内容に反映させることができる。メールが届くたびにこの過程を繰り返すことで判定の精度が次第に向上していく。
従来方式のように利用者が一つ一つ判定条件(送信元アドレスや文中のキーワードなど)を指定・追加しなくても、すでに分類済みのメールの様々な要素を特徴として自動的に学習し、将来の判定に役立てることができる。条件をすり抜けるテクニックとして用いられる換字(Oを0に置き換える等)や伏せ字なども、サンプルが多く集まれば柔軟に対応できるようになる。
送信ドメイン認証
電子メールを受信する際に、差出人が名乗っている送信元メールアドレスが正しいかどうかを確かめる仕組み。いくつかの技術規格を組み合わせて用いることが多い。
電子メールの制御情報として記載された送信元メールアドレスは差出人が設定したものがそのまま使われるため、偽のドメイン名を含むアドレスにしたり、自分とは無関係なドメイン名のアドレスを勝手に名乗る「なりすまし」行為が横行している。
送信元ドメイン認証は受信側でこのような送信元を偽装したメールを検知して受け取りを拒否する技術で、偽の送信元から届くスパムメールやウイルスメール、フィッシング詐欺、標的型攻撃などの一部を受信者に届く前に阻止することができる。
送信元ドメイン認証は大きく分けて、送信元メールサーバのIPアドレスがアドレスに記載されたドメインのものか確認する「SPF」(Sender Policy Framework)などの方式と、送信時に電子署名を付与する「DKIM」(DomainKeys Identified Mail)などの方式の2種類がある。
SPFはドメインについての情報を配布するDNS(Domain Name System)の仕組みを応用するもので、各ドメインが自身がメールを送信するのに使うIPアドレスをDNSを通じて公開し、受信側で当該ドメインが公開しているアドレスから届いたものかを確認する。リストに無いアドレスが送信元の場合は無関係な第三者のなりすましであると判断できる。
DKIMは公開鍵暗号を応用した電子署名(デジタル署名)で送信元を確かめる方式で、各ドメインは一対の公開鍵と秘密鍵を生成し、公開鍵はDNSを通じて公開する。正規の送信元サーバはメールの送信時に秘密鍵から署名を生成して付与する。受信側は秘密鍵と対になる当該ドメインの公開鍵を取り寄せ、付与された署名を検証することにより、なりすましでないことを確認できる。
SPFやDKIMで不正と判定されたメールの取り扱いを偽装されたドメイン側で指定するため、「DMARC」(Domain-based Message Authentication, Reporting, and Conformance)という規格が併用されることもある。なりすまし行為が確認されるのは受信側であり、勝手に送信元に使われたドメイン所有者は直接そのことを知ることができないため、DMARCで受信側に偽装メールを検知したら知らせるよう依頼することができる。
SPF 【Sender Policy Framework】
電子メールの送信元ドメインの詐称を検知する技術。ドメイン名についての情報を配布するDNS(Domain Name System)の仕組みを利用して、本当に送信元アドレスに記載されたドメインから送られてきたメールかを調べることができる。
電子メールの送受信に標準的に用いられるプロトコル(通信規約)である「SMTP」(Simple Mail Transfer Protocol)では、送信元アドレスは送信者が任意に設定できる。迷惑メールの送信者はメールの到達性や効果を高めるため、送信元アドレスのドメイン名に虚偽の内容を記載し、社会的に信用ある企業や団体になりすましたり、メールフィルタに排除されないよう大手ISPやネットサービスのドメインを詐称することがある。
自ドメインが虚偽の送信元の一部に使われることを防ぎたいドメイン管理者は、自ドメインのDNS情報に「SPFレコード」と呼ばれる情報を追加する。SPFレコードにはそのドメインからのメール送信に使われる可能性のあるIPアドレスを列挙しておく。
正規の送信元に指定されたメールサーバには、正規の利用者からの送信依頼しか受け付けないように設定しておく。SPFレコードが利用できないシステムのために、任意のテキストデータを記載できるTXTレコードを用いる方法も規定されている。
迷惑メール送信者がそのドメインのメールアドレスを設定して送信しようとした場合、受信側のメールサーバは送信元に設定されているドメイン名のDNS情報を取り寄せ、SPFレコードに記載されたIPアドレスから来たものかを調べる。
無関係なIPアドレスが発信元であれば、記載された送信元メールアドレスが虚偽であると判断できる。DNSにSPFレコードを記載していないドメインが送信元の場合にはSPFによる虚偽アドレスの検知は利用できない。
SPFはPobox.com社の創業者メンウェン・ウォン(Meng Weng Wong/黄銘榮)氏らが提唱し、当初は「Sender Permitted From」の略とされた。2006年にはIETFによってRFC 4408として標準規格が発行され、2014年のRFC 7208によって改訂された。
DKIM 【DomainKeys Identified Mail】
デジタル署名を利用して、電子メールの受信者が送信元アドレスに記載されたドメイン名が本物かどうか検証できるようにする技術。迷惑メールの受信拒否などに利用される。
デジタル署名はメッセージの真正性を証明するために付加される短い暗号データで、作成者を証明し、改竄やすり替えが行われていないことを保証することができる。公開鍵暗号方式における公開鍵と秘密鍵の対を利用する。
あるドメイン名のメールアドレスを持つ正規の送信者は、電子メールの送信時に当該ドメインの秘密鍵を元に作成されたデジタル署名を含める。ドメイン名の管理者はDNSサーバを通じて対になる公開鍵を公開する。受信側はDNSサーバから取り寄せた公開鍵を用いてデジタル署名を検証することにより、確かに当該ドメインから送信されたことを確認できる。
このとき、迷惑メール送信者など無関係な第三者が送信元を当該ドメインのアドレスに偽装しようとしても、そのドメインの正しい秘密鍵を持っていないため、正しいデジタル署名を作成してメールに含めることができない。受信側はメールにデジタル署名が含まれていなかったり、偽の署名が書き入れられていれば、送信元が偽装されていることを検知できる。
デジタル署名は必ずしも送信者本人のメールクライアントなどが行う必要はなく、メールサーバなどが転送時に自動的に書き込むことができ、サーバの管理側だけで導入・運用することができる。
DKIMは2007年にIETFによってRFC 4871として標準化され、2011年のRFC 6376によって更新された。送信元ドメイン認証には他に、メールサーバのIPアドレスを確認するSPF(Sender Policy Framework)のような手法もある。
DMARC 【Domain-based Message Authentication, Reporting, and Conformance】
電子メールのなりすまし送信を防止するための通信規約(プロトコル)の一つ。SPFやDKIMと連携し、不審なメールの取り扱いを送信元として名乗っているドメインの所有者が指定できるようにするもの。IETFによってRFC 7489として標準化されている。
メールの差出人欄(From:)は送信者が自由に設定できるため、著名組織のドメイン名などを無関係な第三者が勝手に送信元であるかのように記載する「なりすまし」が可能で、無差別に宣伝などをばら撒くスパムメールや、悪意あるサイトに誘導するフィッシング詐欺などに悪用され社会問題となっていた。
これに対抗するため、送信元メールサーバが本物かドメイン所有者側に照会する「SPF」(Sender Policy Framework)や、デジタル署名で送信元を検証する「DKIM」(DomainKeys Identified Mail)などが普及したが、これらは「偽物」と判定されたメールの取り扱いは何も規定しておらず、受信者側の判断に任されていた。
DMARCはSPFやDKIMと組み合わせて使用する技術で、「なりすまし」が疑われたメールの取り扱いを、送信元として記載されたドメイン名の所有者が指定できるようにする。ドメイン所有者は自らのドメインを管理する権威DNSサーバにDMARC仕様に則ってTXTレコードを記載し、受信者側はこれを参照して指示に従う。
DMARCによって、SPFやDKIMの認証に失敗したメールに対して「何もしない」(none)、「隔離する」(quarantine)、「受信を拒否する」(reject)のいずれかを指定できる。従来はなりすましが行われたことをドメイン所有者が知る術はなかったが、DMARCでは認証に失敗した旨を受信者からドメイン所有者側にレポートすることができる。
また、一斉配信などで用いられる第三者署名(差出人アドレスとは異なるドメインによる署名)も拒否するようになっており、厳格に送信元を確認することができる。
SMTP認証 【SMTP Authentication】
メールの送信や転送に用いるプロトコル(通信規約)であるSMTPの拡張仕様の一つで、メールの発送時に、メールサーバが送信依頼をしてきた相手が正規の利用者かどうかを確認する方法を規定したもの。
SMTPはもともとユーザー認証の機構がなく、誰でも自由にメールサーバにアクセスしてメールを発送することができたため、インターネット上で広告メールやウイルスメールなどが無差別にばら撒かれる要因となっていた。
SMTP-AUTHでは、利用者の手元のメールクライアントからネットワーク管理者の運用するSMTPサーバ(メール送信サーバ)へメールの送信依頼を行う際に認証過程を導入し、クライアント側にアカウント名やパスワードを申告させて確かに正規の利用者であることを確認してから送信を受け付けるようにすることができる。
認証方式
汎用的な認証方式のSASL(Simple Authentication and Security Layer)を採用しており、認証情報(アカウント名やパスワード)をそのまま交換するモード(AUTH LOGINコマンドやAUTH PLAINコマンド)と、不可逆な符号化(ハッシュ化)を施して通信途上での盗み見を防止するモード(AUTH CRAM-MD5コマンドやAUTH DIGEST-MD5コマンド)がある。
近年では、パスワードを直にやり取りするのではなく、アクセストークンと呼ばれるアクセス許可を指示する短い符号をやり取りするOAuth規格を応用したAUTH XOAUTHコマンドや、OAuth 2.0規格対応のAUTH XOAUTH2コマンドが定義され、こちらを用いるシステムが増えている。
暗号化との併用
SMTPには通信を暗号化する仕組みがなく、これはSMTP-AUTHでも同様である。インターネット上ではたとえハッシュ化などが行われていても認証についてのやり取りを第三者が自由に見ることができるのは好ましくないため、SSL/TLS方式でSMTP通信を丸ごと暗号化する「SMTPS」(SMTP over SSL/TLS)が併用されることが多い。
SMTPではサーバ間のメッセージ交換に25番ポートを用いるが、SMTPSでメールを発送する場合はクライアントからサーバの465番ポートに接続することになっており、SMTP-AUTHのやり取りやメッセージ本体がすべて暗号化される。暗号化を使用せず発送する場合は587番ポートを利用する。
従来方式からの移行
SMTP-AUTHはサーバとクライアントの双方が対応してなければ利用できないため、様々な加入者が利用するインターネットサービスプロバイダ(ISP)などでは旧来の方式から徐々に切り替えが進められ、近年では多くのサービスでSMTP-AUTHによる認証が必須となっている。
SMTP-AUTHの最初の仕様は、インターネット関連技術の標準化を推進するIETFによりRFC 2554「SMTP Service Extension for Authentication」として1999年に発行され、2007年のRFC 4954によって更新された。SMTP-AUTHが普及するまでの過渡期の認証方式として、認証機能を持つPOP3プロトコルによるメール受信動作を送信直前に行うことで、正規の利用者からのアクセスであることを確認する「POP before SMTP」(PbS)が用いられた。
OAuth
運営主体の異なる複数のWebサイトやネットサービス、ソフトウェアなどの間で、データや機能へのアクセス権限の認可(authorization)情報を送受信するためのプロトコル(通信規約)の一つ。
ある利用者がネット上のサービスAとサービスBに加入しているとする。通常ならばAの機能や保管しているデータは利用者本人しかアクセスできないが、OAuthを用いると、Bに対して「自分がAで利用している機能やデータにアクセスしても良い」という許諾を与え、Aに対して「Bが自分についての操作やデータを求めてきたら提供しなさい」と指示することができる。
これにより、BではAが提供する機能やデータと連携したサービスを利用者に対して提供することができる。例えば、写真共有サービスに写真を投稿すると、利用者が操作しなくてもSNSの自分のアカウントにも自動的に投稿される、といった機能が実現できる。
OAuthではシステム間でアクセストークン(access token)と呼ばれる機能ごとに発行される短い符号を受け渡すことで権限の認可を行っており、利用者の認証情報そのものはやり取りしない。利用者はパスワードなど秘密の情報を渡すことなく、サービス同士を連携させることができる。
OAuth 2.0
最新の仕様であるOAuth 2.0では、上記の例におけるサービスAに相当するOAuthクライアント、利用者本人に相当するリソースオーナー、サービスBに相当する認可サーバとリソースサーバという4つの役割(ロール)が定義されている。
まずクライアントはリソースオーナーに認可要求(authorizaion request)を行う。実際の利用場面では利用者の求めに応じて認可プロセスが開始するため、クライアントが認可サーバに認可を求め、認可サーバがリソースオーナーに問い合わせを行う形になることが多い。
リソースオーナー(通常は利用者本人)はWebブラウザを操作して「サービスAに権限を与える」等の回答を行うことで認可グラント(authorization grant)をクライアントに与える。これも実際には認可サーバを経由して行われることが多い。
クライアントは認可サーバに認可グラントを送り、アクセストークンの発行を要求する。認可サーバはクライアントを認証し、正規の認可グラントであると確認できればアクセストークンを発行する。クライアントはリソースサーバにアクセストークンを示して資源の要求を行い、リソースサーバはトークンが真正であると確認できれば要求を受け入れる。
OAuthの仕様の範疇ではアクセストークンの具体的な形式や記述内容、認可サーバとリソースサーバの間の連携方式などは定めておらず、システムごとに独自に実装する。トークンの形式にはJWT(JSON Web Token)を用いることが多い。
OAuth認証
OAuthにより利用者の認証情報そのものをシステム間でやり取りし、他のサービスのIDでログインできるようにする「OAuth認証」を提供している事例もある。
利用者アカウントを取得しなくても著名SNSや大手ネットサービスなどのIDでサービスを利用できて便利だが、連携先に認証情報そのものを丸ごと渡してしまう形になるため、連携先に悪意がある場合なりすましや不正操作の被害に遭うほか、連携先のデータ管理が不適切で認証情報が流出するリスクにも晒される。
OAuthはそもそも認証のために用いるものではないため、外部IDによるログインなどを実装したい場合はOpenID ConnectなどのID連携のための仕組みを用いるべきであるとされる。
歴史
2000年代前半に「Web 2.0」概念の一環として外部のサービスの機能やデータを取り込んでサービスを構築する「マッシュアップ」の手法が広がり、異なる主体の運営するサービス同士を安全に連携させる標準的な手段の確立が課題となった。
2007年に米ツイッター(Twitter)社(当時)のブレイン・クック(Blaine Cook)氏らがOAuth 1.0の仕様を公表した。同氏らのグループは同時期にOpenIDの仕様策定も手掛けている。2010年頃に次世代のOAuthを策定する動きが活発になり、2012年にOAuth 1.0とは互換性のないOAuth 2.0がIETFによって標準化(RFC 6749およびRFC 6750)された。
DNSSEC 【DNS Security Extensions】
インターネット上のドメイン名とIPアドレスの変換などを行なうDNS(Domain Name System)において、DNSサーバからの応答が正当なものであることをデジタル署名により確認する方式を定めた規格。
DNSクライアントやDNSキャッシュサーバが権威DNSサーバへ問い合わせを行なう際に、サーバからの応答が悪意の第三者によって差し替えや改竄が行われていないことを検証する手順を定めている。利用するにはサーバとクライアントの双方がDNSSECに対応している必要がある。
公開鍵暗号とデジタル署名を応用し、サーバ側が送信するメッセージに管理者の持つ秘密鍵で生成した署名を付す。応答を受信したクライアントはサーバ側で公開されている公開鍵を用いてこれを検証することで、正規の管理者からの情報が改竄されずに伝送されたことを確認できる。
攻撃者がサーバを乗っ取るなどして署名ごと偽造することを防ぐため、管理者はあらかじめ公開鍵を自身の親ゾーン(上位ドメイン)の管理者に送信し、親ゾーンのDNSサーバで署名を付けて公開する。攻撃者が偽の署名でメッセージを送信しても、親ゾーンで公開されている鍵情報と一致しないため、偽物であることが分かる。
親ゾーンも自身の公開鍵をさらに上位の親ゾーンに渡すようになっているため、攻撃者がルートサーバが管理する最上位ドメイン(ルートゾーン)以下、そのドメインまでのすべてのゾーンを乗っ取らない限り、偽の署名を有効にすることはできない。
DNSSECで用いる情報の定義はゾーン情報に専用のリソースレコードを用いて記述する。公開鍵を記述するDNSKEYレコードや、署名情報を記述するRRSIGレコード、親ゾーンに登録した鍵情報を記述するDSレコード、あるゾーンの不存在を通知するNSECレコードなどが用いられる。
EAP 【Extensible Authentication Protocol】
二地点間の接続の確立に用いられるPPP(Point-to-Point Protocol)の拡張仕様で、様々な認証方式を利用する手順を定めたもの。LAN上で認証を行う方式を定めたIEEE 802.1Xなどにも採用されている。
EAPは認証を行うクライアントとサーバの間でどの方式で認証を行うか交渉する手順を定めており、両者が対応しており同意した方式で認証手順が開始される。EAPで利用できる具体的な認証方式はメーカー独自のものも含めて様々なものがある。
代表的なものとしては、認証情報をMD5でハッシュ化してやり取りする「EAP-MD5」(Message Digest 5)、デジタル証明書のやり取りによって認証を行う「EAP-TLS」(Transport Layer Security)、伝送路をSSL/TLSで暗号化して認証情報をやり取りする「EAP-TTLS」(Tunneled TLS)や「EAP-PEAP」(Protected EAP)などがある。
1995年に開発され、1998年にIETFによってRFC 2284(PPP Extensible Authentication Protocol)として標準化された。2004年に後継のRFC 3748が発行され、「PPP」が抜けて「Extensible Authentication Protocol」に改称された。現在ではIEEE 802.1Xの認証メカニズムとして広く知られるほか、無線LANのセキュリティ規格(IEEE 802.11i/WPA2/WPA3)でも採用されている。
EAP-TLS 【Extensible Authentication Protocol Transport Layer Security】
IEEE 802.1XやWPA2/WPA3などで用いられる認証プロトコルEAP(Extensible Authentication Protocol)の認証方式の一つで、IDやパスワードではなくデジタル証明書のやり取りによって認証を行う方式。
EAPはもともとPPP(Point-to-Point Protocol)の認証方式を拡張する仕様として策定されたプロトコル(通信規約)で、クライアントとサーバの間でどのような認証方式を用いるかを交渉し、合意した手順に基づいて認証を実施することができる。
EAP-TLSではトランスポート層を暗号化し、クライアントとサーバの双方が用意したデジタル証明書を交換して相互に認証する。クライアントのみが認証情報を送信する方式とは異なり、サーバ側の詐称を検知・防止することができる。
EAP-PEAP 【Protected Extensible Authentication Protocol】
IEEE 802.1XやWPA2/WPA3などで用いられる認証プロトコルEAP(Extensible Authentication Protocol)の認証方式の一つで、SSL/TLSで通信経路を暗号化して認証情報を送信する方式。
EAPはもともとPPP(Point-to-Point Protocol)の認証方式を拡張する仕様として策定されたプロトコル(通信規約)で、クライアントとサーバの間でどのような認証方式を用いるかを交渉し、合意した手順に基づいて認証を実施することができる。
PEAPではWebの暗号化通信にも用いられるSSL/TLSでトランスポート層を暗号化して経路上の盗聴を防ぎ、ユーザー名やパスワードを安全に送受信することができる。利用するにはサーバ側にデジタル証明書を準備する必要がある。
米マイクロソフト(Microsoft)社、米RSAセキュリティ(RSA Security)社、米シスコシステムズ(Cisco Systems)社が共同開発したもので、Microsoft社製品に実装されている「MS-PEAP」(PEAPv0あるいはEAP-MSCHAPv2とも呼ばれる)と、Cisco社製品に実装されている「Cisco-PEAP」(PEAPv1あるいはEAP-GTCとも呼ばれる)には仕様上の微妙な違いがある。
RADIUS 【Remote Authentication Dial-In User Service】
ネットワーク上で利用者の認証や権限の付与、利用状況の記録などを行うための通信プロトコルの一つ。大規模なネットワーク認証システムの構築に用いられる。
RADIUSサーバとRADIUSクライアントの間の通信方式を規定したもので、利用者の情報はRADIUSサーバが一元的に管理し、クライアントからの要求に応じて認証の可否や資源へのアクセスの可否などを通知する。
「RADIUSクライアント」とは末端の利用者からの接続を受け付けるルータや無線LANアクセスポイント、リモートアクセスサーバ、ダイヤルアップサーバなどのことを意味し、利用者との間でPAP、CHAP、EAPなどの認証プロトコルで認証情報のやりとりを行う。
RADIUSクライアントと利用者側の端末などの間の認証方式はRADIUSでは特に定めていない。利用者から見ると、認証サーバが「利用者認証を実施するサーバ」と「認証情報を管理するサーバ」の2階層の構成になっており、サーバ間の通信方式を定めたのがRADIUSであるとも言える。
RADIUSの通信はIP(Internet Protocol)とUDPを用いて行われ、RADIUSクライアントからRADIUS要求パケットを送信し、サーバがRADIUS応答パケットを返信するという形で認証が行われる。パスワードなど秘密の情報は共通鍵暗号(共有鍵暗号)により暗号化されて送受信される。
RADIUSは1992年に米リビングストン・エンタープライズ(Livingston Enterprises)社(買収・合併を繰り返し現在はノキア社の一部)が開発したもので、電話回線などを通じたインターネットへのダイヤルアップ接続やリモートアクセスサービスのための認証情報の一元的な管理のために用いられた。
1997年にIETFによってRFC 2058として標準化され、2000年に改訂されたRFC 2865などの規格が普及している。現代でもインターネット接続事業者(ISP)などが契約者の認証システムのために内部的に利用しているほか、企業内LANなどでもIEEE 802.1Xと組み合わせて端末の認証などに利用されている。
ネットワークセキュリティ
個人や組織が所有・利用するコンピュータやデータ、ソフトウェアなどの情報資産を、コンピュータネットワークや通信回線を介して試みられる攻撃や不正利用から保護し、安全に運用するための施策のこと。
通常はインターネットを通じて外部と接続されたネットワークや機器を、保安上の脅威から守るための装置やソフトウェア、仕組み、施策、規約などの総体を指すが、広義には、組織内で完結したクローズドなネットワークにおける不正利用対策なども含まれる。
外部の悪意のある第三者により引き起こされる脅威としては、システムへの侵入(乗っ取り・遠隔操作)や、機密データの不正な取得・改ざん・消去、システムを機能不全に陥らせる妨害攻撃(DoS:サービス拒否攻撃)、コンピュータウイルスなどのマルウェアの侵入や感染などが想定される。従業員など内部に起因する脅威として、機密データの権限を超えた覗き見や不正な持ち出し、USBメモリなどで持ち込まれネットワークを通じて広がるウイルスなどがある。
これらの脅威に対応するために一般的に施される対策としては、外部ネットワークとの境界にファイアウォールや侵入防止システム(IPS)などの機器を設置して内外を通過するデータを監視し、不要な通信の遮断や不審な通信を検知したり、各機器にアンチウイルスソフトやセキュリティソフトを導入して不正なプログラムやアクセスを排除したり、無線LAN(Wi-Fi)に適切な暗号化や利用制限を課すといった手法がある。
また、利用者を起点にした攻撃を防ぐために、各員のアカウントのアクセス権限の設定により業務に不要やデータやプログラムの利用を制限したり、適切なパスワードの設定や運用(個人情報から類推できる文字列を設定しない、メモ書きしないなど)、外部から受信した電子メールの添付ファイルの取り扱いなどについて、保安上の行動規範の教育や訓練を行う場合もある。
パケットフィルタリング 【PF】
通信機器やコンピュータの持つネットワーク制御機能の一つで、外部から受信したデータ(パケット)を管理者などが設定した一定の基準に従って通したり破棄したりすること。ルータなどの中継装置はパケットの転送時に、コンピュータなどの端末は自分宛てのパケットの着信時に行う。
受信したIPパケットやその中のTCPパケット、UDPデータグラムのヘッダ部分などを解析し、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコルの種類などの情報を取得する。これを元に、あらかじめ設定された条件と比較して、パケットを通過させるか破棄するかを判断する。条件の指定は「列挙した条件に適合するもの以外すべて通過」と「列挙した条件に適合するもの以外すべて破棄」のいずれかの方式で行う。
どのような条件によって通過あるいは破棄させるかは機器やネットワーク管理者が任意に設定することができるが、当該組織のネットワーク運用ポリシーに照らして、最低限通過させる必要のあるパケット以外は破棄するという設定にすることが多い。外部からの攻撃に悪用されることを極力防ぐためである。
MACアドレスフィルタリング 【MAC address filtering】
無線LANルータ(Wi-Fiルータ)などが備える機能の一つで、特定の機器からしか接続できないようにする機能。端末を物理的に識別して、あらかじめ登録された端末からのみアクセス可能にすることができる。
無線LAN(Wi-Fi)のネットワークは電波の届く範囲からなら物理的にはどこからでも接続できるため、正規の利用者以外は利用できないようにする必要がある。
MACアドレスフィルタリングはそのためのアクセス制限方式の一つで、端末(正確には内部のネットワークインターフェース)ごとに固有のMACアドレスを無線アクセスポイントや無線ルータに登録することで、無関係の人が外部から接続できないようにすることができる。
ただし、MACアドレス自体は秘匿されるような情報ではないため、外部からの継続的な通信の傍受などでアクセス可能なMACアドレスを割り出される可能性がある。また、通常の機材を通常の方法で使用する限りMACアドレスの書き換えや偽装はできないが、技術力のある攻撃者はMACアドレス偽装などを行うことが可能である。
このため、本格的なセキュリティ対策や利用者認証のつもりでMACアドレスフィルタリングを用いるのは危険であり、あくまでもWi-Fiアクセスポイントの「ただ乗り」、内部ネットワークの覗き見といったカジュアルな不正を防止する簡易な対策であるとの認識が必要である。
認証サーバ
システムの使用やネットワークへの接続を試みた人物が登録利用者本人であるかを確認する「認証」(authentication)を行うサーバ。特に、ネットワーク内でユーザー認証を一手に引き受けるサーバのことをこのように呼ぶことが多い。
認証サーバは利用者のIDやパスワードなどの認証情報を登録・管理し、利用者からの接続要求を受けて本人確認を行う。一般的に用いられるのは接続希望者にパスワードの入力を求めて本人が事前に登録したものに一致するか確かめるパスワード認証だが、より高度な方式を利用したり複数の方式を組み合わせる(二要素認証/二段階認証)場合もある。
認証を求めるクライアント(利用者が操作する端末など)との間では標準化されたプロトコル(通信規約)に基いて認証情報や接続可否などのやり取りを行う。インターネット接続のために通信事業者が契約者に行う認証ではPAPやCHAPなどが、企業内ネットワークなどで無線LANを利用する場合などにはEAPなどの方式が用いられる。
また、コンピュータシステムへのログインをネットワーク上に設置した認証サーバでまとめて行うシステムが用いられることもある。利用者は一度のログイン操作でそのコンピュータだけでなく認証サーバの管理下にあるネットワーク上の様々なサーバや資源を利用できるようになる。このような仕組みを「シングルサインオン」(SSO:Single Sign-On)という。Windows ServerのActive Directoryではドメインコントローラがこの認証サーバの役割を果たす。
NAT 【Network Address Translation】
二つのIPネットワークの境界にあるルータやゲートウェイが、双方のIPアドレスを対応付けて自動的に変換し、データ伝送を中継する技術。主にLAN内のプライベートIPアドレスとインターネット上のグローバルIPアドレスを変換するために用いられる。
構内ネットワーク(LAN)とインターネットなど、二つのネットワークの間で特定のアドレス同士を対応付け、両者の間を出入りするIPデータグラムに含まれる送信元や宛先のIPアドレスを転送時に自動的に書き換える。
これにより、両ネットワーク間が直接通信できない場合でも、一方からもう一方へ透過的にアクセスできるようになる。プライベートIPアドレスで運用されているLAN内からインターネット上のサーバへアクセスしたい場合などによく用いられる。
NAPT/PAT
NATを拡張し、通信を行うポート番号も同時に変換することで、一つのアドレスにもう一方のネットワークの複数のアドレスを対応付けて同時に通信できるようにする技術を「NAPT」(Network Address and Port Translation)あるいは「PAT」(Port Address Translation)、「IPマスカレード」(IP masquerade)などという。
ポート番号が固定の単純なNATは使い勝手が悪く、ルータ製品などの多くは実際にはこれらの方式を採用しているが、「NAT」の名称がすでに広く普及しているため、これらを総称してNAT機能などと呼称する例も多く見られる。
送信元NATと宛先NAT
NATは通信の方向に応じて自動的に送信元あるいは宛先のアドレスを書き換えるが、接続を確立するパケットの扱いによって、送信元を書き換える「ソースNAT」と宛先を書き換える「デスティネーションNAT」に分類される。
一般的に用いられるのはLANからインターネットへ送信される接続確立用のパケットの送信元アドレスを書き換える「ソースNAT」(Source NAT/SNAT/送信元NAT)で、LAN内のプライベートIPアドレスしか持たないパソコンなどからインターネットにアクセスするために用いられる。
一方、インターネット側からの接続要求の宛先アドレスを自動的にLAN内のアドレスに書き換える方式は「デスティネーションNAT」(Destination NAT/DNAT/宛先NAT)という。LAN内にあるサーバなどの機器にインターネット側からアクセスできるようにする手段として用いられ、「バーチャルホスト」「ポートフォワーディング」(ポート転送)とほぼ同義である。
静的NATと動的NAT
IPアドレスの対応付けの仕方によって分類することもある。外部側と内部側のアドレスを一つずつ固定的に対応付け、常に同じアドレスに転送する方式を「静的NAT」(static NAT/スタティックNAT)という。内部から通信したいプライベートIPアドレスの数だけグローバルIPアドレスが必要となる。
一方、内部から通信要求があるたびにグローバルIPアドレスを動的に割り当てて当座の通信に用いる方式を「動的NAT」(dynamic NAT/ダイナミックNAT)という。少ないグローバルIPアドレスで内部の多数の機器が通信できるが、接続ごとに内部側のアドレスが代わるため、外部側から通信を開始する用途(サーバ運用など)に使うことはできない。
NAPT 【Network Address Port Translation】
2つのIPネットワークの境界にあるルータやゲートウェイが、双方のIPアドレスとポート番号を自動的に変換してデータを中継する技術。内部ネットワークからインターネットへ透過的にアクセスできるようになる。
インターネットに接続するにはグローバルIPアドレスが必要だが、企業や家庭などの構内ネットワーク(LAN)では当該ネットワーク内だけで通用するプライベートIPアドレス(ローカルIPアドレス)で運用されている場合があり、プライベートアドレスしか持たない機器はインターネットへ直接アクセスすることはできない。
IPマスカレードはネットワーク境界上にあるルータなどの中継装置が持つ機能で、プライベートアドレスとグローバルアドレスの相互変換を自動的に行い、ローカル側の機器があたかもインターネットに直接繋がっているかのようにアクセスできるようにする。その際、TCPやUDPで通信の種類を表すポート番号も動的に変換する。
NATとの違い
同種の技術である「NAT」(Network Address Translation)はIPアドレスのみを変換するため、一つのグローバルアドレスを同時に使えるのは一つのプライベートアドレスのみだが、IPマスカレードではグローバルアドレス側のポート番号をそのとき空いているものから自動的に割り当てるため、一つのグローバルアドレスで複数の機器が同時にインターネット側と通信することができる。
ただし、インターネット側の機器からはローカル側の機器がどのポート番号で接続するのか事前に知ることができないため、サーバなどインターネット側から接続を開始する用途には利用できない。この制限を緩和するため、利用者があらかじめ指定したIPアドレスとポート番号の組み合わせをインターネット側の特定のポートに固定的に対応付けるといった独自の機能を提供しているブロードバンドルータなどもある。
NAPTとIPマスカレード
本来、この方式の一般的な名称が「IPマスカレード」、LinuxにおけるIPマスカレードの実装の名前が「IP masquerade」(IPマスカレード)だったが、後者の名称が有名となり、Linux以外でもこの方式を表す一般名のように用いられる場合がある。また、ネットワーク機器の仕様表などに「NAT機能」として紹介されているものは、実際には本来の意味でのNAT(ポート変換なし)ではなく、IPマスカレードであることがほとんどである。
認証VLAN 【ユーザーベースVLAN】
VLAN(仮想LAN)の構成方式の一つで、LAN接続時に端末の認証を行い、あらかじめ登録されたVLANへの接続を許可するもの。
端末が通信を開始する際にネットワークスイッチが認証を実施し、登録された利用者あるいは端末であると確認されると指定のVLANへの通信が可能となる。
認証によって端末の識別や利用者の所属の確認などを行い、所属先のネットワークなど適切なVLANへ誘導することができる。認証を通らなければ接続は拒否されるため、不正に端末を持ち込んで接続する試みを遮断することができる。これは無線LAN(Wi-Fi)で特に重要となる。
認証方式としては端末のMACアドレスを登録するMACアドレス認証や、IDとパスワードによるWeb認証のほか、大規模環境では認証サーバを用意してIEEE 802.1XやRADIUS、LDAPなどを用いてスイッチが認証可否をサーバに問い合わせる方式が用いられることもある。
VPN 【Virtual Private Network】
通信事業者の公衆回線を経由して構築された仮想的な組織内ネットワーク。また、そのようなネットワークを構築できる通信サービス。企業内ネットワークの拠点間接続などに使われ、あたかも自社ネットワーク内部の通信のように遠隔地の拠点との通信が行える。
古くは電話回線(音声通話サービス)で提供されていたもので、全国に拠点を持つ大企業の内線電話などを公衆網を中継して接続するサービスだった。最近ではもっぱらデータ通信の拠点間接続サービスのことを指し、企業内LANを通信キャリアの持つバックボーンネットワークを通じて相互に接続するサービスをいう。
かつては各拠点の間に専用線を導入して直接通信していたが、キャリアのバックボーンに「相乗り」することにより低コストで拠点間接続が可能となる。バックボーンでは様々な企業のデータが混在して流れることになるが、データは認証や暗号化で厳重に保護・管理されるため、混信や漏洩、盗聴などの危険性は低い。
最近ではバックボーンにインターネットを利用する「インターネットVPN」も登場しており、通常のVPNサービスよりもさらに低コストでの利用が可能だが、インターネットの特性上、セキュリティや通信品質の確保はキャリアの通信網を利用するよりも難しくなる。
VPNルータ (VPN router)
インターネットなどの通信の中継を行うルータ製品の分類の一つで、VPN(Virtual Private Network:仮想専用ネットワーク)構築のための機能を持ったもののこと。
IPネットワーク上で経路選択やパケットの中継・転送を行う通常のルータとしての機能の他にVPNゲートウェイとしての機能を持ち、ネットワークを介して他のVPN機器との間で暗号化された専用の通信路を形成することができる。
プライベートネットワークとインターネットなどの広域通信網の境界に設置すれば、遠隔にある他のネットワークとの間でVPNを構築することができる。製品により対応している暗号化プロトコルなどに違いがあり、同じプロトコルに対応しているもの同士の間でしかVPNを構築することはできない。
OP25B 【Outbound Port 25 Blocking】
ネットワークの境界にあるルータなどの機器で、ネットワーク内から外部のコンピュータのTCPポート25番への通信を禁止すること。インターネットサービスプロバイダ(ISP)などが会員のパソコンからスパムメールやウイルスメールが送信されるのをブロックするために行う。
25番ポートは電子メールの送信や配送を行うためのプロトコル(通信規約)であるSMTP(Simple Mail Transfer Protocol)が利用するポートである。メールを送信したい端末やサーバは、相手方の25番ポートに接続し、メール本体を送って宛先への発送を依頼する。
OP25Bとは
OP25Bはネットワーク境界で内部から外部の25番ポートへの接続を遮断する施策で、内側にある端末からネットワーク外のメールサーバへ送信依頼を行うことができないようにする。ISPなどで会員のパソコンから意図的に、あるいは乗っ取られて気づかずに迷惑メールなどを送ることを阻止することができる。
従来から、ISPなどでは自社メールサーバを用いて迷惑メールなどを発信する会員に対しては警告を行ったり、悪質な場合は送信制限や退会処分などを行って対処してきたが、OP25Bにより外部のメールサーバを「踏み台」として迂回する迷惑メール発信も根こそぎ阻止できるようになった。
代替手段
この方式では、会員が勤務先やフリーメールなど外部のメールアカウントを保有している場合など、正当なメール送信も一律にブロックしてしまうが、近年ではメールの送信依頼専用に「サブミッションポート」を用いるサーバが一般的となり、25番ポートが塞がれていても送信は可能になっている。
サブミッションポートは原則誰でも接続できる25番ポートとは異なり、SMTP認証(SMTP Authentication)によるユーザー認証が必須となっているため、権限のない利用者による不正なメール発信の問題は小さい。サブミッションポートには、通常のSMTPでは587番ポート、SSL/TLSによる暗号化を併用するSMTPSの場合は465番ポートを用いる。
ハニーポット
蜂蜜の入った壺という意味の英単語で、情報セキュリティの分野では、ネットワーク上で攻撃者やウイルスなどをおびき寄せるためにわざと攻撃しやすいように見せかけたコンピュータなどのことを指す。
ハニーポットはインターネットなど誰でもアクセスできる場所に置かれ、接触してきた攻撃者や有害なソフトウェアの手口や振る舞いを観察したり、ウイルスやワームの「検体」を入手したり、別の重要なシステムから目をそらすための「おとり」として使われる。
ハニーポットには機密データや重要なサービスなどは置かれず、厳重にセキュリティ対策が施され保護されているが、外部から見ると一見、重要な情報や機能を取り扱っているように見え、また、著名なソフトウェアの脆弱性などが放置されて侵入しやすいように見える。
攻撃者やウイルスなどがこれを発見すると不正アクセスや感染などを試み、ハニーポットは彼らに対して攻撃が成功したよう振る舞うが、実際には侵入されたふりをしているだけで、攻撃者が望むデータ漏洩や遠隔操作、別のコンピュータへの攻撃、感染などの動作は行うことができない。ハニーポット内部では厳重に保護された方法で詳細な記録を取っており、得られたデータは攻撃手法の調査や研究に用いられたり、ウイルス対策ソフトの強化に活用される。
複数のサーバや通信機器などから成るネットワーク全体をハニーポット化したシステムは「ハニーネット」(honeynet)と呼ばれることもある。
リバースプロキシ 【逆プロキシ】
特定のWebサーバの代理として、そのサーバへの外部からのすべての接続を中継するプロキシサーバ。当該サーバへアクセスしようとするクライアントはすべてリバースプロキシを経由するよう誘導される。
「プロキシ」(proxy)は「代理」という意味で、ネットワーク上である機器の代理として別の機器との接続・通信を行う機器を指す。通常のプロキシはクライアントの代理としてサーバへの接続を行うが、リバースプロキシはこれとは逆にサーバの代理としてクライアントからの接続を受け付ける。
リバースプロキシはサーバ側のネットワークに設置される。クライアントからサーバへ要求を送信すると、経路途上にあるリバースプロキシがこれを受信し、必要に応じてサーバへ要求を転送する。リバースプロキシはサーバからの応答を受け取り、サーバに代わってクライアントに返信する。キャッシュしたコンテンツを送信する場合はサーバへの取次は省略してリバースプロキシ自身が直に応答する場合もある。
リバースプロキシと対比する文脈では、通常のプロキシサーバ(クライアントの代理として、様々なWebサーバへのアクセスの際に必ず経由するもの)のことを「フォワードプロキシ」(forward proxy)と呼ぶことがある。
機能・用途
リバースプロキシは様々な機能、目的のために導入される。例えば、SSL/TLSによるデータの暗号化や復号、クライアントへ送信するデータの圧縮などの処理をWebサーバから肩代わり(オフロード)したり、頻繁に要求される画像などの静的なデータを保存してサーバに代わって送信するキャッシュサーバとして利用される。
サーバが複数台に分かれており、クライアントからの接続要求を何らかのルールに基づいて振り分け、外部からは一台のサーバのように見せかけるロードバランサとしての機能を持つものもある。サーバ間の負荷分散やシステム全体の可用性の向上を図ることができる。
また、外部からサーバへの攻撃や不審なアクセスを検知して遮断するファイアウォールのような機能や、利用者の認証を行ってサーバへのアクセス制御を行う機能などを備えたものもある。ネットワーク構成によってはリバースプロキシとサーバ間をプライベートネットワークとし、外部からサーバに直接アクセスできないようにする場合もある。これらの機能や構成はセキュリティ向上に資する。
セキュリティバイデザイン 【SbD】
情報システムのセキュリティ対策を、その企画や設計の段階から取り入れていく考え方。低コストで安全性の高いシステムを構築することができる。
従来のセキュリティ対策の多くは、すでに完成し稼働しているシステムを前提として、後付けで安全性を向上させるための機器やソフトウェアを追加したり、発見された危険性に対処するという考え方が基本だった。
これに対し、セキュリティバイデザインに基づく開発手法では、システムやソフトウェアの企画や仕様策定、設計(英語では design という)など開発の初期段階からセキュリティを確保するための要件や仕様を盛り込んでいき、あらかじめ安全なシステムとして開発を進める。
後から改修や対策を行う場合よりも効果的かつ効率的にセキュリティを確保でき、運用やメンテナンスなども含めセキュリティ対策の総コストの軽減が見込める。また、完成後には変更できない箇所についてもセキュリティを考慮した仕様や設計を組み込むことができ、この点はIoTデバイス等で重要となる。
一方、システム自体や扱う情報などに関して、想定される脅威の種類や程度、および何をどの程度保護すべきかは自明ではなく、機能や性能、利便性とどのように両立するか、セキュリティ確保のための「作り込み」をどの程度行うかなどについて開発初期に難しい検討が必要となる。
プライバシーバイデザイン 【PbD】
製品やサービス、情報システムなどで利用者のプライバシーを保護する施策を、その企画・設計の段階から組み入れていく設計原則。
従来、情報を扱う製品やサービスなどのプライバシー保護は、製品の完成後に規約や運用の側面から検討されることが多かった。プライバシーバイデザインでは、設計段階からプライバシーを考慮した情報の取り扱いや、プライバシー保護のための仕組みを取り入れ、認識不足による法令違反などが生じないようにする。
プライバシーバイデザインの概念は1990年代にカナダのアン・カブキアン(Ann Cavoukian)博士が提唱したもので、以下の7つの基本原則で構成される。
- 事後ではなく事前、救済的ではなく予防的 (Proactive not reactive; preventive not remedial)
- 初期設定としてのプライバシー (Privacy as the default setting)
- 設計に組み込まれたプライバシー (Privacy embedded into design)
- 機能を犠牲にしない - ゼロサムではなくポジティブサムに (Full functionality - positive-sum, not zero-sum)
- エンドツーエンドのセキュリティ - ライフサイクル全体に渡る保護 (End-to-end security - full lifecycle protection)
- 可視性と透明性 - オープンにし続ける (Visibility and transparency - keep it open)
- 利用者のプライバシー尊重 - 利用者中心主義を維持 (Respect for user privacy - keep it user-centric)
静的解析 【静的コード解析】
コンピュータプログラムに欠陥が無いか検証する手法の一つで、主にソフトウェアを用いてプログラムコードを解析し、誤りがないか確かめること。静的テストの一種。
「静的解析ツール」と総称されるツール群を用いて、人間の記述したプログラムのソースコードを解析し、プログラミング言語の文法や仕様を満たしているか、定められたコーディング規約に則っているかなどを調べる。
個々の命令文などの単位では形式的な問題がなくても、実行の流れを解析して、初期化前の変数の内容を参照していたり、確保したメモリ領域の境界を越えてアクセスしようとしているなど、実行時に問題となり得る箇所を指摘してくれるツールもある。
高い安全性や信頼性が求められる航空機や原子炉、人工衛星などの制御システム、セキュリティ分野などでは、定理証明支援系などのツールを用いてプログラムの正しさや安全性を数学的に証明する「形式手法」(formal methods)が用いられることもある。
静的テストの手法としては他に、主に人間(開発者以外の第三者)がソースコードを読んで問題がないか調べる「レビュー」(review)がある。一方、実際にプログラムを実行してみて問題が発生しないか確かめることは「動的解析」(dynamic analysis)と呼ばれ、一般に単にソフトウェアのテストと言えばこちら(のみ)を指すことが多い。
動的解析 【動的テスト】
コンピュータプログラムの動作を解析する手法の一つで、実際にプログラムを実行してみてどう振る舞いを調べること。ソフトウェア開発やマルウェア検知などで行われる。
ソフトウェアテストにおける動的解析
ソフトウェア開発の分野では、作成したプログラムを実行し、あるいは操作してみて正しく動作するか確かめることを動的検査という。ソフトウェアテストの手法の一つで、単にテストと言えば動的検査を指す。
一方、プログラムを実行せずに、プログラムコードを人間や専用のソフトウェアなどが読み込んで内容を分析し、誤りがないか確かめる手法を「静的解析」(static analysis)という。通常、ソフトウェアテストでは主に動的検査が活用され、静的解析は補助的に、あるいは特別な目的(形式手法による証明など)のために用いられることが多い。
マルウェア検知における動的解析
マルウェア対策の分野では、コンピュータウイルスなどの感染が疑われる実行プログラムを隔離された仮想的なシステム環境で実行してみて、不審な挙動が無いか調べる検知手法を動的検査という。
実際のシステム環境には影響を与えない「サンドボックス」(sandbox:砂場)と呼ばれる仮想的なプログラム実行環境を用意し、その中で怪しいプログラム(あるいは既知のマルウェアそのもの)を実行して振る舞いを調べる。感染後の実際の挙動を確かめられるため、感染の有無の調査よりも対策や復旧に必要な情報を得るために活用されることが多い。
一方、実行はせずに、プログラムコードに既知のマルウェアと共通するパターンが含まれるか、攻撃に繋がる不審な命令などが含まれるかなどを解析する手法を「静的解析」という。また、コード以外のプログラムファイルについての情報や特徴(ファイル名の拡張子や添付されたデジタル署名など)を解析する手法は「表層解析」と呼ばれる。
ファジング 【ファズテスト】
ソフトウェアテストの手法の一つで、開発者が想定しにくい様々な種類のデータを入力してみて、不具合がないか調べるもの。外部からの攻撃に利用できる保安上の弱点(脆弱性)が存在しないか調べるために行われることが多い。
ソフトウェアに対するテストの多くは、想定される用途や使用環境、操作方法、入力データなどをに対して期待通りの処理や動作が行われるかを調べるために行われる。しかし、それだけでは想定外の操作やデータによって致命的な誤作動が引き起こされる可能性が残るため、通常は想定されない利用パターンに対する反応を調べるファジングが行われる。
最も一般的な方式では、「ファジングツール」「ファザー」と呼ばれる専用ソフトウェアを用いて対象の挙動に問題を引き起こしそうな入力値を大量に自動生成する。これをテストツールで次々にテスト対象に与え、その反応から未知の問題が発生しないか調べる。
検査用の入力値は正常な入力値の例を元に、一部を置き換えたり改変するなどして生成する手法が用いられることが多いが、まったくランダムに生成する手法や、怪しい入力値を人が考えて列挙する方式、値を連続的に変化させてあり得る入力値をしらみつぶしに調べる方式などが用いられることもある。
ソルト
認証システムがパスワードなどを保存する際に付け加えるランダムな符号列のこと。“salt” の原義は「塩」。
パスワードやパスフレーズを保存する際、システム側でランダムに符号列を生成し、パスワード本体に足し合わせてハッシュ関数で変換する。パスワードそのもの(平文)は保存せず、得られたハッシュ値とソルトを保存する。
認証時には入力されたパスワード候補とシステム側に保存されたソルトを同じように足し合わせてハッシュ値に変換する。パスワード候補が正しければ、保存されたハッシュ値に一致する。ソルトの生成や管理はシステム内部で行われ、利用者はその存在を意識する必要はない。
ハッシュ関数は同じ入力からは同じ出力が得られるため、パスワードのみをハッシュ化して保存すると、パスワードを複数システムで使い回している場合などに解読しやすくなる恐れがある。ソルトはパスワード保存ごとに毎回ランダムに生成され、その都度変化するため、同じパスワードを保存してもハッシュ値は毎回異なり、解読の難易度を格段に引き上げることができる。
プレースホルダ
実際の内容を後から挿入するために、とりあえず仮に確保した場所のこと。また、そのことを示す標識などのこと。
文書の編集などで、あるページに写真を掲載することは決まっているが、実際の画像データは後で手に入るような場合に、とりあえず四角い空白領域を作り「ここに写真Aを貼る」などとメモを記すことがある。この空白をその写真のプレースホルダであるという。
文書やコンテンツの雛形(テンプレート)では、タイトルや文章、画像など個々の要素が入る予定の位置や、その識別名のことをプレースホルダという。「Lorem Ipsum」「項目1」「クリックしてタイトルを記入」「あああああああ…」のように、その場所にとりあえず埋め草で記入されている文字列を指す場合もある。
入力フォームのプレースホルダ
Webページやソフトウェアの操作画面に入力フォームがある場合、自由記述の文字入力欄などにあらかじめ表示されている単語やフレーズなどをプレースホルダという。
例えば、パスワードの入力欄に「8文字以上必要です」のような案内文が記載されており、利用者が入力欄を選択するとメッセージが消え、文字入力モードに切り替わる。
フォームのデザインを簡素化したいあまりに入力欄の脇に項目名(ラベル)がなく「姓(ひらがな)」のようにプレースホルダとして項目名が記載されているフォームもあるが、記入後に何の項目だったか分からなくなってしまい、修正に手間取るなどの弊害があるため好ましくないとされる。
プログラミングにおけるプレースホルダ
プログラミングでは、式や命令文などの一部に利用者の入力値など実行時に外部から与えられる要素を反映させるような場合に、それが入る予定の場所(や、そのことを示す特殊な記号や識別子など)のことをプレースホルダという。