cliente de email do iPad - IMAP com certificados de cliente X.509?


11

Versão curta: Alguém sabe se os certificados de cliente X.509 devem funcionar no iPad para correio IMAP? Estou perdendo meu tempo tentando obter um recurso que não funciona? Se o aplicativo de correio interno não suportar IMAP com certificados de cliente X.509 (ou seja: eles funcionam apenas com contas do Microsoft Exchange ActiveSync), existem aplicativos de terceiros que o façam?

Somente o iOS 5.1 ou mais recente é interessante; 5.1 é a versão com a qual tenho testado.


Sou administrador de uma rede exigida pela política para usar certificados de cliente X.509 para proteger toda a comunicação externa, incluindo nosso servidor de email IMAP (Cyrus IMAPd) e servidor SMTP (postfix). Nenhum deles aceitará uma conexão sem que o cliente apresente um certificado de cliente X.509 válido. Desabilitar o requisito de certificado de cliente não é uma opção para mim, e não temos permissão para encapsular o tráfego via VPN por motivos semelhantes.

Agora, temos usuários de iPad que desejam se conectar à nossa rede e consideram o iPad um pouco problemático.

Para usuários em máquinas desktop, geralmente instalamos o Thunderbird, pois possui um IMAP sólido, com excelente suporte ao certificado do cliente; "simplesmente funciona" e é o mesmo para oferecer suporte em todas as plataformas. Esta não é uma opção para o iPad.

Infelizmente, o aplicativo Mail incorporado do iPad não parece lidar com certificados de cliente para IMAP. Posso instalar o certificado raiz da nossa organização e o cliente do usuário usando o Utilitário de configuração do iPhone. Ambos são mostrados como "verificados" em Configurações-> Geral-> Perfis. O iPad aceita nosso servidor como confiável e omite quaisquer avisos sobre a identidade do servidor não ser verificada.

O correio ainda falha ao enviar um certificado de cliente quando um é exigido, para que o servidor encerre o handshake. Ele não solicita que o usuário selecione um, nem envia automaticamente o certificado de cliente que ele instalou para o usuário que corresponde ao certificado de CA apresentado pelo servidor.

O exame do fluxo de tráfego entre cliente e servidor mostra que a negociação do TLS falha quando o iPad responde com um conjunto vazio de certificados de cliente quando os certificados de cliente são exigidos pelo servidor. Ver abaixo.

Quando conectado à rede interna por WiFi criptografado, em que nenhum certificado de cliente é necessário para receber e-mails, o dispositivo conecta e baixa os e-mails. O acesso externo (Wi-Fi público ou mais de 3G) falha, se eu uso a porta 993 IMAPs com "Usar SSL" marcado ou a porta 143 IMAP + TLS com ou sem a opção "Usar SSL" marcada. Além da aparente falta de suporte à negociação de certificado de cliente para IMAP, é perfeito.

As referências ao suporte ao certificado de cliente na documentação do "Suporte corporativo" da Apple aparecem apenas onde o Microsoft Exchange ActiveSync é discutido e onde o suporte da Cisco VPN é discutido.

Existem algumas perguntas nos fóruns de discussão da Apple, mas nenhuma recente e nenhuma resposta útil. Eu ligaria para eles, mas os fóruns da Apple estão "em manutenção" no momento.

Como solução alternativa, provavelmente posso configurar uma VPN bloqueada usando o suporte à conexão VPN automática do iPad para conversar com uma VPN IPSec de autenticação de cliente certificada que pode conversar com os servidores IMAP e SMTP nas portas apropriadas e no DNS, nada mais. Seria um truque bastante horrível ter que perpetrar embora.


BTW, a conversa do servidor do cliente <-> é:

  • Olá, cliente C -> S TLSv1
  • Olá, servidor S -> C TLSv1
  • S -> C Certificado TLSv1, solicitação de certificado, servidor Hello Done (envia certificado do servidor, certificado raiz de assinatura, DN do assinante de certificado de cliente aceito, que é o mesmo que a raiz que assinou o certificado do servidor)
  • C -> S TLSv1 Certificate (conjunto vazio de certificados, zero certificados incluídos)
  • S -> C Falha no handshake TLSv1

Em outras palavras, o servidor diz "sou eu, espero que você forneça um certificado assinado pela autoridade para provar quem você é" e o cliente responde com "Hum, meus documentos estão neste envelope vazio aqui. Olha, um casuar! "

O cliente tem o certificado raiz instalado e um certificado de cliente instalado que possui o DN do assinante exigido pelo servidor.


Em este guia de Apple menciona apoiar X.509 certificados quando o SSL está ativado. O próprio documento fala apenas sobre serviços baseados em padrões (IMAP, CalDAV etc.) e nenhuma menção ao ActiveSync em qualquer lugar. Isso me diz que isso deveria ser possível. Acho que o problema é que essa não é uma configuração típica e não tenho experiência pessoal usando o IMAP em um ambiente corporativo (somos uma loja do Exchange).
bispymusic

Sei que isso não é gratuito, mas você também pode procurar o Suporte AppleCare OS da Apple . Mesmo o nível mais baixo deste serviço deve cobrir a solução para esse problema. Eu gostaria de poder ter ajudado mais pessoalmente.
bispymusic

Obrigado pela recompensa. Na verdade, eu deixei esse emprego (de 12 anos, lembre-se) e agora estou alegremente livre de me preocupar com o suporte ao certificado de cliente de buggy em ... bem, tudo, realmente. Isso claramente interessa a outras pessoas, então espero que haja um guru do iOS aqui que possa revelar a receita secreta. Minha forte suspeita pessoal é que os certificados do cliente X.509 provavelmente não devem funcionar em nada, exceto no Exchange ActiveSync.
Craig Ringer

1
Craig. Se você escrever o que sabe como resposta - mesmo esses comentários seriam bons para amarrar as coisas. O melhor é que as postagens podem ficar aqui por um longo tempo e ainda podem ser pesquisadas. Uma resposta de "foi uma dor, pesquisamos e nada funcionou, então seguimos em frente" seria útil e valeria a recompensa da OMI.
bmike

@bmike eu faria, mas como não testei com dispositivos iOS mais recentes, deixarei para alguém que já tenha.
Craig Ringer

Respostas:


1

A pergunta parece ser específica para usar o X.509 para autenticação em um serviço IMAP, que não é suportado pelo iOS. A criptografia e assinaturas de email S / MIME podem ser executadas no iOS, mas a autenticação para serviços de correio ainda usará nome de usuário / senha sobre SSL ou TLS.


1
É realmente surpreendente que a Apple não se incomode em oferecer suporte a um recurso de segurança tão básico. Especialmente quando suas bibliotecas SSL já o suportam.
Craig Ringer

Outro caminho que a Apple está ignorando no iOS é o suporte ao GSSAPI.
27717 Brian Topping

1

Veja os comentários acima, onde o solicitante informa que nunca conseguiu que isso funcionasse.

Portanto, no iOS 5.1, os certificados X.509 não serão facilmente utilizados para proteger e-mails no iOS sem algum esforço de engenharia e talvez nem um pouco.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.