For the sake of this question, assume that I am security conscious to the point of paranoid.

I am concerned that older versions of GnuPG may be compromised due to RSA encryption keys because of known attacks on RSA before. I have done some research and I have listed my research down below.

  • In August 2007, Dan Shumow and Niels Ferguson of Microsoft showed that the constants could be constructed in such a way as to create a kleptographic backdoor in the algorithm.
  • In 2013, Reuters reported that documents released by Edward Snowden indicated that the NSA had paid RSA Security $10 million to make Dual_EC_DRBG the default in their encryption software, and raised further concerns that the algorithm might contain a backdoor for the NSA.

Doing one exploit or attack may not be enough so the NSA will have to use multiple exploits at once.

  • By using zero days in web browsers to execute complex arbitrary code to install kleptographic random number generators without the owner realizing the attack.
  • After NSA has installed the backdoor, the victim's internet pattern is recorded and analyzed by a remote complex system that knows when the user will communicate with other contacts which by then snatches the encrypted information that has been encrypted with the encryption key that was generated by the kleptographic R.N.G. and immediately sends the decrypted information to a remote location where it can be read.
  • The NSA circumvented encryption such as SSL and RSA. What I found interesting was that the NSA may have been planting backdoors in random number generators with a special algorithm that can automatically decrypt encrypted messages. The goal is to not fight the encryption head on because the NSA doesn't have the resources or time to do so, but to fight the encryption asymmetrically. They do this by exploiting weaknesses in encryption programs such as the heartbleed bug before it was even known the NSA has been (allegedly) hiring top cryptanalysts and hackers to find bugs in software that can be exploited with a zero day that only the NSA knows to circumvent encryption.

If we assume that the NSA will perform the above attacks, what countermeasures could I use to protect myself?

closed as unclear what you're asking by Steffen Ullrich, LvB, WhiteWinterWolf, Alexander O'Mara, Iszi Jul 5 '16 at 19:29

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    Please tell me why I was downvoted and I will try to make the question better. The question is not broad, but if it is to descriptive I'll make it more easier to read. – Travis Jul 3 '16 at 20:18
  • 1
    What can you do? Don't use vulnerable encryption products once the vulnerability is discovered and confirmed to effect that product. Don't use encryption solutions that even support Dual_EC_DRBG, if you are concerned about the known problems with it. You can't predict or prevent a vulnerability you don't know about, so the best way to prevent the NSA from circumventing encryption, is not to use encryption that can be circumvented today. – Ramhound Jul 3 '16 at 21:07
  • 4
    Why would the NSA attack via this very complex mechanism if they have a 0-day in the browser that allows for the installation of arbitrary code? There are like a billion simpler attacks they could do once they have compromised your computer. For example, direct exfiltration of the data prior to encryption. – Neil Smithline Jul 4 '16 at 1:14
  • Welcome to the NSA watch-list Travis! – Neil McGuigan Jul 4 '16 at 2:16
  • 1
    It is unclear what your question is. – schroeder Jul 4 '16 at 19:20

Once a well-funded and knowledgeable attacker has exploited a 0-day to install arbitrary code on your computer, it is game over. There's no way to defend against that. The only defenses are to make sure that such an attack is not possible (very difficult) or ensure that no harm comes from such an attack (ie: that computer never handles sensitive data).

This leads to the awkward strategy of having an air-gapped computer that you use for encryption and decryption and another computer that you use for communication. You would use PGP on the air-gapped computer to encrypt/decrypt and move your data to/from the networked computer for transmission. Sending data in this manner is relatively simple. Just put the encrypted data on a DVD and move it to the networked computer.

Moving received data from the network computer to the air-gapped computer would have to be done in a way that would ensure that the air-gapped computer can't be hacked. This means that you probably should't use something like a USB or DVD as you can't trust them to be secure as the networked computer may have been hacked and use the USB/DVD to infect the air-gapped computer. Perhaps printing out the data from the networked computer and then using OCR to import it to the air-gapped computer?

The above notwithstanding, I think the best solution is to make yourself uninteresting to the NSA.

Not the answer you're looking for? Browse other questions tagged or ask your own question.