【APN】iOSプロファイルは、なぜどれも「未署名」なのか
プロファイル未署名問題について、とある方がツイートされていたので、それについて自分なりの考えを書きます。
iPhoneでMVNOのSIMを使うのには、APN設定のための「プロファイル」をインストールすると思います。
mineoに限った事ではないのですが、どこのMNO・MVNOを見ても「未署名」となっていて、「✓検証済み」になっている物を見たことがありません。(海外ではきちんと署名した事例があるようです。)
これをしていないとどうなるかというと、下のような画面が出てきます。
「え?警告?監視?」っと驚く方も多いかと思います。
APN自体の危険性の説明ではあるものの、きちんと署名されていれば、このような画面は一切出ないのです。
こちらは、自前の証明書で署名した物です。
Webサイトを見るときに使う、SSLの証明書と同じものです。
(SSLの証明書は、mineoマイページや、マイネ王などでは、すでに使われています。サイトの安全な通信を証明してくれるものです。)
私は、Macのターミナルから、OpenSSLを使って電子署名を行いました。
しかし、何も難しい事は行っておりません。
とあるサイトで調べたとおりに、「どのプロファイルを」「どの証明書を使って署名し(同時に証明書の鍵も指定)」「どこに保存するか」を打ち込んだだけです。
きちんと認証局から証明を受けていれば、自動的に「検証済み」のマークが付きます。
認証局からの証明は、有効期限があり、定期的な更新は必要ですが、苦ではないと思います。
しかしながら、この一手間を行っている会社は、私の知る限り日本では一社もありませんでした。
多少の手間はありますが、これをやらないだけの理由が見つからず、疑問です。
署名とは、ちゃんとした機関で、安全なプロファイルを発行したということの証明になるものです。
もし、mineo.jpの証明書での署名が難しくても、類似のドメインを取得して、その旨を公式のプレスリリースやスタッフブログ等で告知すれば、問題ないと思います。
なので、ぜひmineoさんには先陣を切って、プロファイルの署名を行って欲しいと思います。
素敵な投稿です。
ありがとうございました。
会社の場合「誰が」責任を持ってやるのか、些細な努力で関係する多くが救われる場合でも、自発的にやらないことが多いです。
側から見れば「責任逃れ」でしかないのですが、当事者にとってはマイナス評価のリスクや手間の問題が大きいのでしょうね。
手続きが簡便なら、たしかにやった方が良さそうですね。
このへん、多少はスマホの知識がある自分でも、一抹の不安が残りますから。
エンドユーザーレベルで署名できればいいのですが。
電子署名があればその検証をしないと意味がないですが、その為には電子署名を施した組織の電子証明書の発行元のroot証明書(場合によっては中間のものも必要)なども必要になります。その管理の手間やコストに見合わないので、署名をつけていないように思います。
ルート証明書は、Webサイトなどの証明書と同じもので、公的な認証機関に認証されているものならば、それぞれの端末にすでにインストールされているはずです。
本文では省きましたが、中間証明書は、証明書を指定するときに一緒に指定しました。
中間証明書は、各認証機関が公開しているので、無料でダウンロード出来ます。
必要なのは、証明書自体の公開鍵と秘密鍵、認証局の中間証明書の公開鍵です。
通常、ドメインの証明書の認証費用だけが発生します。
電子署名をつけると署名をした電子証明書の有効期限に関連した管理が必要になりますよね。
署名用はWebサイト用の証明書よりも有効期限は長く設定されていると思いますが、証明書の更新と既に配布した署名付きの配布物の署名の更新と再配布が必要になりますよね。(既に配布されたものは無視するてもありますが)
そうですね。既に配布したものは、基本期限切れても無視で、どうしても気になる人だけ再ダウンロードとするのが普通だと思います。
暗号化では無く、署名の意味しか無いので、証明書の期限が切れたとしても、端末がウイルスに感染などしない限り、一度ダウンロードすれば書き換えられる心配も無いかと思います。
なので、ダウンロードする時点での信頼性が保証できれば問題ないのでは無いかと考えました。
防止に役立つものだと思いますが、個人で無料で署名出来るような物を
付けても、mineoが作成したという証明としては弱いですし、改ざん防止に
関しても構成プロファイルがダウンロードできるページ自体がhttps化
しているので、必要性があまり高くないのだと思います。
>mineoが作成したという証明としては弱いですし
企業の実在証明を行う証明書があるので、それを使えば、mineo(ケイ・オプティコム)が署名したということが分かると思います。
また、プロファイルの署名は、視覚的な安全のために必要だと思います。
Webサイト用に取得している証明書を署名に使用すると目的外使用になるので、
署名をつけるには別途コードサイニング証明書と呼ばれるものを取得する
必要があるかと思います。
ただ、これを取得するのにはコストが掛かりますし、コストを掛けて、
メリットがあるかといえば、それほど無い気がします。
そもそも、検証済みとなっている危険なプロファイルもありますから、
どこが署名したのかが重要であって、検証済み=安心・安全とはならない
のですよね。
| 改ざん防止に関しても構成プロファイルが
| ダウンロードできるページ自体がhttps化
ファイル自体の改竄防止と通信路の改竄防止は独立なお話だと思いますよ。両者の改竄防止が必要かと。
httpsのサイトでも改竄されていますよね。
まあコストが掛からず容易に出来るものならば、署名があるに越した事は
無いとは思います。(^^ゞ
≫Kanon好きさん
SSL証明書を利用するのは、認証局の規定によっては確かに、違反行為になる可能性がありますね。
しかし、Appleは自社製品向けソフトウェア開発のためのコードサイニング証明書?を無償で提供していて、Macで取得し、プロファイルや、iOSアプリの署名に使えるようです。
(実際どこまで認定されているのかは、わかりませんでした。)
iOSプロファイルは、その名の通り、Apple製品でしか使いませんので、Apple社が公式に認定している証明書なら問題ないと思います。
画像は私の個人名の証明書で署名されたものです。
証明書のパスは下記の通りです。
Apple Root Certificate Authority
↓
Apple Worldwide Developer Relations Certification Authority
↓
各証明書
どこまでのレベルで使えるのかが問題ですね。
もし、開発環境でしか認められていないものを一般公開用に使うと問題に
なります。
最近も、H.I.Sの変なSIMのアプリが規約違反で起動不可能になっています。
・日本通信×H.I.S.「変なSIM」、Appleの規約違反でアプリ起動が
不可能に→返金対応を実施
http://shimajiro-mobiler.net/2018/09/18/post56285/
こうした事がある為、慎重な対応が必要になると思いました。
調べたところ、先ほどのものは確かに開発用とのことで、Apple Developer Programに参加することで、本番用の証明書を取得できるようです。
このプログラムは、有料ですが、iOSアプリを配信するには必要な物なので、株式会社ケイ・オプティコムさん既にこのプログラムに参加したアカウントは保有していると思います。
なので、証明書の取得に別途費用はかからないのではないかとおもいました。
また、iOSアプリをApple Storeで配信するのにも、この証明書が必要となるので、証明書を既に保有している可能性も非常に高いです。
何処まで必要なのか…
ところで、先日のSBの通信障害、
交換設備にインストールしたエリクソン社製ソフトウェアの「証明書期限切れ」でしたね。
署名と関係なくないような…