The "No Network is 100% Secure" series
- Cryptography -
A White Paper

All rights reserved - may not be copied without permission
Easyrider LAN Pro, NOC Design Consultants

Contact Us


What is Cryptography?: Cryptography is the science of writing in secret code. As applied to computer network security, cryptography protects data from theft or alteration and can also be used for user authentication. For the purposes of computer and network security, cryptography and data encryption must satisfy the following requirements:

Authentication: The process of proving one's identity.
Privacy: Ensuring that no one can read the message except the intended receiver.
Integrity: Assuring that the received message has not been altered from the original.
Non-repudiation: A mechanism to prove that the sender really sent the message.

There are three general types of cryptographic schemes typically used to accomplish these goals: secret key (or symmetric) cryptography, public-key (or asymmetric) cryptography, and hash functions. These schemes are used to create encrypted data known as ciphertext that is usually much more secure than non-encrypted information. Unencrypted data is referred to as plaintext.

Why is cryptography important to network security?: Rapidly rising cyber crime and the growing prospect of the Internet being used as a medium for terrorist attacks pose a major challenge for IT security. Cryptography is central to this challenge, since it underpins privacy, confidentiality, and identity, which together provide the fundamentals for trusted e-commerce and secure communications.

Crypto keys: A key is a string of bits used by a cryptographic algorithm to transform plain text into cipher text or vice versa. The key must be long enough so that an attacker cannot try all possible combinations to break it, which is known as a brute force attack.. A key length of 80 bits is generally considered the minimum for strong security with symmetric encryption algorithms. 128-bit keys are the current standard and are considered very strong.

The key is the only piece of the process that is vitally important to keep secret. In designing security systems, it is wise to assume that the details of the cryptographic algorithm are already available to the attacker. This principle is known as Kerckhoffs' principle - "only secrecy of the key provides security", or, reformulated as Shannon's maxim, "the enemy knows the system".

The history of cryptography confirms that it can be difficult to keep the details of a widely used algorithm secret. A key is often easier to protect since it's typically a small piece of information and it's easier to change, much like a password, if compromised. Thus, the security of an encryption system in most cases relies on some key being kept secret.

The other main cryptography component is the Encryption algorithm. There are several types of cryptographic algorithms.

Secret Key Cryptography (SKC): Uses a single key for both encryption and decryption

In this model, the sender uses the key (or some set of rules) to encrypt the plaintext and sends the ciphertext to the receiver. The receiver applies the same key (or ruleset) to decrypt the message and recover the plaintext. Because a single key is used for both functions, secret key cryptography is also called symmetric encryption. With this form of cryptography, it is obvious that the key must be known to both the sender and the receiver; that, in fact, is the secret. The biggest difficulty with this approach, of course, is the distribution of the key. The most common SKC scheme used today is DES. DES is a block-cipher employing a 56-bit key that operates on 64-bit blocks. 3DES and DESX are more secure variants of DES.

Public Key Cryptography (PKC): Uses one key for encryption and another for decryption

Generic PKC employs two keys that are mathematically related although knowledge of one key does not allow someone to easily determine the other key. One key is used to encrypt the plaintext and the other key is used to decrypt the ciphertext. The important point here is that it does not matter which key is applied first, but that both keys are required for the process to work. Because a pair of keys are required, this approach is also called asymmetric cryptography.

In PKC, one of the keys is designated the public key and may be advertised as widely as the owner wants. The other key is designated the private key and is never revealed to another party. It is straight forward to send messages under this scheme. Suppose Jill wants to send Jack a message. Jill encrypts some information using Jack's public key; Jack decrypts the ciphertext using his private key. This method could be also used to prove who sent a message; Jill, for example, could encrypt some plaintext with her private key; when Jack decrypts using Jill's public key, he knows that Jill sent the message and Jill cannot deny having sent the message (non-repudiation).

Public-key cryptography algorithms that are in use today for key exchange or digital signatures include:

