What Cryptography Offers

The main goals of encryption are often described as confidentiality, integrity, and availability (CIA). (For a more detailed discussion of CIA, please refer to Chapter 3.) When sending an encrypted message, the content is intended to be obscured and therefore "secret". The difficulty in determining the plaintext message defines the strength of the encryption and therefore the level of secrecy. Weak or simple methods of enciphering may obscure a message from casual examination. Strong encryption aims to make messages impossible to decrypt with currently available technology. No system is perfect, of course, but many algorithms and methods under analysis appear to take longer to decrypt than is computationally feasible without enormous resources of time or money.

Another important goal of a cryptographic system is to ensure that the encrypted message arrives unaltered. An effective cipher will resist attempts to substitute data to alter the meaning of a message. If two different plaintext data strings produce the same ciphertext string, it is called a collision. Clearly, this creates a problem, as it would theoretically be possible for an attacker to change the meaning of a message, for example from "yes" to "no" in a response, or from "Meet the contact at 8:00A.M." to "Meet the contact at 9:00P.M."

A related element in the design of an effective cryptographic system is the guarantee of authenticity. This means that the recipient will have a way to verify that a sender is who they claim to be. Tied to the concept of authenticity is non-repudiation-the message was sent at a particular time by a particular sender, with certainty that the message has not been altered. Poor key management can complicate non-repudiation, weaken implementations of algorithms, or use a small key space, subjecting the secret key(s) to brute force attacks.

A good encryption system should:

  • Have the same efficiency for all keys in its key space

  • Be easy to implement

  • Rely on the secrecy of the keys, not the secrecy of the algorithms

The reliability and soundness of an encryption system are dependent upon three things:

  • Physical Security   The keys must be protected from removal and deletion, and a host system should not be accessible to unauthorized users.

  • User Authentication   The success of a commercial system is dependent on sound and effective authentication techniques. Even the best algorithms or strong key and passphrase systems can fail if users are not identified and authenticated properly to determine their level of access to the system or its components.

  • Logical Access Control   Multiuser systems' authentication and authorization must be effective and appropriate in order for encryption to be effective. If any user can read or write to key files or from memory where keys are stored, the security of the system is broken.

start sidebar
Notes from the Underground…
Shhh… It's a Secret

It might initially appear that greater security could be achieved by keeping the algorithm(s) that are used secret. After all, if the outsiders do not know how the ciphertext was encrypted, they will not know how to decrypt it, right? Not exactly. Modern computing power has increased to the point where brute force attacks and recursive analysis make it quite possible to decipher the plaintext without knowledge of the algorithm. One famous historic example of an "unknown" algorithm involves the use of an obscure code. The U.S. military used Navajo code talkers (speakers of the complex and little known Navajo language) during World War II to send secret communications. This language was chosen because it was hard to learn and only a few people in the world knew it. The Navajo language had never been written, which made it more obscure. Members of the Navajo tribe were recruited to develop a code based on the language. For more information about this project, see the article Navajo Code Talkers at http://raphael.math.uic.edu/~jeremy/crypt/contrib/mollo2.html.

end sidebar

Steganography

Steganography (from the Greek word for "covered writing") refers to a method of hiding data-not just concealing its contents as encryption does, but concealing its very existence. Steganography is usually used in conjunction with encryption for added protection of sensitive data. This method ameliorates one of the biggest problems of encrypting data-that is, encrypted data draws the attention of people who are looking for confidential or sensitive information.

The concept of steganography has been around for a long time. The ancient Greeks are said to have sent secret messages by shaving the head of the messenger and writing the message on his scalp, then letting the hair grow back over it before sending him on his way to deliver the message. Early methods of steganography involved using "invisible ink" or concealing a message inside another message using a code whereby only every fifth word, for example, "counts" as part of the real, hidden message. One of the earliest books on the subject, Steganographica, by Gaspari Schotti, was published in the 1600s.

Steganography in the computer world also hides data inside other data, but the way it does so is a little more complex. Because of the way data is stored in files, there are often unused (empty) bits in a file such as a document or graphic. A message can be broken up and stored in these unused bits, and when the file is sent it will appear to be only the original file (called the container file). The hidden information inside is usually encrypted, and the recipient will need special software to retrieve it (and then decrypt it, if necessary). Messages can be concealed inside all sorts of other files, including executables and graphic and audio files. Another form of steganography is the hidden watermark that is sometimes used to embed a trademark or other symbol in a document or file.

A number of different software programs can be used for this purpose, including JPHide and Seek, which conceals data inside .JPG files, and MP3Stego, which conceals data in .MP3 files. Steganos Security Suite is a package of software programs that provide steganography, encryption, and other services.

Other programs, such as StegDetect, are designed to look for hidden content in files. The process of detecting steganographic data is called steganalysis.



SSCP Systems Security Certified Practitioner Study Guide
SSCP Study Guide and DVD Training System
ISBN: 1931836809
EAN: 2147483647
Year: 2003
Pages: 135

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net