説明

表計算ソフトウェア用アドインおよび表計算ソフトウェア用アドインシステム

【課題】悪意の使用者が存在する環境であってもノウハウが流出せず、環境や使用者に応じて起動を制限して個人情報等を秘匿するスプレッドシートを作成する。
【解決手段】表計算ソフトウェアに追加可能で修正防止用のプロテクトが施された表計算ソフトウェア用アドイン110は、元のスプレッドシートからマクロおよび計算式を取り除き演算結果だけを保持する新たなスプレッドシートを作成する関数・マクロの無効化機能と、新たなスプレッドシートにセキュアチェックコード114を加えてセキュアエクセル116とするセキュアチェックコード組込機能と、を備え、セキュアチェックコード114はセキュアエクセル116の起動時に実行され、起動が行われるコンピュータが所定の条件を満たさないときはセキュアエクセル116の起動を中止する機能を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表計算ソフトウェアに追加可能な表計算ソフトウェア用アドインと、同アドインをインストールするインストーラも含めた表計算ソフトウェア用アドインシステムとに関するものである。
【背景技術】
【0002】
2006年、金融商品取引法が成立し、新たな内部統制のルールとしてJ−SOX(日本版SOX法)が2008年から施行されることになったことに伴い、企業の内部統制の重要性が再認識されている。
【0003】
一方、Excel(登録商標)に代表される表計算ソフトウェアで扱われるスプレッドシートは、簡便でEUC(End User Computing)可能な計算手段として普及してきた。J−SOXが義務付けている財務諸表の報告に影響するプロセスにおいても、スプレッドシートが多用されている(例えば特許文献1)。スプレッドシートを用いれば、必要なパラメータを入力して演算することにより、財務諸表を簡便に作成可能だからである。
【0004】
しかしスプレッドシートは、EUC環境で利用されてきたことから、個人のアイデアに基づいて作成されたものが多く、改良や改造も自由である一方、バグや改竄のおそれがあるため、版数管理やアクセス管理などが必要である。
【0005】
そこで例えば特許文献2には、図7に示すように、管理対象であるスプレッドシート20だけに、ユーザが参照できない隠しシート18を付与するスプレッドシート内部統制システム11が開示されている。特許文献2によれば、隠しシート18の情報を読み取って動作するアドインを有する表計算ソフトウェア(図示省略)を用いて、スプレッドシート18をオープンする。
【0006】
特許文献2によれば、そのスプレッドシートが管理対象であるか否かは、隠しシート18の有無で判断できる。管理対象であるスプレッドシート20がローカルなコンピュータに保存されている場合であっても、同コンピュータに組み込まれたアドインは、そのスプレッドシート20のオープン時に最新の版数か否かをチェックする機能をもつ。かかる機能により、特許文献2によれば、簡単に版数管理が実現できる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特表2003−67550号公報
【特許文献2】特開2010−039652号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし図7に示す特許文献2に記載の技術は、アドイン(図示省略)の存在下でスプレッドシート20が扱われる内部統制のとれている環境10(例えば同一組織内)におけるスプレッドシートの版数管理を目的としたものである。スプレッドシート20が矢印50のように組織外へ流通した(出荷された)後には、内部統制が働かない(アドイン無しの)環境でスプレッドシート20が扱われ、隠しシートは処理されないために、適切な版数管理ができなくなってしまう。
【0009】
したがって出荷された後のスプレッドシート20の管理は、出荷先の担当者に任されている。しかしながら、エクセルブックなどのスプレッドシートは電子メールに簡単に添付できるなど、必ずしも内部統制が有効に働いていない利用環境で利用される場合も想定される。したがって、仮に担当者の管理意識が低ければ、悪意の使用者60のいる環境70では、スプレッドシート20は無防備になってしまう。例えば図7に示すように、以下の問題点がある。
【0010】
(1)関数・マクロの逆解析が可能:スプレッドシート20にはマクロや計算式(関数)が含まれているが、それらを悪意ある者60が逆解析(リバース・エンジニアリング)すれば、シート20を作成した企業の貴重な財産であるノウハウが知られてしまう。仮にスプレッドシートにパスワードを設定したとしても、それらは脆弱であり、市販の解除ツールを用いれば比較的簡単に解除されてしまう。ノウハウ保護の手段として、スプレッドシートを含むファイル全体や、スプレッドシート内のデータを部分的に暗号化する方法もある。しかしこれらの手段は別途操作を必要とする煩雑なものであり、かかる手段をとってもリバース・エンジニアリングの可能性を排除できるものではない。
【0011】
(2)危険なデータが丸出し:マクロや計算式以外にも、スプレッドシート20には、演算結果や、その演算結果が何を示しているかといった情報が含まれている。例えばスプレッドシート20が金融機関から流通したものであれば、個人名や預金残高などの秘匿すべき個人情報が含まれていることがある。しかしこれらも有効に保護する手段が講じられていない場合には、悪意の使用者60に漏洩してしまうおそれがある。
【0012】
(3)使用制限が出来ない:出荷された後のスプレッドシート20の使用制限、すなわち起動自体を許可制にすることが可能であれば、上記のノウハウや個人情報の流出を抑止できる。しかし表計算ソフトウェアが標準装備しているスプレッドシート保護用のパスワードは脆弱であり、比較的簡単に解除されてしまう。
【0013】
(4)誰が利用したのか不明:作成された後のスプレッドシート20は、誰が利用したか不明である。関数やマクロ、個人情報が含まれたスプレッドシート20の利用は、利用記録に残すべきであるが、それができない環境下で自由に利用させるのは望ましくない。
【0014】
(5)アドイン無しの環境下では改ざん可能:出荷された後のスプレッドシート20は、出荷元の企業(環境10)と異なり、アドイン無しの環境70で扱われるため、改竄が自由に可能になってしまう。
【0015】
上記(1)〜(5)の問題点に対して、IRM(Information Rights Management)なる概念が提唱されている。IRMによれば、アクセス制限の適用されたコンテンツを受け取った正当なユーザによって、そのコンテンツが意図しない方法(転送、コピー/貼り付け、改変、印刷、FAX送信など)で利用されるのを防ぐ。
【0016】
IRMによれば、コンテンツの所在に関係なくアクセス制限を適用することができる。しかし、悪意の使用者60のいる環境70において、コンテンツの閲覧を可能/不可能にすることはできるものの、閲覧を可能にした場合にはリバース・エンジニアリングも可能になるおそれがある。したがって、IRMでは、閲覧可能であるがノウハウの流出は防ぎたいという要請には応えられない。
【0017】
本発明は、このような課題に鑑み、悪意の使用者が存在する環境であってもノウハウが流出せず、環境や使用者に応じて起動を制限して個人情報等を秘匿するスプレッドシートを作成可能な表計算ソフトウェア用アドインおよび表計算ソフトウェア用アドインシステムを提供することを目的としている。
【課題を解決するための手段】
【0018】
上記課題を解決するために、本発明は、表計算ソフトウェアに追加可能で修正防止用のプロテクトが施された表計算ソフトウェア用アドインにおいて、元のスプレッドシートからマクロおよび計算式を取り除き演算結果だけを保持する新たなスプレッドシートを作成する手段と、新たなスプレッドシートに新たなマクロを加えて安全スプレッドシートとする手段と、を備え、新たなマクロは安全スプレッドシートの起動時に実行され、起動が行われるコンピュータが所定の条件を満たさないときは安全スプレッドシートの起動を中止する機能を有することを特徴とする。更に、新たに追加されたマクロは、表示結果(演算結果)には何ら影響を与えないことを特徴とする。
【0019】
上記の構成によれば、アドインは元のスプレッドシートからマクロや計算式を削除した安全スプレッドシートを作成する。つまり安全スプレッドシートは演算結果やそれを説明する記載など、シート表面の情報だけを含んでいる。このようにマクロや計算式を排除されているため、安全スプレッドシートは逆解析不能であり、元のスプレッドシートにマクロや計算式として含まれていたノウハウが流出しない。
【0020】
また、安全スプレッドシートに加えられた新たなマクロは、コンピュータが所定の条件を満たさないときは安全スプレッドシートの起動自体を中止する。このように新たなマクロは環境や使用者に応じて自律的に起動を制限可能である。したがって演算結果やそれを説明する記載など、秘匿すべき情報が無制限に閲覧されることもない。
【0021】
上記の所定の条件は、コンピュータに当該表計算ソフトウェア用アドインがインストールされていることとしてよい。かかる構成によれば、アドインがインストールされたコンピュータでは安全スプレッドシートを起動するが、アドインがインストールされていないコンピュータでは起動を中止する。これにより、アドインがインストールされたコンピュータであれば内部統制下にあるとみなした運用が可能である。
【0022】
上記の新たなマクロは、安全スプレッドシートを起動した事実をアクセスログとして所定のアクセスログ保存パスに記録する機能をさらに有し、上記の所定の条件は、アクセスログ保存パスに到達可能なネットワークにコンピュータが接続されていることとしてよい。かかる構成によれば、ネットワークに接続されていないコンピュータなど、誰が何時その安全スプレッドシートにアクセスしたかというアクセスログが保存できない環境下では安全スプレッドシートを起動できないとする運用が可能である。
【0023】
上記の新たなマクロは、安全スプレッドシートの安全レベルを少なくとも高中低の3レベルに設定する機能をさらに有し、安全レベルが高のときは、上記の所定の条件は、コンピュータに当該表計算ソフトウェア用アドインがインストールされていることと、アクセスログ保存パスに到達可能なネットワークにコンピュータが接続されていることであり、安全レベルが中のときは、上記の所定の条件は、コンピュータに当該表計算ソフトウェア用アドインがインストールされていることのみであり、安全レベルが低のときは、上記の所定の条件は存在しないこととしてよい。
【0024】
上記の構成によれば、安全スプレッドシートの内容に応じて、安全レベルを設定可能である。安全レベルが「高」の安全スプレッドシートは最も機密性の高いシートであり、アドインがインストールされた内部統制下にある(組織内の利用者の)コンピュータであって、かつ、アクセスログが残せるコンピュータでなければ、起動しない。安全レベルが「中」の安全スプレッドシートは、アドインがインストールされた内部統制下にあるコンピュータであれば、アクセスログが残せなくても起動する。安全レベルが「低」の安全スプレッドシートは、アドインがなくアクセスログも残せないコンピュータであっても起動する。
【0025】
上記の新たなマクロは、安全スプレッドシートの上書き保存を禁止する機能をさらに有するとよい。安全スプレッドシートはその安全レベルに応じて、所定の環境にあれば閲覧可能であるものの、上書き保存禁止であるため、安全レベルに拘わらず、改竄が一切できない。これにより、誤った演算結果が記載されたスプレッドシートが流通することを防止可能である。
【0026】
上記のソフトウェア用アドインは、上記の新たなマクロに修正防止用のロックを施す手段をさらに備えるとよい。新たなマクロを悪意の使用者が改竄するのを防止するためである。
【0027】
上記のソフトウェア用アドインは、安全スプレッドシートが作成されたときに、作成の事実を安全スプレッドシート作成ログとして所定の作成ログ保存パスに保存する手段と、作成された安全スプレッドシートを証跡として所定の証跡保存パスに保存する手段と、をさらに備えるとよい。かかる構成によれば、作成された安全スプレッドシートを証跡として保存し、監査対象とすることができる。
【0028】
上記のソフトウェア用アドインは、安全スプレッドシートに含まれている演算結果を暗号化・復号する手段をさらに備えるとよい。演算結果を暗号化しておけば、アドインがインストールされている(復号手段を有する)コンピュータでなければ、安全スプレッドシートが起動しても演算結果を閲覧することはできない。このように暗号化・復号により、例えば安全レベルが「低」のスプレッドシートの安全レベルを事実上「中」にすることとなり、シートの安全性を高めることができる。
【0029】
上記課題を解決するために、本発明にかかる表計算ソフトウェア用アドインシステムは、表計算ソフトウェアに追加可能で修正防止用のプロテクトが施された表計算ソフトウェア用アドインと、表計算ソフトウェア用アドインをコンピュータにインストールするインストーラとを備え、インストーラは、表計算ソフトウェア用アドインの利用者識別情報を含み、利用者がインストールを実行したことのインストールログを所定の変更不可能に設定されたインストールログ保存パスに保存不能な場合、あるいは、変更不可能に設定された証跡保存パスにアクセス不能な場合はインストールを中止する手段を有し、表計算ソフトウェア用アドインは、元のスプレッドシートからマクロおよび計算式を取り除き演算結果だけを保持する新たなスプレッドシートを作成する手段と、新たなスプレッドシートに新たなマクロを加えて安全スプレッドシートとする手段と、を有し、新たなマクロは安全スプレッドシートの起動時に実行され、起動が行われるコンピュータが所定の条件を満たさないときは安全スプレッドシートの起動を中止する機能を有することを特徴とする。
【0030】
上記の構成によれば、インストーラは、表計算ソフトウェア用アドインを「誰」が「何時」コンピュータにインストールしたかをインストールログとして残すことができる。かかるインストールログを定期的にチェックすることにより、権限のない者が不正にインストーラを入手してアドインをインストールすることを取り締まることが可能である。また、アドインのライセンス数が契約した数の範囲か否かについても確認できる。
【発明の効果】
【0031】
本発明によれば、悪意の使用者が存在する環境であってもノウハウが流出せず、環境や使用者に応じて起動を制限して個人情報等を秘匿するスプレッドシートを作成可能な表計算ソフトウェア用アドインおよび表計算ソフトウェア用アドインシステムを提供可能である。
【図面の簡単な説明】
【0032】
【図1】本発明による表計算ソフトウェア用アドインシステムの実施形態を示す図である。
【図2】図1のアドインが有する機能と、図1のアドインがセキュアエクセルに組み込むセキュアチェックコードの内容とを示す図である。
【図3】図2のアドインがセキュアエクセルを作成するプロセスと、セキュアエクセルが起動するときのセキュアチェックコードの動作とを示すフローチャートである。
【図4】図3において設定されるセキュアエクセルの安全レベルの種類を示す図である。
【図5】図1のインストールログ、作成ログおよびアクセスログの保存を示す図である。
【図6】図1のインストーラの機能を示す図である。
【図7】従来技術の例を示す図である。
【発明を実施するための形態】
【0033】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値などは、発明の理解を容易とするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0034】
図1は、本発明による表計算ソフトウェア用アドインシステム100(以下「システム100」と略称する場合あり)の実施形態を示す図である。システム100は、表計算ソフトウェア(図示省略)に追加可能で修正防止用のプロテクトが施された表計算ソフトウェア用アドイン110(以下「アドイン100」と略称する場合あり)と、アドイン110をコンピュータにインストールするインストーラ102とを備える。
【0035】
(セキュアエクセルを作成するアドイン)
図2は図1のアドイン110が有する機能(図2(a))と、図1のアドインがセキュアエクセルに組み込むセキュアチェックコードの内容(図2(b))とを示す図である。表計算ソフトウェア用アドイン110は、図2(a)に示すように、元のスプレッドシート15(図7)からマクロおよび計算式を取り除き、演算結果だけを保持する新たなスプレッドシートを作成する手段(関数・マクロの無効化機能112)を有する。アドイン110はまた、セキュアチェックコード組込機能117を有する。同機能117は、新たなスプレッドシートに新たなマクロ(以下「セキュアチェックコード114」と呼ぶ)を加えて安全スプレッドシート(以下「セキュアエクセル116」と呼ぶ。「エクセル」は米国マイクロソフト社の登録商標)とする。
【0036】
図3は、図2のアドイン110がセキュアエクセル116を作成するプロセスと、セキュアエクセル116が起動するときのセキュアチェックコード114の動作とを示すフローチャートである。以下、図2および図3を参照してこのフローチャートを説明する。図3に示すように、セキュアエクセル116を作成するとき、アドイン110はまず、関数・マクロの無効化機能112によってステップ120を行い、元のスプレッドシート(Original.xls)15から関数・マクロを無効化(削除)する。その結果、セキュアエクセル116は演算結果やそれを説明する記載など、シート表面の情報しか含まないこととなる。
【0037】
したがって、アドイン110のインストールされたコンピュータ(例えば図1のコンピュータ146)を使用しても、セキュアエクセル116は演算結果こそ閲覧可能であるが、マクロや計算式が排除されているため、それらを逆解析することは不可能である。これにより、元のスプレッドシート15にマクロや計算式として含まれていたノウハウが流出しない。
【0038】
アドイン110は次に、セキュアチェックコード組込機能117によってステップ122を行い、セキュアチェックコード114を組み込んだセキュアエクセル116を作成する。図2(b)のセキュアチェックコード114は、元のスプレッドシート15から削除したマクロ等と交換する形でセキュアエクセル116に組み込まれるため、双方のプログラムコードが矛盾することはない。
【0039】
(セキュアエクセルの安全レベル設定)
図2(a)に示すように、アドイン110は、セキュアエクセル116に安全レベルを設定する安全レベル設定機能118を有し、これによって図3のステップ124を行い、セキュアエクセル116に安全レベルを設定する。安全レベルはユーザが設定してよい。
【0040】
図4は図3において設定されるセキュアエクセルの安全レベルの種類を示す図である。本実施形態では図4に示すように、安全レベルは高中低の3レベルとするが、このレベル数は自由に増減させてよい。アドイン110によって設定された安全レベルは、図2(b)に示すように、セキュアチェックコード114内の安全レベル機能126として、セキュアエクセル116に組み込まれる。安全レベルは、いかなる条件下でセキュアエクセル116が起動するかを定めたものである。
【0041】
本実施形態では、セキュアエクセル116の安全レベルが「高」に設定されたときは、図4に示すように、セキュアエクセル116が起動するために、条件1:コンピュータにアドイン110がインストールされていること、条件2:アクセスログ保存パスに到達可能なネットワークにコンピュータが接続されていること、の2つが必要である。つまりアドイン+ログ保存(ネットワーク接続)という2つの条件が成立しないとセキュアエクセル116は起動せず、演算結果すらも閲覧不可能である。これが本実施形態におけるセキュリティの最高レベルである。
【0042】
条件1を判定することにより、アドイン110がインストールされたコンピュータ(例えばコンピュータ146)(を使用する者)は内部統制下にあると見なした運用が可能である。コンピュータ146を用いればセキュアエクセル116を問題なく起動可能であり、ユーザはセキュアエクセル116の演算結果を閲覧可能である。
【0043】
セキュアエクセル116の安全レベルが「中」に設定されたときは、図4に示すように、セキュアエクセル116が起動するための条件は、条件1:コンピュータにアドイン110がインストールされていることのみである。たとえコンピュータがネットワークにつながっていず、アクセスログがとれなくとも、アドイン110がインストールされていれば、セキュアエクセル116は起動する。本安全レベルは、アドインのインストールされたコンピュータを社外で利用する場合を想定している。
【0044】
セキュアエクセル116の安全レベルが「低」のときは、図4に示すように、セキュアエクセル116が起動するために何らの条件も要しない。すなわち、アドインがインストールされていず(以下これを「アドインレス」とも呼ぶ)、ネットワークにも接続されていないコンピュータであっても、セキュアエクセル116が起動する。
【0045】
(アドイン:データ暗号化・復号機能)
図2(a)に示すように、アドイン110は、セキュアエクセル116に含まれている演算結果を暗号化・復号する手段(データ暗号化・復号機能128)をさらに備える。この機能128によってアドイン110は図3のステップ130を行い、セキュアエクセル116の演算結果を暗号化できる。暗号化・復号は必ずしも必要な措置ではない。しかし演算結果を暗号化しておけば、アドイン110がインストールされている(復号手段を有する)コンピュータでなければ、セキュアエクセル116が起動しても演算結果を閲覧することはできない。つまり暗号化・復号により、例えばセキュアエクセル116の安全レベルが「低」に設定されていても、事実上それを「中」にすることとなり、シートの安全性を高めることができる。
【0046】
(アドイン:プロジェクトロック機能)
図2(a)に示すように、アドイン110は、セキュアチェックコード114に修正防止用のロックを施す手段(プロジェクトロック機能132)をさらに備える。セキュアチェックコード114を悪意の使用者が改竄するのを防止するためである。この機能132によって、アドイン110は図3のステップ134を行い、セキュアチェックコード114に修正防止用のロックを施す。
【0047】
(アドイン:作成ログ・証跡保存機能)
図2(a)に示すように、アドイン110は、セキュアエクセル116が作成されたときに、作成の事実(誰が何時作ったか)をセキュアエクセル116作成ログとして所定の作成ログ保存パスに保存する手段と、作成されたセキュアエクセル116を証跡として所定の証跡保存パスに保存する手段(作成ログ・証跡保存機能136)をさらに備える。この機能136によって、アドイン110は図3のステップ138を行い、作成されたセキュアエクセル116を証跡として保存し、監査対象とすることができる。
【0048】
図5は図1のインストールログ、作成ログおよびアクセスログの保存を示す図である。アドイン110がインストールされたコンピュータ141にてセキュアエクセル116が作成されると、作成ログは、ログ保存パス139に保存される。これは特定のサーバに設けられた修正ができないパスであり、定期的にバックアップがとられるパスとするとよい。このパス情報は、アドイン110がインストールされるときにインストーラ102から自動的に継承される(図1)。あるいは、アドイン110のインストール時にパス情報を設定することとしてもよい。
【0049】
なお本実施形態では、図5に示すように、ログ保存パス139は、セキュアエクセル116の作成ログだけでなく、後述のアクセスログやインストールログも保存する共通のパスとしている。ただしそれぞれ別々のパスとしてもよい。
【0050】
(セキュアチェックコード:保存管理機能)
図2(b)に示すように、セキュアチェックコード114は、セキュアエクセル116の上書き保存を禁止する機能(保存管理機能140)をさらに有する。セキュアエクセル116はその安全レベル(高中低)に応じて、上記の条件1や条件2などが成立している環境にあれば閲覧可能であるものの、安全レベルに拘わらず上書き保存禁止であるため、改竄は一切できない。これにより、誤った演算結果が記載されたスプレッドシートが流通することを防止可能である。さらに言えば、「ノウハウが流出しない状態で参照のみ可能(編集不可能)」なスプレッドシートを提供できるという効果が得られる。
【0051】
(セキュアチェックコード:強制終了機能)
セキュアチェックコード114は、図2(b)に示すように、所定の条件が満たされないときにセキュアエクセル116の起動を中止する機能(強制終了機能148)を有する。
【0052】
(セキュアチェックコード:アクセスログ機能)
セキュアチェックコード114は、図2(b)に示すように、セキュアエクセル116を起動した事実をアクセスログとして所定のログ保存パス139に記録する機能(ログ機能149)をさらに有する。強制終了機能148は、ログ保存パス139に到達可能なネットワークにコンピュータが接続されていることを上記の「所定の条件」とし、接続されていない場合にセキュアエクセル116の起動を中止可能である。
【0053】
かかる構成によれば、ネットワークに接続されていないコンピュータなど、誰が何時そのセキュアエクセル116にアクセスしたかというアクセスログが保存できない環境下ではセキュアエクセル116を起動できないとする運用が可能である。これは例えばセキュアエクセル116の安全レベルを「高」にすればよい。
【0054】
(セキュアチェックコード:アドインとの協調機能)
セキュアチェックコード114は、図2(b)に示すように、アドイン110との協調機能151を有する。これにより、偽装アドインを排除すると同時に、セキュアエクセル116が起動されるコンピュータにアドイン110がインストールされている場合には、アドイン110の機能を利用できる。例えばデータ暗号化・復号機能128を利用して、セキュアエクセル116の演算結果を復号できる。
【0055】
(セキュアチェックコードの動作:条件1不成立ならセキュアエクセル起動中止)
セキュアチェックコード114はセキュアエクセル116の起動時(図3のステップ142)に実行される。セキュアチェックコード114は、アドイン110の有無に拘わらず自律的に環境をチェックする(図3、ステップ150)。すなわち、ステップ150にてセキュアチェックコード114は、セキュアエクセル116の起動が行われるコンピュータ144、146について、条件1:コンピュータにアドイン110がインストールされていること、を満たしているか否かをチェックする。
【0056】
図1のコンピュータ144のように、アドインレスで条件1を満たさないときは、セキュアエクセル116の安全レベル(図4)が「高」または「中」に設定されていれば、図2(b)のセキュアチェックコード114の強制終了機能148が働く。その結果、図3のステップ152に進み、セキュアエクセル116の起動が中止される。一方、図1のコンピュータ146のように、アドイン110がインストールされていて条件1を満たすときは、図3のステップ154に進む。ただし安全レベルが「低」に設定されていれば、アドインの有無に拘らず、コンピュータ144、146のいずれであっても、ステップ154に進む。
【0057】
ステップ154にてセキュアチェックコード114は、セキュアエクセル116の起動が行われるコンピュータ146について、条件2:ログ保存パス139に到達可能なネットワークにコンピュータが接続されていること、を満たしているか否かをチェックする。
【0058】
(セキュアチェックコードの動作:条件2不成立ならセキュアエクセル起動中止)
図1のコンピュータ146のように、保存パス139に到達可能なネットワークにコンピュータが接続されていて条件2を満たすときは、安全レベルが「高」(図4)に設定されていれば、ステップ156に進む。すなわちセキュアチェックコード114のログ機能149が働き、セキュアエクセル116を起動した事実をアクセスログとして所定の保存パス139に記録する。
【0059】
しかし、仮にコンピュータ146が条件2を満たしていない場合、安全レベルが「高」に設定されていれば、ステップ152に進み、セキュアエクセル116の起動が中止される。
【0060】
一方、安全レベルが「中」または「低」に設定されていれば、条件2を満たすか否かに拘らず、ステップ156をとばして(ログをとらない)、ステップ158に直接進む。
【0061】
このように本実施形態の特徴は、セキュアエクセル116に組み込まれたセキュアチェックコード114が、条件1および条件2が充足されているか否か、自律的に環境をチェックすることである。
【0062】
本実施形態によれば、環境や使用者に応じてセキュアエクセル116の起動が制限されるため、セキュアエクセル116に依然として残っている演算結果やそれを説明する記載など、秘匿すべき情報が無制限に閲覧されることがない。
【0063】
このセキュアチェックコード114によるセキュアエクセル116の起動制限方式によれば、従来技術で用いられていたようなパスワードによるスプレッドシート保護より、格段にセキュリティが向上する。なお本実施形態は、パスワードによるスプレッドシート保護を除外するものではない。セキュアエクセル116の作成時にはパスワードを併用してよい。パスワードによる保護は、時間をかければ解除ツールで解除される可能性が高いが、セキュアチェックコード114と併用することで二重にスプレッドシートが保護される。
【0064】
(セキュアチェックコードの動作:暗号化された演算結果の復号)
ステップ158では、セキュアチェックコード114は、セキュアエクセル116の演算結果が暗号化されているか否かを判定する。暗号化されていて、コンピュータ146のようにアドイン110がインストールされている環境であれば、ユーザは、アドイン110のデータ暗号化・復号機能128を利用し、復号操作160を行うことにより、セキュアエクセル116の演算結果を復号できる(ステップ162)。
【0065】
かかる構成によれば、安全レベルが「低」に設定されているセキュアエクセル116の演算結果が暗号化されている場合、セキュアエクセル116は起動できるが、アドイン110がない限り演算結果を事実上閲覧できない。この場合セキュアエクセル116の安全レベルが実質的に「中」になることになり、シートの安全性を高めることができる。
【0066】
一方、ステップ158において、暗号化が行われていないと判定されれば、ステップ162は行う必要がなく、とばされることとなる。
【0067】
(セキュアチェックコードの動作:セキュアエクセルの上書き不能)
また、セキュアエクセル116は、セキュアチェックコード114の保存管理機能140により、上書き保存禁止であるため、保存操作164が行われても、それは禁止マーク166で示すように、上書き保存が禁止される。したがってセキュアエクセル116は安全レベルに拘わらず、改竄が一切できない。
【0068】
(インストーラ)
図6は図1のインストーラの機能を示す図である。図6に示すように、インストーラ102は当初、未設定のインストーラ102bとして作成される。そして、ユーザライセンス、ユーザライセンス数、ログ保存用パス情報(IPアドレス等)などを設定して、配布準備が完了したインストーラ102となる。インストーラ102は、アドイン110の利用者識別情報を含み、図5に示すように、利用者がアドイン110のインストールを実行したことのインストールログを所定の変更不可能に設定されたログ保存パス139に保存する。このインストールログの保存は、図2(a)に示すアドイン110内のアドイン登録環境確認機能167、インストールログ機能168によって行われる。
【0069】
インストーラ102は、インストールログをログ保存パス139に保存不能な場合、あるいは、変更不可能に設定された証跡保存パス(本実施形態ではログ保存パス139がこれを兼ねている)にアクセス不能な場合はインストールを中止する手段(インストール中止機能170)を有する。
【0070】
上記の構成によれば、インストーラは、表計算ソフトウェア用アドインを「誰」が「何時」コンピュータにインストールしたかをインストールログとして残すことができる。かかるインストールログを定期的にチェックすることにより、権限のない者が不正にインストーラを入手してアドインをインストールすることを取り締まることが可能である。また、アドインのライセンス数が契約した数の範囲か否かについても確認できる。
【0071】
なお、本明細書の図3における各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
【0072】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【0073】
本発明は、表計算ソフトウェアに追加可能な表計算ソフトウェア用アドインと、同アドインをインストールするインストーラも含めた表計算ソフトウェア用アドインシステムに利用することができる。
【符号の説明】
【0074】
15 …元のスプレッドシート
100 …表計算ソフトウェア用アドインシステム
102 …インストーラ
110 …表計算ソフトウェア用アドイン
112 …無効化機能
114 …セキュアチェックコード
116 …セキュアエクセル
117 …セキュアチェックコード組込機能
118 …安全レベル設定機能
126 …安全レベル機能
128 …データ暗号化・復号機能
132 …プロジェクトロック機能
136 …作成ログ・証跡保存機能
139 …ログ保存パス
140 …保存管理機能
141、144、146 …コンピュータ
148 …強制終了機能
149 …ログ機能
170 …インストール中止機能

