<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivo para Criptografia - Bóson Treinamentos em Ciência e Tecnologia</title>
	<atom:link href="https://www.bosontreinamentos.com.br/tag/criptografia/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bosontreinamentos.com.br/tag/criptografia/</link>
	<description>Artigos e Tutoriais sobre Desenvolvimento de Software, Bancos de Dados SQL, Linux, Lógica de Programação, Inteligência Artificial, Hardware, Eletrônica, Arduino, Técnicas e Teorias de Estudo e Aprendizagem, Carreira em TI, Ciências Cognitivas, e muito mais!</description>
	<lastBuildDate>Wed, 09 Jul 2025 10:50:13 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>Como instalar o navegador Tor no Linux Mint e similares</title>
		<link>https://www.bosontreinamentos.com.br/linux/como-instalar-o-navegador-tor-no-linux-mint-e-similares/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/como-instalar-o-navegador-tor-no-linux-mint-e-similares/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Wed, 04 Dec 2024 14:01:17 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Criptografia]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Segurança]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20674</guid>

					<description><![CDATA[<p>Como instalar o Tor no Linux Mint e similares Neste tutorial veremos como realizar a instalação do navegador Tor no sistema operacional Linux Mint e similares, por meio de comandos do terminal. O Tor é uma ferramenta muito importante para os usuários que priorizam segurança e anonimato na Internet. O que ele faz é rotear seu tráfego web por meio da rede Tor, que consiste em milhares de servidores mantidos por voluntários ao redor do globo, criptografando os dados durante todo o processo. Assim, suas atividades na Web permanecem anônimas e seguras. A página oficial do projeto Tor é https://www.torproject.org/. Por padrão, o Mint traz como navegador instalado apenas o Mozilla Firefox, mas não traz o Tor Browser, e se você precisar utilizar essa opção de navegador (por segurança, por exemplo), deve instalá-lo manualmente no sistema. Vamos aos passos para realizar a instalação do navegador Tor no Linux. Atualizar o sistema Antes de iniciar, vamos atualizar a lista de repositórios e os pacotes do sistema, para garantir que todas as versões dos pacotes instalados sejam as mais recentes: $ sudo apt update &#38;&#38; sudo apt upgrade Dependendo da quantidade de pacotes que necessitam de atualização, o sistema pode levar algum [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/como-instalar-o-navegador-tor-no-linux-mint-e-similares/">Como instalar o navegador Tor no Linux Mint e similares</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Como instalar o Tor no Linux Mint e similares</h1>
<p>Neste tutorial veremos como realizar a instalação do navegador Tor no sistema operacional Linux Mint e similares, por meio de comandos do terminal.</p>
<p>O Tor é uma ferramenta muito importante para os usuários que priorizam segurança e anonimato na Internet. O que ele faz é rotear seu tráfego web por meio da rede Tor, que consiste em milhares de servidores mantidos por voluntários ao redor do globo, criptografando os dados durante todo o processo.</p>
<p>Assim, suas atividades na Web permanecem anônimas e seguras.</p>
<p>A página oficial do projeto Tor é <a href="https://www.torproject.org/" target="_blank" rel="noopener">https://www.torproject.org/</a>.</p>
<p>Por padrão, o Mint traz como navegador instalado apenas o Mozilla Firefox, mas não traz o Tor Browser, e se você precisar utilizar essa opção de navegador (por segurança, por exemplo), deve instalá-lo manualmente no sistema.</p>
<p>Vamos aos passos para realizar a instalação do navegador Tor no Linux.</p>
<h2>Atualizar o sistema</h2>
<p>Antes de iniciar, vamos atualizar a lista de repositórios e os pacotes do sistema, para garantir que todas as versões dos pacotes instalados sejam as mais recentes:</p>
<pre><strong>$ sudo apt update &amp;&amp; sudo apt upgrade</strong></pre>
<p>Dependendo da quantidade de pacotes que necessitam de atualização, o sistema pode levar algum tempo até finalizar todo o processo. Apenas aguarde.</p>
<p>Assim também evitamos que ocorra algum problema de compatibilidade entre pacotes ao instalar o Tor.</p>
<h2>Métodos de Instalação</h2>
<p>O Tor pode ser instalado de mais de uma forma distinta. Neste tutorial veremos primeiramente como instalar o Tor baixando o navegador a partir do website oficial, o que garante que tenhamos a versão mais atualizada do software para a instalação.</p>
<p>Uma outra forma de instalar o navegador é usando o comando flatpak e um repositório flathub.</p>
<h2>Baixar o pacote de instalação do Tor</h2>
<p>Para baixar o pacote de instalação mais atual do Tor, executamos o seguinte comando no terminal:</p>
<pre><strong>$ wget https://dist.torproject.org/torbrowser/14.0.3/tor-browser-linux-x86_64-14.0.3.tar.xz</strong></pre>
<p>Neste caso estamos fazendo download da versão 14.0.3 do Tor. Pode ser que haja uma versão mais recente disponível, e para verificar visite a página <a href="https://www.torproject.org/download/" target="_blank" rel="noopener">https://www.torproject.org/download/</a>.</p>
<p>Caso haja uma versão mais recente, apenas mude seu número no comando antes de executá-lo.</p>
<h2>Extrair o arquivo</h2>
<p>O instalador do Tor baixado é um arquivo compactado com extensão .xz. Devemos descompactá-lo antes de poder rodar a instalação. Podemos fazer isso com o <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/arquivar-e-comprimir-arquivos-com-comando-tar-no-linux/">comando tar</a>, como segue (mude o número da versão para a que você tiver baixado):</p>
<pre><strong>$ tar -xvJf tor-browser-linux-x86_64-14.0.3.tar.xz</strong></pre>
<p>O conteúdo do arquivo será extraído para um diretório de nome <strong>tor-browser</strong> no local atual.</p>
<h2>Diretório de instalação do Tor</h2>
<p>Provavelmente você baixou e extraiu o conteúdo do pacote em seu diretório pessoal de Downloads. Porém, este não é um local adequado para armazenar os programas que baixamos e instalamos da Internet. Vamos mover a pasta descompactada do Tor para um local mais conveniente, como por exemplo o diretório /opt (ou outro de sua preferência):</p>
<pre><strong>$ sudo mv tor-browser /opt/</strong></pre>
<p>O diretório <strong>/opt</strong> é adequado para armazenar aplicativos de terceiros no sistema. Note que precisamos de privilégios de administrador (sudo) para realizar essa operação. Outro diretório comumente usado é o <strong>/usr/local/share/</strong>.</p>
<p>Entre no diretório logo a seguir:</p>
<pre><strong>$ cd /opt/tor-browser</strong></pre>
<p>Agora, vamos registrar o Tor como uma aplicação Desktop no sistema:</p>
<pre><strong>$ ./start-tor-browser.desktop --register-app</strong></pre>
<p>A opção <strong>&#8211;register-app</strong> informa ao sistema para registrar o aplicativo Tor Browser no ambiente de desktop.<br />
Isso também cria atalhos no menu do sistema e integra o navegador como uma aplicação padrão.</p>
<p>Assim, o Tor Browser será configurado no sistema para ser acessado diretamente por meio do menu de aplicativos, sem a necessidade de navegar até o diretório e executar manualmente o arquivo.</p>
<h2>Executar o Navegador Tor</h2>
<p>Para abrir o navegador Tor basta acessar o atalho criado no menu do sistema, como segue:</p>
<pre><span style="color: #800080;"><strong>Menu → Internet → Tor</strong></span></pre>
<h2>Testar o Tor</h2>
<p>Para abrir o navegador após a instalação, clique no atalho que foi criado automaticamente na GUI em <strong>Menu → Internet → Tor Browser</strong>.</p>
<p>Ao abrir o Tor pela primeira vez, você terá as opções de configurar uma conexão ou conectar à rede Tor , respectivamente nos botões &#8220;Configure a Conexão&#8230;&#8221; e &#8220;Conectar&#8221;.</p>
<p><img decoding="async" class="aligncenter wp-image-20677" title="Conexão à rede do Tor no Linux" src="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/conectar-tor-linux-1024x393.jpg" alt="Conexão à rede do Tor no Linux" width="701" height="269" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/conectar-tor-linux-1024x393.jpg 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/conectar-tor-linux-420x161.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/conectar-tor-linux-768x295.jpg 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/12/conectar-tor-linux.jpg 1198w" sizes="(max-width: 701px) 100vw, 701px" /></p>
<p>A opção Conectar é a ideal para navegação em geral, e te conecta à rede do Tor usando configurações padrão.</p>
<p>Já a opção Configure a Conexão&#8230; é importante para locais com acesso restrito à Internet, como lugares onde há censura, ou ainda quando o usuário precisa de alguma configuração avançada de conexão, como servidores proxy e pontes Tor.</p>
<p>No geral, clicar na opção Conectar já é o suficiente para começar a usar o navegador Tor. Dependendo do local onde você está e da rede ao qual está se conectando, essa conexão pode levar até cerca de 60 segundos para ocorrer.</p>
<p>Quando o processo de conexão finalizar, você será redirecionado para a página padrão do Tor. Por padrão, o navegador usa o mecanismo de busca DuckDuckGo.</p>
<p>É isso aí! Instalação do navegador Tor realizada com sucesso no Linux Mint!</p>
<h2>Remover o Tor do Linux</h2>
<p>Caso você queira desinstalar o Tor do Linux, execute o seguinte comando no terminal:</p>
<pre><strong>$ sudo rm -r /opt/tor-browser</strong></pre>
<p>O comando apaga o diretório dos arquivos do Tor por completo.</p>
<p>Também devemos excluir o atalho da interface gráfica que foi criado ao registrar a aplicação. Para tal, executamos o comando a seguir:</p>
<pre><strong>$ sudo rm ~/.local/share/applications/start-tor-browser.desktop</strong></pre>
<h2>Instalação usando Flatpak e Flathub</h2>
<p>O <strong>Flatpak</strong> é um sistema de distribuição de aplicativos para Linux que permite aos desenvolvedores empacotar e distribuir software de forma independente da distribuição Linux utilizada pelo usuário. Ele cria um ambiente isolado (<em>sandbox</em>) para cada aplicativo, incluindo todas as suas dependências, o que garante que o software funcione de maneira consistente em diferentes sistemas.</p>
<p>Já o <strong>Flathub</strong> é um repositório central para os aplicativos distribuídos no formato Flatpak. Ele permite que os usuários instalem, atualizem e gerenciem aplicativos de forma universal, independente da distro usada.</p>
<p>Vamos habilitar o Flathub no Linux (geralmente está por padrão) rodando o seguinte comando:</p>
<pre><strong>$ sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo</strong></pre>
<p>Após habilitar o Flathub, procedemos à instalação do Tor executando o comando a seguir:</p>
<pre><strong>$ flatpak install flathub org.torproject.torbrowser-launcher/x86_64/stable -y</strong></pre>
<p>Os pacotes necessários serão automaticamente baixados e instalados no sistema.</p>
<h3>Remover Tor instalado via Flatpak</h3>
<p>Para desinstalar o navegador Tor que foi instalado usando o Flaspak, basta rodar o comando a seguir:</p>
<pre><strong>$ flatpak remove --delete-data org.torproject.torbrowser-launcher/x86_64/stable -y</strong></pre>
<h2>Conclusão</h2>
<p>Neste tutorial vimos como efetuar a instalação do navegador Tor no Linux, de forma bastante simples, que envolve o download do instalador e o uso de alguns comandos no terminal do sistema. Nos próximos tutoriais veremos como instalar outros navegadores no Linux, como os navegadores <a href="https://www.bosontreinamentos.com.br/linux/como-instalar-o-google-chrome-no-linux-mint-e-similares/">Google Chrome</a>, Vivaldi e o Bravo, entre outros.</p>
<p>Enquanto isso, aproveite para assistir a um vídeo tutorial de instalação do navegador Tor no Linux, caso prefira esse formato de aprendizado:</p>
<p><iframe loading="lazy" title="YouTube video player" src="https://www.youtube.com/embed/AVS2jra8R3U?si=HKHLd_94P5htFvuF" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<h3>Colabore com a Bóson Treinamentos</h3>
<p>Ajude o canal adquirindo meus cursos na Udemy:</p>
<ul>
<li>Bancos de Dados com MySQL Básico: <a href="https://bit.ly/35QdWE4" target="_blank" rel="noopener">https://bit.ly/35QdWE4</a></li>
<li>Lógica de Programação com Português Estruturado: <a href="https://bit.ly/3QKPn22" target="_blank" rel="noopener">https://bit.ly/3QKPn22</a></li>
<li>Programação em Python do Zero: <a href="https://bit.ly/python-boson" target="_blank" rel="noopener">https://bit.ly/python-boson</a></li>
</ul>
<p>Adquira também livros e outros itens na loja da Bóson Treinamentos na Amazon e ajude o canal a se manter e crescer: <a href="https://www.amazon.com.br/shop/bosontreinamentos" target="_blank" rel="noopener">https://www.amazon.com.br/shop/bosontreinamentos</a></p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/como-instalar-o-navegador-tor-no-linux-mint-e-similares/">Como instalar o navegador Tor no Linux Mint e similares</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/como-instalar-o-navegador-tor-no-linux-mint-e-similares/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>O que é Rainbow Table em Criptografia</title>
		<link>https://www.bosontreinamentos.com.br/seguranca/o-que-e-rainbow-table/</link>
					<comments>https://www.bosontreinamentos.com.br/seguranca/o-que-e-rainbow-table/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 06 Dec 2019 22:17:40 +0000</pubDate>
				<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Criptografia]]></category>
		<category><![CDATA[Hacker]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=15898</guid>

					<description><![CDATA[<p>O que é Rainbow Table É extremamente comum armazenarmos uma senha em um bancos de dados usando um hash criptográfico computado a partir dessas senhas. Assim, em teoria, se alguém conseguir acessar a tabela que armazena esses hashes, não poderá saber qual é a senha que o gerou, pois as funções de hash empregadas são funções de uma via (one-way), o que significa que o algoritmo não é reversível. Porém, isso não garante efetivamente que seja impossível descobrir as senhas. Existem técnicas que podem levar um indivíduo mal-intencionado a obter senhas de forma indevida, como ataques de força bruta e ataques de dicionário &#8211; mas o tipo de ataque que pode ser mais efetivo neste caso é o emprego de Rainbow Tables. Rainbow Table é um método para descobrir senhas a partir de hashes, de forma rápida. A ideia básica é pré-computar uma longa lista de senhas, com seus respectivos hashes gerados por algum algoritmo específico, e armazenar essa lista em um arquivo, no formato de uma tabela. Assim, é possível reverter uma função de hash criptográfico. Uma rainbow table pode conter muitos bilhões de hashes com as respectivas senhas que os geraram, podendo ser consultada em questão de segundos. [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/seguranca/o-que-e-rainbow-table/">O que é Rainbow Table em Criptografia</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>O que é Rainbow Table</h2>
<p>É extremamente comum armazenarmos uma senha em um bancos de dados usando um hash criptográfico computado a partir dessas senhas. Assim, em teoria, se alguém conseguir acessar a tabela que armazena esses hashes, não poderá saber qual é a senha que o gerou, pois as funções de hash empregadas são funções de uma via (one-way), o que significa que o algoritmo não é reversível.</p>
<p>Porém, isso não garante efetivamente que seja impossível descobrir as senhas. Existem técnicas que podem levar um indivíduo mal-intencionado a obter senhas de forma indevida, como ataques de força bruta e ataques de dicionário &#8211; mas o tipo de ataque que pode ser mais efetivo neste caso é o emprego de Rainbow Tables.</p>
<p><strong>Rainbow Table</strong> é um método para descobrir senhas a partir de <strong>hashes</strong>, de forma rápida. A ideia básica é pré-computar uma longa lista de senhas, com seus respectivos hashes gerados por algum algoritmo específico, e armazenar essa lista em um arquivo, no formato de uma tabela. Assim, é possível reverter uma função de hash criptográfico.</p>
<p>Uma rainbow table pode conter muitos bilhões de hashes com as respectivas senhas que os geraram, podendo ser consultada em questão de segundos. Assim, a partir de um hash, é possível retornar a senha correspondente.</p>
<h3>Exemplo</h3>
<p>Suponha que o usuário Fábio use a senha <strong>LaranjaLima</strong> para se logar em um sistema. Essa senha, após ser criptografada usando um algoritmo de hash como o MD5, fica assim:</p>
<pre><strong>58D8295B3B5966D00DFC5304544D806F</strong></pre>
<p>Este é o hash MD5 da senha fornecida, que para este exemplo gerei usando um <a href="https://passwordsgenerator.net/md5-hash-generator/" target="_blank" rel="noopener">gerador de hash online</a>, e que seria armazenado no banco de dados de senhas do sistema. A partir desse hash, não há função que permita determinar a senha original.</p>
<p>Porém, se este hash for fornecido a uma aplicação que utilize rainbow tables, pode ser possível descobrir a senha que o originou. Existem inclusive bancos de dados de hashes online para descobrir senhas de hashes comuns &#8211; vamos testar esse hash no site <a href="https://hashkiller.co.uk/Cracker" target="_blank" rel="noopener">HashKiller</a>:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-15917" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/rainbow-table-crack-MD5-hash.png" alt="Quebrar senha hash MD5 com rainbow table" width="476" height="128" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/rainbow-table-crack-MD5-hash.png 476w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/rainbow-table-crack-MD5-hash-420x113.png 420w" sizes="auto, (max-width: 476px) 100vw, 476px" /></p>
<p>Note que ao fornecer o hash da senha, o site retornou imediatamente a senha que escolhemos. Nível de segurança dessa senha com a criptografia MD5? Quase nulo, como podemos ver.</p>
<h3>Onde encontrar Rainbow Tables</h3>
<p>Muitos sites na Internet distribuem rainbow tables para download, como por exemplo o <a href="https://freerainbowtables.com/" target="_blank" rel="noopener">Free Rainbow Tables</a>, em arquivos que podem chegar a vários Terabytes (TB) de tamanho.</p>
<h3>Como se proteger contra Rainbow Tables</h3>
<p>A forma mais prática e efetiva de evitar o emprego de rainbow tables para descobrir senhas é o <a href="http://www.bosontreinamentos.com.br/seguranca/o-que-e-salt-em-criptografia/">uso de salt na hora de criar o hash de uma senha</a>. Isso basicamente anula o valor das tabelas, pois é praticamente impossível computar previamente os hashes de todas as combinações de caracteres gerados pela combinação de senhas com strings de salt &#8211; desde que sejam longas.</p>
<p>Além disso, alguns algoritmos são mais seguros que outros, tornando difícil o processo de criação de rainbow tables. Evite usar algoritmos de hash vulneráveis, como o MD5 e o SHA1, por exemplo.</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/seguranca/o-que-e-rainbow-table/">O que é Rainbow Table em Criptografia</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/seguranca/o-que-e-rainbow-table/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>O que é Salt em criptografia</title>
		<link>https://www.bosontreinamentos.com.br/seguranca/o-que-e-salt-em-criptografia/</link>
					<comments>https://www.bosontreinamentos.com.br/seguranca/o-que-e-salt-em-criptografia/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 06 Dec 2019 22:10:45 +0000</pubDate>
				<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Criptografia]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=9991</guid>

					<description><![CDATA[<p>O que é Salt Um salt é, basicamente, uma cadeia de caracteres aleatória concatenada com uma senha, passphrase ou arquivo antes de efetuar uma operação de hash. O salt pode ser anexado antes ou depois desses dados, e o uso do salt permite que o hash gerado seja completamente diferente toda vez que for gerado, mesmo que a senha seja idêntica. Assim, por exemplo, se dois usuários escolherem a mesma senha para login em um sistema, o hash de ambas será completamente diferente, por conta do salt adicionado (que será diferente, por ser aleatório). Chamamos comumente a essa operação de salgar a senha. O valor de salt gerado é armazenado no banco de dados juntamente com o hash, pois ele será necessário quando do processo de verificação da senha &#8211; por exemplo, quando um usuário tenta se logar em um sistema com suas credenciais. O emprego de salt inutiliza as técnicas empregadas para descobrir senhas hasheadas, como rainbow tables, tabelas de lookup e de lookup reverso, por exemplo. Como o hacker não tem como saber de antemão os valores de salts que serão empregados ao criar os hashes de senha, se torna impossível gerar tabelas de senhas com seus respectivos [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/seguranca/o-que-e-salt-em-criptografia/">O que é Salt em criptografia</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>O que é Salt</h2>
<p>Um <strong>salt</strong> é, basicamente, uma cadeia de caracteres aleatória concatenada com uma senha, passphrase ou arquivo antes de efetuar uma operação de hash. O salt pode ser anexado antes ou depois desses dados, e o uso do salt permite que o hash gerado seja completamente diferente toda vez que for gerado, mesmo que a senha seja idêntica.</p>
<p>Assim, por exemplo, se dois usuários escolherem a mesma senha para login em um sistema, o hash de ambas será completamente diferente, por conta do salt adicionado (que será diferente, por ser aleatório).</p>
<p>Chamamos comumente a essa operação de <strong><em>salgar a senha</em></strong>.</p>
<p>O valor de salt gerado é armazenado no banco de dados juntamente com o hash, pois ele será necessário quando do processo de verificação da senha &#8211; por exemplo, quando um usuário tenta se logar em um sistema com suas credenciais.</p>
<p>O emprego de salt inutiliza as técnicas empregadas para descobrir senhas hasheadas, como rainbow tables, tabelas de lookup e de lookup reverso, por exemplo. Como o hacker não tem como saber de antemão os valores de salts que serão empregados ao criar os hashes de senha, se torna impossível gerar tabelas de senhas com seus respectivos hashes (como Rainbow Tables).</p>
<p>Além disso,seu uso impede que duas senhas iguais tenham o mesmo valor de hash.</p>
<p>Os salts são gerados usando bibliotecas e funções do tipo <strong>CSPRNG</strong> (<em>Cryptographically Secure Pseudo-Random Number Generator</em>), ou Gerador de Números Pseudo-Aleatórios Criptograficamente Seguros, que estão disponíveis na maioria das linguagens de programação.</p>
<p>Exemplos dessas bibliotecas e funções em algumas linguagens de programação incluem:</p>
<ul>
<li>C &#8211;<a href="http://man7.org/linux/man-pages/man2/getrandom.2.html" target="_blank" rel="noopener"> getrandom()</a></li>
<li>Java &#8211;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/security/SecureRandom.html" target="_blank" rel="noopener">java.security.SecureRandom</a></li>
<li>Python &#8211; <a href="https://docs.python.org/3/library/secrets.html#module-secrets" target="_blank" rel="noopener">secrets()</a></li>
<li>PHP &#8211; <a href="http://www.bosontreinamentos.com.br/php-programming/armazenando-senhas-de-forma-segura-em-php-funcoes-de-hash/">password_hash()</a>,&nbsp;<a href="https://www.php.net/manual/en/function.random-bytes.php" target="_blank" rel="noopener">random_bytes()</a></li>
<li>C# &#8211;&nbsp;<a href="https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.rngcryptoserviceprovider?view=netframework-4.8" target="_blank" rel="noopener">RNGCryptoServiceProvider</a></li>
<li>Ruby &#8211; <a href="https://ruby-doc.org/stdlib-2.5.1/libdoc/securerandom/rdoc/SecureRandom.html" target="_blank" rel="noopener">Securerandom</a></li>
</ul>
<h3>Exemplo</h3>
<p>Suponha que um usuário deseja se cadastrar em um sistema online, criando um nome de usuário e uma senha, a saber: usuário <strong>fabio</strong> e senha <strong>a1s2d3fH</strong>. Precisamos armazenar esse par de valores em um banco de dados (BD) para permitir que o usuário seja capaz de fazer logon sempre que for necessário em sua conta.</p>
<p>Evidentemente não vamos armazenar essa senha no BD, por questões de segurança &#8211; afinal, qualquer um que tenha acesso à tabela do banco de dados poderia obter a senha instantaneamente. O que devemos armazenar é um hash dessa senha &#8211; o valor fornecido de senha será processado por um algoritmo de hash criptográfico.</p>
<p>Porém, mesmo essa técnica não é segura, pois é relativamente fácil encontrar tabelas de senhas com seus respectivos hashes pré-calculados na Internet (chamadas de <a href="http://www.bosontreinamentos.com.br/seguranca/o-que-e-rainbow-table/"><em>Rainbow Tables</em></a>) &#8211; assim, de posse do hash em si é possível descobrir qual senha foi utilizada para gerá-lo.</p>
<p>Para evitar esse problema usamos o salt.</p>
<p>Geramos um salt criptográfico aleatório (que nunca deve ser reutilizado) e o concatenamos com a senha fornecida pelo usuário, antes de efetuar a operação de hashing. Assim, suponhamos que foi gerado um salt com a sequência de caracteres <strong>hfwoffw8k0*4Mj&amp;jk</strong>. Esse salt será concatenado com a senha:</p>
<pre><strong>hfwoffw8k0*4Mj&amp;jka1s2d3fH</strong></pre>
<p>E esse conjunto alimentará a função de hash:</p>
<pre><strong>hash = fHash(hfwoffw8k0*4Mj&amp;jka1s2d3fH)</strong></pre>
<p>O valor de hash retornado será armazenado no banco de dados. E o salt empregado também deve ser armazenado, para que seja possível validar a senha posteriormente, quando o usuário desejar entrar no dito sistema novamente:</p>
<table style="border-collapse: collapse; width: 100%;" border="1">
<tbody>
<tr>
<td style="width: 19.8015%; text-align: center;"><strong>Usuario</strong></td>
<td style="width: 48.7596%; text-align: center;"><strong>HashSenha</strong></td>
<td style="width: 31.4388%; text-align: center;"><strong>Salt</strong></td>
</tr>
<tr>
<td style="width: 19.8015%; text-align: center;">fabio</td>
<td style="width: 48.7596%; text-align: center;">fhd#yrfkY6iuhUhygYGytrYT5jh&amp;)dnfnuh&amp;H.U</td>
<td style="width: 31.4388%; text-align: center;">hfwoffw8k0*4Mj&amp;jk</td>
</tr>
</tbody>
</table>
<h3>Resumindo os passos para armazenar senhas de forma segura com salt</h3>
<p><strong>Como armazenar uma senha de forma segura em um banco de dados</strong></p>
<ol>
<li>Gere um salt longo e aleatório usando um CSPRNG.</li>
<li>Anexe o salt gerado à senha escolhida pelo usuário e então crie um hash usando uma função de hash de senha padrão, como <a href="http://www.bosontreinamentos.com.br/linux/utilitario-de-criptografia-bcrypt-no-linux/">bcrypt</a>, scrypt, PBKDF2, ou outra comum.</li>
<li>Salve tanto o hash gerado quanto o salt em campos no banco de dados.</li>
</ol>
<p><strong>Como verificar uma senha</strong></p>
<ol>
<li>Obtenha o salt e o hash armazenados no banco de dados.</li>
<li>Anexe o salt à senha fornecida pelo usuário e crie o hash usando a mesma função de hash usada ao armazenar a senha.</li>
<li>Compare o hash da senha fornecida com o hash armazenado banco de dados. Se eles forem iguais, significa que a senha fornecida está correta. Caso contrário, a senha está errada.</li>
</ol>
<h3>Conclusão</h3>
<p>O emprego de salt aumenta brutalmente a segurança ao criptografar dados usando algoritmos de hash, e é imprescindível que o utilizemos em todos os sistemas que exijam autenticação em algum ponto.</p>
<p>Leia mais sobre o <a href="http://www.bosontreinamentos.com.br/linux/utilitario-de-criptografia-bcrypt-no-linux/">utilitário de criptografia bcrypt</a> aqui.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/seguranca/o-que-e-salt-em-criptografia/">O que é Salt em criptografia</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/seguranca/o-que-e-salt-em-criptografia/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>O arquivo de senhas /etc/shadow no Linux</title>
		<link>https://www.bosontreinamentos.com.br/linux/o-arquivo-de-senhas-etc-shadow-no-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/o-arquivo-de-senhas-etc-shadow-no-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 26 Oct 2018 14:50:03 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Criptografia]]></category>
		<category><![CDATA[Segurança]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=13430</guid>

					<description><![CDATA[<p>O arquivo de senhas /etc/shadow no Linux O arquivo do sistema /etc/shadow é usado para armazenar as senhas dos usuários criptografadas no linux, além de informações sobre datas de expiração e validade das contas. Esse arquivo somente pode ser lido pelo usuário root ou membros do grupo shadow, possuindo permissões bem restritivas, como por exemplo a permissão -rw-r&#8212;&#8211; . Essas permissões podem variar um pouco dependendo do sistema considerado: Veja um trecho do arquivo e note os campos de dados, são delimitados por : (dois-pontos) A definição desses campos é apresentada a seguir, em ordem: Nome de acesso É nome da conta do usuário; o UID não e usado neste arquivo, e o nome de usuário e vinculado às entradas de /etc/passwd; Senha criptografada Armazenada de forma criptografada &#8211; na verdade, trata-se de um hash da senha; se houver um asterisco ou ponto de exclamação significa que a conta não possui senha, ou seja, essa conta não aceita login &#8211; está travada. Comum em contas do sistema. O comando usermod -L adiciona um símbolo ! a este campo para bloquear a conta. Ultima mudança de senha Data da ultima alteração de senha, armazenada como o número de dias decorridos desde 01/01/1970. Dias [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/o-arquivo-de-senhas-etc-shadow-no-linux/">O arquivo de senhas /etc/shadow no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>O arquivo de senhas /etc/shadow no Linux</h2>
<p>O arquivo do sistema <strong>/etc/shadow</strong> é usado para armazenar as senhas dos usuários criptografadas no linux, além de informações sobre datas de expiração e validade das contas.</p>
<p>Esse arquivo somente pode ser lido pelo usuário root ou membros do grupo shadow, possuindo permissões bem restritivas, como por exemplo a permissão <strong>-rw-r&#8212;&#8211;</strong> . Essas permissões podem variar um pouco dependendo do sistema considerado:<img loading="lazy" decoding="async" class="aligncenter wp-image-13431 size-full" title="Arquivo de senhas shadow no Linux" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-senhas-linux-01.png" alt="Arquivo de senhas shadow no Linux" width="639" height="34" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-senhas-linux-01.png 639w, https://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-senhas-linux-01-420x22.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-senhas-linux-01-620x34.png 620w" sizes="auto, (max-width: 639px) 100vw, 639px" /></p>
<p>Veja um trecho do arquivo e note os campos de dados, são delimitados por <strong>:</strong> (dois-pontos)<img loading="lazy" decoding="async" class="aligncenter wp-image-13432 size-full" title="Conteúdo do arquivo de senhas shadow do Linux" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-arquivo-linux-dados-02.png" alt="Conteúdo do arquivo de senhas shadow do Linux" width="722" height="160" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-arquivo-linux-dados-02.png 722w, https://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-arquivo-linux-dados-02-420x93.png 420w" sizes="auto, (max-width: 722px) 100vw, 722px" /></p>
<p>A definição desses campos é apresentada a seguir, em ordem:</p>
<ul>
<li>Nome de acesso
<ul>
<li>É nome da conta do usuário; o UID não e usado neste arquivo, e o nome de usuário e vinculado às entradas de /etc/passwd;</li>
</ul>
</li>
<li>Senha criptografada
<ul>
<li>Armazenada de forma criptografada &#8211; na verdade, trata-se de um hash da senha; se houver um asterisco ou ponto de exclamação significa que a conta não possui senha, ou seja, essa conta não aceita login &#8211; está travada. Comum em contas do sistema.<br />
O comando <strong>usermod -L</strong> adiciona um símbolo<strong> !</strong> a este campo para bloquear a conta.</li>
</ul>
</li>
<li>Ultima mudança de senha
<ul>
<li>Data da ultima alteração de senha, armazenada como o número de dias decorridos desde 01/01/1970.</li>
</ul>
</li>
<li>Dias até que a senha possa ser alterada novamente
<ul>
<li>Número de dias que devem se passar até que seja possível alterar a senha.</li>
</ul>
</li>
<li>Dias antes que uma alteração seja necessária
<ul>
<li>Número de dias após a ultima alteração de senha antes que outra alteração seja requisitada.</li>
</ul>
</li>
<li>Dias de avisos antes da expiração da senha
<ul>
<li>Se o sistema for configurado para expirar senhas, é possível configurá-lo para avisar ao usuário que a data de expiração está se aproximando.</li>
</ul>
</li>
<li>Dias entre expiração e desativação
<ul>
<li>Número de dias que decorrerão entre a expiração da senha e o travamento da conta do usuário. Uma conta expirada não pode ser usada ou pode requerer que o usuário altere sua senha no momento do login; já uma conta desabilitada perde sua senha, e só poderá ser usada novamente quando o administrador a reativar.</li>
</ul>
</li>
<li>Data de expiração
<ul>
<li>Data na qual a conta será desabilitada. A data é expressa como o número de dias decorridos a partir de 01/01/1970. É um campo muito útil para contas temporárias.</li>
</ul>
</li>
<li>Flag especial
<ul>
<li>Este campo é reservado para uso futuro; geralmente se encontra vazio.</li>
</ul>
</li>
</ul>
<p>Os valores -1 e 99999 em alguns dos campos significam que o item em questão está desabilitado.</p>
<p>Para alterar os valores dos campos desse arquivo usamos os comandos usermod, chage e passwd.</p>
<h3>Observações sobre hash da senha armazenado</h3>
<p>A senha, que está no segundo campo, está criptografada. Veja um trecho da senha criptografada do usuário fabio:<img loading="lazy" decoding="async" class="aligncenter wp-image-13433 size-full" title="Senha criptografada no arquivo shadow do Linux" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-senha-criptografada-linux-03.png" alt="Senha criptografada no arquivo shadow do Linux" width="667" height="20" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-senha-criptografada-linux-03.png 667w, https://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-senha-criptografada-linux-03-420x13.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-senha-criptografada-linux-03-620x20.png 620w" sizes="auto, (max-width: 667px) 100vw, 667px" /></p>
<p>E da usuária ana:<img loading="lazy" decoding="async" class="aligncenter wp-image-13434 size-full" title="criptografia de senhas no arquivo shadow do linux - hashes" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-senha-criptografada-linux-04.png" alt="criptografia de senhas no arquivo shadow do linux - hashes" width="687" height="18" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-senha-criptografada-linux-04.png 687w, https://www.bosontreinamentos.com.br/wp-content/uploads/2018/10/shadow-senha-criptografada-linux-04-420x11.png 420w" sizes="auto, (max-width: 687px) 100vw, 687px" /></p>
<p>Ambos usam a mesma senha nesse computador, mas as senhas criptografadas são completamente diferentes.</p>
<p>Na verdade o que está armazenado ali não é a senha em si, mas um hash da senha, que é um valor gerado a partir de um cálculo matemático complexo (algoritmo) aplicado sobre a senha. O único trecho que é igual nas duas senhas são os primeiros caracteres, <strong>$6$</strong>, que indicam qual é o algoritmo de hash que está sendo utilizado no sistema. Neste caso, trata-se de um hash <strong>SHA-512</strong>, altamente seguro.</p>
<p>Outros tipos possíveis e seus códigos são os seguintes:</p>
<ul>
<li>$1 = Algoritmo de hash MD5.</li>
<li>$2 = Algoritmo de hash Blowfish.</li>
<li>$2a= Algoritmo de hash eksblowfish.</li>
<li>$5 = Algoritmo de hash SHA-256.</li>
<li>$6 = Algoritmo de hash SHA-512.</li>
</ul>
<p>Mais informações sobre os hashes e criptografia em geral podem ser vistas no vídeo a seguir:</p>
<p><iframe loading="lazy" src="//www.youtube.com/embed/f8arNurR6rk" width="640" height="360" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>E um vídeo específico sobre o arquivo <strong>/etc/shadow</strong> pode ser assistido abaixo:</p>
<p><iframe loading="lazy" src="https://www.youtube.com/embed/E_scdA206pk" width="640" height="480" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>É isso aí!</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/o-arquivo-de-senhas-etc-shadow-no-linux/">O arquivo de senhas /etc/shadow no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/o-arquivo-de-senhas-etc-shadow-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Servidor SSH &#8211; Conceitos básicos e conexão por senha no Linux</title>
		<link>https://www.bosontreinamentos.com.br/seguranca/ssh-conceitos-basicos-e-conexao-por-senha-no-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/seguranca/ssh-conceitos-basicos-e-conexao-por-senha-no-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 26 Oct 2018 14:23:39 +0000</pubDate>
				<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Criptografia]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=13427</guid>

					<description><![CDATA[<p>Servidor SSH &#8211; Conceitos básicos e conexão por senha no Linux Nesta lição vamos aprender a usar o protocolo SSH para efetuar acesso remoto a um sistema Linux Debian (e derivados), usando uma conexão por meio de senha. Instalaremos o pacote de código aberto OpenSSH para nossos testes. Servidor SSH (Secure Shell) Trata-se de um protocolo de rede seguro utilizado para administração e acesso remotos em servidores Linux (e outros tipos de sistemas operacionais) que permite a comunicação com nível elevado de segurança através do uso de criptografia entre os clientes e o servidor SSH. Para instalá-lo no Debian e derivados, use o comando a seguir: # apt-get install openssh-server Após instalar o serviço, verifique se ele está em execução: # service ssh status Para iniciar o programa (se necessário) use o comando a seguir: # /etc/init.d/ssh start ou ainda # service ssh start Após a instalação do OpenSSH será necessário gerar as chaves de criptografia que serão utilizadas durante os processos de autenticação e transferência de dados. Para isso, digite o seguinte comando no terminal: # ssh-keygen –t rsa Pressione &#60;enter&#62; quando perguntado sobre os locais para armazenamento das chaves. Isso irá gerar as chaves de criptografia no padrão [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/seguranca/ssh-conceitos-basicos-e-conexao-por-senha-no-linux/">Servidor SSH &#8211; Conceitos básicos e conexão por senha no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Servidor SSH &#8211; Conceitos básicos e conexão por senha no Linux</h2>
<p>Nesta lição vamos aprender a usar o protocolo SSH para efetuar acesso remoto a um sistema Linux Debian (e derivados), usando uma conexão por meio de senha. Instalaremos o pacote de código aberto OpenSSH para nossos testes.</p>
<h3>Servidor SSH (Secure Shell)</h3>
<p>Trata-se de um protocolo de rede seguro utilizado para administração e acesso remotos em servidores Linux (e outros tipos de sistemas operacionais) que permite a comunicação com nível elevado de segurança através do uso de criptografia entre os clientes e o servidor SSH.</p>
<p>Para instalá-lo no Debian e derivados, use o comando a seguir:</p>
<pre><span style="color: #ff0000;"><strong># apt-get install openssh-server</strong></span></pre>
<p>Após instalar o serviço, verifique se ele está em execução:</p>
<pre><span style="color: #ff0000;"><strong># service ssh status</strong></span></pre>
<p>Para iniciar o programa (se necessário) use o comando a seguir:</p>
<pre><span style="color: #ff0000;"><strong># /etc/init.d/ssh start</strong></span></pre>
<p>ou ainda</p>
<pre><span style="color: #ff0000;"><strong># service ssh start</strong></span></pre>
<p>Após a instalação do <strong>OpenSSH</strong> será necessário gerar as chaves de criptografia que serão utilizadas durante os processos de autenticação e transferência de dados. Para isso, digite o seguinte comando no terminal:</p>
<pre><span style="color: #ff0000;"><strong># ssh-keygen –t rsa</strong></span></pre>
<p>Pressione <span style="color: #ff0000;"><strong>&lt;enter&gt;</strong></span> quando perguntado sobre os locais para armazenamento das chaves. Isso irá gerar as chaves de criptografia no padrão RSA. Verifique o local onde as chaves serão salvas. Serão gerados dois arquivos: <strong>id_rsa</strong> e <strong>id_rsa.pub</strong>, que correspondem respectivamente à chave privada e à chave pública de criptografia.</p>
<h3>Testando o OpenSSH</h3>
<p>Para entrar no servidor remotamente basta agora rodar um cliente ssh, como o PuTTY no Windows (<a href="http://www.putty.org" target="_blank" rel="noopener">www.putty.org</a>).</p>
<p>O serviço do SSH roda por padrão na porta TCP 22. Lembre-se sempre de liberar essa porta no firewall do sistema, se ele estiver ativo, caso contrário a conexão remota será recusada.</p>
<p>Ainda com dúvidas? Assista a um vídeo sobre a instalação e configuração do servidor SSH no Linux a seguir:</p>
<p><iframe loading="lazy" src="https://www.youtube.com/embed/e7TdtHL6b0E" width="640" height="480" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>Até a próxima!</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/seguranca/ssh-conceitos-basicos-e-conexao-por-senha-no-linux/">Servidor SSH &#8211; Conceitos básicos e conexão por senha no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/seguranca/ssh-conceitos-basicos-e-conexao-por-senha-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>md5sum &#8211; Utilitário para verificação de hash MD5 no Linux</title>
		<link>https://www.bosontreinamentos.com.br/linux/md5sum-utilitario-para-verificacao-de-hash-md5-no-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/md5sum-utilitario-para-verificacao-de-hash-md5-no-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Wed, 08 Aug 2018 12:51:59 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Criptografia]]></category>
		<category><![CDATA[Segurança]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=12997</guid>

					<description><![CDATA[<p>Utilitário md5sum &#8211; verificar hash MD5 no Linux O utilitário md5sum é utilizado para calcular e verificar resumos de mensagens MD5 (Hash MD5). Uma de suas principais aplicações é realizar a verificação de integridade de imagens ISO baixadas da Internet, como por exemplo ISOs de sistemas operacionais, de modo a garantir que o arquivo não tenha sido modificado de forma maliciosa por terceiros ou corrompido durante o download. Sintaxe: md5sum [opções] arquivo1 arquivo2 &#8230; Opções:  -b, &#8211;binary      Leitura no modo binário. -c, &#8211;check      Ler os resumos MD5 de arquivos e verificá-los. -t, &#8211;text      Leitura em modo texto (padrão) &#8211;quiet      Não imprimir mensagem &#8220;OK&#8221; para cada arquivo verificado co sucesso Exemplo Criamos um arquivo de texto chamado &#8220;lista_de_nomes&#8221;, com o conteúdo a seguir: Fábio Marcela Ana Danielle Jorge 1 &#8211; Calcular o hash MD5 do arquivo lista_de_nomes: $ md5sum lista_de_nomes 2 &#8211; Calculando hash MD5 para uma string fornecida no prompt, como por exemplo a palavra &#8220;morango&#8221;: $ md5sum &#60;enter&#62; morango &#60;ctrl +d&#62; 3 &#8211; Idem anterior, porém usando redirecionamento para fornecer a string ao programa: $ md5sum &#60;&#60;&#60;"morango" 4 &#8211; Idem anterior, porém passando a string via pipe para o utilitário: $ echo "morango" &#124; md5sum 5 [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/md5sum-utilitario-para-verificacao-de-hash-md5-no-linux/">md5sum &#8211; Utilitário para verificação de hash MD5 no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Utilitário md5sum &#8211; verificar hash MD5 no Linux</h2>
<p>O utilitário md5sum é utilizado para calcular e verificar resumos de mensagens MD5 (Hash MD5). Uma de suas principais aplicações é realizar a verificação de integridade de imagens ISO baixadas da Internet, como por exemplo ISOs de sistemas operacionais, de modo a garantir que o arquivo não tenha sido modificado de forma maliciosa por terceiros ou corrompido durante o download.</p>
<h3>Sintaxe:</h3>
<p>md5sum [opções] arquivo1 arquivo2 &#8230;</p>
<h3>Opções:</h3>
<p> -b, &#8211;binary<br />
     Leitura no modo binário.</p>
<p>-c, &#8211;check<br />
     Ler os resumos MD5 de arquivos e verificá-los.</p>
<p>-t, &#8211;text<br />
     Leitura em modo texto (padrão)</p>
<p>&#8211;quiet<br />
     Não imprimir mensagem &#8220;OK&#8221; para cada arquivo verificado co sucesso</p>
<h3>Exemplo</h3>
<p>Criamos um arquivo de texto chamado &#8220;lista_de_nomes&#8221;, com o conteúdo a seguir:</p>
<p>Fábio<br />
Marcela<br />
Ana<br />
Danielle<br />
Jorge</p>
<p>1 &#8211; Calcular o hash MD5 do arquivo lista_de_nomes:</p>
<p><code>$ md5sum lista_de_nomes</code></p>
<p>2 &#8211; Calculando hash MD5 para uma string fornecida no prompt, como por exemplo a palavra &#8220;morango&#8221;:</p>
<p><code>$ md5sum &lt;enter&gt;</code></p>
<p>morango &lt;ctrl +d&gt;</p>
<p>3 &#8211; Idem anterior, porém usando redirecionamento para fornecer a string ao programa:</p>
<p><code>$ md5sum &lt;&lt;&lt;"morango"</code></p>
<p>4 &#8211; Idem anterior, porém passando a string via pipe para o utilitário:</p>
<p><code>$ echo "morango" | md5sum</code></p>
<p>5 &#8211; Suponha que você tenha baixado uma imagem ISO do Debian GNU/Linux da Internet, e deseje verificar a integridade do arquivo. Basta executar o comando md5sum, seguido do nome do arquivo (entre no diretório onde ele foi baixado antes), e então comparar o hash gerado com o fornecido no site de origem do arquivo:</p>
<p><code>$ md5sum debian-8.7.1-amd64-DVD-1.iso</code></p>
<p><em><strong>Atenção: Atualmente é desencorajado o uso do algoritmo MD5 para propósitos de segurança (apesar de ainda ser amplamente utilizado!). No geral, é melhor utilizar algoritmos como o SHA-2 ou SHA-3, que está implementado em diversos programas para Linux, como o sha224sum, sha256sum, sha384sum e sha512sum.</strong></em></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/md5sum-utilitario-para-verificacao-de-hash-md5-no-linux/">md5sum &#8211; Utilitário para verificação de hash MD5 no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/md5sum-utilitario-para-verificacao-de-hash-md5-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Utilitário de criptografia bcrypt no Linux</title>
		<link>https://www.bosontreinamentos.com.br/linux/utilitario-de-criptografia-bcrypt-no-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/utilitario-de-criptografia-bcrypt-no-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Sat, 23 Jun 2018 14:40:02 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Criptografia]]></category>
		<category><![CDATA[Segurança]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=12564</guid>

					<description><![CDATA[<p>Criptografia com comando bcrypt O utilitário bcrypt permite criptografar e decriptar arquivos por meio do uso do algoritmo blowfish. Os arquivos criptografados são salvos com a extensão .bfe . Por padrão, os arquivos criptografados com bcrypt são comprimidos antes da criptografia, e os arquivos originais são removidos do sistema (desde que o processo de criptografia tenha ocorrido com sucesso), e por fim o arquivo original é sobrescrito com dados aleatórios para impedir sua recuperação. As passphrases devem ter um comprimento entre 8 e 56 caracteres. Internamente, a chave é resumida (hash) a 448 bits, que é o maior tamanho de chave suportado pelo algoritmo. Sintaxe: bcrypt [opções] arquivo1 arquivo2 &#8230; Opções: -o     Imprimir a saída na saída padrão. Implica a opção -r presente. -c     NÃO comprimir os arquivos antes da cifragem. -r     NÃO remover os arquivos de entrada após seu processamento. -sN     Quantas vezes (N) os arquivos de entrada devem ser sobrescritos com dados aleatórios antes de serem excuídos. O número padrão é 3. Pode-se desabilitar essa opção com -s0, e ela não é aplicada se a opção -r for usada. Exemplos Suponha um arquivo de texto chamado &#8220;lista_de_nomes&#8221;, com o conteúdo a seguir (uma lista de nomes): [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/utilitario-de-criptografia-bcrypt-no-linux/">Utilitário de criptografia bcrypt no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Criptografia com comando bcrypt</h2>
<p>O utilitário bcrypt permite criptografar e decriptar arquivos por meio do uso do algoritmo <b>blowfish</b>.</p>
<p>Os arquivos criptografados são salvos com a extensão <b>.bfe</b> . Por padrão, os arquivos criptografados com bcrypt são comprimidos antes da criptografia, e os arquivos originais são removidos do sistema (desde que o processo de criptografia tenha ocorrido com sucesso), e por fim o arquivo original é sobrescrito com dados aleatórios para impedir sua recuperação.</p>
<p>As passphrases devem ter um comprimento entre 8 e 56 caracteres. Internamente, a chave é resumida (hash) a 448 bits, que é o maior tamanho de chave suportado pelo algoritmo.</p>
<h3>Sintaxe:</h3>
<p><b><span style="color: #800080;" data-blogger-escaped-style="color: purple;">bcrypt [opções] arquivo1 arquivo2 &#8230;</span></b></p>
<p>Opções:</p>
<p><b>-o</b></p>
<p>    Imprimir a saída na saída padrão. Implica a opção -r presente.</p>
<p><b>-c</b></p>
<p>    NÃO comprimir os arquivos antes da cifragem.</p>
<p><b>-r</b></p>
<p>    NÃO remover os arquivos de entrada após seu processamento.</p>
<p><b>-sN</b></p>
<p>    Quantas vezes (N) os arquivos de entrada devem ser sobrescritos com dados aleatórios antes de serem excuídos. O número padrão é 3. Pode-se desabilitar essa opção com -s0, e ela não é aplicada se a opção -r for usada.</p>
<h3>Exemplos</h3>
<p>Suponha um arquivo de texto chamado &#8220;lista_de_nomes&#8221;, com o conteúdo a seguir (uma lista de nomes):</p>
<p><strong>Fábio</strong><br />
<strong>Marcela</strong><br />
<strong>Ana</strong><br />
<strong>Danielle</strong><br />
<strong>Jorge</strong></p>
<p>Queremos proteger o conteúdo desse arquivo usando criptografia, por meio do utilitário bcrypt.</p>
<p>1 &#8211; Primeiramente vamos testar a criptografia instruindo o programa a apenas exibir na saída padrão (terminal) o arquivo criptografado:</p>
<pre><code>$ bcrypt -or lista_de_nomes</code></pre>
<p>2 &#8211; Criando um arquivo criptografado com base no arquivo lista_de_nomes:</p>
<pre><code>$ bcrypt lista_de_nomes</code></pre>
<p>3 &#8211; Criptografando arquivo e realizando sobrescrita de dados 4 vezes antes da exclusão do original:</p>
<pre><code>$ bcrypt -s4 lista_de_nomes</code></pre>
<p>Atenção: Atualmente é desencorajado o uso do pacote bcrypt para realizar criptografia em sistemas Linux, devido a um problema em sua implementação. Você deve utilizar outros pacotes de criptografia para garantir a segurança de seus arquivos.</p>
<p>Mais detalhes sobre o problema podem ser obtidos em <a href="http://bugs.debian.org/700758" rel="nofollow" data-blogger-escaped-target="_blank">http://bugs.debian.org/700758</a></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/utilitario-de-criptografia-bcrypt-no-linux/">Utilitário de criptografia bcrypt no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/utilitario-de-criptografia-bcrypt-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Esquema de Codificação Base58</title>
		<link>https://www.bosontreinamentos.com.br/seguranca/esquema-de-codificacao-base58/</link>
					<comments>https://www.bosontreinamentos.com.br/seguranca/esquema-de-codificacao-base58/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 24 Nov 2017 19:55:35 +0000</pubDate>
				<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Bitcoin]]></category>
		<category><![CDATA[Criptografia]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=11152</guid>

					<description><![CDATA[<p>O que é o Base58 Para representar números grandes (longos) de forma sucinta e compacta, usando pouco símbolos, os sistemas de computador utilizam representações alfanuméricas com uma base numérica maior do que a base 10. Por exemplo, o sistema tradicional de representação numérica que usamos no dia-a-dia é o sistema base 10, que utiliza os numerais de 0 a 9 para representar todos os números. Porém, é muito comum em programação de computadores que endereços de memória sejam representados numericamente, e para isso geralmente usamos o sistema de numeração hexadecimal (base 16), que contém os numerais de 0 a 9, mais as &#8220;letras&#8221; de A a F, que representam os valores numéricos de 10 a 15. Assim, um número representado no sistema hexadecimal é mais curto do que sua representação equivalente em decimal, facilitando as tarefas de digitação, representação e memorização (se necessária). Podemos compactar ainda mais a representação de strings de caracteres e valores numéricos usando sistemas como o Base64, que utiliza as 26 letras do alfabeto latino minúsculas, as 26 letras maiúsculas, 10 numerais (0 a 9) e mais dois caracteres especiais, como &#8220;+&#8221; e &#8220;/&#8221; para a transmissão de dados binários em mídias baseadas em texto, como [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/seguranca/esquema-de-codificacao-base58/">Esquema de Codificação Base58</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>O que é o Base58</h2>
<p>Para representar números grandes (longos) de forma sucinta e compacta, usando pouco símbolos, os sistemas de computador utilizam representações alfanuméricas com uma base numérica maior do que a base 10. Por exemplo, o sistema tradicional de representação numérica que usamos no dia-a-dia é o sistema base 10, que utiliza os numerais de 0 a 9 para representar todos os números.</p>
<p>Porém, é muito comum em programação de computadores que endereços de memória sejam representados numericamente, e para isso geralmente usamos o sistema de numeração hexadecimal (base 16), que contém os numerais de 0 a 9, mais as &#8220;letras&#8221; de A a F, que representam os valores numéricos de 10 a 15. Assim, um número representado no sistema hexadecimal é mais curto do que sua representação equivalente em decimal, facilitando as tarefas de digitação, representação e memorização (se necessária).</p>
<p>Podemos compactar ainda mais a representação de strings de caracteres e valores numéricos usando sistemas como o <strong>Base64</strong>, que utiliza as 26 letras do alfabeto latino minúsculas, as 26 letras maiúsculas, 10 numerais (0 a 9) e mais dois caracteres especiais, como &#8220;+&#8221; e &#8220;/&#8221; para a transmissão de dados binários em mídias baseadas em texto, como e-mails. O sistema Base64 é muito utilizado para adicionar anexos binários em e-mails.</p>
<h3>Base58</h3>
<p>Já o sistema <strong>Base58</strong> é um formato de codificação binária baseado em texto desenvolvido para uso em aplicações de criptomoedas, como o <strong>Bitcoin</strong>. Ele oferece um balanço entre a representação compacta, facilidade de leitura, detecção e prevenção de erros. O Base58 é um subconjunto do sistema Base64, utilizando as letras do alfabeto maiúsculas e minúsculas, números, e omitindo alguns caracteres que muitas vezes são confundidos com outros caracteres, e que podem parecer idênticos dependendo da fonte usada na representação do texto.</p>
<p>No caso do Base58, os caracteres que não são utilizados são o 0 (zero), O (letra o maiúscula), I (letra i maiúscula), l (letra L minúscula) e os símbolos &#8220;+&#8221; e &#8220;/&#8221;.</p>
<p>Abaixo temos o alfabeto Base58 completo:</p>
<p style="text-align: center;"><span style="color: #000080;"><strong>123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz</strong></span></p>
<p>O Base58 foi projetado especificamente para que seja possível humanos entrarem com dados manualmente, ou ainda copiá-los de alguma fonte visualmente.</p>
<p>As principais aplicações do Base58 são a criação de endereços de Bitcoin, endereços de Ripple (outra criptomoeda) e URLs encurtadas para o Flickr, entre outras.</p>
<h3>Base58Check</h3>
<p>O <strong>Base58Check</strong> é um formato de codificação Base58 que, além de codificar os dados, também registra o tipo dos dados na string formada, e inclui detecção de erros nos últimos caracteres da codificação.</p>
<p>O checksum (soma de verificação para detecção de erros) consiste em quatro bytes adicionais concatenados no final dos dados que são codificados. O checksum é derivado de um <a href="http://www.bosontreinamentos.com.br/seguranca/criptografia-tipos-simetrica-assimetrica-e-funcoes-de-hash-02/" target="_blank" rel="noopener noreferrer">hash</a> dos dados codificados, e assim pode ser utilizado para detectar e prevenir modificação dos dados e erros de digitação. </p>
<p>Quando um software recebe uma string codificada com Base58Check, ele calcula o checksum dos dados e o compara com o checksum incluído no código e si. Se os valores não baterem, um ero ocorreu na transmissão dos dados e o dado é considerado inválido. Desta forma, por exemplo, evita-se que um endereço Bitcoin digitado erroneamente seja aceito por um software de carteira como um destino válido de fundos, um erro que resultaria em perda do dinheiro transferido.</p>
<p>Para converter dados brutos em formato Base58Check, primeiramente adicionamos um prefixo ao dado, chamado de &#8220;Byte de Versão&#8221;, que serve para identificar com facilidade o tipo de dado que está sendo codificado. Por exemplo, para um endereço de bitcoin o prefixo será zero, enquanto o prefixo usado para codificar uma chave privada será o número 128 (em hexadecimal, 0x80).</p>
<p>Após adicionar o prefixo, é computado um hash duplo do dado, usando o algoritmo SHA256 duas vezes, como segue:</p>
<pre><span style="color: #800080;"><strong>soma de verificação = SHA256(Sha256(prefixo + dado))</strong></span></pre>
<p>O resultado será uma string de 32 bytes, dos quais usa-se apenas os quatro primeiros. Esses quatro bytes servem como código de verificação de erros (não de correção!), e é o que chamamos de &#8220;Checksum&#8221;. Esse valor é concatenado o final da string de dados a ser transmitida.</p>
<p>Assim, temos no final ma string composta por um prefixo, dados e um checksum. Esse conjunto é então codificado usando o formato Base58 que vimos na seção anterior.</p>
<p>Uma das principais aplicações do Base58Check é a codificação de dados em bitcoin para apresentação ao usuário, pois os dados se tornam compactos, fáceis de ler e de detectar erros. Os endereços de bitcoin codificados desta forma sempre iniciam com o caractere 1 (um).</p>
<p>Como exemplo, veja o endereço público para contribuições de bitcoin para a Bóson Treinamentos (caso queira contribuir com qualquer valor, fique à vontade!):</p>
<h4><strong>1F2zucNtHimYR2dpnGxpX1fnoMn5xKM5S6</strong></h4>
<p>Como esperado, o endereço (que está codificado) se inicia com o valor 1.</p>
<p>É isso aí! No próximo tutorial vamos continuar explorando as tecnologias por trás das criptomoedas. Até mais!</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/seguranca/esquema-de-codificacao-base58/">Esquema de Codificação Base58</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/seguranca/esquema-de-codificacao-base58/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A criptografia quântica é inquebrável. Assim como a engenhosidade humana</title>
		<link>https://www.bosontreinamentos.com.br/seguranca/a-criptografia-quantica-e-inquebravel-assim-como-a-engenhosidade-humana/</link>
					<comments>https://www.bosontreinamentos.com.br/seguranca/a-criptografia-quantica-e-inquebravel-assim-como-a-engenhosidade-humana/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Sat, 12 Aug 2017 17:37:58 +0000</pubDate>
				<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Criptografia]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=10414</guid>

					<description><![CDATA[<p>Por Joshua Holden Professor de matemática no Instituto de Tecnologia Rose-Hulman em Indiana. Ele estuda teoria dos números e criptografia. É o autor de The Mathematics of Secrets: Cryptography from Cesar Ciphers to Digital Encryption (2017). Dois tipos básicos de esquemas de criptografia são usados hoje na internet. Um, conhecido como criptografia de chave simétrica, segue o mesmo padrão que as pessoas tem usado para enviar mensagens secretas por milhares de anos. Se Alice quer enviar uma mensagem secreta a Bob, eles começam por se reunir em algum lugar onde eles não possam ser ouvidos e escolhem uma chave secreta; Mais tarde, quando eles estão separados, eles podem usar essa chave para enviar mensagens que Eva, a espiã, não consegue entender mesmo que as intercepte. Este é o tipo de criptografia usado quando você configura uma conta online com o banco na sua vizinhança; Você e seu banco já possuem informações privadas um sobre o outro e usam essas informações para configurar uma senha secreta para proteger suas mensagens. O segundo esquema é chamado de criptografia de chave pública, e foi inventado apenas na década de 1970. Como o nome sugere, estes são sistemas nos quais Alice e Bob escolhem [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/seguranca/a-criptografia-quantica-e-inquebravel-assim-como-a-engenhosidade-humana/">A criptografia quântica é inquebrável. Assim como a engenhosidade humana</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="aligncenter wp-image-10425 size-full" title="Criptografia quântica" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2017/08/cryptography-icon.png" alt="Criptografia quântica" width="256" height="256" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2017/08/cryptography-icon.png 256w, https://www.bosontreinamentos.com.br/wp-content/uploads/2017/08/cryptography-icon-170x170.png 170w" sizes="auto, (max-width: 256px) 100vw, 256px" /></p>
<p><em>Por Joshua Holden</em><br />
 <em>Professor de matemática no Instituto de Tecnologia Rose-Hulman em Indiana. Ele estuda teoria dos números e criptografia. É o autor de The Mathematics of Secrets: Cryptography from Cesar Ciphers to Digital Encryption (2017).</em></p>
<p>Dois tipos básicos de esquemas de criptografia são usados hoje na internet. Um, conhecido como criptografia de chave simétrica, segue o mesmo padrão que as pessoas tem usado para enviar mensagens secretas por milhares de anos. Se Alice quer enviar uma mensagem secreta a Bob, eles começam por se reunir em algum lugar onde eles não possam ser ouvidos e escolhem uma chave secreta; Mais tarde, quando eles estão separados, eles podem usar essa chave para enviar mensagens que Eva, a espiã, não consegue entender mesmo que as intercepte. Este é o tipo de criptografia usado quando você configura uma conta online com o banco na sua vizinhança; Você e seu banco já possuem informações privadas um sobre o outro e usam essas informações para configurar uma senha secreta para proteger suas mensagens.</p>
<p>O segundo esquema é chamado de criptografia de chave pública, e foi inventado apenas na década de 1970. Como o nome sugere, estes são sistemas nos quais Alice e Bob escolhem uma chave, ou parte dela, trocando apenas informações públicas. Isso é incrivelmente útil no comércio eletrônico moderno: se você deseja enviar o seu número de cartão de crédito com segurança pela internet para a Amazon, por exemplo, não quer ter que se dirigir à sua sede para ter uma reunião secreta primeiro. Os sistemas de chave pública dependem do fato de que alguns processos matemáticos parecem ser fáceis de fazer, mas difíceis de desfazer. Por exemplo, para Alice pegar dois números inteiros grandes e multiplicá-los é relativamente fácil; Para Eva para obter o resultado e recuperar os números originais parece muito mais difícil.</p>
<p>A criptografia de chave pública foi inventada por pesquisadores da sede de comunicações do governo (GCHQ) &#8211; o equivalente britânico (mais ou menos) da Agência Nacional de Segurança dos EUA (NSA) &#8211; que queriam proteger as comunicações entre um grande número de pessoas em uma organização de segurança . Seu trabalho foi classificado e o governo britânico nem o usou nem permitiu que ele fosse divulgado ao público. A ideia de comércio eletrônico, aparentemente, nunca ocorreu a eles. Alguns anos depois, pesquisadores acadêmicos de Stanford e do MIT, nos Estados Unidos,  redescobriram os sistemas de chave pública. Desta vez, eles estavam pensando nos benefícios que a criptografia generalizada poderia trazer às pessoas comuns, e não menos a capacidade de fazer negócios usando computadores.</p>
<p>Agora os criptógrafos acreditam que um novo tipo de computador baseado na física quântica poderia tornar a criptografia de chave pública insegura. Os bits em um computador normal são 0 ou 1. A física quântica permite que bits estejam em uma superposição de 0 e 1, da mesma maneira que o gato de Schrödinger pode estar em uma superposição de estados vivo e morto. Isso às vezes permite que os computadores quânticos explorem possibilidades mais rapidamente do que os computadores normais. Embora ninguém tenha construído um computador quântico capaz de resolver problemas de tamanho não trivial (a menos que o estejam mantendo em segredo) nos últimos 20 anos, os pesquisadores começaram a descobrir como escrever programas para esses computadores e previram que, uma vez construídos, os computadores quânticos resolverão rapidamente &#8220;problemas ocultos de subgrupos&#8221;. Uma vez que todos os sistemas de chave pública atualmente dependem de variações desses problemas, eles poderiam, em teoria, ser quebrados por um computador quântico.</p>
<p>Os criptógrafos não estão desistindo, no entanto. Eles estão explorando substituições para os sistemas atuais, de duas formas principais. Uma implanta cifras quantum-resistentes, que são formas de criptografar mensagens usando computadores atuais, mas sem envolver problemas de subconjuntos ocultos. Assim, eles parecem ser seguros contra os quebradores de código que usariam computadores quânticos. A outra ideia é fazer cifras verdadeiramente quânticas. Estes &#8220;combateriam quantum com quantum&#8221;, usando a mesma física quântica que poderia nos permitir construir computadores quânticos para proteger contra ataques computacionais quânticos. Progresso está sendo realizado em ambas as áreas, mas ambos exigem mais pesquisas, que atualmente estão sendo realizadas em universidades e outras instituições ao redor do mundo.</p>
<p>No entanto, algumas agências governamentais ainda querem restringir ou controlar as pesquisas sobre a segurança criptográfica. Eles argumentam que, se todos no mundo tiverem acesso a uma criptografia forte, então terroristas, sequestradores e pedófilos serão capazes de esconder seus atos de tal forma que os funcionários da segurança pública e da segurança nacional não vão conseguir descobrir.</p>
<p>Mas isso não é realmente verdade. O que é verdade é que praticamente qualquer pessoa pode se apossar de um software que, quando usado corretamente, é seguro contra ataques conhecidos publicamente. A chave aqui é &#8220;quando usado corretamente&#8221;. Na realidade, quase nenhum sistema é sempre usado corretamente. E quando terroristas ou criminosos usam um sistema incorretamente, mesmo que seja uma única vez, isso pode permitir que um criptoanalista experiente que trabalhe para o governo leia todas as mensagens enviadas usando esse sistema. O pessoal responsável pela aplicação da lei e da segurança nacional pode reunir essas mensagens com informações recolhidas de outras formas &#8211; vigilância, informantes confidenciais, análise de metadados e características de transmissão, etc. &#8211; e ainda possuir uma ferramenta poderosa contra os infratores.</p>
<p>Em seu ensaio &#8220;A Few Words on Secret Writing’&#8221; (&#8220;Algumas palavras sobre a escrita secreta&#8221;), de 1841, Edgar Allan Poe escreveu: &#8220;É possível afirmar rotundamente que a ingenuidade humana não pode inventar uma cifra que a própria ingenuidade humana não possa resolver&#8221;. Na teoria, foi comprovado que ele estava: quando executado corretamente nas condições adequadas, técnicas como a criptografia quântica são seguras contra qualquer possível ataque de um intruso, como nosso personagem invasor Eva. Em situações da vida real, no entanto, Poe estava, sem dúvida, correto. Toda vez que um sistema &#8220;inquebrável&#8221; foi colocado em uso real, algum tipo de infortúnio inesperado eventualmente deu a Eva a oportunidade de quebrá-lo. Por outro lado, sempre que parecia que Eva havia ganho a partida, Alice e Bob encontraram uma maneira inteligente de voltar ao jogo. Estou convencido de uma coisa: se a sociedade não dá a &#8220;engenhosidade humana&#8221; tanto espaço para florescer quanto podemos gerenciar, todos sairemos mais empobrecidos por isso.</p>
<p><a href="http://press.princeton.edu/titles/10826.html" target="_blank" rel="nofollow noopener noreferrer">The Mathematics of Secrets: Cryptography from Caesar Ciphers to Digital Encryption por Joshua Holden</a> está disponível na Princeton University Press.</p>
<p>Traduzido e republicado com permissão de Aeon. Artigo original: &#8220;<a href="https://aeon.co/ideas/quantum-cryptography-is-unbreakable-so-is-human-ingenuity" target="_blank" rel="nofollow noopener noreferrer">Quantum cryptography is unbreakable. So is human ingenuity</a>&#8220;</p>
<p>LICENÇA: <a href="http://creativecommons.org/licenses/by-nd/4.0/" target="_blank" rel="nofollow noopener noreferrer">Creative Commons Attribution-No Derivatives</a></p>
<p><script src='https://metrics.aeon.co/count/2bd3044b-7cff-4f47-8597-6c1b7893190f.js'></script></p>
<p>Leia também: <a href="http://www.bosontreinamentos.com.br/seguranca/introducao-a-criptografia/">Introdução à Criptografia</a></p>
<p>O post <a href="https://www.bosontreinamentos.com.br/seguranca/a-criptografia-quantica-e-inquebravel-assim-como-a-engenhosidade-humana/">A criptografia quântica é inquebrável. Assim como a engenhosidade humana</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/seguranca/a-criptografia-quantica-e-inquebravel-assim-como-a-engenhosidade-humana/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Nova ferramenta permite descriptografar arquivos de PCs infectados pelo ransomware WannaCry</title>
		<link>https://www.bosontreinamentos.com.br/seguranca/nova-ferramenta-permite-descriptografar-arquivos-de-pcs-infectados-pelo-ransomware-wannacry/</link>
					<comments>https://www.bosontreinamentos.com.br/seguranca/nova-ferramenta-permite-descriptografar-arquivos-de-pcs-infectados-pelo-ransomware-wannacry/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 26 May 2017 13:17:57 +0000</pubDate>
				<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Criptografia]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=9504</guid>

					<description><![CDATA[<p>Wanakiwi &#8211; Descriptografando arquivos bloqueados pelo ransomware WannaCry De acordo com uma notícia publicada no site Ars Technica, uma nova esperança surgiu na sexta-feira para as pessoas que foram atingidas pelo vírus da semana passada &#8211; o ransomware WannaCry &#8211; depois que pesquisadores mostraram que uma gama mais ampla de PCs infectados podem ser desbloqueados sem que os proprietários efetuem o pagamento do resgate, que varia de US$ 300 a US$ 600. Uma nova ferramenta disponibilizada publicamente é capaz de descriptografar arquivos de PCs infectados pelo ransomware WannaCry, que estejam executando as versões do Windows XP, 7 e 2003, e um dos pesquisadores por trás dessa ferramenta disse que provavelmente também funcionará para outras versões do Windows, incluindo o Windows Vista, Server 2008 e o 2008 R2. A ferramenta, conhecida como wanakiwi, foi construída baseada em uma outra ferramenta que foi lançada na quinta-feira. Chamada de &#8220;Wannakey&#8221;, a ferramenta anterior fornece os meios para extrair material-chave de PCs infectados que estavam rodando o Windows XP, porém exige um aplicativo separado para transformar esses bits extraídos na chave secreta, necessária para descriptografar os arquivos. Matt Suiche, co-fundador da empresa de segurança Comae Technologies, ajudou a desenvolver e testar a ferramenta wanakiwi, e confirma [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/seguranca/nova-ferramenta-permite-descriptografar-arquivos-de-pcs-infectados-pelo-ransomware-wannacry/">Nova ferramenta permite descriptografar arquivos de PCs infectados pelo ransomware WannaCry</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Wanakiwi &#8211; Descriptografando arquivos bloqueados pelo ransomware WannaCry</h2>
<p>De acordo com uma notícia publicada no site <a href="https://arstechnica.com/security/2017/05/more-people-infected-by-recent-wcry-worm-can-unlock-pcs-without-paying-ransom/" target="_blank" rel="nofollow noopener noreferrer">Ars Technica</a>, uma nova esperança surgiu na sexta-feira para as pessoas que foram atingidas pelo vírus da semana passada &#8211; o <strong>ransomware WannaCry</strong> &#8211; depois que pesquisadores mostraram que uma gama mais ampla de PCs infectados podem ser desbloqueados sem que os proprietários efetuem o pagamento do resgate, que varia de US$ 300 a US$ 600.</p>
<p>Uma nova ferramenta disponibilizada publicamente é capaz de descriptografar arquivos de PCs infectados pelo ransomware WannaCry, que estejam executando as versões do Windows XP, 7 e 2003, e um dos pesquisadores por trás dessa ferramenta disse que provavelmente também funcionará para outras versões do Windows, incluindo o Windows Vista, Server 2008 e o 2008 R2.</p>
<p>A ferramenta, conhecida como <strong>wanakiwi</strong>, foi construída baseada em uma outra ferramenta que foi lançada na quinta-feira. Chamada de &#8220;Wannakey&#8221;, a ferramenta anterior fornece os meios para extrair material-chave de PCs infectados que estavam rodando o Windows XP, porém exige um aplicativo separado para transformar esses bits extraídos na chave secreta, necessária para descriptografar os arquivos.</p>
<p>Matt Suiche, co-fundador da empresa de segurança Comae Technologies, ajudou a desenvolver e testar a ferramenta wanakiwi, e confirma que ela realmente funciona. A Europol, agência policial da União Europeia, também validou a ferramenta. </p>
<p>A imagem a seguir mostra o aplicativo em uso, descriptografando arquivos em uma máquina infectada pelo WannaCry:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-9505 size-full" title="ransomware wannacry - ferramenta wanakiwi" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2017/05/wanakiwi.jpg" alt="ransomware wannacry - ferramenta wanakiwi" width="640" height="539" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2017/05/wanakiwi.jpg 640w, https://www.bosontreinamentos.com.br/wp-content/uploads/2017/05/wanakiwi-420x354.jpg 420w" sizes="auto, (max-width: 640px) 100vw, 640px" /></p>
<p>Assim como acontece com o Wannakey, o wanakiwi tira proveito das deficiências na Interface de Aplicações Criptográficas da Microsoft, que o ransomware WannaCry e outros aplicativos do Windows usam para gerar chaves para criptografar e descriptografar arquivos.</p>
<p>O Wanakiwi é capaz de varrer com êxito a memória de infectados XP e 7 máquinas, extrair informações necessárias para recuperar a chave secreta de criptografia, e remontar a chave. A ferramenta então usa essa chave para decriptar todos os arquivos que foram criptografados pelo ransomware WannaCry.</p>
<h3>Limitações do wanakiwi</h3>
<p>Porém, nem sempre é possível recuperar os arquivos que foram criptografados. Assim como ocorre com o Wannakey, a recuperação não irá funcionar se o computador que foi infectado for reiniciado. E, mesmo quando o computador contaminado permanece ligado, o decodificador pode não funcionar caso o local da memória que armazenou o material da chave criptográfica tiver sido sobrescrito. O Wanakiwi ainda não foi extensivamente testado em computadores com CPUs x64, por isso é possível que a ferramenta não funcione de forma confiável nessa plataforma.</p>
<p>O wanakiwi pode ser baixado a partir desta <a href="https://github.com/gentilkiwi/wanakiwi/releases" target="_blank" rel="nofollow noopener noreferrer">página do GitHub</a>.</p>
<p>Traduzido e adaptado de <a href="https://arstechnica.com/security/2017/05/more-people-infected-by-recent-wcry-worm-can-unlock-pcs-without-paying-ransom/" target="_blank" rel="nofollow noopener noreferrer">Ars Technica</a></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/seguranca/nova-ferramenta-permite-descriptografar-arquivos-de-pcs-infectados-pelo-ransomware-wannacry/">Nova ferramenta permite descriptografar arquivos de PCs infectados pelo ransomware WannaCry</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/seguranca/nova-ferramenta-permite-descriptografar-arquivos-de-pcs-infectados-pelo-ransomware-wannacry/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
