Security Technologies for the World Wide Web, Second Edition

In this chapter, we introduce and briefly overview some cryptographic techniques that are used in the rest of the book. More specifically , we introduce the topic in Section 4.1; address cryptographic hash functions, secret key cryptography, and public key cryptography in Sections 4.2, 4.3, and 4.4, respectively; address digital envelopes in Section 4.5; and elaborate on some techniques to protect private keys and generate pseudorandom bit sequences in Sections 4.6 and 4.7. Finally, we discuss some legal issues that surround the use of cryptography in Section 4.8, and introduce a notation that can be used to describe cryptographic protocols and applications in Section 4.9.

Note that this chapter is far too short to provide a comprehensive overview about all cryptographic techniques that are relevant for WWW security. For this purpose, you must read one (or several) of the many books on cryptography that are available today. Among these books, I particularly recommend [1 “7].

4.1    Introduction

According to [4], the term cryptography refers to the study of mathematical techniques related to various aspects of information security such as confidentiality, data integrity, entity authentication, and data origin authentication. It is commonly agreed that cryptography is a major enabling technology for network security, and that cryptographic algorithms and protocols are essential building blocks:

Cryptographic algorithms and protocols are being studied in both theory and practice. The aim is to design and come up with algorithms and protocols that are both secure and practical. Note, however, that there are at least two basic approaches to discussing the security of cryptographic algorithms and protocols:

The computational security of a cryptographic algorithm or protocol can be studied from the point of view of computational complexity, whereas the unconditional security cannot be studied from this point of view because computational resources are allowed to be infinite. The appropriate framework in which unconditional security must be studied is probability theory, and the application thereof in communication or information theory [8, 9].

Unconditional security is preferable from a security point of view, because it protects against an infinitely powerful adversary. Unfortunately, unconditional security is generally hard and expensive to achieve in many cases, and sometimes impossible . For example, theory shows that unconditionally secure encryption systems use very long keys, making them unsuitable for most practical applications. Similarly, there is no such thing as an unconditionally secure public key cryptosystem. The best we can achieve is provable security, in the sense that the problem of breaking the public key cryptosystem is arguably at least as difficult as solving a complex mathematical problem. Consequently, one is satisfied with computational security, given some reasonable assumptions about the computational power of a potential adversary. But keep in mind that the security that a computationally secure cryptographic algorithm or protocol may provide is, for the most part, based on the perceived difficulty of a mathematical problem, such as the factorization problem or the discrete logarithm problem in the case of public key cryptography. Confidence in the security of such systems may be high because the problems are public and many minds have attempted to attack them. However, the vulnerability remains that a new insight or computing technology may defeat this type of cryptography. There are at least two recent developments that provide some evidence for this intrinsic vulnerability:

Should either quantum computers or DNA computers ever become practical, they would have a tremendous impact on modern cryptography. In fact, many cryptographic algorithms and protocols that are computationally secure would be rendered worthless. This is particularly true for algorithms and protocols that make use of public key cryptography.

Cryptographic algorithms and protocols are used to establish secured channels (both in terms of authenticity and integrity, as well as confidentiality). Note the subtle difference between a secure channel and a secured channel. Certain channels are assumed to be secure, including trusted couriers and personal contacts between communicating parties, whereas other channels may be secured by physical or cryptographic techniques. Physical security may be established through physical means, such as dedicated communication links with corresponding access controls put in place, or the use of quantum cryptography. Contrary to conventional cryptography, the security of quantum cryptography does not rely upon any complexity-theoretic or probability- theoretic assumptions, but is based on the Heisenberg uncertainty principle of quantum physics [14]. As such, quantum cryptography is immune to advances in computing power and human cleverness . In the future, quantum cryptography may provide a physical alternative to unconditionally secure cryptographic algorithms and protocols. In the meantime, however, conventional and computationally secure cryptographic algorithms and protocols are much easier to use and deploy. Consequently, we are not going to delve into the details of quantum cryptography in this book. You may refer to any book mentioned above to get information about quantum cryptography.

[1] Len M. Adleman is a coinventor of the Rivest, Shamir, and Adleman (RSA) cryptosystem.

[2] According to theoretical computer science, the directed Hamiltonian path problem is NP-complete.

Категории