(57)【要約】      （修正有）【課題】悪意の使用者が存在する環境であってもノウハウが流出せず、環境や使用者に応じて起動を制限して個人情報等を秘匿するスプレッドシートを作成する。【解決手段】表計算ソフトウェアに追加可能で修正防止用のプロテクトが施された表計算ソフトウェア用アドイン１１０は、元のスプレッドシートからマクロおよび計算式を取り除き演算結果だけを保持する新たなスプレッドシートを作成する関数・マクロの無効化機能と、新たなスプレッドシートにセキュアチェックコード１１４を加えてセキュアエクセル１１６とするセキュアチェックコード組込機能と、を備え、セキュアチェックコード１１４はセキュアエクセル１１６の起動時に実行され、起動が行われるコンピュータが所定の条件を満たさないときはセキュアエクセル１１６の起動を中止する機能を有する。【選択図】図１
2011248665.tif 000002
【特許請求の範囲】
【請求項１】
表計算ソフトウェアに追加可能で修正防止用のプロテクトが施された表計算ソフトウェア用アドインにおいて、
元のスプレッドシートからマクロおよび計算式を取り除き演算結果だけを保持する新たなスプレッドシートを作成する手段と、
前記新たなスプレッドシートに新たなマクロを加えて安全スプレッドシートとする手段と、
を備え、
前記新たなマクロは前記安全スプレッドシートの起動時に実行され、該起動が行われるコンピュータが所定の条件を満たさないときは該安全スプレッドシートの起動を中止する機能を有することを特徴とする表計算ソフトウェア用アドイン。
【請求項２】
前記所定の条件は、前記コンピュータに当該表計算ソフトウェア用アドインがインストールされていることであることを特徴とする請求項１に記載の表計算ソフトウェア用アドイン。
【請求項３】
前記新たなマクロは、前記安全スプレッドシートを起動した事実をアクセスログとして所定のアクセスログ保存パスに記録する機能をさらに有し、
前記所定の条件は、前記アクセスログ保存パスに到達可能なネットワークに前記コンピュータが接続されていることであることを特徴とする請求項２に記載の表計算ソフトウェア用アドイン。
【請求項４】
前記新たなマクロは、前記安全スプレッドシートの安全レベルを少なくとも高中低の３レベルに設定する機能をさらに有し、
前記安全レベルが高のときは、前記所定の条件は、前記コンピュータに当該表計算ソフトウェア用アドインがインストールされていることと、前記アクセスログ保存パスに到達可能なネットワークに前記コンピュータが接続されていることであり、
前記安全レベルが中のときは、前記所定の条件は、前記コンピュータに当該表計算ソフトウェア用アドインがインストールされていることのみであり、
前記安全レベルが低のときは、前記所定の条件は存在しないことを特徴とする請求項３に記載の表計算ソフトウェア用アドイン。
【請求項５】
前記新たなマクロは、前記安全スプレッドシートの上書き保存を禁止する機能をさらに有することを特徴とする請求項１から４のいずれか１項に記載の表計算ソフトウェア用アドイン。
【請求項６】
前記新たなマクロに修正防止用のロックを施す手段をさらに備えることを特徴とする請求項１から５のいずれか１項に記載の表計算ソフトウェア用アドイン。
【請求項７】
前記安全スプレッドシートが作成されたときに、該作成の事実を安全スプレッドシート作成ログとして所定の作成ログ保存パスに保存する手段と、
前記作成された安全スプレッドシートを証跡として所定の証跡保存パスに保存する手段と、
をさらに備えることを特徴とする請求項１から６のいずれか１項に記載の表計算ソフトウェア用アドイン。
【請求項８】
前記安全スプレッドシートに含まれている演算結果を暗号化・復号する手段をさらに備えることを特徴とする請求項１から７のいずれか１項に記載の表計算ソフトウェア用アドイン。
【請求項９】
表計算ソフトウェアに追加可能で修正防止用のプロテクトが施された表計算ソフトウェア用アドインと、
前記表計算ソフトウェア用アドインをコンピュータにインストールするインストーラとを備え、
前記インストーラは、前記表計算ソフトウェア用アドインの利用者識別情報を含み、該利用者がインストールを実行したことのインストールログを所定の変更不可能に設定されたインストールログ保存パスに保存不能な場合、あるいは、変更不可能に設定された証跡保存パスにアクセス不能な場合はインストールを中止する手段を有し、
前記表計算ソフトウェア用アドインは、
元のスプレッドシートからマクロおよび計算式を取り除き演算結果だけを保持する新たなスプレッドシートを作成する手段と、
前記新たなスプレッドシートに新たなマクロを加えて安全スプレッドシートとする手段と、
を有し、
前記新たなマクロは前記安全スプレッドシートの起動時に実行され、該起動が行われるコンピュータが所定の条件を満たさないときは該安全スプレッドシートの起動を中止する機能を有することを特徴とする表計算ソフトウェア用アドインシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表計算ソフトウェアに追加可能な表計算ソフトウェア用アドインと、同アドインをインストールするインストーラも含めた表計算ソフトウェア用アドインシステムとに関するものである。
【背景技術】
【０００２】
２００６年、金融商品取引法が成立し、新たな内部統制のルールとしてＪ−ＳＯＸ（日本版ＳＯＸ法）が２００８年から施行されることになったことに伴い、企業の内部統制の重要性が再認識されている。
【０００３】
一方、Ｅｘｃｅｌ（登録商標）に代表される表計算ソフトウェアで扱われるスプレッドシートは、簡便でＥＵＣ（End User Computing）可能な計算手段として普及してきた。Ｊ−ＳＯＸが義務付けている財務諸表の報告に影響するプロセスにおいても、スプレッドシートが多用されている（例えば特許文献１）。スプレッドシートを用いれば、必要なパラメータを入力して演算することにより、財務諸表を簡便に作成可能だからである。
【０００４】
しかしスプレッドシートは、ＥＵＣ環境で利用されてきたことから、個人のアイデアに基づいて作成されたものが多く、改良や改造も自由である一方、バグや改竄のおそれがあるため、版数管理やアクセス管理などが必要である。
【０００５】
そこで例えば特許文献２には、図７に示すように、管理対象であるスプレッドシート２０だけに、ユーザが参照できない隠しシート１８を付与するスプレッドシート内部統制システム１１が開示されている。特許文献２によれば、隠しシート１８の情報を読み取って動作するアドインを有する表計算ソフトウェア（図示省略）を用いて、スプレッドシート１８をオープンする。
【０００６】
特許文献２によれば、そのスプレッドシートが管理対象であるか否かは、隠しシート１８の有無で判断できる。管理対象であるスプレッドシート２０がローカルなコンピュータに保存されている場合であっても、同コンピュータに組み込まれたアドインは、そのスプレッドシート２０のオープン時に最新の版数か否かをチェックする機能をもつ。かかる機能により、特許文献２によれば、簡単に版数管理が実現できる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表２００３−６７５５０号公報
【特許文献２】特開２０１０−０３９６５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし図７に示す特許文献２に記載の技術は、アドイン（図示省略）の存在下でスプレッドシート２０が扱われる内部統制のとれている環境１０（例えば同一組織内）におけるスプレッドシートの版数管理を目的としたものである。スプレッドシート２０が矢印５０のように組織外へ流通した（出荷された）後には、内部統制が働かない（アドイン無しの）環境でスプレッドシート２０が扱われ、隠しシートは処理されないために、適切な版数管理ができなくなってしまう。
【０００９】
したがって出荷された後のスプレッドシート２０の管理は、出荷先の担当者に任されている。しかしながら、エクセルブックなどのスプレッドシートは電子メールに簡単に添付できるなど、必ずしも内部統制が有効に働いていない利用環境で利用される場合も想定される。したがって、仮に担当者の管理意識が低ければ、悪意の使用者６０のいる環境７０では、スプレッドシート２０は無防備になってしまう。例えば図７に示すように、以下の問題点がある。
【００１０】
（１）関数・マクロの逆解析が可能：スプレッドシート２０にはマクロや計算式（関数）が含まれているが、それらを悪意ある者６０が逆解析（リバース・エンジニアリング）すれば、シート２０を作成した企業の貴重な財産であるノウハウが知られてしまう。仮にスプレッドシートにパスワードを設定したとしても、それらは脆弱であり、市販の解除ツールを用いれば比較的簡単に解除されてしまう。ノウハウ保護の手段として、スプレッドシートを含むファイル全体や、スプレッドシート内のデータを部分的に暗号化する方法もある。しかしこれらの手段は別途操作を必要とする煩雑なものであり、かかる手段をとってもリバース・エンジニアリングの可能性を排除できるものではない。
【００１１】
（２）危険なデータが丸出し：マクロや計算式以外にも、スプレッドシート２０には、演算結果や、その演算結果が何を示しているかといった情報が含まれている。例えばスプレッドシート２０が金融機関から流通したものであれば、個人名や預金残高などの秘匿すべき個人情報が含まれていることがある。しかしこれらも有効に保護する手段が講じられていない場合には、悪意の使用者６０に漏洩してしまうおそれがある。
【００１２】
（３）使用制限が出来ない：出荷された後のスプレッドシート２０の使用制限、すなわち起動自体を許可制にすることが可能であれば、上記のノウハウや個人情報の流出を抑止できる。しかし表計算ソフトウェアが標準装備しているスプレッドシート保護用のパスワードは脆弱であり、比較的簡単に解除されてしまう。
【００１３】
（４）誰が利用したのか不明：作成された後のスプレッドシート２０は、誰が利用したか不明である。関数やマクロ、個人情報が含まれたスプレッドシート２０の利用は、利用記録に残すべきであるが、それができない環境下で自由に利用させるのは望ましくない。
【００１４】
（５）アドイン無しの環境下では改ざん可能：出荷された後のスプレッドシート２０は、出荷元の企業（環境１０）と異なり、アドイン無しの環境７０で扱われるため、改竄が自由に可能になってしまう。
【００１５】
上記（１）〜（５）の問題点に対して、ＩＲＭ（Information Rights Management）なる概念が提唱されている。ＩＲＭによれば、アクセス制限の適用されたコンテンツを受け取った正当なユーザによって、そのコンテンツが意図しない方法（転送、コピー/貼り付け、改変、印刷、ＦＡＸ送信など）で利用されるのを防ぐ。
【００１６】
ＩＲＭによれば、コンテンツの所在に関係なくアクセス制限を適用することができる。しかし、悪意の使用者６０のいる環境７０において、コンテンツの閲覧を可能／不可能にすることはできるものの、閲覧を可能にした場合にはリバース・エンジニアリングも可能になるおそれがある。したがって、ＩＲＭでは、閲覧可能であるがノウハウの流出は防ぎたいという要請には応えられない。
【００１７】
本発明は、このような課題に鑑み、悪意の使用者が存在する環境であってもノウハウが流出せず、環境や使用者に応じて起動を制限して個人情報等を秘匿するスプレッドシートを作成可能な表計算ソフトウェア用アドインおよび表計算ソフトウェア用アドインシステムを提供することを目的としている。
【課題を解決するための手段】
【００１８】
上記課題を解決するために、本発明は、表計算ソフトウェアに追加可能で修正防止用のプロテクトが施された表計算ソフトウェア用アドインにおいて、元のスプレッドシートからマクロおよび計算式を取り除き演算結果だけを保持する新たなスプレッドシートを作成する手段と、新たなスプレッドシートに新たなマクロを加えて安全スプレッドシートとする手段と、を備え、新たなマクロは安全スプレッドシートの起動時に実行され、起動が行われるコンピュータが所定の条件を満たさないときは安全スプレッドシートの起動を中止する機能を有することを特徴とする。更に、新たに追加されたマクロは、表示結果（演算結果）には何ら影響を与えないことを特徴とする。
【００１９】
上記の構成によれば、アドインは元のスプレッドシートからマクロや計算式を削除した安全スプレッドシートを作成する。つまり安全スプレッドシートは演算結果やそれを説明する記載など、シート表面の情報だけを含んでいる。このようにマクロや計算式を排除されているため、安全スプレッドシートは逆解析不能であり、元のスプレッドシートにマクロや計算式として含まれていたノウハウが流出しない。
【００２０】
また、安全スプレッドシートに加えられた新たなマクロは、コンピュータが所定の条件を満たさないときは安全スプレッドシートの起動自体を中止する。このように新たなマクロは環境や使用者に応じて自律的に起動を制限可能である。したがって演算結果やそれを説明する記載など、秘匿すべき情報が無制限に閲覧されることもない。
【００２１】
上記の所定の条件は、コンピュータに当該表計算ソフトウェア用アドインがインストールされていることとしてよい。かかる構成によれば、アドインがインストールされたコンピュータでは安全スプレッドシートを起動するが、アドインがインストールされていないコンピュータでは起動を中止する。これにより、アドインがインストールされたコンピュータであれば内部統制下にあるとみなした運用が可能である。
【００２２】
上記の新たなマクロは、安全スプレッドシートを起動した事実をアクセスログとして所定のアクセスログ保存パスに記録する機能をさらに有し、上記の所定の条件は、アクセスログ保存パスに到達可能なネットワークにコンピュータが接続されていることとしてよい。かかる構成によれば、ネットワークに接続されていないコンピュータなど、誰が何時その安全スプレッドシートにアクセスしたかというアクセスログが保存できない環境下では安全スプレッドシートを起動できないとする運用が可能である。
【００２３】
上記の新たなマクロは、安全スプレッドシートの安全レベルを少なくとも高中低の３レベルに設定する機能をさらに有し、安全レベルが高のときは、上記の所定の条件は、コンピュータに当該表計算ソフトウェア用アドインがインストールされていることと、アクセスログ保存パスに到達可能なネットワークにコンピュータが接続されていることであり、安全レベルが中のときは、上記の所定の条件は、コンピュータに当該表計算ソフトウェア用アドインがインストールされていることのみであり、安全レベルが低のときは、上記の所定の条件は存在しないこととしてよい。
【００２４】
上記の構成によれば、安全スプレッドシートの内容に応じて、安全レベルを設定可能である。安全レベルが「高」の安全スプレッドシートは最も機密性の高いシートであり、アドインがインストールされた内部統制下にある（組織内の利用者の）コンピュータであって、かつ、アクセスログが残せるコンピュータでなければ、起動しない。安全レベルが「中」の安全スプレッドシートは、アドインがインストールされた内部統制下にあるコンピュータであれば、アクセスログが残せなくても起動する。安全レベルが「低」の安全スプレッドシートは、アドインがなくアクセスログも残せないコンピュータであっても起動する。
【００２５】
上記の新たなマクロは、安全スプレッドシートの上書き保存を禁止する機能をさらに有するとよい。安全スプレッドシートはその安全レベルに応じて、所定の環境にあれば閲覧可能であるものの、上書き保存禁止であるため、安全レベルに拘わらず、改竄が一切できない。これにより、誤った演算結果が記載されたスプレッドシートが流通することを防止可能である。
【００２６】
上記のソフトウェア用アドインは、上記の新たなマクロに修正防止用のロックを施す手段をさらに備えるとよい。新たなマクロを悪意の使用者が改竄するのを防止するためである。
【００２７】
上記のソフトウェア用アドインは、安全スプレッドシートが作成されたときに、作成の事実を安全スプレッドシート作成ログとして所定の作成ログ保存パスに保存する手段と、作成された安全スプレッドシートを証跡として所定の証跡保存パスに保存する手段と、をさらに備えるとよい。かかる構成によれば、作成された安全スプレッドシートを証跡として保存し、監査対象とすることができる。
【００２８】
上記のソフトウェア用アドインは、安全スプレッドシートに含まれている演算結果を暗号化・復号する手段をさらに備えるとよい。演算結果を暗号化しておけば、アドインがインストールされている（復号手段を有する）コンピュータでなければ、安全スプレッドシートが起動しても演算結果を閲覧することはできない。このように暗号化・復号により、例えば安全レベルが「低」のスプレッドシートの安全レベルを事実上「中」にすることとなり、シートの安全性を高めることができる。
【００２９】
上記課題を解決するために、本発明にかかる表計算ソフトウェア用アドインシステムは、表計算ソフトウェアに追加可能で修正防止用のプロテクトが施された表計算ソフトウェア用アドインと、表計算ソフトウェア用アドインをコンピュータにインストールするインストーラとを備え、インストーラは、表計算ソフトウェア用アドインの利用者識別情報を含み、利用者がインストールを実行したことのインストールログを所定の変更不可能に設定されたインストールログ保存パスに保存不能な場合、あるいは、変更不可能に設定された証跡保存パスにアクセス不能な場合はインストールを中止する手段を有し、表計算ソフトウェア用アドインは、元のスプレッドシートからマクロおよび計算式を取り除き演算結果だけを保持する新たなスプレッドシートを作成する手段と、新たなスプレッドシートに新たなマクロを加えて安全スプレッドシートとする手段と、を有し、新たなマクロは安全スプレッドシートの起動時に実行され、起動が行われるコンピュータが所定の条件を満たさないときは安全スプレッドシートの起動を中止する機能を有することを特徴とする。
【００３０】
上記の構成によれば、インストーラは、表計算ソフトウェア用アドインを「誰」が「何時」コンピュータにインストールしたかをインストールログとして残すことができる。かかるインストールログを定期的にチェックすることにより、権限のない者が不正にインストーラを入手してアドインをインストールすることを取り締まることが可能である。また、アドインのライセンス数が契約した数の範囲か否かについても確認できる。
【発明の効果】
【００３１】
本発明によれば、悪意の使用者が存在する環境であってもノウハウが流出せず、環境や使用者に応じて起動を制限して個人情報等を秘匿するスプレッドシートを作成可能な表計算ソフトウェア用アドインおよび表計算ソフトウェア用アドインシステムを提供可能である。
【図面の簡単な説明】
【００３２】
【図１】本発明による表計算ソフトウェア用アドインシステムの実施形態を示す図である。
【図２】図１のアドインが有する機能と、図１のアドインがセキュアエクセルに組み込むセキュアチェックコードの内容とを示す図である。
【図３】図２のアドインがセキュアエクセルを作成するプロセスと、セキュアエクセルが起動するときのセキュアチェックコードの動作とを示すフローチャートである。
【図４】図３において設定されるセキュアエクセルの安全レベルの種類を示す図である。
【図５】図１のインストールログ、作成ログおよびアクセスログの保存を示す図である。
【図６】図１のインストーラの機能を示す図である。
【図７】従来技術の例を示す図である。
【発明を実施するための形態】
【００３３】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値などは、発明の理解を容易とするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【００３４】
図１は、本発明による表計算ソフトウェア用アドインシステム１００（以下「システム１００」と略称する場合あり）の実施形態を示す図である。システム１００は、表計算ソフトウェア（図示省略）に追加可能で修正防止用のプロテクトが施された表計算ソフトウェア用アドイン１１０（以下「アドイン１００」と略称する場合あり）と、アドイン１１０をコンピュータにインストールするインストーラ１０２とを備える。
【００３５】
（セキュアエクセルを作成するアドイン）
図２は図１のアドイン１１０が有する機能（図２（ａ））と、図１のアドインがセキュアエクセルに組み込むセキュアチェックコードの内容（図２（ｂ））とを示す図である。表計算ソフトウェア用アドイン１１０は、図２（ａ）に示すように、元のスプレッドシート１５（図７）からマクロおよび計算式を取り除き、演算結果だけを保持する新たなスプレッドシートを作成する手段（関数・マクロの無効化機能１１２）を有する。アドイン１１０はまた、セキュアチェックコード組込機能１１７を有する。同機能１１７は、新たなスプレッドシートに新たなマクロ（以下「セキュアチェックコード１１４」と呼ぶ）を加えて安全スプレッドシート（以下「セキュアエクセル１１６」と呼ぶ。「エクセル」は米国マイクロソフト社の登録商標）とする。
【００３６】
図３は、図２のアドイン１１０がセキュアエクセル１１６を作成するプロセスと、セキュアエクセル１１６が起動するときのセキュアチェックコード１１４の動作とを示すフローチャートである。以下、図２および図３を参照してこのフローチャートを説明する。図３に示すように、セキュアエクセル１１６を作成するとき、アドイン１１０はまず、関数・マクロの無効化機能１１２によってステップ１２０を行い、元のスプレッドシート（Original.xls）１５から関数・マクロを無効化（削除）する。その結果、セキュアエクセル１１６は演算結果やそれを説明する記載など、シート表面の情報しか含まないこととなる。
【００３７】
したがって、アドイン１１０のインストールされたコンピュータ（例えば図１のコンピュータ１４６）を使用しても、セキュアエクセル１１６は演算結果こそ閲覧可能であるが、マクロや計算式が排除されているため、それらを逆解析することは不可能である。これにより、元のスプレッドシート１５にマクロや計算式として含まれていたノウハウが流出しない。
【００３８】
アドイン１１０は次に、セキュアチェックコード組込機能１１７によってステップ１２２を行い、セキュアチェックコード１１４を組み込んだセキュアエクセル１１６を作成する。図２（ｂ）のセキュアチェックコード１１４は、元のスプレッドシート１５から削除したマクロ等と交換する形でセキュアエクセル１１６に組み込まれるため、双方のプログラムコードが矛盾することはない。
【００３９】
（セキュアエクセルの安全レベル設定）
図２（ａ）に示すように、アドイン１１０は、セキュアエクセル１１６に安全レベルを設定する安全レベル設定機能１１８を有し、これによって図３のステップ１２４を行い、セキュアエクセル１１６に安全レベルを設定する。安全レベルはユーザが設定してよい。
【００４０】
図４は図３において設定されるセキュアエクセルの安全レベルの種類を示す図である。本実施形態では図４に示すように、安全レベルは高中低の３レベルとするが、このレベル数は自由に増減させてよい。アドイン１１０によって設定された安全レベルは、図２（ｂ）に示すように、セキュアチェックコード１１４内の安全レベル機能１２６として、セキュアエクセル１１６に組み込まれる。安全レベルは、いかなる条件下でセキュアエクセル１１６が起動するかを定めたものである。
【００４１】
本実施形態では、セキュアエクセル１１６の安全レベルが「高」に設定されたときは、図４に示すように、セキュアエクセル１１６が起動するために、条件１：コンピュータにアドイン１１０がインストールされていること、条件２：アクセスログ保存パスに到達可能なネットワークにコンピュータが接続されていること、の２つが必要である。つまりアドイン＋ログ保存（ネットワーク接続）という２つの条件が成立しないとセキュアエクセル１１６は起動せず、演算結果すらも閲覧不可能である。これが本実施形態におけるセキュリティの最高レベルである。
【００４２】
条件１を判定することにより、アドイン１１０がインストールされたコンピュータ（例えばコンピュータ１４６）（を使用する者）は内部統制下にあると見なした運用が可能である。コンピュータ１４６を用いればセキュアエクセル１１６を問題なく起動可能であり、ユーザはセキュアエクセル１１６の演算結果を閲覧可能である。
【００４３】
セキュアエクセル１１６の安全レベルが「中」に設定されたときは、図４に示すように、セキュアエクセル１１６が起動するための条件は、条件１：コンピュータにアドイン１１０がインストールされていることのみである。たとえコンピュータがネットワークにつながっていず、アクセスログがとれなくとも、アドイン１１０がインストールされていれば、セキュアエクセル１１６は起動する。本安全レベルは、アドインのインストールされたコンピュータを社外で利用する場合を想定している。
【００４４】
セキュアエクセル１１６の安全レベルが「低」のときは、図４に示すように、セキュアエクセル１１６が起動するために何らの条件も要しない。すなわち、アドインがインストールされていず（以下これを「アドインレス」とも呼ぶ）、ネットワークにも接続されていないコンピュータであっても、セキュアエクセル１１６が起動する。
【００４５】
（アドイン：データ暗号化・復号機能）
図２（ａ）に示すように、アドイン１１０は、セキュアエクセル１１６に含まれている演算結果を暗号化・復号する手段（データ暗号化・復号機能１２８）をさらに備える。この機能１２８によってアドイン１１０は図３のステップ１３０を行い、セキュアエクセル１１６の演算結果を暗号化できる。暗号化・復号は必ずしも必要な措置ではない。しかし演算結果を暗号化しておけば、アドイン１１０がインストールされている（復号手段を有する）コンピュータでなければ、セキュアエクセル１１６が起動しても演算結果を閲覧することはできない。つまり暗号化・復号により、例えばセキュアエクセル１１６の安全レベルが「低」に設定されていても、事実上それを「中」にすることとなり、シートの安全性を高めることができる。
【００４６】
（アドイン：プロジェクトロック機能）
図２（ａ）に示すように、アドイン１１０は、セキュアチェックコード１１４に修正防止用のロックを施す手段（プロジェクトロック機能１３２）をさらに備える。セキュアチェックコード１１４を悪意の使用者が改竄するのを防止するためである。この機能１３２によって、アドイン１１０は図３のステップ１３４を行い、セキュアチェックコード１１４に修正防止用のロックを施す。
【００４７】
（アドイン：作成ログ・証跡保存機能）
図２（ａ）に示すように、アドイン１１０は、セキュアエクセル１１６が作成されたときに、作成の事実（誰が何時作ったか）をセキュアエクセル１１６作成ログとして所定の作成ログ保存パスに保存する手段と、作成されたセキュアエクセル１１６を証跡として所定の証跡保存パスに保存する手段（作成ログ・証跡保存機能１３６）をさらに備える。この機能１３６によって、アドイン１１０は図３のステップ１３８を行い、作成されたセキュアエクセル１１６を証跡として保存し、監査対象とすることができる。
【００４８】
図５は図１のインストールログ、作成ログおよびアクセスログの保存を示す図である。アドイン１１０がインストールされたコンピュータ１４１にてセキュアエクセル１１６が作成されると、作成ログは、ログ保存パス１３９に保存される。これは特定のサーバに設けられた修正ができないパスであり、定期的にバックアップがとられるパスとするとよい。このパス情報は、アドイン１１０がインストールされるときにインストーラ１０２から自動的に継承される（図１）。あるいは、アドイン１１０のインストール時にパス情報を設定することとしてもよい。
【００４９】
なお本実施形態では、図５に示すように、ログ保存パス１３９は、セキュアエクセル１１６の作成ログだけでなく、後述のアクセスログやインストールログも保存する共通のパスとしている。ただしそれぞれ別々のパスとしてもよい。
【００５０】
（セキュアチェックコード：保存管理機能）
図２（ｂ）に示すように、セキュアチェックコード１１４は、セキュアエクセル１１６の上書き保存を禁止する機能（保存管理機能１４０）をさらに有する。セキュアエクセル１１６はその安全レベル（高中低）に応じて、上記の条件１や条件２などが成立している環境にあれば閲覧可能であるものの、安全レベルに拘わらず上書き保存禁止であるため、改竄は一切できない。これにより、誤った演算結果が記載されたスプレッドシートが流通することを防止可能である。さらに言えば、「ノウハウが流出しない状態で参照のみ可能（編集不可能）」なスプレッドシートを提供できるという効果が得られる。
【００５１】
（セキュアチェックコード：強制終了機能）
セキュアチェックコード１１４は、図２（ｂ）に示すように、所定の条件が満たされないときにセキュアエクセル１１６の起動を中止する機能（強制終了機能１４８）を有する。
【００５２】
（セキュアチェックコード：アクセスログ機能）
セキュアチェックコード１１４は、図２（ｂ）に示すように、セキュアエクセル１１６を起動した事実をアクセスログとして所定のログ保存パス１３９に記録する機能（ログ機能１４９）をさらに有する。強制終了機能１４８は、ログ保存パス１３９に到達可能なネットワークにコンピュータが接続されていることを上記の「所定の条件」とし、接続されていない場合にセキュアエクセル１１６の起動を中止可能である。
【００５３】
かかる構成によれば、ネットワークに接続されていないコンピュータなど、誰が何時そのセキュアエクセル１１６にアクセスしたかというアクセスログが保存できない環境下ではセキュアエクセル１１６を起動できないとする運用が可能である。これは例えばセキュアエクセル１１６の安全レベルを「高」にすればよい。
【００５４】
（セキュアチェックコード：アドインとの協調機能）
セキュアチェックコード１１４は、図２（ｂ）に示すように、アドイン１１０との協調機能１５１を有する。これにより、偽装アドインを排除すると同時に、セキュアエクセル１１６が起動されるコンピュータにアドイン１１０がインストールされている場合には、アドイン１１０の機能を利用できる。例えばデータ暗号化・復号機能１２８を利用して、セキュアエクセル１１６の演算結果を復号できる。
【００５５】
（セキュアチェックコードの動作：条件１不成立ならセキュアエクセル起動中止）
セキュアチェックコード１１４はセキュアエクセル１１６の起動時（図３のステップ１４２）に実行される。セキュアチェックコード１１４は、アドイン１１０の有無に拘わらず自律的に環境をチェックする（図３、ステップ１５０）。すなわち、ステップ１５０にてセキュアチェックコード１１４は、セキュアエクセル１１６の起動が行われるコンピュータ１４４、１４６について、条件１：コンピュータにアドイン１１０がインストールされていること、を満たしているか否かをチェックする。
【００５６】
図１のコンピュータ１４４のように、アドインレスで条件１を満たさないときは、セキュアエクセル１１６の安全レベル（図４）が「高」または「中」に設定されていれば、図２（ｂ）のセキュアチェックコード１１４の強制終了機能１４８が働く。その結果、図３のステップ１５２に進み、セキュアエクセル１１６の起動が中止される。一方、図１のコンピュータ１４６のように、アドイン１１０がインストールされていて条件１を満たすときは、図３のステップ１５４に進む。ただし安全レベルが「低」に設定されていれば、アドインの有無に拘らず、コンピュータ１４４、１４６のいずれであっても、ステップ１５４に進む。
【００５７】
ステップ１５４にてセキュアチェックコード１１４は、セキュアエクセル１１６の起動が行われるコンピュータ１４６について、条件２：ログ保存パス１３９に到達可能なネットワークにコンピュータが接続されていること、を満たしているか否かをチェックする。
【００５８】
（セキュアチェックコードの動作：条件２不成立ならセキュアエクセル起動中止）
図１のコンピュータ１４６のように、保存パス１３９に到達可能なネットワークにコンピュータが接続されていて条件２を満たすときは、安全レベルが「高」（図４）に設定されていれば、ステップ１５６に進む。すなわちセキュアチェックコード１１４のログ機能１４９が働き、セキュアエクセル１１６を起動した事実をアクセスログとして所定の保存パス１３９に記録する。
【００５９】
しかし、仮にコンピュータ１４６が条件２を満たしていない場合、安全レベルが「高」に設定されていれば、ステップ１５２に進み、セキュアエクセル１１６の起動が中止される。
【００６０】
一方、安全レベルが「中」または「低」に設定されていれば、条件２を満たすか否かに拘らず、ステップ１５６をとばして（ログをとらない）、ステップ１５８に直接進む。
【００６１】
このように本実施形態の特徴は、セキュアエクセル１１６に組み込まれたセキュアチェックコード１１４が、条件１および条件２が充足されているか否か、自律的に環境をチェックすることである。
【００６２】
本実施形態によれば、環境や使用者に応じてセキュアエクセル１１６の起動が制限されるため、セキュアエクセル１１６に依然として残っている演算結果やそれを説明する記載など、秘匿すべき情報が無制限に閲覧されることがない。
【００６３】
このセキュアチェックコード１１４によるセキュアエクセル１１６の起動制限方式によれば、従来技術で用いられていたようなパスワードによるスプレッドシート保護より、格段にセキュリティが向上する。なお本実施形態は、パスワードによるスプレッドシート保護を除外するものではない。セキュアエクセル１１６の作成時にはパスワードを併用してよい。パスワードによる保護は、時間をかければ解除ツールで解除される可能性が高いが、セキュアチェックコード１１４と併用することで二重にスプレッドシートが保護される。
【００６４】
（セキュアチェックコードの動作：暗号化された演算結果の復号）
ステップ１５８では、セキュアチェックコード１１４は、セキュアエクセル１１６の演算結果が暗号化されているか否かを判定する。暗号化されていて、コンピュータ１４６のようにアドイン１１０がインストールされている環境であれば、ユーザは、アドイン１１０のデータ暗号化・復号機能１２８を利用し、復号操作１６０を行うことにより、セキュアエクセル１１６の演算結果を復号できる（ステップ１６２）。
【００６５】
かかる構成によれば、安全レベルが「低」に設定されているセキュアエクセル１１６の演算結果が暗号化されている場合、セキュアエクセル１１６は起動できるが、アドイン１１０がない限り演算結果を事実上閲覧できない。この場合セキュアエクセル１１６の安全レベルが実質的に「中」になることになり、シートの安全性を高めることができる。
【００６６】
一方、ステップ１５８において、暗号化が行われていないと判定されれば、ステップ１６２は行う必要がなく、とばされることとなる。
【００６７】
（セキュアチェックコードの動作：セキュアエクセルの上書き不能）
また、セキュアエクセル１１６は、セキュアチェックコード１１４の保存管理機能１４０により、上書き保存禁止であるため、保存操作１６４が行われても、それは禁止マーク１６６で示すように、上書き保存が禁止される。したがってセキュアエクセル１１６は安全レベルに拘わらず、改竄が一切できない。
【００６８】
（インストーラ）
図６は図１のインストーラの機能を示す図である。図６に示すように、インストーラ１０２は当初、未設定のインストーラ１０２ｂとして作成される。そして、ユーザライセンス、ユーザライセンス数、ログ保存用パス情報（ＩＰアドレス等）などを設定して、配布準備が完了したインストーラ１０２となる。インストーラ１０２は、アドイン１１０の利用者識別情報を含み、図５に示すように、利用者がアドイン１１０のインストールを実行したことのインストールログを所定の変更不可能に設定されたログ保存パス１３９に保存する。このインストールログの保存は、図２（ａ）に示すアドイン１１０内のアドイン登録環境確認機能１６７、インストールログ機能１６８によって行われる。
【００６９】
インストーラ１０２は、インストールログをログ保存パス１３９に保存不能な場合、あるいは、変更不可能に設定された証跡保存パス（本実施形態ではログ保存パス１３９がこれを兼ねている）にアクセス不能な場合はインストールを中止する手段（インストール中止機能１７０）を有する。
【００７０】
上記の構成によれば、インストーラは、表計算ソフトウェア用アドインを「誰」が「何時」コンピュータにインストールしたかをインストールログとして残すことができる。かかるインストールログを定期的にチェックすることにより、権限のない者が不正にインストーラを入手してアドインをインストールすることを取り締まることが可能である。また、アドインのライセンス数が契約した数の範囲か否かについても確認できる。
【００７１】
なお、本明細書の図３における各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
【００７２】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【００７３】
本発明は、表計算ソフトウェアに追加可能な表計算ソフトウェア用アドインと、同アドインをインストールするインストーラも含めた表計算ソフトウェア用アドインシステムに利用することができる。
【符号の説明】
【００７４】
１５   …元のスプレッドシート
１００  …表計算ソフトウェア用アドインシステム
１０２  …インストーラ
１１０  …表計算ソフトウェア用アドイン
１１２  …無効化機能
１１４  …セキュアチェックコード
１１６  …セキュアエクセル
１１７  …セキュアチェックコード組込機能
１１８  …安全レベル設定機能
１２６  …安全レベル機能
１２８  …データ暗号化・復号機能
１３２  …プロジェクトロック機能
１３６  …作成ログ・証跡保存機能
１３９  …ログ保存パス
１４０  …保存管理機能
１４１、１４４、１４６  …コンピュータ
１４８  …強制終了機能
１４９  …ログ機能
１７０  …インストール中止機能
【図１】
2011248665.tif 000003
【図２】
2011248665.tif 000004
【図３】
2011248665.tif 000005
【図４】
2011248665.tif 000006
【図５】
2011248665.tif 000007
【図６】
2011248665.tif 000008
【図７】
2011248665.tif 000009