pequeño script linux en php con gpg sin complicaciones

No Comments

@pedroruizhidalg―Cuando uso el comando gpg de Linux para encriptar me ocurre que el orden de los argumentos no me gusta. Yo lo hubiera diseñado de otra forma, pero es como es. Así que me he creado un pequeño programa en php al que le suministro los argumentos como me gusta. Cumple su misión pues a mí me sirve.

Ubicación y activación

Tengo un directorio oculto al que he llamado ~/.bin. Para que se ejecuten los scripts ―tengo muchos― que creo para linux hay que incluir el nombre de este directorio en la variable de sistema $PATH. El procedimiento es el siguiente:

  1. Editamos el archivo ~/.bashrc y en su última linea incluimos “export PATH=$PATH:~/.bin”. Realmente, en mi caso puse la ruta completa “/home/pedro/.bin”.
  2. Comprobar que está incluida mediante el comando de linux “echo $PATH”. En la retahila aparece el último debe ser nuestro .bin.
  3. mkdir ~/.bin
  4. cd ~/.bin
  5. touch encriptar
  6. chmod +x encriptar

Lo editamos con nuestro editor preferido y colocamos el siguiente código:

#!/usr/bin/php -q

<?php

$recipient         = (isset($argv[3])&&(strtolower($argv[3]=='pedro'))) ? 'E1AEA6C0' : 'B9CDAB41';
$recipiente        = ($recipient=='E1AEA6C0') ? 'Pedro Ruiz Hidalgo' : '@pedroruizhidalg';

?>

Este script encripta gpg (asimétrico) con el recipiente <?=$recipiente?>

Saludos a la afición!!!

<?php

$archivo        = $argv[1];
$salida            = $argv[2].".gpg";


$encriptar        = "gpg --output $salida --encrypt --recipient $recipient $archivo";



if(!file_exists($archivo))
{
    echo "no existe $archivo";
    exit();
}

if(file_exists($salida))
{
    echo "el archivo $salida existe";
    exit("saliendo...");
}

echo shell_exec($encriptar);

?>

Funcionamiento

En mi anillo de claves tengo varias identidades, una de ellas es “Pedro” y la otra es “@pedroruizhidalg”, a esto es a lo que gpg llama recipientes y podéis listar así

$ gpg --list-keys

allí podéis ver el número hexadecimal que vuestro anillo de claves asigna a cada “recipient” ―identidad, vaya―. En mi sistema quien firma por defecto es la identidad “@pedroruizhidalg” a no ser que especifique literalmente en el tercer argumento que se trata de “pedro”. El funcionamiento es este:

$ encriptar [archivo_existente] [nombre_del_archivo_de_salida] [opcionalmente "pedro"]

Espero que este script os sirva de ayuda. Podéis hacerme consultas, estaré encantado de atenderlas.

#aboutpedroruizhidalgo
[polldaddy poll=9120832]
♻ miotroblogsite ahorra papel

esteganografía, cómo encriptar información dentro de una imagen.

No Comments

@pedroruizhidalg― La esteganografía es la parte de la criptografía que permite ocultar mensajes dentro de objetos ―llamados portadores― de modo que no se perciba la existencia del mensaje.

Mediante el comando de Linux outguess podemos encriptar y desencriptar mensajes dentro de imágenes de forma sumamente sencilla.

Desde el funesto 11S estamos ya acostumbrados a que nos hagan pasar en los aeropuertos por controles más o menos absurdos en los que nos hacen quitar los zapatos, no pasar un zumo, nada de colonia para los vuelos largos y un largo etcétera que no describiré por estar seguro que es de dominio público, o mal de muchos.

Pero pasar mensajes ocultos es más sencillo de lo que a priori parece, funciona de la siguiente forma así. Una imagen no es más que una matriz de dos dimensiones ―como el juego de los barquitos para los no iniciados― donde cada elemento ―celda de los barquitos― es un punto de color. Este punto de color está codificado, en última instancia, en binario. La codificación binaria es menos significativa para le dígito que esté situado a la derecha y el más significativo es el que está situado a la izquierda. Una forma de entenderlo es que en el número 3128, es preferible perder los ocho de la derecha ―menos significativos― que los tres de la izquierda. No abundaré en esto.

Alterar levemente el bit menos significativo de una imagen produce una variación tan leve en el color que sería casi imposible su detección. Además cuando viajamos podemos llevar en nuestras cámaras miles de fotos. Literalmente.

Procedimiento

sudo apt-get install outguess

Con esto tenemos instalado y listo para funcionar el comando necesario: OutGuess.