RSA encryption: Since the beginning of the Internet, cryptography has been based extensively on the RSA public key system, used for digital signatures and the exchange of private keys that in turn encrypt message content. The RSA cryptosystem, introduced by Rivest, Shamir, and Adlement in 1977, relies for its security on the difficulty of working out the factors dividing large integers (whole numbers). RSA has performed well until recently, but the level of protection it provides has been eroded by constant efforts to develop more efficient methods for breaking it.

Elliptical curve cryptography: A different approach based on the mathematical theory of elliptic curves has emerged as a possible candidate for more efficient cryptography capable of providing an optimum combination of security and processing efficiency. Elliptic curves are equations with two variables that are raised to powers of two or more. The theory of elliptic curves has ironically been exploited for attacks on RSA cryptography. Elliptical curve algorithms have been cracked using brute force methods so even these are not 100% secure.

The advantage of elliptic curve cryptography lies in its immunity to the specialized attacks that have eroded the strength of RSA, with the result that smaller keys can be used to provide a given level of protection. The size of the parameters (the key size) for elliptic curve cryptography (ECC) needed to ensure security is much lower for ECC than for RSA. Keys 160 bits long provide ECC with the same level of security as 1024 bit keys for RSA. The consequence is that even though the algorithms required to implement ECC are more complex than for RSA, ECC is computationally more efficient. Therefore, ECC will make it easier to stay a step ahead of the hackers without undue load on computers.

Diffie-Hellman: After the RSA algorithm was published, Diffie and Hellman came up with their own algorithm. D-H is used for secret-key key exchange only, and not for authentication or digital signatures.

Digital Signature Algorithm (DSA): The algorithm specified in NIST's Digital Signature Standard (DSS), provides digital signature capability for the authentication of messages.

ElGamal: Designed by Taher Elgamal, a PKC system similar to Diffie-Hellman and used for key exchange.

Hash Functions: Uses a mathematical transformation to irreversibly "encrypt" information

Hash functions, also called message digests and one-way encryption, are algorithms that use no key. Instead, a fixed-length hash value is computed based upon the plaintext that makes it impossible for either the contents or length of the plaintext to be recovered. Hash algorithms are typically used to provide a digital fingerprint of a file's contents, often used to ensure that the file has not been altered by an intruder or virus. Hash functions are also commonly employed by many operating systems to encrypt passwords. Examples of hash encryption include:

MD5 (aka RFC 1321): Developed by Rivest after limitations and weaknesses were reported in MD2 and MD4. MD5 has been implemented in a large number of products although several weaknesses in the MD5 algorithm also exist.

Secure Hash Algorithm (SHA): Algorithm for NIST's Secure Hash Standard (SHS).

Tiger: Tiger is designed to be secure, run efficiently on 64-bit processors, and easily replace MD4, MD5, SHA and SHA-1 in other applications. Tiger/192 produces a 192-bit output and is compatible with 64-bit architectures; Tiger/128 and Tiger/160 provide compatibility with the other hash functions mentioned above.

Hash futures: At this time, there is no obvious successor to MD5 and SHA-1 that could be put into use quickly. There are so many products using these hash functions that it could take many years to flush out all use of 128 and 160-bit hashes. NIST announced their Cryptographic Hash Algorithm Competition in 2007 to find the next generation secure hashing method. Dubbed SHA-3, this new scheme will likely not be available until 2011 or 2012.

Key summary: The keys used in public key cryptography have some mathematical structure. To prevent a key from being guessed, keys need to be generated truly randomly and contain sufficient entropy. When a password (or passphrase) is used as an encryption key, well-designed cryptosystems first run it through a key derivation function which adds a salt and compresses or expands it to the key length desired, for example by compressing a long phrase into a 128-bit value suitable for use in a block cipher.

Cryptography benefits: The cryptographer has the benefit over the cryptanalyst (the person attacking the cryptosystem) as he or she can select the key size for any desired level of security, provided everyone has the same base of knowledge of the underlying cryptosystem. Crucially, even using the weaker RSA cryptography method, it is still much harder computationally to break the system than to use it. However, the margin of safety is greater for the emerging ECC technology.

