Chapter 1 - Introduction
Chapter 1 - Introduction
Defining Security
The security of a system, application, or protocol is always relative to
A set of desired properties An adversary with specific capabilities
For example, standard file access permissions in Linux and Windows are not effective against an adversary who can boot from a CD
Security Goals
C.I.A.
Integrity
Confidentiality
Availability
Confidentiality
Confidentiality is the avoidance of the unauthorized disclosure of information.
confidentiality involves the protection of data, providing access for those who are allowed to see it while disallowing others from learning anything about its content.
encrypt ciphertext
plaintext
decrypt plaintext
Attacker (eavesdropping)
5
Physical security: the establishment of physical barriers to limit access to protected computational resources.
Such barriers include locks on cabinets and doors, the placement of computers in windowless rooms, the use of sound dampening materials, and even the construction of buildings or rooms with walls incorporating copper meshes (called Faraday cages) so that electromagnetic signals cannot enter or exit the enclosure.
Integrity
Integrity: the property that information has not be altered in an unauthorized way. Tools:
Backups: the periodic archiving of data. Checksums: the computation of a function that maps the contents of a file to a numerical value. A checksum function depends on the entire contents of a file and is designed in a way that even a small change to the input file (such as flipping a single bit) is highly likely to result in a different output value. Data correcting codes: methods for storing data in such a way that small changes can be easily detected and automatically corrected.
9
Availability
Availability: the property that information is accessible and modifiable in a timely fashion by those authorized to do so. Tools:
Physical protections: infrastructure meant to keep information available even in the event of physical challenges. Computational redundancies: computers and storage devices that serve as fallbacks in the case of failures.
10
Anonymity
Assurance
11
Assurance
Assurance refers to how trust is provided and managed in computer systems. Trust management depends on:
Policies, which specify behavioral expectations that people or systems have for themselves and others.
For example, the designers of an online music system may specify policies that describe how users can access and copy songs.
Permissions, which describe the behaviors that are allowed by the agents that interact with a person or system.
For instance, an online music store may provide permissions for limited access and copying to people who have purchased certain songs.
Protections, which describe mechanisms put in place to enforce permissions and polices.
We could imagine that an online music store would build in protections to prevent people from unauthorized access and copying of its songs.
12
Authenticity
Authenticity is the ability to determine that statements, policies, and permissions issued by persons or systems are genuine. Primary tool:
digital signatures. These are cryptographic computations that allow a person or system to commit to the authenticity of their documents in a unique way that achieves nonrepudiation, which is the property that authentic statements issued by some person or system cannot be denied.
13
Anonymity
Anonymity: the property that certain records or transactions not to be attributable to any individual. Tools:
Aggregation: the combining of data from many individuals so that disclosed sums or averages cannot be tied to any individual. Mixing: the intertwining of transactions, information, or communications in a way that cannot be traced to any individual. Proxies: trusted agents that are willing to engage in actions for an individual in a way that cannot be traced back to that person. Pseudonyms: fictional identities that can fill in for real identities in communications and transactions, but are otherwise known only to a trusted entity.
14
Alice
Bob
Eve
15
Communication channel
Recipient
decrypt plaintext M
ciphertext C
ciphertext C
Attacker (intercepting)
16
Alice
17
19
Public domain image from http://commons.wikimedia.org/wiki/File:Plastic_eraser.jpeg
Bob
20
Economy of mechanism
Fail-safe defaults
Work factor
Psychologic al acceptabilit y
Security Principles
Least privilege
Complete mediation
Open design
Separation of privilege
21
Economy of mechanism
This principle stresses simplicity in the design and implementation of security measures.
While applicable to most engineering endeavors, the notion of simplicity is especially important in the security domain, since a simple security framework facilitates its understanding by developers and users and enables the efficient development and verification of enforcement methods for it.
22
Fail-safe defaults
This principle states that the default configuration of a system should have a conservative protection scheme.
For example, when adding a new user to an operating system, the default group of the user should have minimal access rights to files and services. Unfortunately, operating systems and applications often have default options that favor usability over security. This has been historically the case for a number of popular applications, such as web browsers that allow the execution of code downloaded from the web server.
23
Complete mediation
The idea behind this principle is that every access to a resource must be checked for compliance with a protection scheme.
As a consequence, one should be wary of performance improvement techniques that save the results of previous authorization checks, since permissions can change over time. For example, an online banking web site should require users to sign on again after a certain amount of time, say, 15 minutes, has elapsed.
24
Open design
According to this principle, the security architecture and design of a system should be made publicly available.
Security should rely only on keeping cryptographic keys secret. Open design allows for a system to be scrutinized by multiple parties, which leads to the early discovery and correction of security vulnerabilities caused by design errors. The open design principle is the opposite of the approach known as security by obscurity, which tries to achieve security by keeping cryptographic algorithms secret and which has been historically used without success by several organizations.
25
Separation of privilege
This principle dictates that multiple conditions should be required to achieve access to restricted resources or have a program perform some action.
26
Least privilege
Each program and user of a computer system should operate with the bare minimum privileges necessary to function properly.
If this principle is enforced, abuse of privileges is restricted, and the damage caused by the compromise of a particular application or user account is minimized. The military concept of need-to-know information is an example of this principle.
27
28
Psychological acceptability
This principle states that user interfaces should be well designed and intuitive, and all security-related settings should adhere to what an ordinary user might expect.
29
Work factor
According to this principle, the cost of circumventing a security mechanism should be compared with the resources of an attacker when designing a security scheme.
A system developed to protect student grades in a university database, which may be attacked by snoopers or students trying to change their grades, probably needs less sophisticated security measures than a system built to protect military secrets, which may be attacked by government intelligence organizations.
30
Compromise recording
This principle states that sometimes it is more desirable to record the details of an intrusion than to adopt more sophisticated measures to prevent it.
Internet-connected surveillance cameras are a typical example of an effective compromise record system that can be deployed to protect a building in lieu of reinforcing doors and windows. The servers in an office network may maintain logs for all accesses to files, all emails sent and received, and all web browsing sessions.
31
1/12/2014
Introduction
32
33
34
35
Capabilities
Takes a subjectcentered approach to access control. It defines, for each subject s, the list of the objects for which s has nonempty access control rights, together with the specific rights for each such object.
root /etc/passwd: r,w,x; /usr/bin: r,w,x; /u/roberto: r,w,x; /admin/: r,w,x
mike
roberto
backup
36
Accountant
Secretary
Lab Technician
Backup Agent
Undergraduate Student
Graduate Student
Administrative Personnel
Technical Personnel
Faculty
Student
Department Member
37
Cryptographic Concepts
Encryption: a means to allow two parties, customarily called Alice and Bob, to establish confidential communication over an insecure channel that is subject to eavesdropping.
Alice
Bob
Eve
38
Recipient
Attacker (eavesdropping)
39
C = E(M) M = D(C) The encryption and decryption algorithms are chosen so that it is infeasible for someone other than Alice and Bob to determine plaintext M from ciphertext C. Thus, ciphertext C can be transmitted over an insecure channel that can be eavesdropped by an adversary.
40
Cryptosystem
1. 2. 3. 4. 5. The set of possible plaintexts The set of possible ciphertexts The set of encryption keys The set of decryption keys The correspondence between encryption keys and decryption keys 6. The encryption algorithm to use 7. The decryption algorithm to use
41
Caesar Cipher
Replace each letter with the one three over in the alphabet.
42
Public domain image from http://commons.wikimedia.org/wiki/File:Caesar3.svg
Symmetric Cryptosystems
Alice and Bob share a secret key, which is used for both encryption and decryption.
Sender Communication channel Recipient
encrypt ciphertext
plaintext
decrypt plaintext
Attacker (eavesdropping)
43
shared secret
shared secret
shared secret
shared secret
n (n-1)/2 keys
shared secret
44
Public-Key Cryptography
Bob has two keys: a private key, SB, which Bob keeps secret, and a public key, PB, which Bob broadcasts widely.
In order for Alice to send an encrypted message to Bob, she need only obtain his public key, PB, use that to encrypt her message, M, and send the result, C = EPB (M), to Bob. Bob then uses his secret key to decrypt the message as M = DSB (C).
45
Public-Key Cryptography
Separate keys are used for encryption and decryption.
Sender Communication channel
encrypt plaintext
plaintext
Recipient
public key
private key
Attacker (eavesdropping)
46
public
public
public
public
n key pairs
private
private 47
Digital Signatures
Public-key encryption provides a method for doing digital signatures To sign a message, M, Alice just encrypts it with her private key, SA, creating C = ESA(M). Anyone can decrypt this message using Alices public key, as M = DPA(C), and compare that to the message M.
48
49
h
message M
6B34339
4C66809
MAC
MAC
received MAC
h
message M
computed MAC
Sender
Attacker (modifying)
Recipient
50
Digital Certificates
certificate authority (CA) digitally signs a binding between an identity and the public key for that identity.
51
Passwords
A short sequence of characters used as a means to authenticate someone via a secret that they know. Userid: _________________ Password: ______________
52
Password file
hash function
Strong Passwords
What is a strong password
UPPER/lower case characters Special characters Numbers
Password Complexity
A fixed 6 symbols password:
Numbers 106 = 1,000,000 UPPER or lower case characters 266 = 308,915,776 UPPER and lower case characters 526 = 19,770,609,664 32 special characters (&, %, $, , , |, ^, , etc.) 326 = 1,073,741,824
Password Length
26 UPPER/lower case characters = 52 characters 10 numbers 32 special characters => 94 characters available 5 characters: 945 = 6 characters: 946 = 7 characters: 947 = 8 characters: 948 = 9 characters: 949 = 7,339,040,224 689,869,781,056 64,847,759,419,264 6,095,689,385,410,816 572,994,802,228,616,704
56
Secure Passwords
A strong password includes characters from at least three of the following groups:
58
Social Engineering
Pretexting: creating a story that convinces an administrator or operator into revealing secret information. Baiting: offering a kind of gift to get a user or agent to perform an insecure action. Quid pro quo: offering an action or service and then expecting something in return.
59