Ni que decir tiene que tanto el emisor como el receptor tienen que conocer la clave de encriptación/desencriptación.

Proceso del emisor

outguess -k "laclavesecreta" -d archivosecreto.txt imagen.jpg imagenresultante.jpg
Esto encriptará en imagenresultante.jpg el archivosecreto.txt tomando como modelo la imagen.jpg.

Proceso del receptor

outguess -k "laclavesecreta" -r imagenresultante.jpg archivoparaleerelmensaje.txt.

La imagen que adjunto es portadora de un mensaje, la contraseña que usé fue “micontraseña”. Podéis hacerme comentarios acerca del mensaje que incluyo.

Espero que haya sido de vuestro interés y tenga utilidad este artículo.
Saludos

imagen

tu casa sin muros ni cortinas

No Comments

Si crees que tú aún eres una persona anónima con cierta privacidad no leas este artículo

Pedro Ruiz Hidalgo― El día 29 de septiembre Eduard Snowden se unía a Twitter provocando, según Twitter, en unas horas el siguiente resultado:

Desde el punto de vista de Twitter, pueden conocerse todos y cada unos de los usuarios de esta red, en tiempo real, que se han unido a la cuenta del señor Snowden ¿Qué importancia puede tener? Bueno, Twitter también puede conocer qué seguidores de Snowden se conocen entre sí, quienes a través de seguir a Snowden se empiezan a enviar mensajes y más. Pero aún más: mediante la geolocalización que todos activamos en Twitter, ellos pueden averiguar cuántos de los usuarios de Snowden se reúnen. Obviamente, una persona que siga a Snowden puede también ser seguidor de Cristiano Ronaldo, Anna Netrebko o los Mojinos Escocíos, eso también. Dicho de otra forma para una empresa a la que le suministremos datos de geolocalización puede ver cuándo vamos a una reunión, o una manifestación, y tratando estos datos como BIG DATA, ver mediante un algoritmo desde dónde vas a la manifestación, concierto, partido de fútbol o simplemente dónde tomas café, con quién, y a qué hora, si te desplazas andando, en bus en bici y el recorrido que has elegido para tal desplazamiento. Y esto solo Twitter. Pero nosotros pertenecemos a muchas redes sociales donde motu propio enviamos dónde estamos, qué comemos, si estamos enfermos, lo que nos gusta de la tele, los libros que hemos leído y los amigos que tenemos de la infancia, qué «amigos» son de Internet, qué comentamos con ellos, etcétera.

Alguno puede pensar, que miren lo que quieran, no tengo nada que ocultar. Posiblemente lleve razón, sea una persona que no tenga nada que ocultar, pero eso no va a impedir a las empresas que nos suministran programas gratuitos en el móvil que accedan a nuestra lista de contactos, archivos multimedia ―es decir: fotos, vídeos, grabaciones, sonidos, canciones― con los que crear patrones de conducta que son vendidos ―espero que anónimamente― otras empresas que se dedican a estudiar los comportamientos mediante algoritmos para predecir, tal vez, anticipar nuestros comportamientos. Y es que hemos dejado de ser anónimos, somos nosotros quienes suministramos voluntariamente la información para que sea estudiada.

Permitidme la insistencia, quizá la persona que lee este artículo, no tenga nada que ocultar y sea la quintaesencia de la eucaristía de la rectitud y honradez, pero también estamos proporcionando los contactos de los amigos. Veamos esto desde un plano superior, e intentemos trazar un mapa de quiénes son, y cómo se relacionan, las personas en España o Alemania, todo ello sin necesidad de espiar, tan solo viendo los datos que pública y voluntariamente suministramos. Algo así.

Captura de pantalla de 2015-10-02 16:00:10

Que efectúa la empresa OpenDataCity para todas las personas físicas o jurídicas que estén interesadas en sus servicios.

Durante muchísimos años la mayor base de datos del mundo la poseía el supermercado Wallmart en Estados Unidos ¿Cómo? Simple, mediante las tarjetas de puntos que ofrecían a los clientes. Una base de datos superior a la que pudieran tener la NSA y CIA juntos. En España, la de Campsa tampoco debe ser despreciable. Se trata, como todos sabéis, de sellar en cada gasolinera donde ponemos carburante, luego es muy fácil para la gasolinera no sólo saber dónde has puesto gasolina, sino qué carburante, con qué frecuencia y a qué hora has hecho servicio de esto ¿A cambio de qué? De que si consumes mucho, pero mucho, te regalan una gorra ―de propaganda―. Igual ocurre en Carrefour y en tantos establecimientos de consumo más o menos diario. Seguro que algunos estáis pensando que por ejemplo para la adquisición de una tarjeta, digamos de Campsa, no es necesario suministrar nuestros datos personales. Es igual, no se trata de identificar al cliente, sino de obtener ―a cambio de una gorra de propaganda― sus hábitos de consumo.

