何度か書いた記憶があるんですが。。。
有効な電子署名が無い software は defulat 実行禁止にしたほうが良いのではないでしょうか?
現状、ほとんどの malware は電子署名なぞ当然していません。というのは、Malware を実行させるのにそんなもの必要ないというのがその理由になりますね。
では、なぜ電子署名が必要なのでしょう?
電子署名を行うことによって完璧とは言えませんが、ある程度の traceability (追跡性) を確保することができます。もっとも、traceability の確保は証明書の発行をどれだけ厳しく行うかに依存していますが、有効な電子署名を行わないのが当たり前な状態より遥かにマシな状態を作り出すことができるでしょう。
ただ、一つ大きな問題があります。現状では software に署名するために必要な code signing 証明書が有償であることです。Software を有償で販売しているなら当然 code signing 証明書を購入すべきですが、無償で公開している software はその費用どこから捻出するか問題ですね。
これに関しては解決策があります。Code signing 証明書を無償で取得できるようにしてしまえばいいのです。ただし、これをやってしまうと code signing 証明書の信頼性が低下してしまいますね。これは大問題です。でも、この問題の解決策も存在します。証明書に階級を設ければいいんです。
ただ、現状では code signing 証明書に階級はありません。しかし、EV SSL のような実例もあるわけでして、既存の X.509 と互換性がある形式でも証明書の階級を作りだすことは技術的に可能です。現状では正直実施していないだけだと思っています。
証明書を無償発行することによって生じる費用が問題になると思う人もいると思います。ですが、これはより階級が高い証明書を有償販売することにより、吸収可能ではないでしょうか? 個人的には、このような business model は十分に成り立つと思っています。
すべての software に電子署名を義務付ければ、少なくとも現状よりは相当マシな状態が作り出せると思います。公的な証明書を発行している機関はこのような方式を取り入れてはいだだけないでしょうか?