Communications security is often described in terms of three elements: Authentication, confidentiality and integrity [1].
Authentication ensures that nodes are who and what they claim to be.
Authentication is typically based on demonstrating knowledge of a shared secret, such as a username and password pair. In more complex systems, possession of the shared secret may be demonstrated by proving possession of a token that is more difficult to steal or forge, such as a certificate or a smart card.
Confidentiality ensures that eavesdroppers cannot read network traffic.
Confidentiality is typically protected by encrypting the contents of the message. Encryption applies a known, reversible method of transformation (called a cipher or encryption algorithm) to the original message contents (called the plaintext), scrambling or disguising them to create the ciphertext. Only those who know how to reverse the process (decrypt the message) can recover the original text. The most common forms of encryption are mathematical transformations which use a variable called a key as a part of their manipulations. The intended receiver must know both the correct method and the value of the key that was used, in order to be able to decrypt the message. For commercial encryption schemes, the method will be public knowledge. Protecting the secrecy of the key becomes crucial.
Integrity ensures that messages are delivered without alteration.
In the context of communications security, it refers to the ability to make certain that the message received has not been altered in any way and is identical to the message that was sent. The Frame Check Sequence (FCS) bytes are one example of an integrity check, but they are not considered secure. The ordinary FCS bytes are not calculated over the plaintext message and protected by encryption. Instead they are calculated over the ciphertext, using a known method and sent in the clear (unencrypted). The FCS bytes help to identify packets that have been accidentally damaged in transit. An attacker, however, could recalculate the ordinary FCS (for example, to hide their deliberate alteration of a packet they captured and retransmitted). The harder it is for an attacker to correctly recalculate the integrity check sequence or security hash function, the more reliable a test of message integrity it is.
The concept of integrity is sometimes extended to include verifying that the source of the message is the same as the stated source. Timestamps and message sequence numbers can protect against “replay attacks,” but, again, they are not considered secure unless they are protected by encryption.
Security is always relative, never absolute. For every defense, there is (or will soon be) a successful attack. For every attack, there is (or will soon be) a successful defense. Only time and effort are really at issue. The better the defense, the more time and effort it takes to breach.
The right defense is the one that is balanced and that matches the expected range of attacks. Balance is important in two senses. First, the weakest link must be secure enough. Second, the passive elements of authentication, encryption, and integrity check must be backed up by active elements such as monitoring and pursuing attempted breaches, maintaining security discipline, and so forth. The right defense is one in which a breach requires just slightly more time and effort from attackers than they are willing to invest. Security measures impose costs and constraints on the defender. Like any other business decision, these trade-offs must be made with eyes open.