COMPUTER SECURITY AND CRYPTOGRAPHY
INTRODUCTION
Computer security is very vital in the setting of any organization. The organizations’ information systems need to be protected from both physical and software attacks. The physical attacks can include: theft, fire and natural disasters. Software attacks can include but not limited to: viral attacks, hacking and any other form of intrusion into the organization’s information systems. Computer security should be prioritized in every organization that wants to be successful in its activities. There are several ways of protecting information and data in the computer systems at different levels. One of the most commonly used methods is cryptography which alters the original message so that it doesn’t become obvious to the third parties. (Denning, 1982)The information is encrypted as it moves along the communication channel and then decrypted once it reaches the destination.
Computer security
Computer security is a branch of computer technology which is charged with the responsibility of ensuring that the computer systems and the information therein is properly protected from theft, corruption or natural disasters. A good computer security management system will ensure that as the computer is protected, its resources remain accessible and productive to all its intended users. (Landwehr, 1981) The strategies which are used to achieve computer security often differ with those of other technologies because of its elusive nature to prevent unwanted behavior while using the computer system. Major technical areas of computer security are represented by the initials: CIA (Confidentiality, Integrity and Authentication/availability). This ensures that information is protected from unauthorized access, is legitimate and always available to the intended users. (Diffie, & Landau, 1998)
A good computer security system needs to take the following attributes into consideration:
i. Confidentiality
ii. Integrity
iii. Authentication
iv. Availability
v. Access Control
vi. Nonrepudiation
i. Confidentiality
Information cannot be accessed by unauthorized parties. It is also known as secrecy/privacy. Some of the breaches to this attribute include: embarrassing the organization, leakages of information that can lead to competitors accessing crucial information and hackers gaining access into the system and can carry out malicious activities with the systems resources. (Landwehr, 1981)
ii. Integrity
This is an attribute which ensures that information is protected from any form of unauthorized modifications that cannot be easily detected by authorized users. Hacking is a major concern in this area as hackers can intercept the system and alter the properties of the system. Some of the alterations may not be easily detected by the legitimate users of the system. (Landwehr, 1981)
iii. Authentication
This attribute ensures that the users of the system are who they claim to be. It ensures that information about the users is properly screened so as to ensure that only those people who are legitimate to use the system do so.
iv. Availability
This ensures that the system’s resources are only accessed by the authorized parties. One major concern of this area is Denial of Service attacks which infringe availability of the system’s resources.
v. Access Control
This is concerned with ensuring that users are not only able to access the resources that they are entitled to but also ensures that they are not denied the resources that they can legitimately expect to access.
vi. Nonrepudiation
This ensures that if a person sends a message, then he/she cannot deny having sent it. It also ensures that if a person receives a message, he/she cannot deny having received the message.
COMPUTER SECURITY POLICY
A computer security policy is a set of objectives or rules for users and administrators that are meant to ensure the security of computer systems in an organization. It states the goals and the elements of an organization’s computer systems. Computer policy models can be categorized into the three core principles of security. (Confidentiality, integrity and availability) The security policies are enforced by organizational policies or security mechanisms. A technical implementation will define whether a computer system is secure or insecure. (Clark & Wilson, 1987)
FORMAL COMPUTER SECURITY POLICY MODELS
i. Bell-La Padula Model
This is a confidentiality computer security policy model. This security policy model is used for enforcing access control in government and military applications. It is a formal state transition model which describes a set of access control rules which use security labels on objects and clearances for subjects. The security labels which are used here range from the most sensitive down to those ones covering the least sensitive areas. This type of security policy model is an example of a model whereby there is no clear distinction between protection and security. (Landwehr, 1981)
Features of Bell-LaPadula model
It mainly focuses on data confidentiality and controlled access to classified information. It is different from the Biba Integrity model which mainly focuses on the rules for the protection of data integrity. In this model, entities are divided into subjects and objects. This model is built on the concept of a state machine with a set of allowable states in a computer network system. A shift from one state to another state is defined by transition functions. A system state can be said to be secure only if permitted access modes of the subjects to the objects are in accordance with the stated security policy. In order to determine whether an access mode is legitimate or can be allowed, the subject’s clearance is compared to the object’s classification. This model defines two MAC (mandatory access control) rules and a one DAC (Discretionary access control) rule with three security properties. (Bell, Elliott & LaPadula, 1973)
When using the Bell-LaPadula model, users can only create contents at their own security level or above their own security level. There is no write-down and secret researchers can only secret or top-secret files but cannot create public files. At the same, users can be able to view contents that are at or below their own security level. There is no read-up and secret researchers can only view public or secret files but cannot view top-secret files. (Bell, Elliott & LaPadula, 1976)
Limitations of this model
a) It only addresses confidentiality, control writing and star property and discretionary access control (Sandhu, 1994)
b) The convert channels are not properly addressed
c) The principle of tranquility limits its applicability to systems where security levels do not change dynamically.( Sandhu, 1994)
d) It allows controlled copying from high to low through trusted subjects.
ii. Biba Model
This is an Integrity computer security policy model. This model is also a formal state transition system of computer security policy. It describes a set of access of access control rules which are designed to ensure data integrity. In this model, data and subjects are arranged in groups in ordered levels of integrity. This model is designed so that the subjects do not corrupt objects in a level that is graded higher than the subject or be corrupted by objects from a lower level than the subject. This model was invented so as to solve the problem posed by the Bell-LaPadula Model which only addresses confidentiality. (Biba, 1977) The goals of data integrity are: Preventing data modification by unauthorized parties and maintaining internal and external consistency of a given set of data. It works majorly to protect data integrity and not confidentiality as in the cases of Bell-LaPadula model. This model is characterized by the phrase “no read down, no write up.” In this model, users can only create content at or below their own integrity level and users can only view contents at or above their own integrity level. The rules being used in this model are the reverse of the Bell-LaPadula model rules. (No read down and no write up). This model is implemented by mac_biba MAC policy. (Biba, 1977)
iii. Clark-Wilson Model
This is also an integrity model. it provides a foundation for specifying and anlysing an integrity policy model for a computing system. This model is concerned with formalizing the notion of information integrity. This is maintained by preventing the corruption of data items in a system due to either error or malicious intent. (Clark, & Wilson, 1987) This model also defines enforcement rules and certification rules.
Cryptography
Cryptography is the study of secret writing or the study of the ways to convert information from its normal understandable forms into some masked, unreadable form. (Ferguson & Schneier, 2003) Cryptography has been used for a very long time to ensure secrecy in important communication channels which should be highly secretive like those involving spies, military personnel and diplomats. Cryptography can be applied in digital signatures, digital cash, digital rights management and securing electronic commerce. (Spillman, 2005) Modern cryptography intersects the disciplines of mathematics, computer science and electrical engineering. Cryptography is often used in ATM cards, computer passwords and electronic commerce. Modern cryptography uses cryptographic algorithms which are hard to break by adversary. Cryptography is majorly concerned with the development of algorithms which may be used to conceal the context of the messages sent to any third party. The message is only accessible to the sender and the recipient. It also verifies the correctness of some messages which are sent – it performs authentication (Diffie, 1979 p398). The concept of cryptography involves the methods which are used to transform an intelligible message to unintelligible one and then transforming the message back to its original form.
Cryptography can also be defined as the translation of data from the normal readable form to a scrambled code that can be deciphered and sent across a public or private network and then back to their original form which can be read by the receiver. Cryptography uses three types of encryptions namely: Symmetrical, asymmetrical and hash function. (Trappe,& Washington, 2006)
a) Symmetrical cryptography:
The symmetrical encryptions use the same key for encryption and decryption. This type of encryption can also be referred to as secret-key, shared and private key. In this type of encryption, the encryption key can be related to the decryption key in some way and doesn’t need to be exactly the same. This type of cryptography is vulnerable to plain text attacks. They are simple decode and are easily hackable. Such threats can be greatly reduced if there is careful planning of the coding. (Smith, 1943)
b) Asymmetrical cryptography
This type of cryptography uses different encryption keys for the encryption and decryption process. When using this type of encryption, the end user will have a pair of keys which are meant for encryption and the other meant for decryption. The pair of keys being used here is labeled as either private or public keys. The private key cannot be derived from the private key since they are very different from each other and not related at all. This system has been proved to be very secure against computationally limited intruders. (Smith, 1943)
c) Hash function
It is also called message digests or one-way cryptography. They do not use any key for encryption and decryption and therefore the plain text cannot be recovered from the ciphertext. A fixed length hash value is computed which is based upon the plain text and makes it impossible for either the contents or lengths of the plain text to be recovered. It is usually used for providing digital fingerprints of a file’s contents. It is used to confirm that a file has not been tampered with or altered by an intruder. They are commonly employed by many operating systems to encrypt passwords. The hash functions can be best used for measuring the integrity of a file. (Smith, 1943)
Application of the three different types of encryption
i. Symmetry (Secret Key Cryptography)
It is best suited for encrypting messages hence providing privacy and confidentiality. The sender will encrypt the message using a particular key. The receiver will also require the same key for decryption of the message sent.
ii. Asymmetry (Key Exchange)
It can be used for non-repudiation and user authentication. If a user can be able to obtain the session key encrypted with the sender’s private key, then it can be established that it is only that sender who could have sent the message. It is however slower than secret-key cryptography and therefore not commonly used for decrypting messages even though it has those capabilities.
iii. Hash functions
This type of encryption is best suited for ensuring data integrity. This is achieved by calculating the hash value accompanying the message. If there is any change made to the contents of the message, then the sender will calculate a different hash value than the one that was placed by the sender. It is very unlikely that two different messages will have the same hash value and therefore this ensures data integrity is ensured to a high degree of confidence.
REPRESENTATION OF CRYPTOGRAPHY
SENDER
RECEIVER
Encipher
decipher
A given set of plaintext is converted into cipher text by the use of a cipher and a key through a process called enciphering. Once the text has been converted, then it can be transported. On reaching the destination before the message is delivered to the receiver, it sis converted back to plaintext using a cipher and a key through a process called deciphering. (Sandhu, 1994)
Terminologies
- Plaintext – this is the original intelligible message
- Ciphertext – this is the transformed message
- Cipher – is the algorithm used for transforming an intelligible message into a non-intelligible message
- Key – is some piece of information that is only known to the sender and the receiver
- Encipher – converting the plaintext into ciphertext
- Decipher – converting ciphertext back to plain text
- Modern Private Key Ciphers
They consider the message as a sequence of bits. The messages here are seen as a series of ASCII characters which are concatenated.
Types of key Ciphers
There are two types of key ciphers
i. Stream ciphers
ii. Block ciphers
Stream ciphers
They process the message as a stream bit by bit. The most common type of the stream cipher if the one-time pad (Vernam cipher). It adds message bits to random key bits. This method is however very difficult to achieve in practice since it is hard to find a good pseudo-random function that is cryptographically strong. (Sandhu, 1994)
Block ciphers
In this method, the message is broken into several units called blocks. Each block is then encrypted separately.
Some of the algorithms used in cryptography
i. Blowfish
ii. Twofish
iii. Solitaire
iv. Helix
v. Phelix
vi. Yarrow
vii. Threefish
viii. Skein
Conclusion
Computer security is very important. There is need to protect all the information in the computer system against any form of external attack. If the information in a computer system is not protected then the organization using the computer is likely to suffer in different ways. Information needs to be protected from hackers, intruders and any kind of calamity that can be experienced in the organization. Cryptography mainly controls software attacks. Overall computer security should be exercised so as to ensure the computer systems are always kept safe and that the information inside the computer systems are not exposed to any kind of intrusion or hacking. (Sandhu, 1994)
References
1) Bell, David Elliott (2005). "Looking Back at the Bell-LaPadula Model" Proceedings of the 21st Annual Computer Security Applications Conference. Tucson, Arizona, USA. pp. 337–351.
2) Bell, David Elliott and LaPadula, Leonard J. (1973) Secure Computer Systems: Mathematical Foundations. MITRE Corporation.
3) Bell, David Elliott and LaPadula, Leonard J. (1976) Secure Computer System: Unified Exposition and Multics Interpretation. MITRE Corporation.
4) Biba, K. J. (1977) "Integrity Considerations for Secure Computer Systems", MTR-3153, The Mitre Corporation
5) Clark, David D.; and Wilson, David R.; (1987) A Comparison of Commercial and Military Computer Security Policies; in Proceedings of the 1987 IEEE Symposium on Research in Security and Privacy (SP'87), Oakland, CA; IEEE Press, pp. 184–193
6) Denning, D.E. (1982). Cryptography and Data Security. Reading, MA: Addison-Wesley Publishers
7) Diffie, W., & Landau, S. (1998). Privacy on the Line. Boston: MIT Press.
8) Electronic Frontier Foundation. (1998). Cracking DES: Secrets of Encryption Research, Wiretap Politics & Chip Design. Sebastopol, CA: O'Reilly & Associates.
9) Federal Information Processing Standards (FIPS) 140-2. (2001, May 25). Security Requirements for Cryptographic Modules. Gaithersburg, MD: National Institute of Standards and Technology (NIST).
10) Ferguson, N., & Schneier, B. (2003). Practical Cryptography. New York: John Wiley & Sons.
11) Landwehr, Carl (1981). "Formal Models for Computer Security" ACM Computing Surveys (New York: Association for Computing Machinery) 13 (3): 8, 11, 247–278.
12) Sandhu, Ravi S. (1994). "Relational Database Access Controls" Handbook of Information Security Management. Auerbach Publishers. pp. 145–160.
13) Smith, L.D. (1943). Cryptography: The Science of Secret Writing. New York: Dover Publications.
14) Spillman, R.J. (2005). Classical and Contemporary Cryptology. Upper Saddle River, NJ: Pearson Prentice-Hall.
15) Stallings, W. (2006). Cryptography and Network Security: Principles and Practice, 4th ed. Englewood Cliffs, NJ: Prentice Hall.
16) Trappe, W., & Washington, L.C. (2006). Introduction to Cryptography with Codin Theory, 2nd ed. Upper Saddle River, NJ: Pearson Prentice Hall.
17) Young, A., & Yung, M. (2004). Malicious Cryptography: Exposing Cryptovirology. New York: John Wiley & Sons.