企業システムの安全安心とは

1.2. ICTシステムが抱えるリスク |

1.3. ICTシステムの安心安全を実現するには

1.3.1. リスクと向き合う

前ページでは企業がICTシステムを利用する上での3つのリスクを見てきましたが、いずれにつてもリスク自体をなくしてしまうことはできません。したがって、ICTシステムの安心と安全を実現するためには、何よりも最初にリスクと真摯に向き合うことが大切です。リスクと向き合いリスクを理解し、リスクをコントロールするために工夫をしていくという姿勢が大切です。

ICTシステムの普及の歴史は、リスクをコントロールするための戦いの歴史であったと言うことができます。システムを止めない工夫、情報を守る工夫、安心できる開発を実現するための工夫など、さまざまな工夫が重ねられてきました。そして、現在では適切な工夫をすることでICTシステムを安心安全に利用することは不可能ではなくなっています。


1.3.2. 情報を守る

情報を守るための手段としては、権限を持たない人間に情報が見られない/触れられないようにすることと、仮に見られた/触れられたとしても権限を持たない人間には理解できない/変更できないようにすることが考えられます。前者を実現しているのがアクセス制御で、PCやシステムへのログイン時にパスワード認証を行うなど、いたるところで利用されて、そして目にすることの多い技術です。そして、後者を実現するのが暗号化の技術ですが、こちらについては一般にユーザの目には触れにくいところで利用されています。

アクセス制御においても暗号化においても共通して考えなければならないこととして、秘密情報の管理があります。いずれの技術も第三者を排除するという目的は共通していますので、関係者だけが手にすることができて第三者は持ちえない秘密情報が必要になります。そして、実際のシステムを構築していく上では、この秘密情報をどのように管理していくかということが大きな検討課題となります。秘密情報が安全に管理できていなければ、いかに優れたアクセス制御や暗号化の技術を用いようとも、システムを安全に守ることはできなくなってしまいます。

もちろん、秘密情報を管理するための技術も考えられています。その代表的なものとして、「鍵交換」の技術と「公開鍵暗号基盤(PKI)」の技術があります。秘密情報には二つのタイプがあって、一つは関係者間で共通の情報を共有するタイプ、もう一つは関係者それぞれが異なる秘密情報を保持するタイプです。パスワードなどは前者のタイプの例で、システムのユーザとユーザの認証をするシステム側との間で事前に共通の情報を保持しています。後者のタイプの例としては、デジタル証明書があります(※具体的な説明はPKIの解説の中で行っています)。前者のタイプの秘密情報を管理するための技術が鍵交換、そして後者のタイプの秘密情報を管理する技術がPKIです。本サイトでは、この鍵交換とPKIの技術について、実際のシステムで利用する際のノウハウや注意点などを交えながら紹介しています。

鍵交換:「2つの通信ノードがある。通信ノードは互いに互いを知っている。両通信ノードは通信相手に関する秘密情報を持っている。通信ノード同士で鍵交換をするが、それが秘密情報によって保護されている。」。PKI:「2つの通信ノードと1つの認証局がある。一方の通信ノードから他方に証明書を送るが、その証明書が認証局によって保証されている。送られる証明書には送り主の公開鍵が含まれている。」。

図1-4 鍵交換とPKI

1.3.3. システムを止めない

システムを止めないためにまず考えることは、システムの構成要素それぞれを止めないようにすることです。コンピュータや通信機器、あるいはケーブルなどの通信経路に信頼性の高いハードウェアを使用し、それらの上で動かすソフトウェアの品質を高めるといったことによって、システムが止まってしまうリスクをある程度まで下げることができます。システムの種類や用途によっては、そういった対処では除ききれないシステム停止のリスクは許容するという判断が行われることもあります。しかし、より高い信頼性と可用性が要求されるシステムの場合には、このようなアプローチでは不十分な場合があります。構成要素単体の信頼性や可用性を高めることにも限度がありますので、それ以上が要求される場合には組み合わせによってシステムを止めないための技術が必要となってきます。

システムを止めないための技術は数多く研究、開発されていますが、基本的な考え方はバックアップ・多重化を行うということです。通信を止めないためにネットワークにはバックアップ回線を用意し、業務やサービスを止めないためにサーバや機器を多重化し、データの消失を防ぐためにはストレージのバックアップを用意します。現在の先進諸国では、蛇口をひねれば水が出るのと同様にインフラとしてICTが利用できていますが、それが実現できた背景にはシステムを止めないためのバックアップ・多重化の技術の発展があるのです。

本サイトでは、インフラとしてのICTを支えるバックアップ・多重化の技術のうち、データベースに関する技術を紹介します。基本技術であるデータベースを複製する「冗長化」と、故障時にサービスを止めないための「HAクラスタ」技術について、活用例を交えながら解説します。ビジネスにおいては複雑な関連性を持つ多量の情報を取り扱うことが多いため、企業システムにおいてはデータベースが非常に重要な役割を果たします。また、データベースのバックアップ・多重化に際しては利用者にとってのデータの一貫性を保証しなければならないため、技術的に工夫が必要になります。

ユーザ、フロントエンドのサーバ、バックエンドのデータベースというシステム構成。フロントエンドのサーバ、バックエンドのデータベースともに複数化されている。複数化されているデータベース同士ではデータの同期が行われている。フロントエンドの複数のサーバがHAクラスタで、一台のサーバが止まってもサービスは止まらない。バックエンドの複数のデータベースがデータベース冗長化で、一台のデータベースが壊れてもデータは守られる。

図1-5 システムを止めないための多重化のイメージ

1.3.4. 安心開発

何かの開発しようとしたときに、開発が計画通りに行われないというのは由々しき事態です。コストは当初の計画を上回り、開発期間は当初のスケジュールをオーバーし、出来上がったものは品質が不十分で実際の利用に耐えない・・・、あってはならないことです。しかし、そういった事態に陥る不安がICTシステム開発では少なからず存在します。手放しに安心とは言えないのです。

そういった由々しき事態が起こらないようにするために、数多くの研究者や技術者によってソフトウェア工学が発展させられてきました。ソフトウェア開発を工学的アプローチで向上させていくというソフトウェア工学のコンセプトは1970年代初めに考え出され、すでに40年足らずの歴史を持っています。この間には、構造化技法やオブジェクト指向開発などの開発方法論、ウォーターフォールモデルや反復型モデルなどの開発プロセスモデル、CMM/CMMIやPMBOKなどの開発プロセス・プロジェクト管理技術、ソフトウェアファクトリやソフトウェアプロダクトラインなどの再利用モデル等々、さまざまなアプローチからソフトウェア開発やシステム開発の「安心」を高める開発技術が編み出されてきました。

とはいえ、すべての開発技術がすべてのシステム開発に適しているというわけではありません。開発するシステムの規模や種類、あるいは求められるシステムの性質などに応じて、それぞれの開発に適した開発技術があるのです。本サイトでは、企業における攻めのICTシステム開発にフォーカスし、それに適した開発技術について紹介した小冊子を提供しています。攻めのICTシステムの特徴としては、企業ごとのビジネス戦略上の要求を実現するために、事務系アプリケーションのような定型的なシステムにはなりにくいということがあります。それを踏まえてどのような工夫をしていけばよいのか、その実践的な技術と方法論が小冊子で解説しています。

安心を高める技術の大分類が4つあって、それぞれいくつかの具体的な技術が存在する。(1)開発方法論 ⇒ 構造化技法、オブジェクト指向開発 (2)開発プロセスモデル ⇒ ウォーターフォールモデル、反復型モデル (3)開発プロセル・プロジェクト管理技術 ⇒ CMM/CMMI、PMBOK (4)再利用モデル ⇒ ソフトウェアファクトリ、ソフトウェアプロダクトライン

図1-6 システム開発の安心を高める4つの技術

無料小冊子のお申込みはこちら

株式会社システム計画研究所のオフィシャルサイトはこちら

当サイトへのご質問及び安全・安心・信頼のシステム開発に関するご相談はこちら

通信・ネットワークシステムの開発マネージメント情報サイト「通信・ネットワークシステム開発.COM」はこちら

サーバ監視・ネットワーク監視ツール isNetSentry-S のサイトはこちら