The big picture: Secure use of cryptography requires trust. There are a number of trust models employed by various cryptographic schemes. Three of them are:

The web of trust: Employed by Pretty Good Privacy (PGP) users, who hold their own set of trusted public keys.

PGP is a widely used private e-mail scheme based on public key methods. A PGP user maintains a local keyring of all their known and trusted public keys. The user makes their own determination about the trustworthiness of a key using what is called a "web of trust."

Kerberos: A secret key distribution scheme using a trusted third party.

Kerberos employs a client/server architecture and provides user-to-server authentication rather than host-to-host authentication. In this model, security and authentication will be based on secret key technology where every host on the network has its own secret key. It would be unmanageable if every host had to know the keys of all other hosts so a secure, trusted host somewhere on the network, known as a Key Distribution Center (KDC), knows the keys for all of the hosts (or at least some of the hosts within a portion of the network, called a realm). In this way, when a new node is brought online, only the KDC and the new node need to be configured with the node's key. Keys can be distributed physically or by some other secure means.

Certificates: Allow a set of trusted third parties to authenticate each other and, by implication, each other's users.

Certificates and Certificate Authorities (CA) are necessary for widespread use of cryptography for e-commerce applications. Crypto alone cannot address the trust issues that must exist between a customer and vendor when performing potentially perilous e-commerce transactions. For purposes of electronic transactions, certificates are digital documents, much like a State issued Drivers license. Typically, a certificate contains a public key, a name, an expiration date, the name of the authority that issued the certificate (and, therefore, is vouching for the identity of the user), a serial number, any pertinent policies describing how the certificate was issued and/or how the certificate may be used, the digital signature of the certificate issuer, and perhaps other information.

The most widely accepted certificate format is the one defined in International Telecommunication Union Telecommunication Standardization Sector (ITU-T) Recommendation X.509. Rec. X.509 is a specification used around the world and any applications complying with X.509 can share certificates. Most certificates today comply with X.509 Version 3.

Public Key Infrastructure: Certificates and the collection of CAs form a Public Key Infrastructure (PKI). In the early days of the Internet, every host had to maintain a list of every other host. The Domain Name System (DNS) introduced the idea of a distributed database for this purpose and DNS is one of the key reasons that the Internet has grown as it has. A PKI will fill a similar void in the e-commerce and PKC realm.

While certificates and the benefits of a PKI are most often associated with electronic commerce, the applications for PKI are much broader and include secure electronic mail, payments and electronic checks, Electronic Data Interchange (EDI), secure transfer of Domain Name System (DNS) and routing information, electronic forms, and digitally signed documents. A single "global PKI" is still years away although that is the ultimate goal as electronic commerce changes the way in which we do business.

Man in the middle attacks against "trusted" web servers: Hackers at the Black Hat and DefCon security conferences in August, 2009 have revealed a serious flaw in the way Web browsers verify trustworthy sites using secure sockets layer (SSL) certificates. If a criminal infiltrates a network, he can set up a secret eavesdropping post known as a "man in the middle attack" which can capture credit card numbers, passwords and other sensitive data flowing between computers on that network and sites their browsers have deemed safe. In an even more nefarious scenario, an attacker could hijack the auto-update feature on a victim's computer, and trick it into automatically installing malware pulled in from a hacker's Web site. The computer would think it's an update coming from the software manufacturer. Browser makers and the companies that sell SSL certificates say they are working on a fix.

Sites buy SSL certificates to encrypt traffic and assure visitors it's OK to enter confidential information. Companies that sell SSL certificates verify that someone trying to buy a certificate actually owns the site that certificate will be attached to. The presence of an SSL certificate on a site is designated by a padlock in the address bar. But many people don't pay attention to whether a padlock is present or not. Browsers do care, though, which is why this week's talks were significant. Browsers are programmed to block sites that don't have a valid SSL certificate, or have a certificate displaying a Web address that doesn't match the address a Web surfer was trying to reach (which can indicate someone has hijacked a person's Internet session).

