O padrão PDF (Portable Document File), criado pela empresa Adobe, e padronizado pela ISO (Organização Internacional para Padronização), é muito versátil, por isso há necessidade de proteger as informações já assinadas.
Para isso, o padrão admite o recurso MDP (Modification Detection and Prevention), representado pelo acrônimo DocMDP. Esse recurso, quando corretamente implementado, define se o documento poderá ou não ter alterações incrementais ou subsequentes à assinatura digital.
Caso o software utilizado para assinar documentos em formato PDF, não implemente o recurso, o serviço Validar poderá dar o resultado “Assinatura Indeterminada”.
Como orientação aos provedores de software ou serviço de assinaturas digitais, recomenda-se que implementem o recurso de controle de “atualizações incrementais” previsto na ISO 32000 - 1. Toda a orientação necessária está contida no referido padrão, especificamente o item 12.8.2.2 do Padrão PDF(ISO 3200 - 2008 pág 466).
A seguir, exemplo de uso do recurso Doc-MDP, a ser configurado no arquivo PDF gerado a partir da assinatura digital.
166 0 obj
<<
/Type /Sig
/Filter /Adobe.PPKLite
/SubFilter /adbe.pkcs7.detached
/M (D:20220705145549-03'00')
/Reference [168 0 R]
/Contents <24730....>
/ByteRange [0 36705 55651 8985]
>>
Endobj
O dicionário “Signature Reference”. conter as entradas conter as entradas “Transform Method” com o valor DocMDP; e, “TransformParams” com uma referência indireta para um dicionário de TransformParams. Exemplo:
<<
/Type /SigRef
/TransformMethod /DocMDP
/TransformParams 170 0 R
>>
O dicionário “TransformParams” com uma entrada P com valor 2 e entrada V com valor 1.2.
170 0 obj
<<
/Type /TransformParams
/P 2
/V /1.2
>>
Importante: Não é recomendado o uso do dicionário /Perms com entrada /DocMDP por questões de compatibilidade com o Adobe. Ao configurar a primeira assinatura desta forma apenas serão permitidas as seguintes alterações: Preenchimento de formulários, templates e inclusão de novas assinaturas.
Outros valores de P possíveis de serem usados: