Você está na página 1de 7

LGPD – CONSIDERAÇÕES

CRIPTOGRAFIA E EXEMPLO DE CÓDIGO


SUMÁRIO

1. LGPD ............................................................................................................................................... 2
2. FISCALIZAÇÃO ............................................................................................................................... 2
3. soluções possíveis ........................................................................................................................... 3
4. CRIPTOGRAFIA DE PDF ................................................................................................................. 4
4.1. UTILIZANDO O GHOSTSCRIPT ...................................................................................................... 4
4.2. INSTALANDO O GHOSTSCRIPT NO CentOS 7.7.1908 ................................................................... 5
4.3. UTILIZANDO O GHOSTSCRIPT PARA CRIPTOGRAFAR UM PDF GERADO PELO GOOGLE
CHROME ................................................................................................................................................. 5
4.4. CRIANDO UM MODELO DE CÓDIGO ............................................................................................. 6

AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO DE PROPRIEDADE DA EMPRESA, SENDO PROIBIDA A UTILIZAÇÃO FORA DA SUA FINALIDADE.
Thommen Campos Engenharia e Construções LTDA - CNPJ: 11.535.128/0001-76 - Inscrição Municipal: 2749734

Página 1 - 6
1. LGPD
A Lei Geral de Proteção de Dados (LGPD) é a nova legislação brasileira que trata da proteção de dados
pessoais. Para adequar seu site à LGPD, é necessário seguir alguns passos:

1. Identificar os dados pessoais que são coletados pelo site: É importante identificar quais dados
pessoais são coletados, como nome, endereço, e-mail, telefone, CPF, entre outros.

2. Obter o consentimento do usuário: O usuário precisa ser informado de forma clara e objetiva
sobre quais dados pessoais estão sendo coletados e para que serão utilizados. Além disso, é
necessário obter o consentimento do usuário para coletar e utilizar seus dados.

3. Adotar medidas de segurança adequadas: O site precisa adotar medidas de segurança


adequadas para proteger os dados pessoais dos usuários, como criptografia, backups,
controle de acesso, entre outros.

4. Designar um encarregado de proteção de dados: É necessário designar uma pessoa


responsável por garantir a conformidade do site com a LGPD e atender as solicitações dos
usuários.

5. Criar uma política de privacidade: O site precisa ter uma política de privacidade clara e
objetiva, que explique como os dados pessoais são coletados, utilizados e protegidos.

6. Treinar os funcionários: É importante que os funcionários que lidam com dados pessoais
sejam treinados sobre as boas práticas de proteção de dados pessoais.

Quanto ao selo de segurança, não existe um selo específico para a LGPD, mas é possível adotar selos
de segurança que garantem a privacidade e a proteção de dados pessoais.

2. FISCALIZAÇÃO

A fiscalização da LGPD é feita pela Autoridade Nacional de Proteção de Dados (ANPD), que tem o poder
de aplicar sanções e multas em caso de violações à lei.

As medidas de segurança que um site precisa adotar para proteger os dados pessoais dos usuários podem
variar de acordo com o tipo de site e a natureza dos dados que são coletados, mas algumas das principais
medidas incluem:

1. Criptografia: A criptografia é uma técnica que transforma os dados em um formato codificado


para impedir que terceiros não autorizados acessem ou leiam as informações. É importante
que as senhas e os dados pessoais dos usuários sejam armazenados de forma criptografada.

2. Controle de acesso: O site precisa garantir que apenas pessoas autorizadas tenham acesso
aos dados pessoais dos usuários. Isso pode ser feito por meio de controles de acesso
baseados em função ou perfil, por exemplo.

3. Backups: É importante que o site tenha backups dos dados armazenados, para evitar perda
de informações importantes em caso de falhas de hardware ou software. Os backups também
podem ser úteis em caso de ataques de hackers.

AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO DE PROPRIEDADE DA EMPRESA, SENDO PROIBIDA A UTILIZAÇÃO FORA DA SUA FINALIDADE.
Thommen Campos Engenharia e Construções LTDA - CNPJ: 11.535.128/0001-76 - Inscrição Municipal: 2749734

