(57)【要約】【課題】データベースのアクセスに必要なユーザーＩＤ、パスワード、データベースサーバー名を不正に取得されてもデータベースにあるデータの保護を可能にするＷｅｂアプリケーションシステム及びデータベース利用方法を提供する。【解決手段】Ｗｅｂアプリケーションサーバー１０から利用されるデータベースサーバー２０のデータベースに対してＷｅｂアプリケーションシステムの利用者のログインでデータベースサーバー２０にデータベースを作成、クライアント端末３０にあるバックアップデータからデータベースを復元、Ｗｅｂアプリケーションからのデータの登録、変更、削除の操作履歴をクライアント端末３０に作成し、ログアウトされるときにデータベースサーバー２０から前記データベースのバックアップデータをクライアント端末３０に保存後に前記データベースをデータベースサーバー２０から消去する。【選択図】図１
2017138649.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してクライアント端末に接続して構成されるＷｅｂアプリケーションサーバーと、前記Ｗｅｂアプリケーションサーバーに接続されるデータベースを有するデータベースサーバーを含むＷｅｂアプリケーションシステムにおいて、前記Ｗｅｂアプリケーションシステムへ利用者がログインすることで前記データベースサーバーにデータベースを作成し、クライアント端末に保存されている前記データベースのバックアップデータを使い前記データベースを復元し、前記Ｗｅｂアプリケーションシステムより前記データベースのデータの登録、変更、削除、照会が行える状態にし、ログアウトによって前記データベースにあるデータをクライアント端末に保存し、前記データベースを前記データベースサーバーより削除し、前記データベースへの操作が一定時間以上、無い状態が続く場合、前記データベースを自動的に前記データベースサーバーから削除する機能を有するＷｅｂアプリケーションシステム。
【請求項２】
前記データベースを作成する時に、前記データベースサーバーに同じ名前が存在しないこと、前記データベースが前回作成された時の名前と同じでないことを条件に、毎回ログインされる度に異なるデータベースの名前を作成し、前記データベースを作成する時に利用する名前とする請求項１に記載のＷｅｂアプリケーションシステム。
【請求項３】
前記データベースの障害時に起こるデータ破損に備え、前期データベースへデータの登録、削除、変更の操作を行うときに操作履歴をクライアント端末に作成する機能を有する請求項１に記載のＷｅｂアプリケーションシステム。
【請求項４】
ネットワークを介してクライアント端末に接続して構成されるＷｅｂアプリケーションサーバーと、前記Ｗｅｂアプリケーションサーバーに接続されるデータベースを有するデータベースサーバーを含むＷｅｂアプリケーションシステムにおけるデータベース利用方法であって、前記Ｗｅｂアプリケーションシステムへ利用者がログインすることで前記データベースサーバーにデータベースを作成したのちクライアント端末に保存されている前記データベースのバックアップデータを使い前記データベースを復元するステップと、ログアウトによって前記データベースにあるデータをクライアント端末に保存後、前記データベースを前記データベースサーバーより削除するステップと、前記データベースへの操作が一定時間以上、無い状態が続く場合、前記データベースを自動的に前記データベースサーバーから削除するステップを実行することを特徴とするＷｅｂアプリケーションシステムにおけるデータベース利用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してクライアント端末に接続して構成されるＷｅｂアプリケーションサーバーと、前記Ｗｅｂアプリケーションサーバーに接続されるデータベースを有するデータベースサーバーを含むＷｅｂアプリケーションシステムにおいて前記データベースに対してデータの保護の強化を目的としたＷｅｂアプリケーションシステム及びそのデータベース利用方法に関するものである。
【背景技術】
【０００２】
データベースは、その使い方やアクセスの手順について仕様書という形で詳細に定められている。データベースを利用する場合、データベースのマニュアルに従ってデータベースサーバーへ接続、その後にデータベースに接続をすることが必要である。データベースの利用法は、このように誰もがデータベースを利用する上で混乱しないようにその詳細な利用の為の手順を定めて誰もが簡単にデータベースを利用したＷｅｂアプリケーションシステムを開発することができる。代表的なデータベースでは、データベースを利用する上で必要な情報は、データベースサーバー名とデータベース名、ユーザーＩＤ、パスワードといったものが代表的である。それは、データベースサーバー名とデータベース名、ユーザーＩＤ、パスワードの内容が判明してしまえば正当なデータベース利用者の是非に関係なく前記データベースを自由に操作することが可能になってしまう状況になる。また、前記データベースは、アクセスの有無に関係なく常にインターネット上のデータベースサーバーに存在し、物理的にアクセスが不可能になる時間がない状況にある。
【０００３】
これは、特許文献１を参考にすることでもわかるように、データベースの利用に際してはユーザー認証の方法をとっていることは明記されているがデータベースサーバーにおいて、データベースの名前や作成タイミングを明記、特定した記述はなく、Ｗｅｂアプリケーションシステムの運用時には不変な状態でデータベースが存在していることが前提となっていることが推測される。この状況では、データベースへのアクセスに必要なユーザーＩＤやデータベース名、データベースサーバー名、パスワードを取得された場合、該データベースへのアクセスは自由に行なうことが可能になり、事実上、前記データベースの保護は消滅したことになる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１２２６６０
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は前記データベースを動的に作成、消去、また、前記データベースのアクセスに必要な情報のうちデータベース名を動的に操作、管理することで、データベースのアクセスに必要なユーザーＩＤ，パスワード、データベースサーバー名を不正に取得されてもデータベースにあるデータを保護することを可能にするＷｅｂアプリケーションシステム及びデータベース利用方法を提供することにある。
【課題を解決するための手段】
【０００６】
そこで、本発明は、前記データベースの利用者のＷｅｂアプリケーションシステムへのログインの動作に従って前記データベースをインターネット上のデータベースサーバーに作成を行い、前記利用者が操作している端末にある前記データベースのデータと前記データベースが前回の終了状態を判定し必要ならば前記データベースの操作履歴のデータを使って再度、データベースへデータの自動登録を行い、前記利用者が利用を終了する直前の前記データベースの状態に復元を行い、前記利用者が前記Ｗｅｂアプリケーションから前記データベースを利用することが可能な状態にする。前記利用者が前記Ｗｅｂアプリケーションシステムを利用中は前記データベースに対するデータの登録、変更、削除の全ての操作を操作履歴として前記データベースの復元に利用可能なデータとして前記利用者が操作している端末に保存される。前記利用者が前記Ｗｅｂアプリケーションの利用終了に伴い、前記Ｗｅｂアプリケーションシステムからのログアウトをもってインターネット上の前記データベースサーバーからの消去を行う。この時に、現状の前記データベースの消去に先立って前記データベースに登録されているデータを全て前記利用者が操作している端末に前記データベースに再登録可能なデータとして保存する。この処理が成功することでこの時点までのデータは前記データベースに反映されていると判断し前記データベースに対する前記操作履歴のデータを消去する。
【０００７】
前記データベースは、データベースサーバーに作成されると、前記データベースの作成時間が記録され、以後、前記データベースは、無操作の時間の監視が行われる。そして、前記データベースに定められた一定の時間が経過しても無操作の状態であると判断した場合、利用終了とみなし、前記データベースを強制的に消去する。この際、前記データベースの前記利用者への端末への内容の保存は行わない。
【０００８】
前記Ｗｅｂアプリケーション利用中に発生する前記データベースの操作履歴のデータや、前記Ｗｅｂアプリケーションの利用終了に伴うログアウトの時に保存された前記データベースの内容である全データは、インターネット上のサーバーには存在せず必ず利用者が操作している端末、いわゆるローカルに保存されている。従って利用していない時は、すべての前記データがインターネット上に存在していない。
【発明の効果】
【０００９】
本発明によってデータベースは、データベースサーバーに物理的に存在していない時間が出来る。また、データベースのアクセスに必要なデータベース名は、データベースが作成される度に変化する。これによって、不正なアクセスを成功させる為には、従来のデータベースのアクセスに必要な情報であるユーザーＩＤ、パスワード、データベースサーバー名に加えてデータベースが物理的に存在している時間とその都度、アクセスする為に有効なデータベース名を取得する必要が生まれ、前記データベースの不正アクセスに対する安全性向上の効果が生まれる。
【図面の簡単な説明】
【００１０】
【図１】実施例におけるＷｅｂアプリケーションシステムの全体構成を示す図
【図２】実施例におけるデータベース作成時の処理を示すフローチャート
【図３】実施例におけるデータベースアクセス時の処理を示すフローチャート
【図４】実施例におけるデータベース消去時の処理を示すフローチャート
【図５】データベースの存在時間の監視を行う処理を示すフローチャート
【発明を実施するための形態】
【００１１】
以下は、本発明の実施形態を図面により詳細に説明する。
図１は、本発明の実施の全体構成を示す。本発明を利用するＷｅｂアプリケーションシステムは、Ｗｅｂアプリケーションサーバー１０とデータベースサーバー２０とネットワークを介して接続される利用者が操作するクライアント端末３０から構成される。Ｗｅｂアプリケーションサーバー１０は、データベース生成機能１０１とデータベース消去機能１０２及び、データベースアクセス機能１０３を有し、データベースサーバー２０は、データベース監視機能２０１を有する。ネットワークを介して接続されているクライアント端末３０には、データベースのバックアップデータとデータベースの操作履歴を有している。
【００１２】
データベース生成機能１０１は、Ｗｅｂアプリケーションシステムでのログインユーザー認証が成功した後に実行され、データベースの名称作成、前記データベースの作成、前記データベースの権限設定を行った後、クライアント端末３０に保存されているバックアップデータ及び操作履歴から前記データベースの復元を行い、利用者が前回ログアウトする直前の状態の前記データベースに復元する。デーベースアクセス機能１０３は、Ｗｅｂアプリケーションシステムが前記データベースにアクセスする際に前記データベースの更新と前記データベースの操作履歴を作成、クライアント端末３０へ保存する。データベース消去機能１０２は、利用者がログアウトをする際に、ログアウトに先立って実行され、前記データベースのバックアップの実行とクライアント端末３０へ保存とバックアップの成功によって操作履歴の消去を行った後、データベースサーバー２０にある前記データベースの消去を行う。データベース監視機能２０１は、データベースサーバー２０にあるデータベースが生成されてから無操作の時間を監視、予め設定された予定経過時間を超過した該当データベースをデータベースサーバー２０より消去する。データベース監視機能２０１はデータベースのバックアップ機能は有していない。
【００１３】
図２は、Ｗｅｂアプリケーションシステムのユーザー認証が成功した後にＷｅｂアプリケーションサーバー１０で実行されるデータベース生成機能１０１の処理を示すフローチャートである。データベース生成機能１０１は、Ｓ１００１から、Ｓ１００３までの一回限りに使用するデータベース名を作成する処理と、前記データベース名を使って実際にデータベースを作成するＳ１００７、Ｓ１００８と作成されたデータベースにデータの登録を行うＳ１００９がある。
【００１４】
Ｓ１００１で、データベース名の一文字をランダムに決定し、Ｓ１００２において前記データベース名に一文字追加する。Ｗｅｂアプリケーションシステムからデータベース生成機能１０１が呼ばれ、Ｓ１００１が初めて実行されるときは、データベース名となる文字列は空白の状態で、空白の文字列に一文字追加をすることになる。これは、今回使われる前記データベース名の第一文字となる。次に、Ｓ１００２によってつなげられていく前記データベース名の文字数によってＳ１００１とＳ１００２の終了条件の判定を行う（Ｓ１００３）。前記データベース名の文字数が１６文字になったときにＳ１００１からＳ１００２の繰り返しが終了（Ｓ１００３）。Ｓ１００４によって今回作成されているデータベース名について、データベースサーバー２０に既に存在していない、且つ、前回のデータベース生成機能１０１によって作成されたデータベース名と前記データベース名が同一でない確認を行い、Ｓ１００４によって作成された前記データベース名が利用可能か否かの判定を行う（Ｓ１００５）。Ｓ１００５の判定の結果によって利用可能となった場合に、Ｓ１００７の処理へ移る。Ｓ１００７では、前記データベース名を利用してデータベースの作成、その後、Ｓ１００８で作成したデータベースへ諸権限の登録を行い。従来の運用方法で利用されているデータベースと同様の状態にする。
【００１５】
Ｓ１００８が終了した段階で、前記データベース名を利用して作成されたデータベースは、従来通りに利用可能な前記データベースとなっているが、この段階では、まだデータが登録されていない、いわゆる空のデータベース状態である。この前記データベースにデータを登録するのがＳ１００９であり、Ｓ１００９では、利用者が操作しているクライアント端末３０に保存されている前記データベースのバックアップデータを使いＷｅｂアプリケーションサーバー１０を使い、データベースサーバー２０に作成した前記データベースへデータの登録の操作を行う。次に、この状態でデータが全て新しい前記データベースに登録されたかを判定（Ｓ１０１０）、これは利用者がデータベースに対してデータの登録、変更、削除を行った時に作成される操作履歴の存在有無から判断をする。これの判定は、操作履歴が残っている場合は、前回のデータベース利用は正常に終了せず、未登録のデータがあると判断し、同じく利用者が操作しているクライアント端末３０に存在している操作履歴からＷｅｂアプリケーションサーバー１０を利用してデータベースサーバー２０に存在している前記データベースへ未反映のデータの登録を行う。Ｓ１０１１の処理が正常に終了することで、前記データベースは正常に利用可能な状態になり、データベース生成機能１０１は終了する。
【００１６】
図３は、データベース生成機能１０１によって作成されたデータベースにＷｅｂアプリケーションシステムが利用する時のデータベースアクセス機能１０３のフローチャートを示している。Ｗｅｂアプリケーションシステムがデータベースにデータの登録、変更、削除を行うときに呼び出される処理であり、Ｓ２００１は、データベースを操作するＷｅｂアプリケーションシステムからデータを受け取り、データベース操作コマンドによって、データベースのデータに対する登録、変更、削除を行う。データベースに出した命令の成否を判定（Ｓ２００２）、失敗した場合はデータベース操作エラーとしてエラーの原因とその命令をＷｅｂアプリケーションシステムに返す（Ｓ２００４）。成功した場合には、利用者が操作しているクライアント端末３０へ操作履歴を送信し、クライアント端末３０に操作履歴を保存、Ｗｅｂアプリケーションシステムに成功した結果を返す（Ｓ２００３）。この処理は、データベースの内容に変更が発生した場合のみ実行され、参照、照会などの操作については、操作履歴は残らない。これは、照会、参照、いわゆるＳＥＬＥＣＴ文による命令については、データに対しての変更を加えるものではないので、データベースアクセス機能１０３は実行はされない。
【００１７】
図４は、利用者のＷｅｂアプリケーションシステムからのログアウト時に実行されるデータベースをデータベースサーバー２０から消去する処理であるデータベース消去機能のフローチャートを示している。Ｗｅｂアプリケーションシステムから呼び出されたデータベース消去機能１０２は、まず、Ｓ３００１によって消去すべき現在のデータベース内にある全てのデータのバックアップを作成する。データのバックアップの終了状態を判定（Ｓ３００２）。正常に終了している場合にＳ３００３でクライアント端末３０にある操作履歴を消去する。この時、正常に終了していない場合は、クライアント端末３０にある操作履歴は消去せず、操作エラー処理としてエラーの原因とＷｅｂアプリケーションシステムへ返す。（Ｓ３００４）。
【００１８】
図５は、データベース生成機能１０１によって作成されたデータベースについて作成された経過時間を判定し指定経過時間を過ぎたデータベースの消去を行うデータベース監視機能２０１のフローチャートを示している。Ｓ４００１によってデータベースが作成されてからの経過時間の算出を行う。Ｓ４００１によって算出された経過時間が指定されている時間を超過していないかを判定（Ｓ４００２）。超過していない場合は、データベースは消去せずデータベース監視機能２０１は終了する。超過している場合は、データベースサーバー２０から該当データベースの消去を行なう（Ｓ４００３）。
【産業上の利用可能性】
【００１９】
本発明は、データベースを利用者のログイン、ログアウトで作成、消去を行うので、会計、金銭出納帳、見積・請求管理のように、データを利用する利用者が限定されるシステムをＷｅｂアプリケーションシステムとして構築する場合に、データベースのデータの保護と利用者毎にデータの独立性を向上させる目的での利用が考えられる。
【符号の説明】
【００２０】
１０Ｗｅｂアプリケーションサーバー    ２０データベースサーバー    ３０クライアント端末    １０１データベース生成機能    １０２データベース消去機能    １０３：データベースアクセス機能    ２０１：データベース監視機能
【図１】
2017138649.tif 000003
【図２】
2017138649.tif 000004
【図３】
2017138649.tif 000005
【図４】
2017138649.tif 000006
【図５】
2017138649.tif 000007