以下、本発明の第1実施形態乃至第6実施形態に係る監査管理システムを図面に従って説明する。以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。また、本監査ログ管理システムは、X線コンピュータ断層装置、超音波診断装置、磁気共鳴イメージング装置、核医学診断装置、手術装置、検体検査装置その他の医用機器(医用画像機器に拘泥されず、患者情報を使用する全ての機器を含む。)に内蔵されるか、単体の装置として、当該医用機器とネットワークを介して接続され使用される。以下の各実施形態においては、医用機器に内蔵して用いられる監査ログ管理システムを例として説明する。
なお、各実施形態に係るシステムによって実現される監査ログ管理は、医用機器の動作に関する監査ログを対象とする処理であって、当該システムに実質的に高負荷を与える処理の実行タイミングを、医用機器において発生した各種イベントに応答して制御するものである。ここで、システムに高負荷を与える処理としては、例えば監査ログの圧縮、転送、暗号化、監査ログの完全性を検証するための情報を生成する処理、監査ログのデータとしての完全性を確認する処理、その他処理実行に際してCPUを一定値以上占有するものである。以下においては、説明を具体的にするため、監査ログは患者情報を扱う際の当該医用機器における動作に関するものに限定し、また、患者情報は、診断情報と、少なくとも患者名(又は患者ID)及び検査種を含む付帯情報とから構成されるものとする。従って、通信規格としてDICOMを用いた場合には、患者情報は、画像に関する情報(診断情報)と、少なくとも患者名(又は患者ID)及びスタディ(検査種)・ユニークIDを含む付帯情報から構成されることになる。
(第1実施形態)
図1は、本実施形態に係る監査ログ管理システム1を具備する医用機器のブロック構成図を示している。同図に示すように、本監査ログ管理システム1は、イベント受付部11、ログファイル作成部13、設定ファイル部15、ローカル記憶媒体17、ファイル転送部19、ログ管理部21、ファイル圧縮部29、外部媒体31を具備している。
イベント受付部11は、医用機器のアプリケーション50から監査ログ記録要求イベントを受け付け、ログファイル作成部13に監査ログ記録を要求する。また、イベント受付部11は、アプリケーション50から当該医用機器に関するシステム情報を受け取り、ログ管理部21等に送り出す。
ログファイル作成部13は、イベント受付部11からの監査ログ記録要求に応答して、各イベント発生時の監査ログに関するファイル(監査ログファイル)を作成する。
設定ファイル部15は、監査ログ管理における種々の条件を規定する設定情報を格納する。この設定ファイル部15内の設定情報は、図示していない入力装置からの入力により、任意に変更可能である。
ローカル記憶媒体17は、ログファイル作成部13によって作成された監査ログファイルを格納する本監査ログ管理システム1内の記憶部(例えばハードディスク)である。
ファイル転送部19は、ファイル圧縮部29によって圧縮された監査ログファイルを外部媒体31に転送し、転送終了後等の所定のタイミングにおいてローカル記憶媒体17内の転送済みの監査ログファイルを削除する。
ログ管理部21は、ローカル記憶媒体17を監視し監査ログファイルの作成及び保存を検知する。監査ログファイルのローカル記憶媒体17への保存を検知した場合には、ログ管理部21は、ファイル圧縮部29に圧縮依頼要求を発行する。
ファイル圧縮部29は、ログファイル作成部13によって生成された監査ログファイルを、所定のタイミングで圧縮する。また、この圧縮における圧縮率は、必要に応じて変更することができる。
外部媒体31は、ファイル転送部19によって転送された圧縮ファイルを格納する。
(動作)
次に、本監査ログ管理システム1の監査ログ管理における動作について説明する。
本監査ログ管理システム1による監査ログ管理では、医用機器において発生した各種イベントに応答して患者情報の監査ログファイルを生成し、これをローカル記憶媒体17において所定のタイミングで圧縮すると共に、ローカル記憶媒体17における残容量が制限値を超えた場合等の所定のタイミングにおいて、自動的に圧縮された監査ログファイルを外部記憶媒体に転送しローカル記憶媒体17内のデータを削除するものである。
図2は、監査ログ管理において実行される各処理の流れ(検査から外部記録媒体に記録まで)を示したフローチャートである。ここでは、例えば、診断者が医用診断装置を利用して検査を行い、その際に作成された監査ログファイルを装置管理者、あるいはサービスマンが外部記録媒体に記録し、監査ログファイルの管理を行なう場合を想定している。
まず、図2に示すように、医用機器を用いた検査において、装置の起動、患者名の登録、患者の検査画像の保存、患者の検査画像の閲覧等、システム情報や患者の個人情報へのアクセスが常時行なわれる。このような操作が行なわれた際、医用機器内の該当操作対象のアプリケーション50より、それぞれ監査ログ発行イベントが発行される。
監査ログ管理システム1は、イベント受付部11により、アプリケーション50からの監査ログ記録要求イベントを受付け、ログファイル作成部13に記録要求を依頼して各イベント発生時の監査ログを作成し、装置内にテンポラリファイルとして内容記録を行う。
ログファイル作成部13は、所定のタイミングでテンポラリファイルを作成し、監査ログファイルとしてローカル記憶媒体17へ保存する。このテンポラリファイルのローカル記憶媒体17への保存は、設定ファイル部15に格納された設定情報と、イベント受付部11を介してアプリケーション50から受け取ったシステム情報とに基づいて、所定のタイミングで実行される。
すなわち、ログファイル作成部13は、予め設定情報として設定され、監査ログファイルをローカル記憶媒体17へ保存するトリガとする保存トリガ情報が、アプリケーション50から受け取ったシステム情報内に含まれているか否かを判定する。システム情報に該当する保存トリガ情報が含まれている場合には、ログファイル作成部13は、保存トリガ情報の受信又は検出をトリガとして、テンポラリファイルのローカル記憶媒体17への保存動作を実行する。
なお、保存トリガ情報としては、例えば次のものを採用することができる。
・日付が変わった
・週が変わった
・月が変わった
・装置がスタンバイ状態となった
・装置が休止状態となった
・装置がシャットダウンされた
・テンポラリファイルの容量が予め設定された閾値(制限値)を超えた
また、いずれの情報を保存トリガ情報とするかは、設定ファイル部15内に格納されている設定情報を変更することで、任意に選択することができる。
次に、ログ管理部21は、ローカル記憶媒体17を監視中において監査ログファイルの作成(又は保存)の有無を確認する。監査ログファイルの作成有りと判断した場合には、ログ管理部21は、ローカル記憶媒体17への保存が完了した段階で、ファイル圧縮部29に圧縮依頼要求を発行する。ファイル圧縮部29は、監査ログファイルの圧縮を実行する(例えば、ZIP形式の圧縮ファイルを生成する)と共に、ファイルの圧縮が完了した段階で、圧縮済みの元ファイルをローカル記憶媒体17から削除する。
なお、医用機器を利用して検査が繰り返し行なわれた場合、上記監査ログ記録要求イベントを受付けてから、圧縮済みの元ファイルの削除までの各処理が繰り返し実行されることにより、圧縮ファイルが繰り返し分作成されることになる。
次に、ログ管理部21は、圧縮済みファイルによりローカル記憶媒体17のディスク容量が圧迫される状況を、ローカル記憶媒体17(又は第2の実施形態において説明するディスク容量取得部27)から得られるディスク残容量から判断する。例えば、ログ管理部21は、所定の閾値とディスク残容量とを比較し、ディスク残容量が閾値を下回っている場合には、ローカル記憶媒体17のディスク容量が圧迫される状況であると判断する。
ローカル記憶媒体17のディスク容量が圧迫される状況であると判断した場合、ログ管理部21は、ファイル転送部19にファイル転送要求を発行する。ファイル転送部19は、ローカル記憶媒体17に格納されている圧縮ファイルを外部媒体31に転送し、転送完了後にローカル記憶媒体17内の転送済みログファイルを削除する。
以上述べた構成によれば、以下の効果を得ることができる。
本監査ログ管理システムでは、ローカル記憶媒体に格納された監査ログファイルを所定のタイミングにおいて圧縮すると共に、圧縮済みの元ファイルをローカル記憶媒体から削除する。また、ローカル記憶媒体のディスク残容量を監視し、そのディスク容量が圧迫される状況にあると判定した場合には、圧縮済み監査ログファイルをローカル記憶媒体から外部媒体に転送すると共に、転送済みの圧縮済み監査ログファイルをローカル記憶媒体から削除する。従って、ローカル記憶媒体の総容量に占める圧縮済み監査ログファイルの割合をできる限り小さくすることができ、監査ログの保存による装置内記憶媒体の容量圧迫を回避することができる。その結果、医用画像収集阻害、および検査スループットの低下を未然に防止でき、また、ファイルの外部への転送を簡便にすることより、監査ログバックアップ作業を効率化し、病院内の業務スループット向上を支援することが可能となる。
また、本監査ログ管理システムでは、ローカル記憶媒体のディスク残容量を監視し、そのディスク容量が圧迫される状況にあると判定した場合には、圧縮済み監査ログファイルをローカル記憶媒体から外部媒体に転送すると共に、転送済みの圧縮済み監査ログファイルをローカル記憶媒体から削除する。従って、ファイルの圧縮率の高低に関わらず、常にローカル記憶媒体の容量を圧迫する状況を回避することができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。本実施形態に係る監査ログ管理システム1は、第1の実施形態とは異なるタイミングにてローカル記憶媒体の監査ログファイルを圧縮するものである。すなわち、本実施形態に係る監査ログ管理システム1では、医用機器において実行されている検査情報、医用機器のCPU動作状況、ローカル記憶媒体のディスク容量等に基づいて、医用機器の動作状況を判定し、所定のタイミングにて監査ログファイルの圧縮処理を行うものである。
図3は、第2の実施形態に係る監査ログ管理システム1のブロック構成図を示している。図1に示した第1の実施形態に係る監査ログ管理システム1と比較した場合、検査状況取得部23、ディスク容量取得部27をさらに具備する点において異なっている。
検査状況取得部23は、当該監査ログ管理システム1を内蔵する医用機器を用いた検査状況(例えば、検査開始、検査終了、検査中断、検査再開)を取得・監視する。この監視は、アプリケーション50から受け取るシステム情報に含まれる当該医用機器の検査開始操作、検査終了操作等のイベントを取得することで実行される。また、検査状況取得部23は、アプリケーション50から受け取るシステム情報に基づいて、当該監査ログ管理システム1を内蔵する医用機器のCPU状況(例えば、CPU使用率等)を随時取得し監視する。
ディスク容量取得部27は、アプリケーション50から受け取るシステム情報に基づいて、ローカル記憶媒体17のディスク容量を随時取得・監視し、ディスク残容量を判定する。
図4は、本実施形態における監査ログ管理において実行される各処理の流れ(検査から外部記録媒体に記録まで)を示したフローチャートである。同図に従って、医用機器のアイドル時間(非検査時間)に圧縮処理を行う場合を例に説明する。
図4において、まず第1の実施形態と同様に、アプリケーション50からの監査ログ記録要求イベントの受付けから、ローカル記憶媒体17への監査ログファイルの保存までの各処理が実行される。
本実施形態においては、ログ管理部21は、ローカル記憶媒体への保存が完了した段階で即座に、ファイル圧縮部29に圧縮要求を発行しない。ログ管理部21は、常時、検査状況取得部23、及びディスク容量取得部27によって取得される圧縮開始トリガ情報を基準として、医用機器の非検査状況や検査に支障をきたさない状況を検知・判断する。圧縮処理を行っても検査に支障をきたさない状態であると判断した場合には、ログ管理部21は、そのタイミングでファイル圧縮部29に圧縮要求を発行する。なお、圧縮開始トリガ情報としては、例えば次のものを採用することができる。
・検査終了操作
・検査中断操作
・CPU使用状況(CPU使用率等)
・メモリ使用状況(メモリ使用率等)
・システム内の起動プロセス数
・ローカルディスク残容量
・ローカルディスクへのアクセス状況
・監査ログファイル数
・圧縮済み監査ログファイル数
・圧縮途中の監査ログファイルの有無
上記判断に基づいてログ管理部21からの圧縮要求がファイル圧縮部29になされると、ファイル圧縮部29は、これに応答してログファイルの圧縮を実行する。
また、ログ管理部21は、圧縮処理中も検査状況取得部23、およびディスク容量取得部27から装置情報を取得し、圧縮処理中に例えば下記に示す圧縮中断トリガ情報を取得した場合、圧縮部に圧縮停止要求を送信して、速やかに圧縮処理を中断し、検査自体に影響を与えないように振舞う。
・検査が開始された
・検査が再開された
・CPU使用が増大した(なんらかのアプリケーション(操作)が開始された)
・ローカルディスクへのアクセスが検出された
この様な圧縮中断トリガ情報、及び圧縮開始トリガ情報に基づく圧縮動作の一例を、図5(a)に概念的に示した。同図においては、医用機器の検査動作に対するアイドル時間に監査ログファイルの圧縮処理を行う構成となっている。
ログ管理部21からの圧縮停止要求により圧縮処理が中断した場合には、ファイル圧縮部29は、ログ管理部21によって指定された所定のファイルに遡って圧縮処理を再度実行する。例えば、4月1日〜7日までの監査ログファイルの圧縮処理を行う場合において、図5(b)に示すように、4月1日〜5日までの監査ログファイルの圧縮処理は完了し、4月6日分の監査ログファイルの圧縮処理中に、当該圧縮処理が圧縮停止要求により中断されたとする。ログ管理部21は、ファイル圧縮部29による圧縮処理の進行状況を監視し、中断後の次の圧縮処理においては、4月6日分の監査ログファイルから圧縮処理を実行するように、ファイル圧縮部29に対し要求を出す。ファイル圧縮部29は、当該要求に従って、4月6日分の監査ログファイルから圧縮処理を再実行する。なお、この様な再開手法は、圧縮処理に限定されず、転送処理その他の監査ログを対象としシステムに高負荷を与える処理であれば適用可能である。
次に、上記圧縮操作が繰り返し実行された後、ログ管理部21は、圧縮済みファイルによりローカル記憶媒体のディスク容量が圧迫される状況をディスク容量取得部から得られるディスク残容量から判断して、ディスク容量圧迫状況を検知した段階で、ファイル転送部29にファイル転送要求を発行する。ファイル転送部29は、ログ管理部21からのファイル転送要求に応答して圧縮ファイルを外部媒体に転送し、転送完了後にローカル記憶媒体内の転送済みログファイルをローカル記憶媒体から削除する。
以上述べた構成によれば、医用機器において実行されている検査情報、医用機器のCPU動作状況、ローカル記憶媒体のディスク容量等に基づいて、医用機器の動作有状況を判定し、所定のタイミングにて監査ログファイルの圧縮処理を行うことができる。従って、第1の実施形態において述べた効果に加えて、医用機器のパフォーマンスをできる限り低下させずに、圧縮処理を実行することができる。その結果、医用画像収集阻害、および検査スループットの低下を防止でき、病院内の業務スループット向上を支援することが可能となる。
なお、監査ログファイルが複数存在する場合は、同一の圧縮開始トリガ情報等に基づいて全ての監査ログファイルを圧縮してもよいし、監査ログファイル毎に圧縮開始トリガ情報等を取得し、これに基づいて各監査ログファイルを圧縮してもよい。いずれの場合であっても、ファイル圧縮部29は、ファイルの圧縮が完了した段階で、圧縮済みの元ファイルをローカル記憶媒体から削除するようにすればよい。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。第3の実施形態は、第2の実施形態において発生し得る問題を解決するものである。すなわち、第2の実施形態において、アイドル時間が非常に短い、あるいは検査の中断/再開がほとんど発生しない、検査間のインターバルが非常に短い運用形態で検査を行っていた場合、ローカル記憶媒体に保存された監査ログファイルの容量がどれも大きいと、中断処理が随時発生し、圧縮処理が完了しないケースが考えられる。本実施形態は、監査ログファイルのデータサイズの上限を規定する監査ログファイル最大容量を設定することで、ローカル記憶媒体17に格納されているデータ量を最適化するものである。
設定ファイル部15は、予め設定された監査ログファイル最大容量を設定情報として格納する。なお、この監査ログファイル最大容量は、所定の操作によって任意の値に変更することが可能である。
ログファイル作成部13は、設定ファイル部15に格納された監査ログファイル最大容量に従ってログファイルを作成する。監査ログファイル最大容量を適切な値に設定することで、ログファイル作成部13は、比較的、圧縮処理に時間がかからない程度の容量の監査ログファイルを作成することができる。
最大容量に従って作成された監査ログファイルは、上記各実施形態において説明した手順に従って、短いアイドル時間内、短い検査間インターバル内に圧縮処理が実行される。また、圧縮済みの監査ログファイルは、ローカル記憶媒体から削除される。
以上述べた構成によれは、アイドル時間が非常に短い等の環境下においても、監査ログによるローカル記憶媒体の容量圧迫を回避することができる。その結果、検査スループットの低下を防止し、ファイルの外部への転送を簡便にすることより、監査ログバックアップ作業の効率化、病院内の業務スループット向上を実現することができる。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。本医用機器は、監査ログファイルを外部記憶装置に出力する場合に、当該監査ログファイルの完全性を検証するための情報を生成し、これを用いてデータの改竄の有無を検証することができるものである。
図6は本実施形態に係る医用機器の実施の形態を示す機能ブロック図である。
医用機器41は、操作端末42およびメディア保存部43を備え、監査ログファイル出力システム44が搭載される。尚、医用機器41としては、超音波診断装置、X線CT装置、MRI等の画像診断装置や検体装置並びにHIS,RIS、PACS等の医用情報システムとすることが可能であり、医用機器41に応じた機能を備えるための構成要素が設けられるが、ここでは省略する。操作端末42には、情報を入力して操作するための入力装置45および表示装置46が設けられる。
また、メディア保存部43は、監査ログファイル出力システム44から受けた情報を外部メディア47に出力する機能を有する。外部メディア47は、書き込み可能な記憶媒体であり、具体例としてUSB(Universal Serial Bus)(登録商標)メモリ、IC(Integrated Circuit)カード、CD(Compact Disc)、DVD(Digital Versatile Disc)、HDD(Hard Disk Drive)等の記憶媒体が挙げられる。そして、外部メディア47に保存された情報はユーザ端末48に読み込ませて参照することができる。ユーザ端末48は、任意の医用機器の操作端末の他、一般のPC(Personal Computer)を用いることもできる。
監査ログファイル出力システム44は、例えばコンピュータに監査ログファイル出力プログラムを読み込ませて構築することができるが、監査ログファイル出力システム44の全部または一部を回路により構築してもよい。そして、監査ログファイル出力システム44には、医用機器41における監査ログファイルを作成して外部メディア7に出力する機能が備えられる。そのために監査ログファイル出力システム44は、操作データ収集部49、監査ログファイル作成部50、監査ログ記憶部51およびバックアップ制御部52を具備している。
操作データ収集部49は、ユーザによる入力装置45の操作情報を収集する機能と、収集した操作情報を監査ログファイル作成部50に逐一与える機能を有する。
監査ログファイル作成部50は、操作データ収集部49から受けた一定期間のまたは一定の容量の操作情報から監査ログファイルを作成する機能と、作成した監査ログファイルを監査ログ記憶部51に書き込んで保存させる機能を有する。例えば、監査ログファイルには、ハッシュ関数を使った演算により操作情報から生成された特徴的なパターンを有する固定長のメッセージダイジェストが完全性の検証のために付加される。
そこで、監査ログファイル作成部50は、例えば操作データ記録部50aとメッセージダイジェスト付加部50bとを備えて構成することができる。この場合、操作データ記録部50aには、操作データ収集部49から操作情報を取得して記録する機能が備えられ、メッセージダイジェスト付加部50bには、操作データ記録部50aから一定期間のまたは一定の容量の操作情報を読み込んでメッセージダイジェストを付加することにより監査ログファイルを作成する機能が備えられる。
メッセージダイジェストは、ある一定期間の操作データをまとめた1つの監査ログファイルに対して1つ付加されるだけでなく、入力装置45の1つ1つの各操作データや、1日分の操作データ、一週間分の操作データというように、1つの監査ログファイル内の操作データを複数の任意の大きさの単位に区切って、各単位それぞれに対して付加することも可能である。これにより、例えば監査ログファイル内の操作データのある一部分の内容が改竄された場合に、改竄がどのタイミングでなされたものかを特定することが可能となり、さらに同一の監査ログファイル内で改竄の影響を受けていない部分の操作データについては問題なく扱うことができる。
ただし、監査ログファイルを作成する際、ハッシュ関数を用いてメッセージダイジェストを作成するという手段に限らず、例えばチェックサムやデジタルタイムスタンプといったファイルの完全性の確認を目的とする同等の他の代替手法を用いて監査ログファイルの完全性を検証するための任意の監査ログ完全性検証情報を作成するように監査ログファイル作成部50を構成することができる。
また、必要に応じて監査ログファイルの所望の部位を暗号化することができる。例えば、本文の暗号化したり、本文中に書き込まれた時刻情報等の一部の内容を隠蔽することもできる。これにより、監査ログファイルの改竄の危険性を低減することができる。
監査ログ記憶部51は、監査ログファイル作成部50において作成された監査ログファイルを監査ログ完全性検証情報とともに保存する機能を有する。
バックアップ制御部52は、監査ログファイルの外部メディア47への出力要求を入力装置45から受けた場合に、監査ログ記憶部51に保存されている監査ログファイルの一覧をリスト情報として表示装置46に与えて表示させる一方、外部メディア47に出力すべき監査ログファイルの指示を入力装置45から受ける機能と、入力装置45の操作により指定された監査ログファイルを監査ログ記憶部51から取得してメッセージダイジェスト等の監査ログ完全性検証情報の確認により監査ログファイル並びに各操作データの完全性を検証し、完全性が確認された場合には取得した監査ログファイルの完全性を確認した旨の完全性検証情報を作成して監査ログファイルとともにメディア保存部43に与える機能を有する。
一方で、逆にメッセージダイジェスト等の監査ログ完全性検証情報の確認により、監査ログファイル並びに操作データの完全性が確認できなかった場合には、前記したとおり、該当する監査ログファイル内の操作データ並びに該当する期間および操作を特定することができる。例えば、入力装置45からの1つ1つの操作データに対してメッセージダイジェストを逐一付加した場合、どの操作データが改竄されたものであるかが特定可能である。同様に、1日分の操作データに対してメッセージダイジェストを逐一付加した場合、データ改竄の疑いがある期間(ここでは該当する1日分の操作データ)が特定できる。
そこで、バックアップ制御部52には、監査ログファイル並びに操作データの完全性が確認できなかった場合には、該当する監査ログファイル並びに該当する期間および操作を特定する機能と、特定した監査ログファイル並びに期間および操作に関する情報を表示装置46に与えて表示させることによりユーザへ通知する機能を備えることもできる。
さらに、監査ログファイル内の完全性が確認できなかった部分について、「完全性を確認できなかった」旨のメッセージを監査ログファイルに付加したり、完全性が確認できなかった監査ログファイルを完全性が確認できた監査ログファイルから識別できるように、監査ログファイルのファイル名を通常とは異なる特別なファイル名に変更するといった処理を行えるようにバックアップ制御部52を構成することができる。つまり、バックアップ制御部52に、完全性が確認できなかった監査ログファイルに対して、完全性が確認できなかった旨を示す情報を付加する機能を設けることができる。
そして、監査ログファイルにメッセージダイジェストが付加されている場合には、監査ログファイルの完全性検証処理の後、監査ログファイルの生成の際に用いた秘密の同一または別の文字列を用いて再びハッシュ関数を適用することにより作成された同一または別のメッセージダイジェストを利用して監査ログファイルに対する完全性の検証が可能な完全性検証情報を作成することができる。
このようにバックアップ制御部52は、監査ログファイルの完全性を確認するための完全性検証情報を作成する機能を有する。そして、このようなバックアップ制御部52は、監査ログファイルを外部メディア7に出力するためのバックアップアプリケーションとしてコンピュータ上に実装することができる。
尚、監査ログファイルの所望の部位が暗号化された場合には、バックアップ制御部52(バックアップアプリケーション)には、暗号化された部位を解読する機能が具備される。
ここで、バックアップ制御部52により作成される完全性検証情報は、ファイル形式で作成された確認用アプリケーション(ソフトウェア)とすることができる。確認用アプリケーションは、単一の外部メディア47に複数の監査ログファイルが出力される場合には、共通に1つ作成され、各監査ログファイルの完全性を確認するための各種機能を設けることが可能である。例えばユーザ端末48に確認用アプリケーション53を読み込ませた場合に、ユーザ端末48を監査ログファイル構成確認部54および監査ログファイル完全性確認部55として機能させることができる。ただし、ユーザ端末48は医用機器41と同様に入力装置48aおよび表示装置48bを備え、医用機器41の操作端末42に相当する機能を具備しているものとする。
この場合、監査ログファイル構成確認部54は、同一の外部メディア47内に保存された監査ログファイルのファイル構成に抜けがないか否かを判定し、ファイル構成に抜けがあると判定された場合には、その旨をユーザに通知するための情報を作成する機能を有し、監査ログファイル完全性確認部55は、同一の外部メディア47内に保存された監査ログファイルの完全性をメッセージダイジェストの確認により検証し、完全性が確認できなかった監査ログファイルをユーザに通知するための情報を作成する機能を有する。
尚、監査ログファイルの所望の部位が暗号化された場合には、確認用アプリケーション53(監査ログファイル完全性確認部55)には、暗号化された部位を解読して完全性を確認したり、本文を表示させたりする機能が具備される。
このためメディア保存部43からは、バックアップ制御部52から与えられた監査ログファイルおよび完全性検証情報を外部メディア47に出力することができる。
次に医用機器41の作用について説明する。
図7は、図6に示す医用機器1において監査ログを生成し、生成された監査ログを外部メディア47に出力する際の流れを示すフローチャートであり、図中Sに数字を付した符号はフローチャートの各ステップを示す。
まずステップS1において、ユーザが入力装置45を操作し、医用機器1を操作すると、操作データ収集部49は操作情報として収集して順次監査ログファイル作成部50に与える。
次に、ステップS2において、監査ログファイル作成部50は、操作データ収集部49から受けた一定期間のまたは一定の容量の各操作情報から監査ログファイルを作成し、作成した監査ログファイルを監査ログ記憶部51に書き込んで保存させる。このため、監査ログ記憶部51には、監査ログファイル作成部50において作成された監査ログファイルが、ある一定期間ごと、またはある一定の容量ごとに分割して保存される。
図8は、図6に示す医用機器41の監査ログファイル作成部50により監査ログファイルを作成する際の詳細手順例を示すフローチャートであり、図中Sに数字を付した符号はフローチャートの各ステップを示す。
まずステップS11において、監査ログファイル作成部50は、監査ログ作業用ファイルを生成し、生成した監査ログ作業用ファイルに操作データ収集部49から順次受け渡された時系列の操作情報を一定の期間または容量で区切って書き込む。
次に、ステップS12において、監査ログファイル作成部50は、データの完全性を確認するための情報を監査ログ作業用ファイルに付加する。具体的には、監査ログ作業用ファイルの内容に対してある秘密の文字列でハッシュコードを生成して、操作情報の本文に付帯させる。すなわち、あるハッシュ関数を適用してメッセージダイジェストを生成し、監査ログ作業用ファイルに監査ログ完全性検証情報として付加する。
次に、ステップS13において、監査ログファイル作成部50は、生成した監査ログ作業用ファイルの内容が監査ログであることを容易に判断されないように変更して監査ログファイルとして生成する。このとき必要に応じて、監査ログファイルの本文は暗号化される。
そして、このように生成された監査ログファイルは、監査ログ記憶部51に書き込まれて保存される。さらに、ユーザは、バックアップアプリケーションを起動して、監査ログ記憶部51に保存された監査ログファイルを外部メディア47に保存することができる。
すなわち、図7のステップS3において、バックアップアプリケーションが起動されるとバックアップ制御部52は、入力装置45から指定された監査ログファイルの完全性を検証し、完全性を有する旨の確認が取れた場合には確認用アプリケーション53とともに監査ログファイルをメディア保存部43へ受け渡す。
図9は、図6に示す医用機器41のバックアップ制御部52により監査ログファイルの完全性を確認し、確認用アプリケーション53とともに外部メディア7に出力させる際の詳細手順例を示すフローチャートであり、図中Sに数字を付した符号はフローチャートの各ステップを示す。
まずステップS21において、バックアップ制御部52は、入力装置45から監査ログファイルの外部メディア7への出力要求を受けると、監査ログ記憶部51から監査ログファイルをロードする。
次に、ステップS22において、バックアップ制御部52は、監査ログ記憶部51からロードした監査ログファイルの一覧をリスト情報として表示装置46に与えて表示させる。このため、表示装置46には、外部メディア47に保存すべき監査ログファイルの選択画面が表示される。
次に、ステップS23において、バックアップ制御部52は、外部メディア47に保存すべき監査ログファイルの指示の有無を判定する。そして、外部メディア47に保存すべき監査ログファイルの指示が入力装置45から入力されなかった場合には、処理を終了させる。
ユーザが入力装置45から外部メディア47に保存する監査ログファイルを選択し、外部メディア47に保存すべき監査ログファイルの指示がバックアップ制御部52に与えられた場合には、ステップS24において、バックアップ制御部52は、選択された各監査ログファイルに対してメッセージダイジェストを確認することにより情報の完全性を検証した上で、選択された全ての監査ログファイルの完全性が確認できたか否かを判定する。
そして、完全性が確認できなかった監査ログファイルが存在する場合には、ステップS25において、バックアップ制御部52は、完全性が確認できなかった監査ログファイルのリストを表示装置46に与える。さらに、バックアップ制御部52は、完全性の確認できなかった監査ログファイル内に記録された操作データのどの期間またはどの操作に対して完全性が確認できなかったのかを特定し、得られた結果を表示装置46に与えてユーザに通知する。
このとき、完全性が確認できなかった部分に対して「完全性が確認できなかった」旨のメッセージを監査ログファイルに付加する。
次に、ステップS26において、バックアップ制御部52は、完全性が確認できなかった当該監査ログファイルを外部メディア47へ出力するかどうかをユーザに選択させるための画面情報を表示装置46に与えて表示させる。そして、ユーザは、入力装置45の操作により保存の可否を選択指示することができる。さらに、バックアップ制御部52は、入力装置45の操作情報を受けて完全性の確認できている監査ログファイルの部分について外部メディア47に保存するか否かの判定を行う。
そして、完全性の確認できている監査ログファイルの部分を外部メディア47に保存することをユーザが希望しない場合には、再びステップS22において、監査ログファイルの選択画面が表示装置46に表示され、入力装置45からの選択指示の受付け状態となる。
一方、ステップS26において、完全性の確認できている監査ログファイルの部分を外部メディア47に保存すると判定された場合や、あるいはステップS24において完全性が確認できなかった監査ログファイルが存在しないと判定された場合には、ステップS27において、バックアップ制御部52が監査ログファイルの完全性を確認するための確認用アプリケーション53を生成する。この確認用アプリケーション53は、監査ログファイル作成部50が監査ログファイルの生成の際に使用したハッシュコードを確認するものであり、監査ログファイルの生成の際に用いた秘密の文字列と同一の文字列を使用して生成することができる。
次に、ステップS28において、バックアップ制御部52は、完全性の確認がとれた各監査ログファイルを確認用アプリケーション53とともにメディア保存部43に与える。このため、メディア保存部43は、バックアップ制御部52から渡される監査ログファイルと確認用アプリケーション53を外部メディア47へ保存する。すなわち、メディア保存部43から各監査ログファイルおよび確認用アプリケーション53が外部メディア47に書き込まれる。
尚、ある1つの外部メディア7内に保存される各監査ログファイルは共通のハッシュ関数によって生成されているため、各監査ログファイルの完全性の確認用の確認用アプリケーション53も1つのメディアに対して1つ共通に生成されることとなる。逆に言えば、単一の外部メディア47内に複数の監査ログファイルを保存する場合には、ハッシュ関数が共通である必要があり、確認用アプリケーション53は1メディアに対してひとつ生成される。
そして、ユーザは、外部メディア47に例えばバックアップ用に監査ログファイルを保存し、所望の時期に外部メディア47に保存された監査ログファイルを参照することができる。
外部メディア47から監査ログファイルを参照する場合には、図7のステップS4において、外部メディア47内に保存された監査ログファイルおよび確認用アプリケーション53がユーザ端末48に読み込まれる。そして、確認用アプリケーション53がユーザ端末48上で起動される。
図10は、図6に示すユーザ端末48において、外部メディア47から入力した確認用アプリケーション53を起動して監査ログファイルを参照する際の詳細手順例を示すフローチャートであり、図中Sに数字を付した符号はフローチャートの各ステップを示す。
まずステップS31において、外部メディア7内に保存された確認用アプリケーション53がユーザ端末48上で起動される。そうすると、ユーザ端末48は監査ログファイル構成確認部54および監査ログファイル完全性確認部55として機能する。
次に、ステップS32において、外部メディア47内における監査ログファイルのファイル構成が監査ログファイル構成確認部54により確認される。すなわち監査ログファイル構成確認部54は、同一の外部メディア47内に保存された監査ログファイルのファイル構成に抜けがないか否か、すなわち監査ログファイルが欠落しているか否かを判定する。
そして、監査ログファイルのファイル構成に抜けがあると判定された場合には、ステップS33において、監査ログファイル構成確認部54がファイル構成に抜けがある旨をユーザに通知するための情報を作成し、ユーザ端末48の画面に表示させる。
さらに、監査ログファイルのファイル構成に抜けがあると判定されなかった場合または監査ログファイルのファイル構成に抜けがある旨の表示後、ユーザ端末48は参照すべき監査ログファイルの選択待ち受け状態となる。
次に、ステップS34において、ユーザ端末48の操作により参照すべき監査ログファイルの選択情報を受けた場合には、監査ログファイル完全性確認部55は、選択された監査ログファイルを外部メディア47からロードする。
次に、ステップS35において、監査ログファイル完全性確認部55は、外部メディア47からロードされた参照すべき目的の監査ログファイルの完全性を、メッセージダイジェストを確認することにより検証し、監査ログファイルの完全性が確認できたか否かを判定する。
そして、監査ログファイルの完全性が確認できなかった場合には、ステップS36において、完全性が確認できなかった監査ログファイルをユーザに通知するための情報を監査ログファイル完全性確認部55が作成する。このため、完全性が確認できなかった監査ログファイルがユーザ端末48の画面に表示され、ユーザ端末48は参照すべき監査ログファイルの選択待ち受け状態となる。
一方、監査ログファイルの完全性が確認できた場合には、ステップS37において、選択された監査ログファイルがユーザ端末48の画面に表示される。
このような確認用アプリケーション53によりユーザはユーザ端末48を介して外部メディア47内に保存された監査ログファイルのファイル数を確認してファイル構成に抜けがないかを検証することができる。さらに、外部メディア47内の各監査ログファイルに対してメッセージダイジェストを確認し、確認の取れなかった監査ログファイルについては、破壊もしくは改竄があったと判断することができる。
図11は、図6に示す医用機器1における監査ログファイルの作成から外部メディア7を介した監査ログファイルの参照までの全体の流れを示す概念図である。
医用機器41において監査ログファイル作成部50は、操作データから監査ログ作業用ファイルを作成し、ログファイル作成関数(ハッシュ関数)によりハッシュコードを生成する。この結果、本文である操作データにダイジェストメッセージが付帯された監査ログファイルが生成される。
そして、監査ログファイルは、医用機器41内の監査ログ記憶部51に保存されるが、ユーザが操作端末42の操作によりバックアップアプリケーションを起動して外部メディア47にバックアップする監査ログファイルを選択すると、選択された各監査ログファイルのダイジェストメッセージがバックアップ制御部52(バックアップアプリケーション)によって確認されて各監査ログファイルの完全性の検証が行われる。
次に、バックアップアプリケーションは、完全性が確認された各監査ログファイルに共通のハッシュコードチェック用の確認用アプリケーション53を作成して、各監査ログファイルとともに外部メディア47に出力させる。
このため、外部メディア47には、本文とダイジェストメッセージとで構成される単一または複数の監査ログファイルと、1つのハッシュコードチェック用の確認用アプリケーション53が保存される。そして、ユーザはユーザ端末48において、外部メディア47に保存された確認用アプリケーション53を起動して、各監査ログファイルの完全性の検証を行った上で参照することができる。
つまり、以上のような医用機器41は、監査ログファイルを外部メディア47に出力する際に、監査ログファイルの完全性を確認したうえで完全性の確認用アプリケーション53を生成し、完全性の確認対象となる監査ログファイルとともに確認用アプリケーション53が外部メディア47に保存されるようにしたものである。
このため、医用機器41によれば、ある一定期間後に外部メディア47内に保存された監査ログファイルを参照する場合であっても、同一の外部メディア47内に保存された確認用アプリケーション53を使用することで、外部出力された監査ログファイルが医用機器41において保存された状態を維持しているかどうかを検証することができる。すなわち、監査ログファイルの外部メディア47内への保存時から監査ログファイルの参照時までの期間に情報が破壊または改竄されていないかどうかを確認することができる。
また、外部メディア47内に保存される監査ログファイルが複数であっても外部メディア47内に保存される確認用アプリケーション53は1つであり、共通の確認用アプリケーション53によって外部メディア47内における全ての監査ログファイルの完全性の確認処理が行われる。このため、監査ログファイルの完全性の検証だけでなく、外部メディア47内に保存された監査ログファイルのファイル構成(ファイル数)も確認することができる。
(第5の実施形態)
次に、本発明の第5の実施形態について説明する。本実施形態に係る監査ログ管理システムは、第1の実施形態に係る監査ログ管理システムにおいて、第4の実施形態で述べた監査ログファイルの完全性を検証するための情報を用いたデータの改竄の有無を検証するものである。
図12は、本実施形態に係る監査ログ管理システム及びユーザ端末を示した図である。図1に示した監査ログ管理システムと比較した場合、イベント受付部11、ログファイル作成部13、ローカル記憶媒体17の機能、及びバックアップ制御部52をさらに具備する点が主に異なる。
イベント受付部11は、図6に示した操作データ収集部49の機能を、ログファイル作成部13は、図6に示した監査ログファイル作成部50の機能を、ローカル記憶媒体17は、図6に示した監査ログ記憶部51の機能をそれぞれ具備する。また、バックアップ制御部52の機能は、既述の通りである。
図13は、本実施形態に係る監査ログ管理において実行される各処理の流れ(検査からユーザ端末48における監査ログファイルの参照まで)を示したフローチャートである。まず、図13に示すように、医用機器を用いた検査において、所定の操作が行なわれた際、医用機器内の該当操作対象のアプリケーション50より、それぞれ監査ログ発行イベントが発行される。監査ログ管理システム1は、イベント受付部11により、アプリケーション50からの監査ログ記録要求イベントを受付ける(図7のステップS1に対応)。
ログファイル作成部13は、イベント受付部11からの記録要求に応答して各イベント発生時の監査ログ、及びデータの完全性を確認するための情報(例えばメッセージダイジェスト)を作成し、装置内にテンポラリファイルとして内容記録を行う。また、ログファイル作成部13は、所定のタイミングでテンポラリファイルを作成し、監査ログファイルとしてローカル記憶媒体17へ保存する。このテンポラリファイルのローカル記憶媒体17への保存は、設定ファイル部15に格納された設定情報と、イベント受付部11を介してアプリケーション50から受け取ったシステム情報とに基づいて、所定のタイミングで(例えば、保存トリガ情報を基準として)実行される(図7のステップS2、図8のステップS11〜S13に対応)。
次に、ログ管理部21は、ローカル記憶媒体17を監視中において監査ログファイルの作成(又は保存)の有無を確認する。監査ログファイルの作成有りと判断した場合には、ログ管理部21は、ローカル記憶媒体17への保存が完了した段階で、ファイル圧縮部29に圧縮依頼要求を発行する。ファイル圧縮部29は、監査ログファイルの圧縮を実行する(例えば、ZIP形式の圧縮ファイルを生成する)と共に、ファイルの圧縮が完了した段階で、圧縮済みの元ファイルをローカル記憶媒体17から削除する。
なお、医用機器を利用して検査が繰り返し行なわれた場合、上記監査ログ記録要求イベントを受付けてから、圧縮済みの元ファイルの削除までの各処理が繰り返し実行されることにより、圧縮ファイルが繰り返し分作成されることになる。
次に、ログ管理部21は、圧縮済みファイルによりローカル記憶媒体17のディスク容量が圧迫される状況を、ローカル記憶媒体17(又は容量取得部27)から得られるディスク残容量から判断する。例えば、ログ管理部21は、所定の閾値とディスク残容量とを比較し、ディスク残容量が閾値を下回っている場合には、ローカル記憶媒体17のディスク容量が圧迫される状況であると判断する。ローカル記憶媒体17のディスク容量が圧迫される状況であると判断した場合、ログ管理部21は、ファイル転送部19にファイル転送要求を発行する。
ファイル転送部19は、ローカル記憶媒体17に格納されている圧縮ファイルをバックアップ制御部52に転送し、転送完了後にローカル記憶媒体17内の転送済みログファイルを削除する。バックアップ制御部52は、図9に示したステップS24乃至ステップS28までの各処理を実行することで監査ログファイルの完全性を確認し、確認用アプリケーション13と共に監査ログファイルを外部媒体31に受け渡す。
ユーザ端末48においては、監査ログファイルを参照する際に、外部媒体31から入力した確認用アプリケーション13が起動され、図10に示した各処理が実行される。
以上述べた構成によれば、ローカル記憶媒体の総容量に占める圧縮済み監査ログファイルの割合をできる限り小さくできると共に、監査ログファイルの外部媒体への保時から参照時までの期間に、情報が破壊又は改竄されているか否かを確認することができる。従って、圧縮、転送等の監査ログファイルを対象とする処理による医用画像収集動作の阻害、検査スループットの低下を防止すると共に、監査ログファイルの情報としての安全性を担保することができる。
(第6の実施形態)
次に、本発明の第6の実施形態について説明する。本実施形態に係る監査ログ管理システムは、第2の実施形態に係る監査ログ管理システムにおいて、第4の実施形態で述べた監査ログファイルの完全性を検証するための情報を用いたデータの改竄の有無を検証するものである。
図14は、本実施形態に係る監査ログ管理システム及びユーザ端末を示した図である。図3に示した監査ログ管理システムと比較した場合、イベント受付部11、ログファイル作成部13、ローカル記憶媒体17の機能、及びバックアップ制御部52をさらに具備する点が主に異なる。
イベント受付部11は、図6に示した操作データ収集部49の機能を、ログファイル作成部13は、図6に示した監査ログファイル作成部50の機能を、ローカル記憶媒体17は、図6に示した監査ログ記憶部51の機能をそれぞれ具備する。また、バックアップ制御部52の機能は、既述の通りである。
図15は、本実施形態における監査ログ管理において実行される各処理の流れ(検査からユーザ端末48における監査ログファイルの参照まで)を示したフローチャートである。同図に示すように、まず第5の実施形態と同様に、アプリケーション50からの監査ログ記録要求イベントの受付から、ローカル記憶媒体17への監査ログファイル及び当該監査ログファイルの完全性を検証するための情報(例えば、メッセージダイジェスト)の保存までの各処理が実行される。
次に、ログ管理部21は、常時、検査状況取得部23及びディスク容量取得部27によって取得される圧縮開始トリガ情報を基準として、医用機器の非検査状況や検査に支障をきたさない状況を検知・判断する。圧縮処理を行っても検査に支障をきたさない状態であると判断した場合には、ログ管理部21は、そのタイミングでファイル圧縮部29に圧縮要求を発行する。
上記判断に基づいてログ管理部21からの圧縮要求がファイル圧縮部29になされると、ファイル圧縮部29は、これに応答してログファイルの圧縮を実行する。
また、ログ管理部21は、圧縮処理中も検査状況取得部23及びディスク容量取得部27から装置情報を取得し、圧縮処理中に例えば既に示した圧縮中断トリガ情報を取得した場合、圧縮部に圧縮停止要求を送信して、速やかに圧縮処理を中断し、検査自体に影響を与えないように振舞う。
次に、上記圧縮操作が繰り返し実行された後、ログ管理部21は、圧縮済みファイルによりローカル記憶媒体のディスク容量が圧迫される状況をディスク容量取得部から得られるディスク残容量から判断して、ディスク容量圧迫状況を検知した段階で、ファイル転送部29にファイル転送要求を発行する。ファイル転送部29は、ログ管理部21からのファイル転送要求に応答して圧縮ファイルを外部媒体に転送し、転送完了後にローカル記憶媒体内の転送済みログファイルをローカル記憶媒体から削除する。以降、第5の実施形態と同様に、監査ログファイルの完全性の確認処理、ユーザ端末48における監査ログファイルの参照処理等が実行される。
以上述べた構成によれば、第5の実施形態において述べた効果に加えて、医用機器のパフォーマンスをできる限り低下させずに、圧縮、転送等の監査ログファイルを対象とする処理を実行することができる。
なお、本実施形態の構成に加えて、第3の実施形態の如く、監査ログファイルのデータサイズの上限を規定する監査ログファイル最大容量を設定することで、ローカル記憶媒体17に格納されているデータ量を最適化するようにしてもよい。
本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。具体的な変形例としては、例えば次のようなものがある。
(1)各実施形態に係る監査ログ管理処理は、当該処理を実行するプログラムをワークステーション等のコンピュータにインストールし、これらをメモリ上で展開することによっても実現することができる。このとき、コンピュータに当該手法を実行させることのできるプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、半導体メモリなどの記録媒体に格納して頒布することも可能である。
(2)上記第2の実施形態においては、医用機器の動作状況に応じて監査ログファイルの圧縮処理を行う構成であった。これに対して、図示していない操作部や装置画面のGUI等に圧縮処理を指示するための専用ボタンを設け、これをマニュアル操作することで、ユーザが任意のタイミングで圧縮処理を実行できるようにしてもよい。
(3)上記各実施形態においては、患者情報は、診断情報と、少なくとも患者名(又は患者ID)及び検査種を含む付帯情報とから構成されるものとした。しかしながら、これに拘泥されず、患者情報は、患者を直接的に特定し得る情報(例えば、患者名、患者ID等)、又は患者を間接的に特定し得る情報(例えば、診断画像、検査結果、治療履歴、体重、身長、性別、嗜好等)を含むものであれば、どのような構成であってもよい。
(4)上記各実施形態においては、システムに実質的に高負荷を与える監査ログファイルの圧縮、転送処理について、その実行タイミングを医用機器の動作状態に基づいて制御する例を説明した。しかしながら、この例に拘泥されず、監査ログファイルの暗号化処理、監査ログファイルに完全性を確認するための情報を付加する処理、監査ログファイルの完全性を確認する処理等についても、その実行タイミングを医用機器の動作状態に基づいて制御するようにしてもよい。係る場合には、例えばバックアップ制御部52が、ログ管理部21からの要求に応答して、監査ログファイルの暗号化処理、監査ログファイルの完全性を確認する処理等を実行するようにすればよい。また、一定量の監査ログファイルを生成後、例えばバックアップ制御部52において各監査ログファイルに完全性を確認するための情報を付加する処理を行う場合には、システムに高負荷を与えることになる。この様な場合には、その実行タイミングを医用機器の動作状態に基づいて制御する実益は、特に高いと言える。
また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1…監査ログ管理システム、11…イベント受付部、13…ログファイル作成部、15…設定ファイル部、17…ローカル記憶媒体、19…ファイル転送部、21…ログ管理部、23…検査状況取得部、25…CPU状況取得部、27…ディスク容量取得部、29…ファイル圧縮部、31…外部媒体、41…医用機器、42…操作端末、43…メディア保存部、44…監査ログバックアップシステム、45…入力装置、46…表示装置、47…外部メディア、48…ユーザ端末、48a…入力装置、48b…表示装置、49…操作データ収集部、50…監査ログファイル作成部、50a…操作データ記録部、50b…メッセージダイジェスト付加部、51…監査ログ記憶部、52…バックアップ制御部、53…確認用アプリケーション、54…監査ログファイル構成確認部、55…監査ログファイル完全性確認部