Chavel Móvel Digital (CMD) Pre-Populated Checklist
Below is a table with pre-populated answers to CMD’s checklist.
Most of the items are generic, must some may depend on your use case. In such cases with added the tag [TO BE ANSWERED BASED ON THE PROJECT SCOPE].
The check list answers are in portuguese as requested per AMA. |
# | Guideline | Description | Recommended Response |
---|---|---|---|
1 |
PIN CMD por assinatura |
Exigir a introdução do PIN da CMD por cada assinatura ou batch de assinatura efetuada. Não o guardando na BD ou em sessão. |
Quaisquer tipo de credenciais relacionadas com CMD (tlm, pin, …) não são persistidos em qualquer tipo de repositório, e mesmo em sessão e memória encontram-se obfuscados. |
2 |
Documento a assinar visivel |
Apresentar sempre o documento a assinar pelo cidadão. |
Todas as assinaturas do tipo CMD realizadas no eSign são no contexto do documento que está no momento da assinatura a ser apresentado ao utilizador. |
3 |
Dispositivos seguros |
Não permitir a instalação da aplicação em dispositivos comprometidos |
[TO BE ANSWERED BASED ON THE PROJECT SCOPE] |
4 |
PIN CMD não visivel |
Não apresentar visivel para o utilizador os digitos do PIN da CMD |
A recolha de quaisquer dados confidenciais nunca é feita a descoberto, sendo realizada com campos standard próprios para o efeito; nomeadamente campos HTML5 do tipo password. Adicionalmente, os pins e otp’s, além de cifrados via comunicação HTTPS são cifrados com a chave pública da AMA no browser, o que permite que um ataque de man-in-the-middle não tenha acesso às credenciais do utilizador a descoberto. Como layer de segurança adicional, e a fim de impedir que um pin cifrado possa ser apanhado por um ataque de man-in-the-middle e reutilizado em futuras chamadas diretas aos serviços da AMA, é ainda aplicado ao transporte entre o frontend e o backend do eSign uma cifra com uma chave de sessão única do eSign. À chegada ao backend (e imediatamente antes da integração com os serviços da AMA) a cifra de sessão do eSign é removida, sendo a cifra da AMA é mantida ponto-a-ponto. |
5 |
PIN CMD não guardado localmente |
Não guardar nos logs os dados do PIN ou Pin temporário |
O produto eSign não guarda, em qualquer altura, logs com dados sensíveis da CMD. eSign utiliza ainda a versão mais recente da assinatua com CMD (SCMD), com o propósito de garantir que mesmo com logs de rede e infraestrutura não capturam os dados sensíveis a descoberto. Guarda de evidência O eSign guarda evidência do par User+OTP, com o objectivo de, em caso de disputa legal, existirem evidencias da informação que foi introduzida pelo cliente para se poder fazer cross-check com o que chegou à AMA. [TO BE ANSWERED BASED ON THE PROJECT SCOPE - JUSTIFY THAT NETWORK AND FIREWALLS WILL NOT DECODE HTTPS AND LOG THE INCOMING MESSAGES] |
6 |
PIN CMD não transmitido |
Não transmitir para qualquer outra aplicação dados do PIN da CMD ou PIN temporário (além da aplicação da CMD) |
Dados sensíveis de CMD são utilizados numa óptica de fire-and-forget, não sendo persistidos nem transmitidos a mais nenhuma entidade que não a aplicação de CMD. |
7 |
Comprometimento aplicação |
Em caso de compromentimento da aplicação informar a AMA num prazo inferior a 4 horas (após conhecimento do incidente de segurança). |
[TO BE ANSWERED BASED ON THE PROJECT SCOPE] |
8 |
Atualização aplicação |
Detetar a existência de novas versões da aplicação e permitir a atualização automatica da aplicação |
A aplicação eSign é uma web app, não existindo distribuição de binários para os utilizadores finais. |
9 |
Credenciais autenticação aplicação |
Não partilhar as credenciais de acesso a aplicação a serviço CMD assinatura com qualquer outra entidade ou aplicação |
[TO BE ANSWERED BASED ON THE PROJECT SCOPE] |
10 |
Autenticação utilizador |
Autenticar o utilizador para acesso à aplicação de assinatura com Cartão de Cidadão ou CMD |
eSign segue o flow imposto pela CMD, que implica autenticação prévia do utilizador. |
11 |
Canal comunicação seguro |
Usar canal seguro para transmissão de credenciais do utilizador a serviço CMD assinatura |
[TO BE ANSWERED BASED ON THE PROJECT SCOPE] - Garantir que o eSign está exposto para fora com HTTPS + - Garantir que entre o eSign e os serviços da AMA não existem proxies ou outras componentes da arquitetura que possam captural involuntáriamente as credenciais do utilizador. |
12 |
Dados a serem assinados (DTBS/R) |
Apresentar os dados a serem assinados no formato XML (que contém o hash do documento a assinar em formato byte array) – também designado por representação dos dados a serem assinados (DTBS/R) – ao servidor de assinatura CMD da AMA, garantindo que corresponde aos dados/documento a assinar apresentado pelo/ao assinante. [cf. secção 3.1.2 da POL#16] |
Sim. eSign segue as especificações impostas pelo serviço de SCMD, que implica passagem do hash do documento a ser assinado e respectivo contexto de operação. |
13 |
Guardar a assinatura |
É da responsabilidade das aplicações guardar a assinatura embebida no documento assinado com os dados assinados ou, guardar a assinatura separada dos dados assinados. [cf. secção 3.1.3 da POL#16] |
eSign guarda a assinatura embebida no PDF assinado, de acordo com a norma PAdES. |
14 |
Adicionar referência ao OID da política CMD |
A guarda da assinatura é efetuada no formato, perfil e nível de assinatura definida pela aplicação (por exemplo, PAdES Basic, PAdES-EPES, …), sendo que o formato/perfil/nível utilizado deve permitir adicionar uma referência à Política CMD de Assinatura Qualificada (indicando pelo menos o seu OID 2.16.620.2.1.2.2), de modo a permitir que partes confiantes e outras pessoas interessadas possam encontrar informação sobre as políticas e práticas seguidas na aposição da assinatura. [cf. secção 3.1.3 da POL#16] |
eSign segue as referências PAdES, no entanto não está a inserir a OID especificada. |
15 |
Comunicação com o CMD |
Comunicar com o SCMD, em conformidade com o protocolo SAP (cf. secção 3 da ?Declaração de Práticas de Operação do SCMD?) e com o manual de integração fornecido. [cf. secção 3.2.4 da POL#16] |
eSign segue o flow imposto pela CMD/SCMD. |
16 |
Apresentar os dados a assinar |
Apresentar os dados a assinar de acordo com a política WYSIWYS (What You See Is What You Sign), diretamente na aplicação ou em aplicação externa [cf. secção 3.2.4 da POL#16] |
Todas as assinaturas do tipo CMD realizadas no eSign são no contexto do documento que está no momento da assinatura a ser apresentado ao utilizador. |
17 |
Adicionar compromissos assumidos pelo assinante ao efetuar a assinatura |
Com a assinatura dos dados/documento, a aplicação deve permitir que o assinante associe ao campo Razão/Reason, um (ou vários) dos seguintes tipo de compromissos (e respetivo OID), de modo a contextualizar (e desambiguar) o propósito e significado da assinatura, assim como a natureza da responsabilidade assumida: Prova de origem / Proof of origin, Prova de aprovação / Proof of approval, Prova de criação / Proof of creation, Autenticação de dados / Data Autentication, Autenticação de Entidade / Entity Autentication, Autoria / Authorship, Revisão / Review, Cópia / Copy, Testemunha de assinatura / Signature Witness, Vinculação ao conteúdo assinado / Bound to data signed, Aprovação interm‚dia / Intermediate approval. [cf. secção 3.2.2 da POL#16] |
[TO BE ANSWERED BASED ON THE PROJECT SCOPE] eSign permite customização de: - Campo "reason" das assinaturas - Campo "location" das assinaturas - Nome do processo a enviar no OTP da CMD [variable: ARTIFACT_NAME] É responsabilidade do projeto garantir o correto mapeamento destas configurações |
18 |
Validação dos dados de identificação do documento |
A aplicação possibilita que o assinante valide que os dados de identificação do documento, a assinar, recebidos na mensagem SMS/Push notification, são os mesmos que lhe são apresentados no user interface da aplicação. [cf. secção 3.2.4 da POL#16] |
[TO BE ANSWERED BASED ON THE PROJECT SCOPE] (Ex: Mensagens enviadas para as notificação da CMD contêm o identificador único do documento que o assinante está a consultar (também visível no browser), assim como o identificador lógico do documento (friendly name) para contextualizar o cliente com a operação.) Acrescentar a variable 'ARTIFACT_NAME' aos documentos que requerem assinatura com CMD. O valor desta variável deverá dar contexto do que o cliente está prestes a aprovar, e será enviado para a AMA e apresentado no OTP da CMD enviado ao utilizador. Exemplo de valores: - "Ficha de Informação Individual" - "Processo 123456789" |
19 |
Identificar os vários passos do processo de assinatura |
Identificar e informar sobre os vários passos do processo de assinatura [cf. secção 3.2.4 da POL#16] à medida que os mesmo ocorrem. |
eSign guia o utilizador da inserção dos dados necessários à assinatura, com o respectivo contexto (consultar video de evidência em anexo). |
20 |
Identificar o passo a partir do qual a assinatura será criada |
Identificar claramente o passo a partir do qual a assinatura será criada, garantindo que o assinante conhece a responsabilidade assumida no ato de assinar e que fica vinculado a essa responsabilidade e ao compromisso assumido [cf. secção 3.2.4 da POL#16] |
eSign fornece contexto visual sobre o documento e campo a ser assinado, e garante que o ato de assinatura é uma acção explicita do utilizador (consultar video de evidência em anexo). |
21 |
Guiar o assinante na guarda da assinatura |
Guiar o assinante na guarda da assinatura embebida no documento assinado com os dados assinados ou, na guarda da assinatura separada dos dados assinados. [cf. secção 3.2.4 da POL#16] |
eSign guia o utilizador da inserção dos dados necessários à assinatura, com o respectivo contexto (consultar video de evidência em anexo). |
22 |
Proper Advice And Information Required |
A aplicação fornece ao assinante informação e conselho relativo ao processo de criação de assinatura e consequências legais, assim como garantir na extensão possível, que o interface do utilizar fornece um ambiente legal válido para assinatura [cf. secção 4.2.1 da POL#16] Deve para tal ser assegurado que: - informação sobre o processo de criação de assinatura e conselho sobre como o deve fazer - ou seja dizer como deve utilizar a app para fazer uma assinatura |
[TO BE ANSWERED BASED ON THE PROJECT SCOPE] |
23 |
Aprovação AMA |
A disponibilização da aplicação, bem como qualquer alteração ou nova versão, com funcionalidades de CMD assinatura apenas pode ser disponibilizada após submissão à AMA de relatório com evidências de cada um dos pontos supra, aprovação pela AMA e sua publicação em https://www.autenticacao.gov.pt/ |
OK |
24 |
Cifrar no cliente o nº de telemóvel, PIN e OTP inserido |
Cifrar no dispositivo cliente (e.g., recorrendo a código que corra na aplicação ou browser do cliente - e.g., javascript) com chave publica disponibilizada pela AMA o telemovel, PIN e OTP inserido pelo utilizador. |
A recolha de quaisquer dados confidenciais nunca é feita a descoberto, sendo realizada com campo standard próprios para o efeito; nomeadamente campos HTML5 do tipo password. Adicionalmente, os pins e otp’s, além de cifrados via comunicação HTTPS são cifrados com a chave pública da AMA no browser, o que permite que um ataque de man-in-the-middle não tenha acesso às credenciais do utilizador a descoberto. Como layer de segurança adicional, e a fim de impedir que um pin cifrado possa ser apanhado por um ataque de man-in-the-middle e reutilizado em futuras chamadas diretas aos serviços da AMA, é ainda aplicado ao transporte entre o frontend e o backend do eSign uma cifra com uma chave de sessão única do eSign. À chegada ao backend e imediatamente antes da integração com os serviços da AMA a cifra de sessão do eSign é removida, sendo a cifra da AMA é mantida ponto-a-ponto. |