home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / pc / crypto / attack.rip < prev    next >
Encoding:
Text File  |  2003-06-11  |  9.6 KB  |  194 lines

  1.  
  2. SOME POSSIBLE ATTACKS ON RIPEM
  3. ------------------------------
  4.  
  5. This is a living list of potential weaknesses to keep your eyes open
  6. for when using RIPEM for secure electronic mail.  It does not go into
  7. great detail, and is almost certainly not exhaustive.  Obviously, many
  8. of the weaknesses are weaknesses of cryptographically secured mail in
  9. general, and will pertain to secure mail programs other than RIPEM.
  10. It is maintained by Marc VanHeyningen <mvanheyn@cs.indiana.edu>.  It
  11. is posted quartertly to a variety of news groups; followups pertaining
  12. specifically to RIPEM should go to alt.security.ripem.
  13.  
  14. CRYPTANALYSIS ATTACKS
  15. ---------------------
  16.  
  17. - Breaking RSA would allow an attacker to find out your private key,
  18.   in which case he could read any mail encrypted to you and sign
  19.   messages with your private key.
  20.  
  21.   RSA is generally believed to be resistant to all standard
  22.   cryptanalytic techniques.  Even a standard key (about 516 bits with
  23.   RIPEM) is long enough to render this impractical, barring a
  24.   huge investment in hardware or a breakthrough in factoring.
  25.  
  26. - Breaking DES would allow an attacker to read any given message,
  27.   since the message itself is encrypted with DES.  It would not allow
  28.   an attacker to claim to be you.
  29.  
  30.   DES has only 56 bits in its key, and thus could conceivably be
  31.   compromised by brute force with sufficient hardware, but few agencies
  32.   have such money to devote to simply read one message.  Since each
  33.   message has a different DES key, the work for each message would
  34.   remain high.  RIPEM 1.1 allows triple-DES to be used as an option;
  35.   it is believed stronger than single-DES and should resist brute
  36.   force attacks.
  37.  
  38. KEY MANAGEMENT ATTACKS
  39. ----------------------
  40.  
  41. - Stealing your private key would allow the same benefits as breaking
  42.   RSA.  To safeguard it, it is encrypted with a DES key which is derived
  43.   from a passphrase you type in.  However, if an attacker can get a copy
  44.   of your private keyfile and your passphrase (by snooping network
  45.   packets, tapping lines, or whatever) he could break the whole scheme.
  46.  
  47.   The main risk is that of transferring either the passphrase or the
  48.   private key file across an untrusted link.  So don't do that.  Run 
  49.   RIPEM on a trusted machine, preferably one sitting right in front of
  50.   you.  Ideally, your own machine in your own home (or maybe office)
  51.   which nobody else has physical access to.
  52.  
  53. - Fooling you into accepting a bogus public key for someone else could 
  54.   allow an opponent to deceive you into sending secret messages to him
  55.   rather than to the real recipient.  If the enemy can fool your
  56.   intended recipient as well, he could re-encrypt the messages with
  57.   the other bogus public key and pass them along.
  58.  
  59.   It is important to get the proper public keys of other people.
  60.   The most common mechanism for this is finger; assuming the opponent
  61.   has not compromised routers or daemons or such, finger can be 
  62.   given a fair amount of trust.  The strongest method of key
  63.   authentication is to exchange keys in person; however, this is
  64.   not always practical.  Having other people "vouch for you" by
  65.   signing a statement containing your key is possible, although 
  66.   RIPEM doesn't have features for doing this as automatically as
  67.   PGP.  RIPEM does generate and check MD5 fingerprints of public keys
  68.   in the key files; they may be exchanged via a separate channel for
  69.   authentication.
  70.  
  71. PLAYBACK ATTACKS
  72. ----------------
  73.  
  74. - Even if an opponent cannot break the cryptography, an opponent could
  75.   still cause difficulties.  For example, suppose you send a message
  76.   with MIC-ONLY (a PEM mode which does not provide disclosure protection)
  77.   to Alice which says "OK, let's do that." Your opponent intercepts
  78.   it, and now resends it to Bob, who now has a message which is
  79.   authenticated as from you telling him to do that.  Of course, he may
  80.   interpret it in an entirely different context.  Or your opponent
  81.   could transmit the same message to the same recipient much later,
  82.   figuring it would be seen differently at a later time.  Or the
  83.   opponent could change the Originator-Name: to himself, register 
  84.   your public key as his, and send a message hoping the recipient
  85.   will send him return mail indicating (perhaps even quoting!) the
  86.   unknown message.
  87.  
  88.   To defeat playback attacks, the plaintext of each message should 
  89.   include some indication of the sender and recipient, and a unique
  90.   identifier (typically the date).  A good front-end script for RIPEM
  91.   should do this automatically (IMHO).  As a recipient, you should be
  92.   sure that the Originator-Name: header and the sender indicated within
  93.   the plaintext are the same, that you really are a recipient, and that
  94.   the message is not an old one.  Some this also can and should be
  95.   automated.  The author of this FAQ has made a modest attempt at
  96.   automating the process of generating and checking encapsulated
  97.   headers; the programs are included in the standard distribution in
  98.   the utils directory.
  99.  
  100. LOCAL ATTACKS
  101. -------------
  102.  
  103. - Clearly, the security of RIPEM cannot be greater than the security of
  104.   the machine where the encryption is performed.  For example, under
  105.   UNIX, a super-user could manage to get at your encrypted mail,
  106.   although it would take some planning and effort to do something like
  107.   replace the RIPEM executable with a Trojan horse or to get a copy of
  108.   the plaintext, depending how it's stored.
  109.  
  110.   In addition, the link between you and the machine running RIPEM is
  111.   an extension of that.  If you decrypt with RIPEM on a remote machine
  112.   which you are connected to via network (or, worse yet, modem), an
  113.   eavesdropper could see the plaintext (and probably also your
  114.   passphrase.)
  115.  
  116.   RIPEM should only be executed on systems you trust, obviously.  In
  117.   the extreme case, RIPEM should only be used on your own machine,
  118.   which you have total control over and which nobody else has access
  119.   to, which has only carefully examined software known to be free of
  120.   viruses, and so on.  However, there's a very real trade-off between
  121.   convenience and security here.
  122.  
  123.   A more moderately cautious user might use RIPEM on a UNIX workstation
  124.   where other people have access (even root access), but increase
  125.   security by keeping private keys and the (statically linked, of
  126.   course) executable on a floppy disk.
  127.  
  128.   Some people will keep RIPEM on a multi-user system, but when dialing
  129.   in over an insecure line, they will download the message to their
  130.   own system and perform the RIPEM decryption there.  However, the
  131.   security provided by such a mechanism is somewhat illusory; since
  132.   you presumably type your cleartext password to log in, you've just
  133.   given away the store, since the attacker can now log in as you and
  134.   install traps in your account to steal your private key next time
  135.   you use it from a less insecure line.  This will likely remain the
  136.   situation as long as most systems use the rather quaint mechanism of
  137.   cleartext password authentication.
  138.  
  139.   I find it nice to put a brief statement of how carefully I manage my
  140.   security arrangement in my .plan next to my public key, so that
  141.   potential correspondents can be aware what level of precautions are
  142.   in place.  Some people use two keys, a short one which is not
  143.   carefully managed for ordinary use and a longer one which is treated
  144.   with greater care for critical correspondence.
  145.  
  146. UNTRUSTED PARTNER ATTACKS
  147. -------------------------
  148.  
  149. - RIPEM's encryption will ensure that only a person with the private key
  150.   corresponding to the public key used to encrypt the data may read the
  151.   traffic.  However, once someone with that key gets the message, she
  152.   may always make whatever kind of transformations she wishes.  There 
  153.   exist no cryptographic barriers to a recipient, say, taking an
  154.   ENCRYPTED message and converting it to a MIC-ONLY message, signed by
  155.   you and readable by anyone, although RIPEM does not provide this
  156.   functionality.  Indeed, the latest PEM draft I have seen specifically
  157.   states that such transformations should be possible to allow
  158.   forwarding functions to work.
  159.  
  160.   Including the recipients in the plaintext, as mentioned above, will
  161.   make it possible for recipients of a redistributed message to be aware
  162.   of its original nature.  Naturally, the security of the cryptography
  163.   can never be greater than the security of the people using it.
  164.  
  165. TRAFFIC ANALYSIS ATTACKS
  166. ------------------------
  167.  
  168. - Some attacks are outside the scope of the PEM standard; traffic
  169.   analysis is a prominent one of these.     PEM does not prevent an enemy
  170.   from potentially discovering who your traffic is being exchanged
  171.   with and how often/lengthy these messages are.  This can be a
  172.   problem for some people, though the potential for invasion of
  173.   privacy may be more a collective than an individual one.  An
  174.   interesting paper on a potential application of traffic analysis is
  175.   mentioned below.
  176.  
  177.   The traditional way to prevent traffic analysis is to throw a lot of
  178.   bogus traffic into the channel to obscure the real stuff; this could
  179.   be done but would be rather detrimental to network load and bogus
  180.   message recipients.  Trusted third-party re-mailers that handle
  181.   aliases can help some, though aliases that are frequently used can
  182.   still be analyzed (indeed, traffic analysis might determine which
  183.   aliases go with which real people.)
  184.  
  185.   Interesting reference:
  186.   Schwartz and Wood.  ``Discovering shared interest using graph
  187.   analysis.''  To appear in CACM.
  188.   
  189.   Plain text version is in:
  190.     ftp.cs.colorado.edu:/pub/cs/techreports/schwartz/ASCII/Email.Study.txt.Z
  191.   Postscript version is in:
  192.     ftp.cs.colorado.edu:/pub/cs/techreports/schwartz/PostScript/Email.Study
  193.  
  194.