Mozilla Flux

Mozilla関係の情報に特化したブログです。

拡張機能のデジタル署名の有効期限問題

最近、多数の拡張機能が一斉に更新されたことに気付いた方も多いのではないだろうか。Firefoxのアドオンマネージャから個別の拡張機能の項目を開くと、名称が例えば"Make Link 11.03.1-signed.1-signed"のようになったものが見つかるはずだ。

f:id:Rockridge:20160501220028p:plain

この.1-signedは、Mozilla Add-ons(AMO)に登録されている拡張機能に対し、Mozillaが自動的にデジタル署名を付与したことを示す。.1-signedが2つ並んでいるということは、自動的な署名付与が2回行われたことを意味するわけだ。そして、最近の一斉更新は、この2回目の署名付与が行われたことによる(Bug 1267361)。

なぜわざわざ2回目の署名付与が必要だったのかといえば、1回目の署名の有効期限が1年に設定されており、そのままでは期限切れになった拡張機能が使えなくなるからだ(Bug 1267318)。Firefox 43の初期設定で未署名の拡張機能は無効化されるようになっている*1。放置すれば数週間以内に混乱が生じることは必至だったので、Mozillaは有効期限を5年とする新たなデジタル署名を付与した。

また、ひとまずデジタル署名の有効期限を無視する修正がFirefox 46以降とFirefox ESR 45に加えられた(上記Bug 1267318)。近日中にリリースされるとみられる修正版であれば、Mozillaによる2回目の署名(以下「新署名」)が付与されていない拡張機能であっても、無効化されずに済む。

問題となるのは、拡張機能に対する署名チェックが入ったFirefox 43から(非ESR版)Firefox 45までを使用し、かつ、AMOに登録されていない拡張機能をインストールしている場合だ。新署名が付与されないまま元の署名の有効期限が切れてしまうので、対象となる拡張機能は無効化されることになる(以下の表を参照)。その場合、Firefox本体を最新版にアップデートすることが安全で確実な対処法ではあるが、about:configからxpinstall.signatures.requiredをfalseに変更する手もある。

Firefox 46以上/ESR 45 Firefox 43 - 45
拡張機能(新署名あり) 問題なし 問題なし
拡張機能(新署名なし) 問題なし 問題あり

なお、さすがに.1-signed.1-signedのように名前が間延びするのはMozillaとしても見映えが悪いと考えているようで、今後は.1-signedが.1-signed-2に置き換わるといった形にするようだ。

*1:未署名の拡張機能を有効化する設定は、削除時期がFirefox 47に延期された