OpenSSL Cheat Sheet v1.2

OpenSSL reference by Alberto Gonzalez

A new version of the OpenSSL reference has been released.

Version 1.2

These are the changes:

  • Asymmetric encryption: Changes in how to export the public key to be consistent with the encryption command using RSA public key.
  • Asymmetric encryption: Encrypt a file using RSA public key.
  • Asymmetric encryption: Decryption of the previously encrypted file was included.
  • Symmetric encryption: Changes in the decryption of a file using another file as the key, instead of a password.
  • Digital Signatures: Signing a file using SHA-256 and RSA private key.
  • Digital Signatures: Verifying the signature previously generated using the RSA public key file.
  • Working with TLS protocol: Extract the domain certificate from an HTTPS/TLS connection.
  • Working with TLS protocol: nmap command: Display enabled cipher-suites over an HTTPS/TLS Connection.
  • Working with TLS protocol: nmap command: Display enabled cipher-suites over a TLS (HTTPS) Connection using SNI.

KeyStore Explorer: A great tool for simplifying cryptographic tasks in Java.

Recently I have been testing this tool when I work with Java Key Stores or Trust Stores. It’s KeyStore Explorer.

You can always use command line to execute cryptographic tasks in java using keytool library or bouncy castle, however for many daily activities like generating CSR files, creating cryptographic keys or managing several keystores or trust stores, you prefer a more friendly tool. This is where KeyStore Explorer fits in.

It’s support for cryptographic tasks, according to it’s website, is:

And you can handle, compare and manage many keystore files from the main window and explore their content easily:

It is definitely an extraordinary tool that can be downloaded here: http://keystore-explorer.org/

OpenSSL Cheat Sheet v1.0.5

Today I released the 1.0.5 version of the OpenSSL Cheat Sheet.

Change Control:

  • New additions:
    • Added the Java keytool command to generate Java Key Store files in PERSONAL SECURITY ENVIRONMENTS section.
    • Added two commands to generate CSR files using Elliptic Curve keys instead of RSA keys in DIGITAL CERTIFICATES section.
    • Added the command to generate a CSR file using an existing private key file. Useful when you need to renew your certificate but preserve the private key. DIGITAL CERTIFICATES section.
  • Corrections:
    • A few typo corrections in DIGITAL SIGNATURES.

You can download the PDF version here or access the online version.

Herramientas para validación de HTTPS

Quizá uno de los temas más delicados en la configuración de sitios web es la implementación correcta de un dominio bajo HTTPS ya sea porque requiere cierto conocimiento criptográfico o una serie de pasos muy bien definidos para que no tenga ninguna falla.

Independientemente del tipo de tecnología de servidor que se utilice (IIS, Apache, Nginx, etc.) la configuración de certificados para HTTPS junto con el formato adecuado de ellos, el orden correcto, configuración de OCSP y de más, pueden derivar en cualquier cantidad de problemas para los clientes (user-agents) o más específicamente para su biblioteca PKI que utilice para comunicarse con el servicio HTTPS expuesto.

Por mencionar algunos problemas tenemos:

  • Cadena de confianza incompleta o incorrecta
  • Suites de cifrado (cipher-suites) no soportadas por los clientes esperados
  • Versiones del protocolo SSL/TLS inseguras
  • Vulnerabilidades como BEAST, POODLE, HEARTBLEED activas
  • HSTS mal configurado
  • entre otros.

Existe un sin fin de literatura para la instalación correcta de certificados y configuración HTTPS, de acuerdo a la tecnología involucrada, que podemos encontrar con una buena búsqueda en Google pero una vez realizada la instalación siempre es bueno validarla de forma externa para asegurarnos que nuestra implementación es adecuada y soportada por los clientes esperados.

Para ello tenemos las siguientes herramientas:
Continue reading Herramientas para validación de HTTPS

El desperdicio de los correos electrónicos

email

Este post lo tenía pendiente desde hace tiempo debido a que se me hace increíble que, al día de hoy, no exista otro método mucho más práctico para resolver esta necesidad y que las opciones que han surgido con el tiempo no hayan alcanzado el suficiente nivel de adopción como para desplazar a las tecnologías que ya deberían ser obsoletas como el tradicional correo electrónico.
Continue reading El desperdicio de los correos electrónicos

IceScrum and browsers troubles.

Few months ago I realized that the iceScrum version I use for job stop working on modern browsers.
When I tried to “Connect” with my account the system threw the next screen:


After trying different options, logs reviewing and more I could find a solution for the problem. I haven’t had time to dig into the iceScrum code but If you want to log into the system with modern browsers you just need to force the browsers to make all the requests with a different User-Agent in their headers.
As a former web developer I use to have all popular browsers installed just in case. I found the easiest way to change the User-Agent header is using Safari as web browser and activate the “Develop menu bar” from the Advanced tab in the preferences menu.


After that you just need to change the User-Agent in the Develop menu and try, for example, Safari 5.0.6. If you can not view the whole Menu Bar just press the <Alt> key.


And then just try to Connect again in iceScrum. You’ll have no more troubles.

Well, that’s all for now.

iPhone, Android, Win 7 y el almacenamiento de datos tan polémico

Desde hace unas semanas se ha hablado mucho de que los móviles iPhone, el OS Android y el Windows 7 para móviles almacenan ciertos datos de los usuarios sin su consentimiento. El tipo de datos que almacena de esta forma son las ubicaciones de redes inalámbricas, antenas 3G,GSM y otros tipos de enlaces a los que el dispositivo se pudiera conectar de forma inalámbrica.

Pueden ver un poco de cómo surgió la noticia en los siguientes enlaces:

  • http://www.infosecurity-magazine.com/view/17562/apple-and-android-smartphones-silently-track-their-users/
  • http://www.infosecurity-magazine.com/view/17658/apple-responds-to-user-location-controversy/
  • http://www.techradar.com/news/phone-and-communications/mobile-phones/jobs-responds-to-iphone-tracking-fears-we-don-t-track-anyone–947661
  • http://www.infosecurity-magazine.com/view/17609/now-windows-7-smartphones-collect-your-location-data/
  • Como pueden ver es una funcionalidad común entre estos dispositivos. Aparentemente el motivo de que almacenen estos datos es para poder reconectarse a estos puntos de acceso de forma más rápida.

    Si tienes un iPhone, existe una aplicación que te permite leer esa información almacenada en tu dispositivo y mostrarte, en forma gráfica y bastante conveniente, lo que realmente contiene esa base de datos.
    Una imagen de como te muestra esa información la aplicación y el link de descarga los puedes encontrar aquí: http://petewarden.github.com/iPhoneTracker/.

    Uno de los principales problemas del almacenamiento de esta información es que el archivo donde se encuentran los registros no se encuentra cifrado, es decir, cualquier persona podría leerlo facilmente. Pudiendo así extraer ese archivo sin que el usuario se pueda percatar de eso y poder rastrear su actividad. Si bien, como dice Apple, no lleva un “tracking” de los movimientos del usuario, pero sí lleva un registro de las conexiones que ha hecho o que el dispositivo ha detectado. Con lo cual uno fácilmente se puede dar una idea de los movimientos de dicha persona.

    Si quieren conocer más a detalle como funciona y los datos exactos que almacenan estas bases de datos pueden consultar el siguiente enlace: http://www.hispasec.com/unaaldia/4570.