O que é um elemento seguro, e onde ele fica?
Um elemento seguro é um pequeno chip endurecido, projetado para que as chaves dentro dele nunca saiam, nem mesmo sob ataque físico. Ele guarda credenciais de pagamento e de identidade em celulares e cartões. Aplicativos comuns não o alcançam, e essa inacessibilidade é o recurso e não uma limitação.
O que ele é
Um processador com memória própria, construído para resistir a ataques que venceriam um hardware comum: ler o chip sob um microscópio, perturbá-lo com falhas de tensão, observar o consumo de energia dele em busca de pistas sobre as chaves.
Ele realiza operações com uma chave em vez de entregar a chave. Peça a ele que assine algo e ele devolve uma assinatura. Peça a chave e ele recusa, e não existe modo em que ele faça diferente.
Onde ele mora
Três casas, historicamente. Embutido no celular, soldado à placa e controlado pelo fabricante. No cartão SIM, controlado pela operadora de telefonia. Ou num cartão separado, que é o que um cartão bancário com chip é.
O caminho do SIM importou muito quando as operadoras esperavam controlar o pagamento pelo celular, e ele se apagou à medida que o setor migrou para elementos embutidos e para abordagens por software. O elemento embutido é o que a carteira de um celular moderno usa.
Por que você não o alcança
Porque qualquer coisa que você pudesse alcançar, um programa malicioso também alcançaria. Um elemento seguro que aceitasse aplicativos quaisquer seria um chip comum com um nome de marketing.
O acesso é portanto concedido pelo dono da plataforma, sob acordos com os emissores, e é exatamente esse o gargalo que a emulação de cartão pelo host foi criada para contornar. As duas não são tanto tecnologias concorrentes quanto duas respostas à pergunta de quem decide o que um celular pode apresentar.
A consequência prática
Um aplicativo não consegue guardar uma credencial no elemento seguro, e não consegue ler o que está lá dentro. Qualquer projeto de produto que pressuponha o contrário é inconstruível, e é melhor descobrir isso no quadro branco do que depois de um protótipo.
Por que ele ainda importa
Porque ele define o que “o celular é mais seguro que o cartão” quer dizer de fato, e a resposta é mais precisa que o slogan.
Um cartão de plástico responde a qualquer terminal contra o qual seja encostado. Uma credencial de celular num elemento seguro só é liberada depois de o aparelho ter satisfeito a verificação de usuário que a plataforma exige. O elemento seguro guarda o segredo, e o sistema operacional controla quando ele é usado.
Essa combinação é a vantagem substantiva, e nenhuma das duas metades a entrega sozinha. Um elemento seguro sem verificação de usuário seria um cartão numa embalagem mais cara.
Perguntas frequentes
Todo celular tem um elemento seguro?
A maioria dos celulares que suportam pagamento tem, na forma embutida. Alguns aparelhos se apoiam em outras abordagens, e como os aplicativos não podem consultá-lo nem usá-lo diretamente, a presença dele raramente é algo que um desenvolvedor precise determinar.
O elemento seguro é a mesma coisa que o ambiente de execução confiável?
Não, embora sejam confundidos com frequência. Um ambiente de execução confiável é um modo isolado do processador principal, enquanto um elemento seguro é hardware separado. O segundo é mais difícil de atacar fisicamente, o primeiro é mais flexível.
Uma tag NFC pode conter um elemento seguro?
Cartões podem, e um cartão bancário com chip é exatamente isso. As tags comuns não têm, e é por isso que uma tag simples nunca consegue provar que é autêntica e por que os chips capazes de autenticação custam mais.
Por que o aplicativo do meu banco não consegue pôr o meu cartão em outro aplicativo?
Porque habilitar uma credencial no elemento seguro passa pelo dono da plataforma e pela bandeira do cartão. O banco também não controla esse caminho, e é por isso que o pagamento pelo celular é arranjado pela carteira da plataforma.