algorithm. • Public keys are widely distributed. • Private keys are known only to their owner. This keypair is based on really, really difficult math (usually involving very large prime numbers) that is difficult to reverse-engineer.
securely. Alice and Bob have exchanged public keys. 1. Alice writes a message to Bob and encrypts it using Bob’s public key. 2. Alice sends her encrypted message to Bob. 3. Later, Bob decrypts the message from Alice with his private key and reads it.
she wishes to send to Bob. 1. Alice signs her code with her private signing key and sends it to Bob. 2. Bob opens the code and uses Alice’s public verification key to check that the code belongs to Alice. 3. Bob can now be reasonably sure that the code is authentic and wasn’t tampered with in transit.
Socket Layer), are used to transfer sensitive or confidential information over the internet. TLS/SSL is a combination of asymmetric and symmetric cryptography.
server its crypto information. 2. The server sends the client its corresponding information, including its X.509 Certificate. 3. The client takes a look at the certificate, looks up the server’s Certificate Authority (CA), and verifies that the certificate is valid. 4. If the CA info checks out, the client generates a pre-master secret. 5. The client and server use the pre- master secret to generate a master secret. 6. Both the client and the server use the master secret to generate a symmetric session key. 7. The client tells the server that it will only use the session key to send information (and vice versa). There is now a secure, trustworthy TLS connection.
implemented in OpenSSL. Essentially, every heartbeat query can return the contents of up to 64K of memory. This means that the server’s private key can be obtained, along with anything else in memory.
line of code to OpenSSL. 2. Recompile OpenSSL so that TLS heartbeat is disabled. Then, revoke and reissue your keys and certs. This is what every competent sysadmin in the world did on Monday night and Tuesday morning.
is the patched version. (Debian’s version of OpenSSL [1.0.1e] contains the patch if the build date is > 04/07/2014 -- check this by running openssl version -a in a terminal)
bug has been in the wild since December 2011. It can be assumed that any server running a vulnerable version of OpenSSL has been compromised. Its certificate and keypair should no longer be considered valid. Furthermore, any information exchanged using that certificate can be assumed to be compromised.
has been patched for sites you use: http://filippo.io/Heartbleed/ Change your online passwords. All of them. Now. Start using multi-factor authentication (MFA) for everything.