コードサイニング証明書は、アプリケーションの信頼性を証明するだけでなく、実はユーザービリティを上げる効果があった。ソフトウェアの世界で信頼性を担保するということは、実はこういうことだったのか! と目から鱗のシステム・フォースのVBAでの使用事例をお届けしよう。
相模原で20年以上
顧客のためのソフトウェアを作り続ける
神奈川県相模原市で、20年以上地域密着型のソフトウェアビジネスを続けるシステム・フォースを訪ねた。同社の設立は1987年に遡り、ソフトウェアの受託開発やパッケージの開発・販売などを事業の主軸とする。
会社案内の実績欄を見れば、最近のものに限ればWebアプリケーションの案件なども記載されている。しかし、これに留まらずS3100やK-650といったオフコン上で動くCOBOLアプリケーションのほか、PC-9801のDOSアプリケーションなど、同社の歴史を感じさせる記述で彩られている。
現在のおもな業務は、Windows上のアプリケーション開発。顧客からていねいに要望を聞き、基幹業務システムから簡易なツールに至るまで、使いやすさを追求したシステム構築を行なっている。システム構築にはOracle、SQLServer等のRDB、.NETやAccess、WebなどのUIから、案件に応じた最適なものを用いる。あくまでも顧客のニーズ中心主義で、使える技術は使うが“IT業界”の流行には踊らされず、きっちりとよいものを作っていく印象の会社だ。
今回紹介する案件は、カスタムアプリケーションのため詳細は紹介できないが、40台近くのPCにインストールされるもので、顧客の要求事項や稼働環境などを検討した結果としてAccessを選択することとなった。
ここで使われたのが、GMOグローバルサインのコードサイニング証明書だ。証明書が果たしている役割は、従来どおりの安全性の担保のほか、“顧客にAccess 2007の設定など、手間のかかる作業をさせないこと”にもあった。
Webアプリケーションが
いつも正しいとは限らない
インストールに障壁があるならば、Webアプリケーションを作ればよいではないか? “IT業界”ならば、そう考えるだろう。しかしRIAなどの手法を用いたとしても、今回の顧客の要望、キーボードから手を離さない操作性、画面応答速度などを充足できないとシステム・フォースは判断した。
確かにWebアプリケーションであっても、Tabキーで入力ボックスなどを順次選択できるが、究極的にいえばローカルアプリケーションのキーボード操作にはかなうまい。それに、今回の案件では極力通信を発生させず、ローカル側での処理完結が望ましいという事情もあった。
「Accessというと、もともとマイクロソフトが簡易的な言語として作りはじめたという経緯もあり、PCユーザーのあいだでも簡単な範疇でしか動かないという認識が広まっています。しかし、しっかりとした設計とプログラムでサポートすれば、決してそのような評価を受けるツールではありません」(笠井氏)。
近年のMicrosoft Office製品はセキュリティが強化されていて、出自のわからないVBAを動かそうとすると警告を発するようになっている。セキュリティ上は好ましいものの、これを解除するためにはローカルPCのAccess 2007の設定を変えなければならない(Accessランタイムの場合は設定すらできない)。
しかし、こうした行為はマイクロソフトは推奨しておらず、セキュリティの観点から大きなリスクとなる。それに顧客企業にしてみれば、そんな手間はかけたくない。また、システム・フォースもかけさせたくない。そこで必要になるのがコードサイニング証明書による署名だ。署名をすることにより、改ざんの有無を検知することができ、ユーザーは安心してアプリケーションを使える。
今回は、VBAにGMOグローバルサインのコードサイニング証明書で署名するという選択肢が採られた。Access2007は、コードサイニング証明書による電子署名がついていれば、そのアプリケーションを警告なしで受け入れるようになっているからだ。顧客側はなんの設定もせずに、システム・フォース製のアプリケーションを使える。
「この案件では30~40台規模のインストールが必要でした。また、われわれの作ったアプリケーションを使うため、これらを1台1台設定して回ることは難しい状況でした。そこで電子署名を使うことにしたのです」。同社システム開発部部長の笠井靖行氏はいう。
「VBA対応」のひと言が対応の決め手になった
GMOグローバルサインのコードサイニング証明書を採用した理由を聞いてみた。すると、「やはり“VBA用”という言葉があったからですね」(笠井氏)とのこと。つまり、はっきりとVBA対応を謳っているところに安心感があったのだという。
また、導入までの日数も短時間で済んだ。当初は登記簿なども取り寄せたが、実際は帝国データバンクの登録情報だけで審査は完了したし、メールとWeb上での手続きをしただけで、1週間もかからなかった。「時間がなかったので、インターネットで検索してVBAに対応しているということで即決しました。価格も想像より安かったですね」(笠井氏)。
さらに、アプリケーションへの証明書の署名も、開発者がAccessのメニューから選択するだけという簡便さだ。「おもしろかったのは、コードサイニング証明書で署名したあとに、アプリケーションを改良したときですね。コードを変更すると署名が消えてしまい、再度付与しなければならなかったんです。あたりまえといえばあたりまえですが、コードサイニング証明書が実感できるふるまいでした」(笠井氏)。
コードサイニング証明書というと、とかくユーザーが安心するための仕組みのように思われがちだ。しかし今回は、さらなる付加価値として、“安全であることすら感じさせない使い方”を、システム・フォースが実践しているように見えた。
この連載の記事
-
第3回
TECH
凄腕プログラマーがAdobe AIR 2.0対応電子証明書を導入 -
第1回
TECH
フィジオスが勝負の「PHYZIOS Studio」で採用した理由 - この連載の一覧へ