【特許請求の範囲】
【請求項1】
表計算ソフトウェアに追加可能で修正防止用のプロテクトが施された表計算ソフトウェア用アドインにおいて、
元のスプレッドシートからマクロおよび計算式を取り除き演算結果だけを保持する新たなスプレッドシートを作成する手段と、
前記新たなスプレッドシートに新たなマクロを加えて安全スプレッドシートとする手段と、
を備え、
前記新たなマクロは前記安全スプレッドシートの起動時に実行され、該起動が行われるコンピュータが所定の条件を満たさないときは該安全スプレッドシートの起動を中止する機能を有することを特徴とする表計算ソフトウェア用アドイン。
【請求項2】
前記所定の条件は、前記コンピュータに当該表計算ソフトウェア用アドインがインストールされていることであることを特徴とする請求項1に記載の表計算ソフトウェア用アドイン。
【請求項3】
前記新たなマクロは、前記安全スプレッドシートを起動した事実をアクセスログとして所定のアクセスログ保存パスに記録する機能をさらに有し、
前記所定の条件は、前記アクセスログ保存パスに到達可能なネットワークに前記コンピュータが接続されていることであることを特徴とする請求項2に記載の表計算ソフトウェア用アドイン。
【請求項4】
前記新たなマクロは、前記安全スプレッドシートの安全レベルを少なくとも高中低の3レベルに設定する機能をさらに有し、
前記安全レベルが高のときは、前記所定の条件は、前記コンピュータに当該表計算ソフトウェア用アドインがインストールされていることと、前記アクセスログ保存パスに到達可能なネットワークに前記コンピュータが接続されていることであり、
前記安全レベルが中のときは、前記所定の条件は、前記コンピュータに当該表計算ソフトウェア用アドインがインストールされていることのみであり、
前記安全レベルが低のときは、前記所定の条件は存在しないことを特徴とする請求項3に記載の表計算ソフトウェア用アドイン。
【請求項5】
前記新たなマクロは、前記安全スプレッドシートの上書き保存を禁止する機能をさらに有することを特徴とする請求項1から4のいずれか1項に記載の表計算ソフトウェア用アドイン。
【請求項6】
前記新たなマクロに修正防止用のロックを施す手段をさらに備えることを特徴とする請求項1から5のいずれか1項に記載の表計算ソフトウェア用アドイン。
【請求項7】
前記安全スプレッドシートが作成されたときに、該作成の事実を安全スプレッドシート作成ログとして所定の作成ログ保存パスに保存する手段と、
前記作成された安全スプレッドシートを証跡として所定の証跡保存パスに保存する手段と、
をさらに備えることを特徴とする請求項1から6のいずれか1項に記載の表計算ソフトウェア用アドイン。
【請求項8】
前記安全スプレッドシートに含まれている演算結果を暗号化・復号する手段をさらに備えることを特徴とする請求項1から7のいずれか1項に記載の表計算ソフトウェア用アドイン。
【請求項9】
表計算ソフトウェアに追加可能で修正防止用のプロテクトが施された表計算ソフトウェア用アドインと、
前記表計算ソフトウェア用アドインをコンピュータにインストールするインストーラとを備え、
前記インストーラは、前記表計算ソフトウェア用アドインの利用者識別情報を含み、該利用者がインストールを実行したことのインストールログを所定の変更不可能に設定されたインストールログ保存パスに保存不能な場合、あるいは、変更不可能に設定された証跡保存パスにアクセス不能な場合はインストールを中止する手段を有し、
前記表計算ソフトウェア用アドインは、
元のスプレッドシートからマクロおよび計算式を取り除き演算結果だけを保持する新たなスプレッドシートを作成する手段と、
前記新たなスプレッドシートに新たなマクロを加えて安全スプレッドシートとする手段と、
を有し、
前記新たなマクロは前記安全スプレッドシートの起動時に実行され、該起動が行われるコンピュータが所定の条件を満たさないときは該安全スプレッドシートの起動を中止する機能を有することを特徴とする表計算ソフトウェア用アドインシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−248665(P2011−248665A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−121677(P2010−121677)
【出願日】平成22年5月27日(2010.5.27)
【出願人】(502173475)沖コンサルティングソリューションズ株式会社 (12)
【Fターム(参考)】