Página 2 - 6
4. Monitoramento de segurança: O site precisa ter um sistema de monitoramento de segurança
para detectar possíveis ameaças ou violações à privacidade dos usuários. Esse
monitoramento pode incluir o uso de softwares de antivírus, firewall, entre outros.

5. Política de senhas seguras: É importante que o site tenha uma política de senhas seguras,
que exige que os usuários criem senhas fortes e que não compartilhem suas senhas com
terceiros.

6. Auditorias de segurança: É recomendável que o site faça auditorias de segurança regulares


para identificar vulnerabilidades e riscos de segurança, e implementar as correções
necessárias.

Essas são apenas algumas das medidas de segurança que um site pode adotar para proteger os dados
pessoais dos usuários. É importante que o site faça uma análise de risco e implemente as medidas de
segurança adequadas para sua situação específica.

3. SOLUÇÕES POSSÍVEIS

Para realizar uma auditoria de segurança de forma válida, é recomendável que o site contrate profissionais
especializados em segurança da informação para realizar a análise. Esses profissionais poderão utilizar
diversas técnicas e ferramentas para identificar vulnerabilidades e riscos de segurança, como testes de
penetração, análise de código-fonte, verificação de configurações de segurança, entre outros. É importante
que a auditoria seja realizada de forma regular, para garantir que o site esteja sempre protegido contra as
ameaças mais recentes.

Para o monitoramento de segurança, existem diversas ferramentas disponíveis no mercado, tanto gratuitas
quanto pagas. Algumas das ferramentas mais comuns incluem softwares de antivírus, firewalls, sistemas
de detecção de intrusão, entre outros. O monitoramento pode ser realizado tanto com ferramentas internas,
instaladas no próprio servidor do site, quanto com serviços de terceiros que realizam a monitoração de
forma remota. A escolha vai depender das necessidades e recursos do site em questão.

Quanto à criptografia, existem diversas formas de implementar a técnica para proteger os dados pessoais
dos usuários. Uma das formas mais comuns é criptografar os dados no banco de dados, para que eles
fiquem armazenados de forma segura. Outra opção é utilizar certificados SSL/TLS para proteger as
comunicações entre o site e os usuários. Para criptografar as informações no banco de dados, é possível
utilizar diversas ferramentas e técnicas, como o uso de chaves de criptografia, algoritmos de hash, entre
outros. Algumas plataformas de gerenciamento de conteúdo e e-commerce já possuem funcionalidades
nativas de criptografia, mas em outros casos pode ser necessário contratar um profissional especializado
para implementar a solução adequada para o site em questão.

AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO DE PROPRIEDADE DA EMPRESA, SENDO PROIBIDA A UTILIZAÇÃO FORA DA SUA FINALIDADE.
Thommen Campos Engenharia e Construções LTDA - CNPJ: 11.535.128/0001-76 - Inscrição Municipal: 2749734

Página 3 - 6
4. CRIPTOGRAFIA DE PDF
É possível realizar a criptografia dos arquivos em PDF automaticamente no servidor, utilizando algum
software ou biblioteca que possibilite essa funcionalidade.
Um exemplo de biblioteca que pode ser utilizada para essa tarefa é o PDFLib, que é uma biblioteca de
criação e manipulação de arquivos em PDF, que suporta criptografia de arquivos. Essa biblioteca possui
versões para diversas linguagens de programação, incluindo PHP.
Para utilizar o PDFLib em PHP, é necessário instalar a biblioteca no servidor e configurar o ambiente de
desenvolvimento para utilizá-la. Depois disso, é possível utilizar a função set_option da biblioteca para
definir as opções de criptografia, como o tipo de criptografia (RC4 ou AES), a chave de criptografia, entre
outras opções.
Para realizar a conversão de HTML para PDF, você pode utilizar alguma biblioteca ou ferramenta que
suporte a conversão de HTML para PDF e que possibilite a integração com o PDFLib, como o mPDF ou o
TCPDF, que são bibliotecas de geração de PDF em PHP.
Com essas ferramentas e bibliotecas, é possível criar um script em PHP que realize a conversão de HTML
para PDF e a criptografia do arquivo gerado, de forma automática no servidor.

4.1. UTILIZANDO O GHOSTSCRIPT

Para utilizar o Ghostscript para converter arquivos grandes de HTML para PDF e inserir a criptografia no
arquivo gerado, é possível criar um script em PHP que execute o comando do Ghostscript na linha de
comando.
Segue abaixo um exemplo de script PHP que utiliza o Ghostscript para realizar a conversão de um arquivo
HTML para PDF e inserir a criptografia no arquivo gerado:
<?php
// Define o nome do arquivo HTML de entrada
$filename = 'arquivo.html';
// Define o nome do arquivo PDF de saída
$output_filename = 'arquivo.pdf';
// Define a senha para criptografar o arquivo PDF
$password = 'minha_senha';
// Define o comando do Ghostscript
$command = 'gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -
sOutputFile='.$output_filename.' -c "<< /Encryption << /R 2 /Length
128 /P -2147483648 /V 2 /CF [(ASCII85Decode) 3] >> >>
setdistillerparams" -f '.$filename;
// Executa o comando do Ghostscript na linha de comando
$output = shell_exec($command);
// Exibe mensagem de sucesso
echo 'Arquivo gerado com sucesso: '.$output_filename;
?>
Nesse exemplo, o comando do Ghostscript é executado utilizando a função shell_exec() do PHP. O
comando realiza a conversão do arquivo HTML para PDF utilizando o dispositivo pdfwrite do Ghostscript e,
em seguida, insere a criptografia no arquivo gerado utilizando as opções -c e -f.
É importante lembrar que o Ghostscript precisa estar instalado no servidor para que o script funcione
corretamente. Além disso, é necessário ajustar as permissões do servidor para permitir a execução de
comandos na linha de comando.

AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO DE PROPRIEDADE DA EMPRESA, SENDO PROIBIDA A UTILIZAÇÃO FORA DA SUA FINALIDADE.
Thommen Campos Engenharia e Construções LTDA - CNPJ: 11.535.128/0001-76 - Inscrição Municipal: 2749734

Página 4 - 6
4.2. INSTALANDO O GHOSTSCRIPT NO CentOS 7.7.1908

1. Abra um terminal no servidor e atualize a lista de pacotes:

sudo yum update

2. Instale o Ghostscript:

sudo yum install ghostscript

3. Verifique se a instalação foi concluída com sucesso:

gs -v

Esse comando deve exibir a versão do Ghostscript instalada.

4. Teste o Ghostscript com um arquivo de teste:

gs -sDEVICE=pdfwrite -sOutputFile=output.pdf input.pdf

Esse comando deve criar um arquivo "output.pdf" a partir do arquivo "input.pdf".

5. Para utilizar o Ghostscript no seu script PHP, basta executar o comando necessário utilizando
a função shell_exec(), como demonstrado no exemplo anterior.

É importante ressaltar que a instalação do Ghostscript pode variar dependendo do sistema operacional e
da distribuição utilizada. Consulte a documentação oficial do Ghostscript e da sua distribuição para obter
informações mais detalhadas sobre a instalação e configuração.

4.3. UTILIZANDO O GHOSTSCRIPT PARA CRIPTOGRAFAR UM PDF GERADO


PELO GOOGLE CHROME
1. Certifique-se de que o PDF gerado pelo Google Chrome esteja armazenado em uma pasta
acessível pelo sistema operacional.
2. Abra o terminal e navegue até a pasta onde o PDF está armazenado.
3. Execute o seguinte comando para criptografar o PDF utilizando o Ghostscript:
gs -sDEVICE=pdfwrite -sOutputFile=output.pdf -sOwnerPassword=senha -sUserPassword=senha -
dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen input.pdf
Onde:
"output.pdf" é o nome que você deseja dar ao novo PDF criptografado;
"senha" é a senha que você deseja utilizar para criptografar o PDF;
"input.pdf" é o nome do PDF original gerado pelo Google Chrome que você deseja criptografar.

Após executar o comando acima, o Ghostscript irá criar um novo PDF criptografado chamado "output.pdf"
na mesma pasta onde o PDF original está armazenado.
É importante lembrar que, ao utilizar esse método, você estará criptografando apenas o PDF gerado pelo
Google Chrome, não o HTML que foi utilizado para gerá-lo. Se você deseja garantir que a informação esteja
protegida desde o início do processo, é recomendável utilizar outras ferramentas que permitam a
criptografia do HTML ou gerar o PDF já criptografado a partir do HTML.

AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO DE PROPRIEDADE DA EMPRESA, SENDO PROIBIDA A UTILIZAÇÃO FORA DA SUA FINALIDADE.
Thommen Campos Engenharia e Construções LTDA - CNPJ: 11.535.128/0001-76 - Inscrição Municipal: 2749734

Página 5 - 6
4.4. CRIANDO UM MODELO DE CÓDIGO

<?php
// Nome do arquivo HTML a ser convertido
$html_filename = 'unidades_solicitacao/arquivo.html';
// Caminho para a pasta de conversão de arquivos
$convert_folder = 'unidades_solicitacao/convertidos/';
// Nome do arquivo PDF a ser gerado
$pdf_filename = 'arquivo.pdf';
// Caminho para o Ghostscript
$gs_path = 'plugins/ghostscript/bin/gs';
// Definir o comando Ghostscript para criptografar o PDF
$gs_cmd = "$gs_path -sDEVICE=pdfwrite -sOutputFile=$convert_folder$pdf_filename -
sOwnerPassword=senha -sEncryptionAlgorithm=AES -sKeyLength=128 -c \"30000000
setvmthreshold\" -f $convert_folder$pdf_filename";
// Definir o comando do Google Chrome para converter o arquivo HTML em PDF
$chrome_cmd = "/usr/bin/google-chrome --headless --disable-gpu --print-to-
pdf=$convert_folder$pdf_filename http://nbrsystem.acusticafacil.com.br/$html_filename";
// Executar o comando do Google Chrome
exec($chrome_cmd);
// Executar o comando do Ghostscript para criptografar o PDF
exec($gs_cmd);
// Gerar uma chave criptográfica de 128 bits
$key = bin2hex(openssl_random_pseudo_bytes(16));
// Salvar a chave criptográfica em um arquivo de texto com o mesmo nome do PDF
$key_filename = str_replace('.pdf', '.txt', $pdf_filename);
file_put_contents($convert_folder . $pdf_filename . '/' . $key_filename, $key);
?>
Este código faz o seguinte:
1. Define as variáveis necessárias, como o nome do arquivo HTML a ser convertido, o caminho
para a pasta de conversão de arquivos, o nome do arquivo PDF a ser gerado e o caminho
para o Ghostscript.
2. Define o comando do Ghostscript para criptografar o PDF usando uma senha e uma chave de
criptografia de 128 bits.
3. Define o comando do Google Chrome para converter o arquivo HTML em PDF.
4. Executa o comando do Google Chrome para gerar o PDF.
5. Executa o comando do Ghostscript para criptografar o PDF gerado pelo Google Chrome.
6. Gera uma chave criptográfica de 128 bits.
7. Salva a chave criptográfica em um arquivo de texto com o mesmo nome do PDF, dentro de
uma subpasta, criada dinamicamente, com o mesmo nome do PDF, dentro da pasta
"unidades_solicitacao/convertidos".
Lembre-se de adaptar o código para as suas necessidades específicas, como ajustar os caminhos e nomes
de arquivos e pastas de acordo com a estrutura do seu servidor. Além disso, certifique-se de ter as
permissões corretas de arquivo e pasta para executar as operações de conversão e gravação de arquivos.

AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO DE PROPRIEDADE DA EMPRESA, SENDO PROIBIDA A UTILIZAÇÃO FORA DA SUA FINALIDADE.
Thommen Campos Engenharia e Construções LTDA - CNPJ: 11.535.128/0001-76 - Inscrição Municipal: 2749734

Página 6 - 6

Você também pode gostar