iPadメールクライアント-X.509クライアント証明書を使用したIMAP?


11

短いバージョン:X.509クライアント証明書がiPadでIMAPメール用に機能することになっていることを知ってますか?機能しない機能を取得しようとして時間を無駄にしていますか?組み込みのメールアプリがX.509クライアント証明書を使用したIMAPをサポートしていない場合(つまり、Microsoft Exchange ActiveSyncアカウントでのみ機能します)、サポートしているサードパーティアプリはありますか?

iOS 5.1以降のみが対象です。5.1は私がテストしてきたバージョンです。


私は、X.509クライアント証明書を使用して、IMAPメールサーバー(Cyrus IMAPd)やSMTPサーバー(後置)を含むすべての外部通信を保護するためにポリシーで必要とされるネットワークの管理者です。クライアントが有効なX.509クライアント証明書を提示しないと、どちらも接続を受け入れません。クライアント証明書の要件を無効にすることは私にとって選択肢ではなく、同様の理由でVPN経由でトラフィックをトンネリングすることは許可されていません。

ネットワークに接続したいiPadユーザーがいますが、iPadが少し問題になっています。

デスクトップマシンのユーザーには、通常、Thunderbirdをインストールします。これは、優れたクライアント証明書サポートを備えた堅牢なIMAPを備えているためです。それは「機能する」だけで、すべてのプラットフォームでサポートするのと同じです。これはiPadのオプションではありません。

残念ながら、iPadの組み込みメールアプリはIMAPのクライアント証明書に対応していないようです。iPhone構成ユーティリティを使用して、組織のルート証明書とユーザーのクライアント証明書をインストールできます。どちらも、[設定]-> [一般]-> [プロファイル]に「検証済み」と表示されます。iPadはその後、サーバーを信頼できるものとして受け入れ、サーバーのIDが検証されないという警告を省略します。

サーバーはハンドシェイクを終了するので、メールはクライアント証明書が要求されてもクライアント証明書の送信に失敗します。ユーザーにいずれか1つを選択するよう要求することも、サーバーが提示したCA証明書と一致するユーザー用にインストールしたクライアント証明書を自動的に送信することもありません。

クライアントとサーバー間のトラフィックフローを調べると、サーバーがクライアント証明書を要求したときにiPadが空のクライアント証明書セットで応答すると、TLSネゴシエーションが失敗することがわかります。下記参照。

メールを取得するためにクライアント証明書が必要ない暗号化されたWiFiを介して内部ネットワークに接続すると、デバイスはメールを正常に接続してダウンロードします。「SSLを使用する」チェックボックスをオンにしてIMAPポート993を使用するか、「SSLを使用する」チェックボックスをオンまたはオフにしてIMAP + TLSポート143を使用する場合、外部アクセス(パブリックWiFiまたは3G経由)が失敗します。IMAPのクライアント証明書ネゴシエーションサポートが明らかに不足していることを除けば、完璧です。

Appleの「エンタープライズサポート」のドキュメントにあるクライアント証明書サポートへの参照は、Microsoft Exchange ActiveSyncが説明されている場所、およびCisco VPNサポートが説明されている場所にのみ表示されます。

Appleのディスカッションフォーラムにはいくつかの質問がありますが、最近の質問や有用な回答はありません。私はそれらにリンクしたいと思いますが、Appleのフォーラムは現時点では「メンテナンス中」です。

回避策として、iPadの自動VPN接続サポートを使用してロックダウンVPNをセットアップし、適切なポートとDNS以外のIMAPおよびSMTPサーバーのみと通信できるクライアント証明書認証IPSec VPNと通信できるようにします。しかし、実行しなければならないのはかなり恐ろしいハックでしょう。


ところで、クライアント<->サーバーの会話は:

  • C-> S TLSv1クライアントHello
  • S-> C TLSv1サーバーHello
  • S-> C TLSv1証明書、証明書要求、サーバーHello Done(サーバー証明書を送信、ルート証明書に署名、サーバー証明書に署名したルートと同じ受け入れられたクライアント証明書署名者のDN)
  • C-> S TLSv1証明書(証明書の空のセット、証明書が含まれていない)
  • S-> C TLSv1ハンドシェイクの失敗

言い換えると、サーバーは「これは私です、あなたが誰であるかを証明するために当局によって署名された証明書を提供することを期待します」とクライアントは答えます。 」

クライアントにはルート証明書がインストールされており、サーバーから要求された署名者DNを持つクライアント証明書がインストールされています。


では、このガイド AppleはSSLが有効になっている場合、X.509証明書をサポートして言及しています。このドキュメント自体は、標準ベースのサービス(IMAP、CalDAVなど)についてのみ言及しており、ActiveSyncについては言及していません。これにより、これが可能になるはずです。問題は、これが一般的なセットアップではなく、企業環境(私たちはExchangeショップ)でIMAPを使用した個人的な経験がないことだと思います。
bispymusic

これは無料ではないことは承知していますが、AppleのAppleCare OSサポートご覧ください。このサービスの最下層でさえ、この問題の解決策を見つける必要があります。個人的にもっと助けてくれたらよかったのに。
bispymusic

報奨金をありがとう。私は実際にその仕事(12年、心)を残し、今では...すべて、本当に、バグのあるクライアント証明書のサポートに関する心配から自由になりました。これは明らかに他の人の興味を引くので、秘密のレシピを明らかにできるiOSの第一人者がここにいることを願っています。私の個人的な強い疑いは、X.509クライアント証明書はおそらくExchange ActiveSync以外のもので動作することを意図していないことです。
クレイグリンガー

1
クレイグ。あなたが答えとして知っていることを書き上げるなら-それらのコメントでさえ物事を結びつけるのに良いでしょう。素晴らしいのは、投稿が長時間ここに置かれ、検索可能であることです。「苦労しましたが、検索しましたが、何も機能しなかったので先に進みました」という答えは役に立ち、IMOの価値が十分にあります。
bmike

@bmike私はそうしますが、最近のiOSデバイスでテストしていないので、持っている人に任せます。
クレイグリンガー

回答:


1

この質問は、iOSでサポートされていないIMAPサービスへの認証にX.509を使用することに固有のようです。S / MIME電子メールの暗号化と署名はiOSで実行できますが、メールサービスへの認証はSSLまたはTLS経由のユーザー名/パスワードを引き続き使用します。


1
Appleがこのような基本的なセキュリティ機能をサポートするのを煩わせられないことは本当に驚くべきことです。特に、SSLライブラリが既にサポートしている場合。
クレイグリンガー14年

AppleがiOSで無視しているもう1つのパスは、GSSAPIのサポートです。
ブライアントッピング

1

上記のコメントを参照してください。アスカーは、これが機能しないことを報告しています。

そのため、iOS 5.1では、X.509証明書は、エンジニアリング上の努力がなければ、おそらくまったく使用しなければ、iOSで電子メールを保護するために簡単に使用できません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.