Opera mini for iPhoneではオレオレ証明書が警告されない

通常、オレオレ証明書が使われているサイトにアクセスするとブラウザは警告を表示します。iPhone版のSafariでも警告が表示されます。たとえばオレオレ証明書が使われているサイトにアクセスすると、以下のように警告が表示されます。



が、Opera miniでアクセスした場合は何も警告が表示されません。ちなみに表示が崩れているように見えるのは、Opera miniの専用サーバが元のコンテンツを携帯デバイス用の軽量コンテンツに変換して返している為です。



Opera miniではhttpsなサイトにアクセスした時には、画面上部のサイトタイトルの右側に鍵マークが表示されるようになっています。よく見るとオレオレ証明書の場合はこの鍵マークが表示されていないことが分かります。したがってURLがhttpsであるにも関わらず鍵マークが表示されていない場合はオレオレ証明書だと判断することができます。


ですが、現状のOpera miniにはhttpsなサイトを表示した直後の状態の時には証明書が有効であっても鍵マークが表示されないというバグがあります。1回Opera miniを終了してもう一度起動すると鍵マークが表示されるようになります。たとえばhttps://www.verisign.com/にアクセスしても以下のように鍵マークが表示されませんが、アプリを起動し直すと表示されるようになります。このバグのせいで、そもそも鍵マークが表示されることを知らない人もいるのではないでしょうか。

サイトを表示した直後
アプリを起動し直した後


以上のことから現状のOpera miniでアクセスしたサイトがオレオレ証明書を使用していないことを確認するには以下の手順が必要になります。

  • アドレスバーのURLがhttpsであることを確認する
  • アプリを終了してもう一度起動する
  • 鍵マークが表示されていることを確認する


そもそもこの鍵マークにどの程度の意味があるのか謎です。Opera miniは表示の高速化の為に専用サーバがコンテンツを変換して返すようになっています。変換する為には一度平文に戻さなければならない為、SSL通信はOpera miniの専用サーバで終わります。専用サーバからOpera miniまでの通信がどうなっているのか分かりませんが*1、少なくとも通常のSSL通信とは異なる状態になっていることは確かです。たとえ鍵マークが表示されていたとしてもOpera miinの専用サーバは通信の内容を知りえる状態になっているということを認識しておく必要があります。

4月22日追記

この件を4月21日にIPAに報告しました。

*1:暗号化されていると思いたい