Ahora, contemplemos el supuesto en el que a alguna empresa ―o peor, a una autoridad― le dé por mirar los datos de nuestros comportamientos pero con identificación de nuestra personalidad contrastándola con los hábitos de navegación de web, suponiendo que consumimos pornografía, y que nos encontramos en un aeropuerto en cuya patria estén penados tales consumos. Ya estamos en un brete.

Hasta ahora hemos hablado de las entidades externas, no de fabricantes de nuestros móviles, nuestros sistemas operativos, nuestros ordenadores… !No quiero pensar!

Somos nosotros quienes con nuestros smartphones enviamos una señal a la antena más cercana cada cinco minutos para descargarnos lo nuevo que haya ocurrido en el mundo, nuestro correo, Twitter, noticias de Facebook, Pinterest… Pero ¿cómo eludir las comunicación instantánea que nos proporciona un móvil? ¿cómo renunciar a la comodidad de solicitar a google maps una dirección a la que nos dirigimos y no conocemos? Nos hemos acostumbrado a conocer el camino antes de llegar. A que nos indiquen por qué ruta es más rápido dependiendo de las condiciones del tráfico ¿alguno de ustedes duda que los radares de carretera fotografían más que a los que infringen la velocidad? ¿Algunos de ustedes duda que en aras de una pretendida seguridad estamos siendo fotografiados/filmados constantemente cuando vamos a un aparcamiento, una calle, una gran superficie o el chino de la esquina?

Empleemos sistema de criptografía en nuestros smartphones, en nuestros ordenadores, naveguemos con proxy o navegar con Tor. Esto no evitará la vigilancia, pero seremos un poco más anónimos. Como si pusiéramos un visillo en nuestra casa, que si bien de cerca se puede ver, desde lejos quedamos más o menos en el anonimato que, como ciudadanos, nos merecemos.

Encriptar archivos, una necesidad

No Comments

@pedroruizhidalg― El próximo lunes aparecerá en este blog un artículo acerca de la necesidad de preservar nuestros datos a empresas e instituciones que puedan ―de facto lo hacen― estar creando patrones de comportamiento a través de los datos que proporcionamos ―voluntariamente― mediante el móvil y la geolocalización.

Qué duda cabe que nuestros sistemas están amenazados por enemigos, quizás lejanos, con capacidad para leer todo lo que tecleamos, apoderarse de nuestros ordenadores, smartphones, tabletas y próximamente el internet de las cosas permitirá que puedan atacarnos la televisión, la nevera y/o cualquier otro electrodoméstico que esté conectado a Internet. Cuanto más compleja y abundantes sean nuestras conexiones mayor será la posibilidad de ataque.

EncFs (acrónimo de Encrypted Filesystem) proporciona en Linux ―sé que también existe para Windows―es una forma simple y efectiva de mantener nuestros directorios permanentemente encriptados.

Funcionamiento

EncFs permite montar un directorio encriptado sobre otro en claro, que será nuestro directorio de trabajo. Cuanto hayamos realizado el montaje todo lo que coloquemos en el directorio de trabajo será automáticamente encriptado en el directorio que hemos montado.

Requisitos

Necesitamos el paquete EncFs que podemos obtenerlo así:
sudo apt-get install encfs

Proceso de montaje

Crear un directorio para albergar datos. Como sugerencia un nombre que no aluda al contenido. También será una buena idea crearlo oculto. Bien sé que esto es un poco naif no obstante si nunca debemos subestimar al hacker tampoco sobreestimarlo. Recomiendo algo así.

 mkdir ~/.kungfu 

Ahora vamos a crear el directorio que permanecerá vacío y será donde veamos los datos en claro del directorio kungfu. Así:

mkdir ~/misdatos

Montamos la carpeta que contendrá los datos encriptados sobre la carpeta misdatos. Así:

encfs ~/.kungfu ~/misdatos
A partir de este momento cualquier cosa que situemos e misdatos mediante un uso normal ―tanto gráfico como por comando― «aparecerá» encriptado en la carpeta kungfu.

Proceso de desmontaje

Usamos fusermount así:

fusermount -u ~/misdatos

Espero que este artículo haya sido de vuestro interés y espero vuestros comentarios. Saludos.