道具としてのExcel活用

脱「脱エクセル」のすすめ(3) ~セキュリティが低い!?~

「エクセルは、セキュリティが低い」 は、本当か?

5.セキュリティが低い

別稿でも触れましたが、「情報セキュリティ」には3つの要素がある、という定義があります。すなわち、

  • ①可用性(使いたい時にいつでも利用できること)
  • ②完全性(処理結果が正しいこと)
  • ③機密性(内容に応じて、アクセス権限が設定されていること)

の3つが維持されていることが、「本来の情報セキュリティ」が確保される条件です。

しかしながら、「脱エクセル派」では、③機密性のみを極端に重視しているようです。

情報セキュリティにおける3要素「可用性」「完全性」「機密性」

③Excelに機密性はあるか

どんな環境であれ、一定の設定をしなければ、機密性の確保はできないのが建前です。

これを、強制的に機密性が確保されるようにすると、ついうっかり機密性が確保されなかった、という事態を回避できる、という考えもあります。

例えば、全てのファイルを2段階認証にして、IDとパスワードの他、開く都度SMSで認証コードが送られてくるようにすれば、いかにも尤もらしい機密性のできあがりです。

しかし、現実問題として、SMSが受信できる機器を第三者が保持していれば、全く意味がありません。

Excelのパスワード入力画面、ブック保護パスワードやシート保護パスワードなど複数種類の保護が存在します。

ところで、Excelのファイルには、「開くときのパスワード」「Sheetの保護パスワード」「Bookの保護パスワード」「プロジェクトの保護パスワード」が別個に設定できます。

例えば、開くときのパスワードに難解な長い文字列を設定すると、「開く→失敗のメッセージ表示→閉じる」を繰り返すだけで秒のオーダーがかかることから、機械的な解読は極めて難しくなります(数年待てば開くかもしれませんが)。

更に、肝心なSheetを非表示にして、解除するためのプロジェクトとともにパスワード保護をすると、それぞれを解除するための方法が異なることから、更に時間がかかります(10年以上待てば開くかもしれません)。

無理に流行の「2段階認証」を使わなくても、パスワードを多段階にするだけで、かなり強力な保護策が作れるのです。

そもそも、下書きレベルのものも含めて全てのファイルに機密性が求められるわけではありませんし、機密性と心中するくらいの心構えがあるなら、コンピュータを使わなければ済む話です。

①Excelの可用性はどうか

可能性とは、使いたいと思ったときに使える状態にあることをいい、対立的な状態としては「サーバが落ちて何もできない」「OSの自動更新が始まったので、しばらくコンピュータが使えない」ようなケースを、可用性が維持されていない状態と言います。

最近は、可用性や完全性(後述)よりも機密性が重要だとする立場の人が増えてきましたが、その場合可用性を0にする、すなわちコンピュータを使わなければ情報漏洩が無くなるので、機密性も確保されることになるわけですが、人はこれを本末転倒といいます。

クラウドサービスのようなプラットフォームを使うと、どんな場合でも認証を通らなければなりませんし、ネットワーク機器の故障、ベンダーのサーバが障害で止まった場合、電波障害で無線がつながらない・・・といったケースでは、利用できなくなるため、可用性に影響する要素がたくさんあります。

これに対して、Excelのファイルが利用できないのは、ファイルが壊れて開けなくなった状態に限られ、パソコンが壊れていても他のコンピュータで開けますし、ネットワークが壊れていたらサーバからファイルをコピーして使う、といった運用が可能です。

Excel固有で可用性が低下する要因はほとんどなさそうに思いましたが、さて・・・?

②Excelだから、完全性が保てない?

コンピュータで処理した結果(計算結果)が正しい(意図した通りである)ことを、完全性といいます。

金利の計算が間違っていたり、頼んでもいない商品が届いたら、完全性が損なわれていることになります。

Webページが乗っ取られて書き換えられたり、ウィルスの類いが勝手に個人情報入りのメールを送り始めるのも、意図しない結果であることから、完全性の問題です。

「脱エクセル」派にいわせれば、エクセルは式を上書きして壊すことがあるし、そもそも式や関数の設定を間違うこともあるから、完全性も低い、のだそうです。

しかし、上書きされては困る箇所には「シートの保護」を施して入力できないようにすれば済む話で、式が間違っているかどうかはテスト検証をすれば間違いを検出できます。

いずれも、Excel固有の話では無く、どのような環境でも保護をしなければ間違って書き潰してしまいますし、テスト検証をしなければ間違っていても検出できません。

単なる使い方の話であって、Excelだから起こる事象ではありません。

[>4 エクセルは大量データが扱えない?]