The problems outlined by researchers center on a quirk in the way browsers read SSL certificates. Many SSL certificate companies will allow people to attach a programming symbol called a "null character" into the Web address onto the certificates they receive. Web browsers generally ignore that symbol. They stop reading at that symbol when they're checking the Web address on a certificate. The trick in the latest type of attack is that all a criminal would need to do is put the name of a legitimate Web site before that character, and the browser will believe that the site it's visiting (which is under the criminal's control) is legitimate. The criminal could then forward the traffic onto the legitimate site and spy on everything the victim does on that site. It's a complicated attack, but it highlights a significant weakness in the very technology widely used to assure people it's safe to navigate sensitive sites.

WPA hack update: August, 2009. Computer scientists in Japan say they've developed a way to break the WPA encryption system used in wireless routers in about one minute. The attack gives hackers a way to read encrypted traffic sent between computers and certain types of routers that use the WPA (Wi-Fi Protected Access) encryption system. These attacks work only on WPA systems that use the Temporal Key Integrity Protocol (TKIP) algorithm. They do not work on newer WPA 2 devices or on WPA systems that use the stronger Advanced Encryption Standard (AES) algorithm.

The encryption systems used by wireless routers have a long history of security problems. The Wired Equivalent Privacy (WEP) system, introduced in 1997, was cracked just a few years later and is now considered to be completely insecure by security experts. WPA with TKIP was developed as an interim encryption method as Wi-Fi security was evolving. Wi-Fi-certified products have had to support WPA 2 since March 2006. Enterprise Wi-Fi networks typically include security software that would detect man-in-the-middle attacks. But the development of the first really practical attack against WPA should give people a reason to dump WPA with TKIP. It's not as bad as WEP, but it's also certainly bad.

Users can change from TKIP to AES encryption using the administrative interface on many WPA routers.

About the Author

Frank Saxton is a computer network security engineer and Easyrider LAN Pro principle. Home-based in Portland, Oregon, Frank has been designing remote diagnostic and network enterprise monitoring centers since the late 1970s. Prior to becoming a professional systems engineering consultant in 1990, Frank had a 20 year career in computer systems field engineering and field engineering management. Frank has a BSEE from Northeastern University and holds several certifications including Network General's Certified Network Expert (CNX). As a NOC design engineer and architect, Frank works regularly with enterprise-class monitoring tools such as HP Openview Operations, BMC Patrol and others. In his enterprise security audit work, Frank uses sniffers and other professional grade monitoring tools on a daily basis.

Next in the security white paper series:

How Cyber Criminals will mature over the next ten years
Are you vulnerable to drive-by exploits?
High value sites recent hacks
IT employment challenges of the 21st century
Employment reference checking white paper
Competency Certifications White Paper
Firewall White Paper
Virus White Paper
GhostNet White Paper
Password White Paper
Digital Identification Certificates White Paper
OpenID White Paper
Intrusion Detection Systems IDS White Paper
Rootkit White Paper
Unnecessary Windows XP Services White Paper
Scareware White Paper
Exaflood Internet Brownout White Paper
Cloud Computing White Paper
Proxy Server White Paper
Personal Computer PC Security White Paper
Phishing White Paper
DNS Poisoning White Paper
Conficker White Paper
SPAM White Paper
Best Practices White Paper
Denial of Service DoS White Paper
Trojan Virus Attacks White Paper
Port Scanning White Paper
Monitoring Basics 101 White Paper
Monitoring Basics 102 White Paper
Monitoring Basics 103 White Paper
Virtual Machine Security White Paper
Aurora vulnerability White Paper
Shelfware White Paper
Outsourced IT White Paper

Easyrider LAN Pro Consulting services:

Network Security Audit and PC Tune-up service

- Proxy server installation and configuration
- Enterprise security consultations
- Disaster recovery planning
- Disaster recovery services
- Capacity, migration and upgrade planning
- Build and deploy central syslog server
- Build trouble ticket systems
- Design and build monitoring environments
- Design and build Network Operations Centers (NOC)
- HP Openview, BMC Patrol consulting

Last modified May 15, 2009
Copyright 1990-2009 Easyrider LAN Pro