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