5分で読めます
| マック
展望
AppleはiOSアプリとMac App Store(MAS)アプリのキュレーションで多忙を極めています。しかし、Appleが少なくともすべてのMacアプリにデジタル署名を導入するようになる可能性はあるのでしょうか?
Appleがなぜそうするのでしょうか?デジタル署名はアプリに本質的なセキュリティを追加するものではありませんが、アプリのソースコードを認証します。例えば、開発者がAppleにソースコードを提出すると、Appleはソフトウェアツールを用いてコードがAppleの基準を満たしていることを確認します。そして、バイナリは秘密鍵で署名されます。(詳しくは、Wikipediaのデジタル署名と公開鍵基盤(PKI)に関する記事をご覧ください。)
MASから購入したアプリを実行しようとすると、OSはAppleの署名を検証します。少なくとも、コードはAppleによって検査され、承認されていることは分かります。

開発者から直接購入したアプリは、一般的に署名されていません。OS X 10.5「Leopard」以降、開発者はアプリに署名できるようになりましたが、それはバイナリの出所を証明するに過ぎず、コードの品質を保証するものではありません。そのため、例えばトレドにソフトウェア会社が突如現れ、アプリに署名して見せかけの成果を上げても、そのアプリには巧妙な形で悪意のあるものが仕込まれている可能性があります。開発者がアプリにデジタル署名するのは良いことですが、それは開発者の評判が良い場合です。改ざんされていないことが分かります。しかし、開発者が比較的無名の場合、何の信頼も得られません。
この問題を解決するため、もし本当にそれが問題だと考えられるのであれば、Apple は将来、すべてのアプリに Apple による署名を義務付けるかもしれません。Apple が同レベルのキュレーションを提供するかどうかはわかりませんが、少なくともある程度の管理監督が行われてきたことは確かです。開発者は多くの個人情報を開示し、Apple とのビジネス関係を築く必要がありました。アプリは Apple に提出され、デジタル署名を受ける必要がありました。そして、アプリは開発者の Web サイトから直接入手できるようになります。そうしないと、Mac では動作しません。こうすることで、悪意のある属性を隠したアプリを顧客に直接販売するような、反逆的な開発者の可能性を排除できます。また、Apple が最初に何か悪いことを見逃した場合、キルスイッチを作動させて、アプリが世界中で実行されるのを防ぐこともできます。
実際の現実
Appleがすべてのアプリにデジタル署名を義務付けたくない理由はいくつかあります。まず、Appleが収益の30%を受け取らないアプリの作業負荷が大幅に増加する可能性があります。次に、社内で開発された企業向けアプリや個人向けアプリへの影響が懸念されます。そして最後に、これはあくまで推測ですが、顧客が大きな信頼を寄せているMASアプリを使い続けるインセンティブが一部失われる可能性も考えられます。
将来、すべての OS X アプリが Apple による署名を必要とするようになるかもしれないという考えについて、何人かの開発者にどう思うか尋ねてみました。
Apparent Softwareのジェイコブ・ゴーバン氏:「理由の一つは、すべてのアプリケーションをサンドボックス化する必要があることです。サンドボックス化には署名済みのアプリケーションが必要です。しかし、サンドボックスの現状では、Appleがどのようにしてすべてのアプリケーションをサンドボックス化する必要があるのかは分かりません。まず、開発者がアプリをサンドボックス環境に移行するには膨大な作業量が必要です。さらに重要なのは、多くのアプリケーションがこの環境では動作しないということです。AppleがデスクトップOSの機能をモバイルOSとほぼ同等にまで簡略化するとは考えにくいです。」
もう一つの理由はiCloudかもしれません。私の理解では、iCloudはMac App Storeのアプリケーションでのみ機能します。その理由の一つは、iCloudがApple IDとアプリケーションのIDに紐付けられていることです。そして、iCloudデータを保護するために、AppleはAppleが署名したアプリケーション、つまりMac App Storeで配信されたアプリケーションのみにアクセスを許可しているのだと思います。
最後に、たとえAppleがMac向けアプリケーションの強制署名をいつか導入したいと考えたとしても、10.8より前に導入するとは考えにくい。10.8は2012年にリリースされるとは思えない。開発者にとっても、Appleにとっても、1年でこれほどの変化はあまりにも大きすぎる。わずか1ヶ月前、AppleはMac App Storeのサンドボックス化の期限を5ヶ月延期し、3月と発表しました。Appleが再び期限を延期するかどうかはまだ明らかではありません。サンドボックス化には依然として多くの問題が残されているのです。
万が一、そうなってしまった場合、強制サンドボックス化と併用するのは理にかなっているかもしれません。しかし、Appleがアプリを審査せずに自社の証明書で署名することを許可してしまうのではないかと懸念しています。
Red Sweater SoftwareのDaniel Jalkut氏:「Appleにとって、これはあまり重点的な課題ではないだろうという点には同意します。ただし、まだ読んでいない方は、証明書のより広範な利用を推奨するWil Shipley氏の投稿をぜひ読んでみてください。」
[ウィル・シップリー氏の記事は考えさせられる内容です。彼の提案の中には、Appleが一部の開発者にApple証明書を使ったアプリの署名を許可するというものがあります。考えさせられる内容です。 – JM]
システム全体で証明書を必須にするのは、Appleが時折、少数の開発者に不利益をもたらす不可解な決定を下すことがあるように思えるので、依然として少し不安です。しかし、Appleの証明書を使用することで、例えばMAS以外の顧客をiCloudなどの適切なAppleエコシステムに取り込めるようになれば、間違いなく歓迎されるでしょう。
サザン・スターズのティム・デベネディクティス氏:「私の個人的な考えでは、OS Xの将来のバージョンでは、開発者のマシン以外のマシンで実行されるすべてのユーザー空間アプリに何らかのセキュリティ対策が求められるようになるでしょう。それが2012年以降に実現するかどうかが真の疑問です。」
Appleの真の動機は技術的なものではなく、経済的なものだと私は考えています。Mac OS Xのエコシステムは、今のところ不正
アプリやウイルス、トロイの木馬などに侵略されているわけではありません。例えばWindowsやLinuxと比べれば、問題はごくわずかです。しかし、Appleは依然として、自社が推奨するサンドボックス(つまりMAS)の外で誰もが遊ぶことを急速に困難にしています。真の理由は、Appleが自社プラットフォーム向けに開発されるすべてのソフトウェアを100%コントロールし、アプリ収益の30%を奪いたいと考えていることにあります。私たちが今Android向けに開発しているのには、理由があります。
評決
Appleは、MASアプリのサンドボックス化を義務付けることで、既に多くの開発者を怒らせています。また、多くのユーザーはLionの変更にそれほど熱心ではありません。そのため、AppleがすべてのMacアプリにAppleによるデジタル署名を義務付けるまでには、まだ時間がかかるかもしれません。あるいは、すべてのアプリにサンドボックス化が義務付けられるかもしれません。
一方で、テッド・ランドー氏は私たちとの会話の中で、この問題についてある視点を示してくれました。例えば、オルタネーターを交換するためにディーラーに車を持ち込む場合、純正部品と車の保証に十分な信頼を置くことができます。しかし、独立系修理工場に車を持ち込むと、再生品や模造品といった品質の低い部品が届く可能性があります。それはあなたの決断であり、あなたのリスクです。Appleは、こうした顧客の傾向をそのままにしておくかもしれません。
Appleが何か厳格な措置を取らなくても、アプリ市場は自然に落ち着くかもしれません。MAS(Mature Application Service)は大きな進歩を遂げるでしょう。Parallels DesktopやVMware Fusionのように、OSの奥深くまで浸透するアプリを開発する、信頼できる専門開発者は、アプリに署名は必要ですが、サンドボックス化は不要になります。それ以外の開発者は、Appleの顧客から懐疑的な目で見られながら、なんとかやりくりを続け、最終的には質の悪いアプリは注目されなくなり、枯渇してしまうかもしれません。
長い目で見れば、署名のない独自のアプリを作成したり、審査を受けていない開発者からアプリを購入したりしたい場合、おそらく Apple はそれを阻止しないでしょう。