Download as pdf or txt
Download as pdf or txt
You are on page 1of 136

Mzumbe University (MU)

CSS 325: Cryptography & Network Security

Kilima, Frank Godlove

Programmes: BSc. ITS III, BSc. ICTB III & BSc. MICT EDU III

June 12, 2024

1 / 136
Code of conduct
▶ Observe the following code of conduct;
• Be in class on time. Late comers will not be allowed in.
• Mute or switch off your mobile phones while in class.
• All communications concerning CSS 325 lectures, tutorials,
notes, assignments, tests etc. will be done via CRs.
• Any excuse for not attending lecture or tutorial sessions
should be communicated at the beginning of the lecture/tutorial
via CR.
• Use English for all communications concerning CSS 325.
• Strictly adhere to the University academic timetable and
deadlines.
• No substitute assignment/test will be given to any students who
will fail to write them without good reasons.
• Read all references provided.
• Violation of academic integrity will not be tolerated, but
dealt with severely in accordance to MU academic regulations.
• Any communications via emails, including submission of
assignments, MUST be done via student's respective MU email
(@mustudent.ac.tz) and not otherwise.

2 / 136
Code of Conduct - Cont’d

▶ Course assessment:
• Quiz - Many.
• 2 Assignments @ 10%.
• 2 tests @ 15%.
• University Examination (UE) - 50%.
▶ Marks for assignments, tests or UE can not be compromised or
negotiated for.
▶ Hope to enjoy your maximum cooperation.

3 / 136
References

▶ Find the following (or latest) versions of the following


books;
1. Stallings, Willium & Brown, Lawrie, Computer Security Principles
and Practice, 4e, Pearson, 2017.
2. Schneier, Bruce, Applied Cryptography, John Wiley & Sons, Inc.
2015.
3. Pfleeger, Charles, Pfleeger, Shari, & Margulies, Jonathan Security
in Computing, 5e, Prentice Hall, Inc. 2010.
4. Forouzan, Behrouz, Cryptography and Network Security, McGraw
Hill, Inc. 2008.
5. White, Greg & Conklin, Wm. Arthur, CompTIA Security+, 2e,
McGraw Hill, Inc. 2008.
6. Gollmann, Dieter, Computer Security, 3e, John Wiley & Sons, Inc.
2011.

4 / 136
Computer Security: Key definitions
▶ Any part of a computing system can be a target of computer
attack.
▶ Computer system refers to a collection of hardware, software,
storage media, data, and people that an organization uses to
perform computing tasks.
▶ Ability to control users' access to computer systems, data,
and their actions must be addressed adequately.
▶ Computer security: A field covering processes and
mechanisms which protect computer resources and services
against unintended or unauthorized access, change, denial or
destruction.
▶ Network security: Protection of multiple computers and
other resources (data, programs etc) connected together in a
network.
▶ Other related terms are Information security oand
Information assurance which place the focus of security on
information (data) and not on hardware and programs that
process it.
5 / 136
Computer Security: Key definitions
▶ Resource: A computer asset such as hardware, a service,
system capability, information, applications etc. to be
protected against any kind of damage or misuse.
• It is also referred to as an asset
▶ Vulnerability: An actual weakness (flaw) in the system's
design, implementation, or operation and management that may
be exploited by a threat agent to attack the system and cause
harm (to an asset).
• Failure to verify user's identity
• The use of no or weak passwords
• The storage of unencrypted information
▶ Threat consequence: A loss, damage or harm occurring to an
organization, computer network, system or resource because of
a successful computer attack.
• Deception
• Usurpation
• Disruption
• Unauthorized data disclosure
• Financial loss
• Loss of business trust
6 / 136
Token-based authentication: Smart cards

Figure 1: Threat consequences and their causes


7 / 136
Computer Security: Definitions

▶ Threat: Defined differently by different computer security


experts and references.
• Threat: An entity that can exploit a vulnerability in a
security system to realize a threat consequence (harm) such as;
♦ Malicious computer program (virus, malware, trojan horse)
♦ Human (hacker, terrorist, former employee, organization staff,
spy)
♦ Organization, business competitors, security & intelligence
agencies, governments
♦ Human errors, hardware design flaws, software failures,
short-circuit, fire, unstable power supply
♦ Natural disaster (flood, earthquakes, landslide, lighting)
• Threat: A danger that can exploit vulnerability to breach
computer security to cause harm.
• Threat: A potential for violation of security, which exists
when there is a circumstance, capability, action, or event,
that could breach security and cause harm.

8 / 136
Computer Security: Definitions
▶ Attack: An exploitation of a vulnerability in the security
system to realize a threat consequence (harm).
• Breaking into a server in order to access stored information.
• Defacing the organization website
▶ Countermeasure (Control): A defensive mechanism such as an
action, procedure, technique etc. incorporated into a
security system in order to remove or reduce its
vulnerabilities. E.g the use of password, encryption,
physical security.
• It may prevent, detect an attack, or recover from the effects
(damage)
• A countermeasure may itself introduce new vulnerabilities
▶ Security policy: A set of rules and practices that specify or
regulate how a system or organization provides security
services to protect sensitive and critical system resources.
▶ Adversary: An entity that attacks, or is a threat to, a
system. It is also known as threat agent.
▶ Risk: An expectation of loss expressed as the probability
that a particular threat will exploit certain vulnerability
with a particular harmful result.
9 / 136
Effects of lack of computer security (Threat consequences)

▶ Information can be read, modified, deleted or misused by


adversaries.
▶ Services can be made unavailable (i.e, denial of services).
▶ Financial losses occur in many ways.
▶ Corrupting computer OS and application software.
▶ Consuming computer resources such as memory, CPU, hard disk
▶ Displaying annoying and irrelevant messages.
▶ Facilitate fraudulent acts and theft.
▶ Unauthorized access to restricted resources such as wireless
network.
▶ Theft of identity, information
▶ Reputational Damage: A security breach can damage the trust
and confidence of customers, partners, and stakeholders
▶ Malware Infections
▶ Legal and Regulatory Consequences:
▶ Productivity loss due to downtime
▶ Noncompliance fines
10 / 136
Security Goals

▶ Computer resources, namely hardware, software and information


must be protected to achieve three goals namely:
• Confidentiality
• Integrity
• Availability
▶ These three security goals are usually referred to as the
"CIA" of computer security.
▶ This is to say for computing resources to be secured, they
need to be protected against unauthorized access
(confidentiality), unauthorized change (integrity) and made
available only to authorized entities (availability).

11 / 136
Confidentiality
▶ A security goal which defines methods and mechanisms to
protect private and confidential information against
unauthorized disclosure.
▶ It is probably the most known goal (aspect) of computer
security.
▶ It protects information (data) on storage and transmission.
▶ Users and organizations need to protect their information and
resources against malicious actions that can compromise the
confidentiality.
▶ Only authorized entities can access information through
authorized procedures.
• Military: Must protect intelligence, security & other sensitive
information.
• Industries: Protect proprietary information against competitors.
• Hospitals: Protect patients' records.
• Banks: Protect customers' bank details.
• Universities: Protect staff and students' records.
• Mobile cellular companies:Protect clients' records.
12 / 136
Achieving Confidentiality

▶ Several countermeasures do exist to protect information for


confidentiality.
▶ Most known countermeasures are:
• User authentication: A mechanism to identify and verify that a
user is allowed to access some restricted resources and
service. Examples:
♦ The use of user identification cards (IDs).
♦ The use of passwords, one time password (OTP), access codes.
♦ The use of biometric data such as fingerprint, face and voice.
♦ The use of tokens such smart cards.
♦ Combination of multiple factors such as passwords and fingerprints
▶ Encryption: The process of disguising information in order to
hide its actual meaning. To be covered in detail later.
▶ Access control: Restricting a resource (information) to a few
trusted people with access to read and /or edit it.

13 / 136
Password-based authentication
▶ A primary method commonly used by users to gain access to
computer resources such as computer systems.
▶ It is a secret code or word which proves user's authorized
access to a computer system, application, email account,
computer network, website, bank account, online stores etc.
▶ It is commonly used together with a username for instance in
gaining access to computer systems, files or email accounts.
▶ It exists in other different forms including personal
identification number (PIN), one time password (OTP), access
codes etc.
▶ One of the weakest and easiest security measures to
circumvent.
▶ A stolen password can lead to;
• Gaining unauthorized access to private information in your
computer, mobile phone etc.
• Steal your identity
• Install and execute programs using your account
• Read and send emails that appear to be from you
• Access your bank account
• Access your mobile phone and make calls and send in your name
14 / 136
Problems with Password-based authentication

▶ Guessing: Passwords are easily be guessed, largely owing to


users' non-adherence to password policy - e.g., the use of
weak, default (pre-configured) passwords, passwords
containing user information (names, year of birth etc.)
▶ Difficulty associated with creating, using and keeping
multiple passwords: Many users are required to keep many
passwords to access different computer resources or services,
and use insecure methods to keep them.
▶ Loss: Depending on its implementation, a lost or forgotten
password may not be replaced.
▶ Disclosure: Can easily be disclosed to unauthorized users or
to other users through sharing of passwords, saving in
applications (eg. web browsers), social engineering tactics.

15 / 136
Problems with Password-based authentication

▶ Given enough time and resources, not password that is 100%


unbreakable (secured).
▶ Some password-recovery utilities may succeed where others
fail.
▶ Managing many passwords becomes challenging when different
service providers restrict the length and types of characters
to use or require users to change their passwords frequently.
▶ It forces many users to use one password to access different
resources/services or save their passwords in text files,
emails, messages, spreadsheet, on papers etc.

16 / 136
Problems with Password-based authentication

▶ In no more that two pages and with relevant examples and


citations (references), precisely discuss the following;
• At least four different methods (e.g., software) that can be
used by computer users to securely manage their passwords
against various password attacks.
NB. Discussion on password policy is not required
• At least five (5) ways through which companies, institutions
and organizations may suffer financial losses as a result of
computer attacks perpetrated against their computer systems
(resources).
Submission deadline: Friday, 22th March 2024 at 14:00PM.
Submit as hard copy

17 / 136
Common attacks on Passwords
▶ Guessing: Short (weak) or default passwords can easily be
guessed by trying different combinations of characters or
personal details (names, year of birth).
▶ Eavesdropping: An adversary can watch or record a user when
typing password, patterns on mobile phone can easily be
eavesdropped.
▶ Stealing: When passwords are written on papers, walls,
saved on applications (e.g., web browsers), devices or in any
other form.
▶ Dictionary attack:
• Assumes that your password is an ordinary word which can be
found in a dictionary
• Uses a list of words as potential passwords.
▶ Brute force attacks:
• Uses a predefined set of characters such as (a-z, A-Z, 0-9,
special characters etc.) and minimum and maximum password
length to break passwords.
▶ Hybrid attack: Combines dictionary attack and brute force
attack, taking advantage of common passwords used by users
such as 'mzumbe2022'
18 / 136
Components of a good password
▶ Passwords should be strong enough for adequate security,
while properly managed.
▶ A good password should;
• Be long enough, at least 8 character long.
• Not consist of dictionary or actual words.
• Not be the same as username or contain the username.
• Should not contain user's first name, last name, family name,
birth date or any other name that is easy for any one to
identify.
• Contains several;
♦ Uppercase letters, A-Z.
♦ Lowercase letters, a-z.
♦ Digits, 0-9.
♦ Special characters, @,$, &, #, ?, +, etc.
• Don't write it down or save on the applications (e.g., web
browsers).
• Don't share passwords with your friends etc.
• Change your password regularly.
• Keep your password unique but easy to remember

19 / 136
Biometric user authentication
▶ Biometric is a technical term referring to humans' physical
or behavioral traits
▶ Biometric authentication: A security process that relies on
unique biometric characteristics or behavioural traits of
individuals to verify their identities.
▶ It stores users' physical or behavioral traits
(characteristics) in a database in order to verify a user's
identity when that user accesses their account.
▶ Biometric authentication solutions create a data-generated
template that uniquely represents an individual, which cannot
be easily shared, lost or duplicated like passwords.
▶ Biometric characteristics are unique to individuals, and are
therefore more effective at uniquely verifying individuals'
identities than password-based or ID authentication systems.
▶ Biometric authentication system is more secure because it is
harder to forge, steal or guess than password-based
authentication system
20 / 136
Biometric user authentication

▶ The use of biometric technology for user authentication is


expanding significantly within both public and private
sectors as it becomes cheaper, more advanced and accurate
▶ It attempts to authenticate users based on their unique
biometric (physical) characteristics or behavioural traits
such as;
• Fingerprints such as thumbprint
• Palm print/ hand geometry
• Facial characteristics
• Voice print
• Handwritten signature etc.
• Retinal pattern
• Iris
▶ Biometric authentication systems based on facial recognition
are also used in connection with networks of CCTV cameras for
surveillance or monitoring purposes.

21 / 136
Biometric user authentication

▶ It eliminates costs and efforts associated with password


resets, recovery and management.
▶ Unlike password-based authentication system, biometric
authentication system determines how closely a presented
biometric characteristic matches a stored characteristic.
▶ Examples of biometric authentication systems including;
• Thumbprint mouse, keyboard, flash disks
• Palm print systems
• The use of fingerprints for accessing car and office doors,
computers, mobile phones etc.
• The use of facial recognition to access smartphones, doors etc.
• Employees' attendance tracking systems

22 / 136
Biometric user authentication
▶ The use of biometric-based authentication is growing fast and
is replacing password-based authentications in many systems
▶ User authentication on a biometric system involves either
verification or identification.
• Identification:
♦ The goal is to produce a match and identify the subject from a
list of many possible subjects, comparison is one-to-many (1:N)
♦ Involves comparing unknown person's biometric characteristic such
as fingerprint or DNA to similar characteristics in the database.
♦ The match is not always guaranteed as the person's biometric
characteristic may or may not be in the database
♦ Used by law enforcement agencies to match fingerprint or DNA
collected at crime scene against other samples in a database to
identify perpetrator or victim of the crime.
• Verification (authentication):
♦ The user enters an information such as PIN and biometric data.
♦ The system extracts corresponding feature to produce a template
which is compared to the user's template stored in the database
♦ The comparison is one-to-one (1:1).
♦ Extra information in addition to biometric data is provided

23 / 136
Characteristics of biometric user
authentication

▶ Biometric authentication is both technically complex and


expensive
▶ A biometric authentication system should be;
• Universal: A used biometric method should apply to virtually
everyone.
• Distinguishing: No two users should share the biometric data
• Permanent: The biometric data should not change.
• Collectable: It should be easy to collect the miometric data
from subjects
• Reliable, robust, & user-friendly: A biometric system must be
reliable, robust, & user-friendly under real-world conditions.
♦ Some biometrics that have shown promise in laboratory conditions
have subsequently failed to deliver similar performance in
practice.

24 / 136
Phases involved in building biometric user
authentication
▶ Two main phases of building biometric authentication systems;
• Enrollment phase
• Recognition phase
▶ Enrollment phase:
• Involves entering users' biometric data such as fingerprint,
voiceprint, facial recognition etc. into the system's database
to serve as biometric reference information for that person.
• Each individual to be included in the database of authorized
users must first be enrolled in the system.
• The system extracts biometric data (eg. fingerprint),
digitizes it to produce a template which is stored as a number
representing this unique biometric characteristic.
• This set of numbers is referred to as the user's template
• Most biometric authentication systems store templates produced
from biometric data, and not raw biometric data itself.
• The templates generated and stored are unique to a particular
model of recognition engine, manufacturer's biometric engine or
software versions from the same manufacturer.
• It is usually a complex and time consuming task
25 / 136
Phases involved in building biometric user
authentication

▶ Recognition phase:
• When the biometric detection system is used in practice to
verify or authenticate users based on the entered biometric
data
• The same biometric data is extracted and processed to generate
a template that is compared to the stored one to identify or
verify the user.
• It must be efficient i.e., must be quick, simple, and accurate.

26 / 136
Accuracy of the biometric user authentication

▶ A biometric authentication system stores user's physical


characteristic which is mapped into a digital representation.
▶ For each individual, a single digital representation, or
template is stored in the computer.
▶ When the user is to be authenticated, the system compares the
stored template to the presented template
▶ Given the complexities of physical characteristics, there is
no exact match between user's extracted template and stored
template
▶ A special algorithm generates a matching score (typically a
single number) which quantifies the similarity between the
input and the stored template.

27 / 136
Accuracy of the biometrics user
authentication
▶ If a single user is tested by the system numerous times, the
matching score s will vary.
▶ A threshold value is selected thus that if the presented
value s ≥ t a match is assumed, and for s < t , a mismatch is
assumed.
▶ On average, any other individual should have a much lower
matching score
▶ For example, in the case of a fingerprint, the matching score
s may vary due to;
• Sensor noise
• Changes in the print due to swelling, dryness, hardening or
wetness of the fingers
• When the hands are oily, too clean (eg. washing hands with
hand sanitizer prior to using fingerprint scanner)
• Scars, cuts or other skin irregularities
• Finger placement
• Scanner might be dirty or smudged, which can interfere with its
ability to accurately capture your fingerprint
28 / 136
Challenges of biometric authentication
▶ Failure to enroll users: May occur when user's template can
not be successfully created from biometric data owing to
sensors' malfunction, poor environmental conditions, physical
or medical conditions, cultural and religious factors
▶ False acceptance and rejection rates: Caused by similar
biometric characteristics such as facial recognition by
identical twins, varied user-sensor interaction at enrollment
and recognition stages due to injuries, scars, illness,
different poses, ageing, dryness/wetness/swelling/dirtiness.
• Unauthorized users are erroneously authenticated (False
positives): occur when a system matches an input data to a
non-matching template.
• Authorized users are denied access (False negatives): Occur
when systems fails to match an input data to a stored template.
▶ Spoofing: Occurs when a fake biometric characteristic (such
as fake face mask for face recognition, voice recordings for
voice prints) is created to fool a biometric sensor.
• It is a complicated task, and can be thwarted by using liveness
detection
29 / 136
Challenges of biometric authentication
▶ Compromised biometrics: Occurs when a database storing
users' biometric characteristics is compromised to illegally
access them.
• Can occur when raw biometric characteristics collected from
users are stored in the database
• Compromised biometric characteristics can be misused
• It is extremely difficult (if not impossible) to revoke or
cancel a compromised biometric data.
• Store users' templates instead of collected raw biometric
characteristics.
• When there is a need to store raw biometric characteristics,
implement tight security measures to prevent unauthorized
access to the biometric data.
▶ Scalability and compatibility issues: It can be expensive and
may not work well with large number of users, devices or
applications, or across platforms, standards or protocols and
hamper interoperability.
▶ Legal issues: May raise issues related to collection,
ownership, storage and use of biometric data.
30 / 136
Quiz

▶ Challenges of deploying biometric authentication systems

31 / 136
Token-based authentication: Memory cards

▶ They can store data but can not process it, though it can be
reprogrammed.
▶ The information is read by a card reader.
▶ Common examples are most of the bank cards (Automatic teller
machine (ATM)), cards for opening hotel rooms etc.
▶ They can be used alone for physical access such as cards for
accessing hotel rooms or with PIN or password to authenticate
users such as bank cards, giving it greater security.
▶ Challenges associated with memory cards involve;
• Requires card reader which increases the cost of using the
token and creates requirements to maintain security of the
reader's hardware and software.
• Loss of token may temporarily prevents card's owner from
gaining access to the system - door or bank account.
• Its use may be inconvenient to some use such as accessing
computer systems

32 / 136
Token-based authentication: Smart cards
▶ In addition to storing data, they can process it as they
contain an embedded microprocessor.
▶ Examples of smart cards include credit cards and electronic
identity cards such as national electronic identity (eID),
driving license etc.
▶ They possess variety shapes including calculator shape, key
shape, or other portable objects.
▶ They contain manual interfaces which include keypad, and
display for human interaction.
▶ Provides stronger user authentication.
▶ They contain electronic interface to communicate with a
compatible reader/writer which may be;
• Contact: It must be inserted into a card reader with a direct
connection to a conductive contact plate on the card surface
from which transmission of cards, data, and card takes place.
• Contactless: It requires only close proximity to a reader.
♦ Both card reader and smart card posses antenna which facilitate
communication bweteen them using radio frequencies.
♦ Generate power from electromagnetic signals or battery.

33 / 136
Token-based authentication: Smart cards

▶ Authentication protocol for smart cards: It is required to


provide user authentication, and can be classified into;
• Static: The user authenticates himself or herself to the token
(smart card) which subsequently authenticate the user to the
computer.
• Dynamic password generator: The token generates a unique
passwords periodically (e.g. every minute) which is entered
into the computer either manually by the user or electronically
via the token for authentication.
• Challenge-response: Computer system generates a challenge such
as a random string of numbers.
♦ The user enters the challenge into the smart card (token)
♦ The smart card in turn generates a response based on a challenge.
♦ It can use public-key cryptography in which the token encrypt the
challenge string with the token's private key.

34 / 136
Token-based authentication: Smart cards

Figure 2: An example of a smart card

35 / 136
Token-based authentication: Smart cards

Figure 3: An example of a smart card

36 / 136
Token-based authentication: Smart cards

▶ A smart card's microprocessor include the processor, memory


and I/O ports.
▶ Some smart cards contain the I/O ports with direct access to
a compartible reader by means of exposed electrical contacts.
▶ Other smart cards rely on an embedded antenna for wireless
communication with the reader.
▶ Three types of memory include;
♦ Read-only-memory (ROM): Stores data such as card number,
cardholder's name that does not change during card's life.
♦ Electrically erasable programmable ROM (EEPROM): It holds
data (that can vary with time) and programs such as protocols
the card can execute.
♦ Random access memory (RAM):Holds temporary data generated
when applications are executed.

37 / 136
Token-based authentication: For accessing computer applications

▶ To be covered later

38 / 136
Access control
▶ It refers to security features used to prevent unauthorized
access to computer system or network.
▶ Access is the ability of the subject to interact with an
object (file, program or hardware).
▶ Subject: It is any entity such as individual or process
capable of accessing an object
▶ Object: It is a computer resource such as files,
directories, hardware, program, I/O device etc. to which
access by the subject is controlled.
▶ Access right: describes the way in which a subject may
access an object, including read, write (view, add, modify,
delete), execute.
▶ A subject has to first verify its identity to a system before
accessing an object
▶ Authentication: A process in which a subject verifies its
identity to a system before accessing an object such as by
using password, ID, biometric authentication etc.
▶ Upon successful authentication, access control mechanism
regulates actions (activities) of a subject on objects.
39 / 136
Access control
▶ In a well secured system, access to a computer system does
not mean granting access to all objects (resources).
▶ Access control deals with;
• Preventing unauthorized users from gaining access to resources
• Preventing legitimate users from accessing resources in an
unauthorized manner
• Enabling legitimate users to access resources in an authorized
manner
▶ Access control lists (ACLs) are one of the mechanisms
commonly used to implement access control
▶ ACL specifies a list of subjects with their associated access
rights to particular objects (resources) in the system.
▶ Typical access rights include read, write, and execute.
▶ Access control is commonly implemented based on the following
models of access;
• Discretionary access control (DAC)
• Mandatory access control (MAC)
• Role-based access control (RBAC)
• Rule-based access control (RBAC)
40 / 136
Access control

Figure 4: Relationship between access control and authentication


41 / 136
Access control: Discretionary access control

▶ It is a mechanism to restrict access to objects based on the


identity of subjects and/or groups they belong.
▶ It controls access based on the identity of the subject and
on access rules (authorizations) stating what subjects are
(or are not) allowed to do.
▶ Controls are discretionary in the sense that a subject with
certain access right (permission) is capable of passing that
permission to any other subject.
▶ Owner of an object decides which subjects can access an
object and with what access rights (permission).
▶ A common mechanism to implement DAC is the use of permission
bits used in Unix-based operating systems.
▶ The owner of the object determine the permissions (read,
write and execute) other subjects can have to a particular
resource.

42 / 136
Access control: Mandatory access control
▶ A means of restricting access to objects based on sensitivity
of object (such as information) and formal authorization
(clearance) of subjects to access an object.
▶ It is implemented in computer security environments in which
different levels of security classifications (levels) exist.
▶ The security mechanism of the system controls access to all
objects and individual subjects can not change that access.
▶ It is a more restrictive regarding what a user is allowed to
access and perform on the system.
▶ Both object and subject are attached with a "label", which
helps the security mechanism to identify security level
associated with the object and subjects to access it.
▶ In military for instance, a file with a Top Security label
can only be access (viewed) by users with Top Secret security
clearance, and not by users with only Security clearance.
▶ Only the security mechanism can identify authorized users to
access the file, while denying access to unauthorized users.
▶ Security mechanism must also prevent authorized users from
changing security classification (label) of both file and
users. 43 / 136
Access control: Role-based access control

▶ Rather than using ACLs, the system assigns users with a set
of roles to perform.
▶ The roles are subsequently assigned appropriate access
permissions to perform the tasks associated with each role.
▶ Users are then granted permissions to objects based on their
roles (duties) they must perform rather than security
classifications.

44 / 136
Access control: Rule-based access control

▶ It contains some rules in the ACLs to determine whether the


user should access the object or not.
▶ For instance, forbiding access to objects such as files after
working hours, during weekends or outside organization'n
network.
▶ The rules are set by security administrators, based on
organization's security policy, and users (subjects) can not
change them.

45 / 136
Attacks threatening confidentiality

▶ Snooping (eavesdropping): Refers to unauthorized access to


information such as email transmitted over Internet.
▶ Traffic analysis: Involving extracting some data either
unencrypted (such as email address) from an encrypted file or
by learning some visible patterns from the encrypted file.

46 / 136
Data integrity

▶ A security service designed to protect computer resources


such as information against unauthorized modification,
insertion, deletion, creation and replaying.
▶ Example, changing a student's marks or patient's records by
unauthorized individual or change or bank customer's
information.
▶ Changes to information are to be done by authorized entities
through authorized mechanisms.
▶ Data integrity violation can be a malicious act by
adversaries or mechanical such as power surge, an attack by a
virus etc.
▶ Data to be protected may be on storage or transmission via
networks.
▶ Any unauthorized changes to the data must be either detected
or made impossible.

47 / 136
Attacks threatening data integrity
▶ Modification: An attacker accesses or intercepts data and
modify it for his/her benefit.
• Modification may also involves deletion or delays of message to
harm the system or benefits from it.
▶ Masquerading: Also called spoofing.
• An attacker impersonates another person - One steals customer's
password or bank card and PIN and pretends to be that customer
• An attacker pretends to be a receiveing entity such as bank or
cellular network after getting customer's information
▶ Replaying: An attacker obtains a copy of a message sent by
user and tries to replay (retransmits) it later.
▶ Repudiation: It is performed by one of the two parties
(sender or receiver) in the communication such as a bank
customer, newspaper customer, online shopping etc.
• A sender falsely deny to have sent the message.
• A receiver (recipient) falsely denies to have received the
message.

48 / 136
Repudiation

▶ An attack performed by one of two parties in the


communication; sender or receiver.
▶ Sender of the message may later falsely deny that he/she sent
the message.
▶ Receiver of the message may later falsely deny that he/she
received the message.
▶ A security mechanism to thwart repudiation is called
non-repudiation.
▶ Types of non-repudiation:
▶ Non-repudiation of origin (NRO): Receiver of the data proves the
identity of specified sender if denied.
▶ Non-repudiation of delivery (NRD): Sender of the data proves
the identity of specified receiver if denied.

49 / 136
Achieving non-repudiation

▶ Message authentication code (MAC):The use of shared secret


keys in encrypting and decrypting of messages.
▶ Digital signatures: The use of Public key cryptography.

50 / 136
Achieving data integrity

▶ The most commonly used countermeasure to protect data


integrity is the use of message digests.
▶ Special software on the sending computer (sender) computes an
n-bit long piece of data called message digest or checkvalue.
▶ The process of protecting information for data integrity
through the use of message digest is called hashing.
▶ Message digest is created through specific processes from the
information itself.
▶ Each information (message) has its own unique message digest
and no two messages can have identical message digest.
▶ Message digest is then appended (attached) to the information
(message) to be sent.
▶ The receiving computer (receiver) receives both data and
message digest.

51 / 136
Achieving data integrity
▶ The receiver separates message digest from the received
information.
▶ Receiver computes a "new" message digest from the received
information.
▶ It then compares the "new" message digest with the "old" one.
▶ If the two message digests are identical then the message
(information) is unaltered.
▶ If they are not identical then the message was altered.
▶ The software which compute messages digests are called
Cryptographic hash functions.
▶ Hash functions are based on one-way mathematical functions.
▶ Examples of cryptographic hash functions are MD5, SHA,
SHA-256 and SHA-512.
▶ Message digests from MD5 and SHA are 128-bit and 160-bit long
respectively.
▶ SHA stands for Secure Hash Algorithm.
52 / 136
Availability

▶ A security service ensuring that information is timely


available to its authorized users when it is requested.
▶ It applies to both data and services.
▶ Unavailability of information or services is as harmful as
lack of confidentiality or data integrity.
▶ Ensures timely and reliable access to and use of information.
▶ Loss of availability disrupts access to information or
information system.
• Consider lack of services such as ATM, Internet, cellular
network (calls, SMS, mobile money)
• What inconvenience did you face? How many activities failed?

53 / 136
Attacks threatening availability
▶ Denial of Service (DoS)
• It is a very common type of attack which slows down or totally
disrupts the information service, such as a network.
• May have a specific target e.g. blocking all messages directed
to a particular destination.
• Achieved in many ways like overloading a server with bogus
messages, deleting client's requests or server's responses,
breaking data cables, an attack by malicious software (virus,
malware, ransomware etc).
• DoS exists in different forms, most common is distributed
denial of service (DDoS)
▶ Software error : An error may cause a server to fail, and
eventually to fail the entire network.
▶ Infrastructure failure: Failure of disk, switch or power cut
off.
▶ Malicious activity: A malicious activity by outsider or
insider user such as a disgruntled employee.

54 / 136
Attacks threatening availability

▶ Human errors: Common cause of availability-related threats


which may occur due to;
• Widespread or poorly controlled use of privileged user accounts
• Systems require significant manual inputs or processing steps
such as spreadsheet imports
• User errors resulting in a system availability incident is just
as harmful to an organisation as a well-planned cyber attack
▶ Infrastructure overload: More users than the systems can
handle.
▶ Natural disasters: Earthquakes, floods, fire breakouts etc.
▶ Sabotage and terrorist attacks:
▶ Political turmoils and wars:

55 / 136
Enhancing availability
▶ Systems redundancy: The use of redundant hardware, and
software enforces automated failover, i.e., redundant system
automatically takes over when the main system fails.
• Hardware redundancy: Replicating critical infrastructure
components such as servers, networks, power supplies, storage
devices to ensure availability of services in case of hardware
failure.
• Software redundancy: Involves deploying redundant software
components or systems to minimize system failures. Involves
running redundant software modules, components or instances.
• Network redundancy: Redundant network links, routers, cables,
switches, help organizations maintain network connectivity and
availability to ensure uninterrupted communication and data
transfer.
▶ Regular data backups: Data backups ensures availability of
data when data in main system is inaccessible or corrupted.
• Data redundancy involves creating multiple copies of critical
data to protect against data loss
• Automated backup processes, RAID arrays, cloud backups
redundant storage systems
56 / 136
Enhancing availability
▶ Anti-DoS routers: Routers that detect possibility DoS
attacks
▶ Diverse data centers: Distributed data centers in
geographically diverse locations minimize the risk of a
single point of failure caused by local disasters, power
outages, or regional disruptions.
▶ Failover mechanisms: Automatically redirect traffic or
workload from a failed component to a redundant one, allowing
for uninterrupted service availability.
▶ Error detection and recovery: Mechanisms which detect errors
or failures and initiate recovery procedures.
▶ Load balancing: Techniques which distribute workload evenly
across multiple resources to prevent any single component
from becoming overwhelmed.
• They monitor the health and capacity of resources and direct
incoming requests to the most suitable resource to prevent
bottlenecks and improving overall system efficiency.

57 / 136
Types of computer attacks
▶ There are of two types:
• Passive attacks
• Active attacks
▶ Passive attacks
• The attacker's goal is just to obtain (access) the information.
• No modification of information or damage to the system is done.
• They are usually hard to detect.
• Examples are snooping (eavesdropping) and traffic analysis.
▶ Active attacks
• Aim at modifying information or harming the system.
• They are easy to detect than prevent.
• All attacks threatening data integrity and availability such as
replaying, masquerading, repudiation, modification and DoS.
▶ Based on their origin, attacks can be categorized as;
• Inside attack: Initiated by an entity inside the security
perimeter (an insider")
• Outside attack: Initiated from outside the perimeter, by an
unauthorized or illegitimate user of the system (an
outsider).
58 / 136
Cryptography

▶ It is the practice and study of techniques for secure


communications in the presence of the third party called
adversary or attacker.
▶ Cryptographic algorithms are designed around computational
hardness assumptions, making such algorithms hard to break in
practice by any adversary.
▶ Though it may be theoretically possible to break such
algorithms, it is computationally infeasible (intractable) to
do so by any known practical means.
▶ Breaking such a system may require huge amount of time and
computing resources such as CPU cycles, GPU, RAM and disk
space etc.
▶ Such algorithms are therefore termed as computationally
secure, and computationally not possible break (i.e
computationally infeasible to break).

59 / 136
Cryptography

▶ Cryptosystem: An ordered list of a finite set of possible


plaintexts, ciphertexts, keys and algorithms which correspond
to each key.
▶ Cryptanalysis: A term used for the study of methods for
obtaining the meaning of encrypted information without access
to the keys which are normally required to decrypt the
information.
▶ Cryptanalyst: A person who practices cryptanalysis.
▶ Cryptographers: Computer scientist practising cryptography.
▶ Cryptology: A branch of computer science and mathematics
comprises both cryptography and cryptanalysis.
▶ Cipher: It is an algorithm that is used for encryption or
decryption.

60 / 136
Cryptography

▶ Cryptographic key: A sequence of characters of a given


length such as 128 or 1024 bits used by cryptographic
algorithms to control their operations such as encryption,
decryption, signing and verification of data.
▶ Key space: A set of possible keys that work with a cipher
for encryption and decryption. For an algorithm whose key is
40 bit long, the key space is 240 = 1.0995 x 1012
• Each additional bit added to the key length doubles its key
space (security), i.e., doubling the key size, squares key
space, and therefore security being offered by an algorithm.
▶ Key size: A number of bits that make up a key, example 128,
256 or 1024 bits.

61 / 136
Cryptographic services

▶ Cryptography provides four major security services namely:


• Confidentiality: A security service that limits access to
information to authorized entities only.
♦ Prevents unauthorized entities from accessing information.
♦ It is provided through encryption
• Authentication: A security service that proves the identity of
information source (entity).
• Data integrity: A security service which protects information
from unauthorized modification and replaying.
• Non-repudiation: A security service which prevents an entity
from falsely denying his/her actions in the communication
process.

62 / 136
Foundation (basis) of Cryptography

▶ Complex mathematical functions: It heavily relies on


complex mathematical functions and computations.
• Examples of mathematics involved are one way functions,
congruence, transposition, permutations, matrix, integer
factorization, probability, randomization etc.
▶ Transposition ciphers: Ciphers which rearrange the order of
letters in a message (plaintext), example `Hello world'
becomes `eHlol owrdl'.
▶ Substitution ciphers: Ciphers which systematically replace
letters or groups of letters with other letters or groups of
letters, example `fly at once' becomes `gmz bu podf'.

63 / 136
Caesar cipher: The first encryption technique

▶ Caesar cipher is the oldest known encryption technique


invented during the reign of Julius Caesar (100 BC to 44 BC).
▶ It is a substitution cipher in which each letter in the
plaintext was replaced by a letter some fixed number of
position further down the alphabet.
▶ It works by shifting the letters in the plaintext message by
a certain number of positions, known as the shift or key.
• For example, with a left shift of 3, D would be replaced by A,
E would become B, and so on.
• For example, with a right shift of 3, the letter A would be
replaced by the letter D, B would become E, C would become F,
and so on.
▶ It only offered confidentiality, which was the most important
and required service then.
▶ However, owing to its simplicity, it was easy to break.

64 / 136
Cryptography: Vigenere cipher

▶ It is a method of encrypting text by using a series of


interwoven Caesar ciphers based on the letters of a keyword.
▶ It is a form of polyalphabetic substitution.
▶ A polyalphabetic cipher is any cipher based on substitution,
using multiple substitution alphabets.
▶ To encrypt a message, a table of alphabets can be used,
termed a tabula recta, Vigenère square, or Vigenère table.
▶ It consists of the alphabet written out 26 times in different
rows
▶ At different points in the encryption process, the cipher
uses a different alphabet from one of the rows.

65 / 136
Encryption
▶ A process of disguising information in order to hide its
substance (meaning).
▶ Given E=Encryption, M=Message, K=Cryptographic key and
C=Ciphertext, then Encryption is denoted as EK (M ) = C
▶ Some ciphers use the same key for encryption and decryption,
others use separate keys.
▶ Much of the security being offered relies on cryptographic
key.
• Each cryptographic key causes a new output of cryptographic
operation.
• Cryptographic algorithms have large key space from which a key
is selected for each operation.
• Keys are randomly generated.
• The larger the key size, the stronger the security.”Doubling the
key size, squares the key space.”
▶ Large computing resources such as CPU cycles, RAM and storage
are needed to break the cipher.
▶ Usually the strength of algorithm is ahead of the processing
speed of the computer.
66 / 136
Decryption

▶ Process of transforming a ciphertext back into plaintext.


▶ Given D=Decryption, M=Message, K=Cryptographic key and
C=Ciphertext, then Decryption is denoted as DK (C) = M
▶ This is similar to (DK (EK (M )) = M
▶ The output is the plaintext; a message that can be read and
understood by a human.

67 / 136
Authentication

▶ It is a process in which credentials provided by a user are


compared to those on file in a database of authorized users'
information on a local operating system or within an
authentication server.
▶ It involves confirming the truth of an attribute (identity)
of a single piece of data claimed true by an entity.
▶ In its strict terms, authentication is distinct from
authorization.
▶ Authorization is the process of giving individuals access to
system objects based on their identity.
▶ Authentication merely ensures that the individual is who he
or she claims to be, but says nothing about the access rights
of the individual.

68 / 136
Authentication
▶ Authentication is commonly used in cases such as;
• When a server needs to know the identity of a client which is
accessing its information or site.
• When a client needs to know that the server is a system it
claims to be.
• When the user or computer has to prove its identity to the
server or client.
• When the computer has to prove the origin of the message (data
origin authentication).
▶ Access to resources may be granted only after the
authentication has been positive.
▶ Cryptography offers the most secure, reliable and effective
means of authenticating entities and messages in insecure
computing environments like networks through the use of;
• Certificate
• Digital signature
• Secret key
• Public key cryptography
• Specialized authentication schemes (protocols)
69 / 136
Cryptographic algorithms: Types

▶ Cryptographic algorithms are categorized using different


categorizations.
▶ The most commonly used categorization is the number of key
used.
▶ Based on that, there are two types of key-based cryptographic
algorithms.
• Symmetric (Secret key) algorithms
• Asymmetric (Public key) algorithms

70 / 136
Symmetric algorithms

▶ Cryptographic algorithms which use (share) the same key for


encryption and decryption.
▶ The key is commonly referred to as shared secret key, which
is agreed and shared by sender and receiver before secure
communication commences.
▶ Security of the algorithms rests on secrecy of the shared
secret key.
▶ They are further divided into:
• Stream ciphers: Convert one bit or byte of plaintext character
into ciphertext character at a time. Examples: Vigenere,
Vernam and Rivest Cipher 4 (RC4).
• Block ciphers: Encrypt one n − bit block of plaintext into
n − bit ciphertext block at a time. Common block sizes are 64,
128 and 256. E.g. DES, Triple DES, AES, Rivest Cipher 2 (RC2)
and Blowfish.

71 / 136
Symmetric algorithms: Strengths &
weaknesses
▶ Strengths:
• They operate on shorter keys such as 56, 64, 128 and 256 bits.
• They are faster, i.e have higher performance.
• They consume little computing resources such as memory (RAM),
CPU cycles and storage space.
▶ Weaknesses:
• Do not provide a mechanism for secure distribution of shared
secret keys.
• Security (i.e. ability to keep the ciphertex secret) relies on
secrecy of the shared secret key by communicating parties.
• They offer only encryption; fail to offer digital signature
necessary for non-repudiation and authentication.
• Require a large number of keys to be managed such that given n
users, a system manages n − 1 secret keys for one user and
n(n − 1)
for all users in a communication pool.
2
• Each pair of parties would need a single key that will be used
to both encrypt and decrypt the message between the two parties
72 / 136
Common Symmetric algorithms

▶ Data Encryption Standard (DES)


• It is a symmetric key block cipher published by US National
Institute of Standards and Technology (NIST).
• It was developed by IBM as an improvement of an earlier project
called Lucifer.
• It is the best known symmetric encryption algorithm that has
been a cryptographic standard for many years.
• It has currently been replaced as a standard for data
encryption by Advanced Encryption Standard (AES).
• It is based on substitution and transposition techniques, which
provide two accomplishments namely confusion and diffusion.
♦ Confusion which is provided by substitution ensures that there
exist no relationship between the input bits (plaintext) and
output bits (ciphertext).
♦ Diffusion is provided by transposition to spread information from
plaintext over entire ciphertext to ensure that changes in the
plaintext affect many parts of the ciphertext.
• Though its key size is expressed as 64-bit long, every eighth
bit is used for parity checking.

73 / 136
Common Symmetric algorithms

▶ Double DES
• In response to the raised security concerns, NIST decided to
improve DES for greater security.
• The technique was to use double encryption, with two different
keys.
• The keys are used to provide two encryptions, one on top of
another such that E(k2 , E(k1 , m)).
• However, security experts and researchers concluded that this
technique gives a false sense of better (double) security.

74 / 136
Common Symmetric algorithms

▶ Triple DES (3DES)


• It was developed to address security concerns raised against
DES and Double DES.
• It applies three rounds of DES with three separate keys.
• It is also known as DESede, meaning that DES-encryption,
decryption, encryption.
• You encrypt the message with the first key (k1 ), decrypt with
the second key (k2 ) and encrypt with the third key (k3 ).
• It is summarized as C = E(k3 , D(k2 , E(k1 , m)))
• A minor variation of 3DES uses two keys, in which both
encryptions are done using the same key like
C = E(k1 , D(k2 , E(k1 , m))).
• It is assumed that two-key 3DES and three-key 3DES give
security equivalent to 80 bits and 112 bits respectively.

75 / 136
Common Symmetric algorithms

▶ Advanced Encryption Standard (AES)


• It was developed in response to criticisms on DES and its
variants.
• It has replaced DES as cryptographic standard for encryption.
• It was developed by Belgian cryptographers Vincent Rijmen and
Joan Daemen.
• It was adopted for use by the US government in December 2001.
• It is a 128 bit block cipher.
• It is more efficient than DES (and its variants) and can be
easily implemented on wide range of processors.
• It primarily uses substitution, transposition, shift, exclusive
OR and addition operations.
• It has three different key sizes, 128-bit, 192-bit and 256-bit.
• It has replaced DES as cryptographic standard for encryption.
• It starts with a key more than double the size of DES key.
• Doubling the key length squares the key space, i.e. number of
keys that can be generated by the algorithm and therefore
tested in attempts to break the encryption.

76 / 136
Asymmetric algorithms

▶ They form a subclass in cryptography known as public Key


Cryptography (PKC).
▶ Require each user/device to have a key pair consisting of
public key and private key.
▶ Private key is known to the user (owner) only, while public
key is distributed to all users of the communication pool.
▶ Public and private key of each user are mathematically
related.
▶ But it is prohibitively expensive to generate a user's
private key given the knowledge of its public key.
▶ Do not require parties to share any secret.
▶ Public key contains private key components.
▶ With PKC, shared secrets (keys) can be established online (in
insecure environment) without the need for exchanging secret
data.

77 / 136
Asymmetric algorithms

▶ Because of their large key sizes and huge need for computing
resources, PKC are largely used for key agreement (exchange)
and digital signature and rarely used for encryption
▶ PKC were meant to solve the key distribution (exchange
problem) inherent to symmetric key algorithms.
▶ Examples: RSA, ECDH, ECDSA, El Gamal and NTRU.
▶ The public and private keys (key pair) of a given user
(device) are mathematically related.
▶ They are generated in such a way that it is prohibitively
expensive to determine the private key given the knowledge of
the public key.
▶ The generation of these keys is based on one way functions
(OWF).
▶ OWF are mathematical functions in which forward operations
can be done easily but reverse operations are impractical.

78 / 136
Asymmetric algorithms

▶ For each key pair, a public key is generated using private


key on the forward operations of the OWF.
▶ Obtaining private key from the public key is a reverse
operation and if succeeded the algorithm is broken.
▶ The reverse operations on OWF become more difficult as the
key size increase.
▶ Most known PKC work on very large integers which make reverse
operations impossible and therefore make them secure.
▶ Asymmetric algorithms such as RSA require 1024 bit keys to
provide roughly the same level of security as 128 bit key
symmetric algorithms.
▶ This is because public-private key pairs have a particular
mathematical requirement that makes the key space smaller
than just the bit size of the key.

79 / 136
Asymmetric algorithms: Strengths &
weaknesses

▶ Strengths
• They provide mechanism for key exchange and distribution.
• They provide both data confidentiality and digital signature.
♦ Practically, they are commonly used for key exchange/distribution
and digital signature.
♦ Digital signature is important for providing user/entity
authentication and non-repudiation services.
▶ Weaknesses
• They require larger key sizes, at least 1024 bit long, to offer
stronger level of security.
• They require more computing resources such as CPU, bandwidth,
memory and hard drive.
• They are generally slower than symmetric algorithms as they are
computationally intensive.
• Because of their poor performance and large demand for
computing resources, they are rarely used for encryption.

80 / 136
Public and Private key Generation

▶ Each user (device) must have two keys, public key and private
key, which form a key pair and which are mathematically
related.
▶ The private key, PrivK , is generated first.
▶ Then the private key is supplied to a function termed as U,
together with a constant C to generate the public key, PKpub .
▶ This can be expressed mathematically as follows:
PKpub = U (PrivK , C)
▶ Therefore a public key PKpub does contain components of
private key PrivK and constant C

81 / 136
Key Agreement (Exchange)

▶ Suppose two users, A and B , want to establish a secure


communication channel over insecure channel.
▶ Each user needs to have his/her key pair.
▶ Let user A's private key be PrivKA , and public key be PKA
which is expressed as U (PrivKA , CA ).
▶ Let user B's private key be PrivKB , and public key be PKB
which is expressed as U (PrivKB , CB ).
▶ Each user keeps his/her private key secret and distributes
his/her public key to the other party.
▶ User A will have his private key PrivKA and user B's public
key U (PrivKB , CB ).
▶ User B will have his private key PrivKB and user A's public
key U (PrivKA , CA ).

82 / 136
Key Agreement (Exchange)

▶ After this exchange of keys, each user will have to perform


some operations on the Key generation function F in order to
generate a secret key KE .
▶ At user A, KEA = F (PrivKA , U (PrivKB , CB ), G)
▶ At user B, KEB = F (PrivKB , U (PrivKA , CA ), G)
▶ Because of exchanged public keys, nature of function F, and
constant G, the generated keys, KEA and KEB are the same.
KEA =KEB =F (PrivKA , U (PrivKB , CB ), G)=F (PrivKB , U (PrivKA , CA ), G)
▶ This shared secret key will then be used to encrypt and
decrypt messages using the same asymmetric or symmetric
cipher.
▶ To increase efficiency, the key is commonly used by symmetric
ciphers.

83 / 136
Generation of constant G

▶ Assume that Alice and Bob want to establish a secret over


insecure channel.
▶ They first have to agree on two large numbers p and g .
▶ Alice chooses a secret large integer a and sends Bob
A = g a mod p
▶ Bob chooses a secret large integer b and sends Alice
B = g b mod p
▶ Alice computes S such that G = B a mod p
▶ Bob computes S' such that G ′ = A b mod p
▶ But S and S' are identical, that is G = G ′ .
▶ This is because B a mod p = (g b mod p)a mod p

84 / 136
Generation of constant G
▶ A practical example:
• Alice and Bob agree to use 5 and 23 for g and p , respectively.
• Alice chooses a secret integer 6 and sends Bob A = 56 mod 23 =
8
• Bob chooses a secret integer 15 and sends Alice B = 515 mod 23
= 19
• Alice computes G = 196 mod 23 = 2
• Bob computes G ′ = 815 mod 23 = 2
• G = G′
▶ Values p , g , g a mod p and g b mod p are sent in clear over
insecure channel.
▶ Only values a , b and G are kept secret.
▶ In practice, g , p , a and b are very large prime integers,
between 100 to 200 (or even more) long integer numbers.
▶ These numbers are randomly generated by the system.
▶ The problem of breaking RSA is known as integer factorization
problem.

85 / 136
Encryption issues associated with PKC

▶ Consider two users A and B who have exchanged their public


keys, which are also shared with other users in a
communication pool.
▶ User A has his PrivKA and B's public key PKB , and user B has
his PrivKB and A's public key PKA .
▶ If user A encrypts a message with PKB , and hopes B to decrypt
it with his private key PrivKB , What is the vulnerability?
▶ If user A encrypts a message with his PrivKA , and hopes B to
decrypt it with A's PKA , What is the vulnerability?
▶ How can these vulnerabilities be removed?

86 / 136
Solution to PKC Encryption issues

▶ The solution is to encrypt the message with B's PKB , and sign
(hash) it with A's PrivKA .
▶ At the destination, the message will be decrypted using B's
PrivKB and verified by using A's PKA .
▶ With this mechanism, the confidentiality of the message is
observed because only B's private key can decrypt a message
encrypted with his public key.
▶ Also, the origin of the message (user or entity
authentication) is verified because a message signed (hashed)
with A's private key can only be verified with his public
key.
▶ Although many users in a communication pool may have A's
public key to verify the message, they do not have B's
private key, which is necessary to first decrypt the message.

87 / 136
Common Asymmetric algorithms

▶ Rivest-Shamir-Addleman (RSA)
• It was invented by and named after its three inventors Ron
Rivest, Adi Shamir and Leonard Adleman at MIT in 1977.
• Since then, it has been the widely used public key algorithm.
• It usually uses 1024 and 2048-bit keys.
• It is a block cipher in which plaintext and ciphertext are
integers between 0 and n - 1, where n is 21024 .
• It is by far the easiest to understand and implement among all
other public key algorithms and is patent free.
• It is built upon strong mathematical foundation and its
security depends on integer factorization problem (IFP).

88 / 136
Common Asymmetric algorithms

▶ Rivest-Shamir-Addleman (RSA)
• It is not appropriate to encrypt large amount of data, and
therefore used to encrypt small amount of data such as secret
keys of symmetric algorithms.
• Both public key and private key can be used to encrypt data,
that is whatever one can encrypt data, the other one can
decrypt.
• It is therefore a preferred choice for Key agreement to text
encryption.
• Public and private keys are functions of a pair of large (100,
200 digits or even larger) prime numbers.
• It has withstood years of extensive cryptanalysis.
• It can be used for text encryption, digital signature and key
agreement.

89 / 136
Common Asymmetric algorithms

▶ Elliptic Curve Cryptography (ECC)


• It is a newer PKC compared to RSA.
• It operates on smaller key sizes such as of 163-bit which offer
security equivalent to 1024-bit RSA.
• Smaller key size reduces storage, processing power and
bandwidth requirements.
• Security of ECC depends on the difficulty Elliptic Curve
Discrete Logarithm Problem (ECDLP).
• ECDLP is currently considered a harder problem than integer
factorization.
• It has significant performance advantage compared to RSA. It is
generally between 5-15 times faster than RSA.
• Fewer attacks to a very few special families of curves. RSA is
prone to more attacks.
• United States National Security Agency (NSA) uses ECC to
protect classified information up to top secret with 384-bit
keys.

90 / 136
Common Asymmetric algorithms

▶ Other public key (asymmetric) algorithms are:


• Digital Signature Algorithm (DSA)
• Diffie Hellman (DH)
• Elliptic Curve Diffie Hellman (ECDH)
• El Gamal

91 / 136
Need for both Symmetric and Asymmetric
cryptography

▶ Asymmetric key cryptography does not eliminate the need for


symmetric-key cryptography.
▶ Asymmetric key cryptography is much slower than symmetric key
cryptography.
▶ For encryption of large messages, symmetric key cryptography
is still needed.
▶ The speed of symmetric key cryptography does not eliminate
the need for PKC.
▶ Asymmetric key cryptography is still needed for
authentication, digital signature and key exchange and
distribution.
▶ We therefore need both symmetric key cryptography and
asymmetric key cryptography.

92 / 136
Digital Signature

▶ We are all familiar with the concept of a signature.


▶ A person signs a document (letter, check etc) to show that it
is originated or approved from or by him/her.
▶ The signature is a proof to the recipient that the document
comes from the correct entity.
▶ A signature on a document when verified is a sign of
authentication.
▶ An authentic document means that it comes from the correct
source (sender).
▶ While it is relatively easy to sign and prove authenticity on
paper documents, it is not a case with electronic documents
(information).

93 / 136
Digital Signature

▶ When Alice sends a message to Bob, Bob needs to check the


authenticity of the sender to be sure that the message comes
from Alice and not Eve.
▶ In this case, Alice needs to sign the document
electronically, which can be verified by Bob for
authenticity.
▶ This electronic signature is called digital signature.
▶ The sender uses a signing algorithm to sign the message
(information).
▶ The message and the signature are sent to the receiver.
▶ The receiver uses the verifying algorithm to verify the
signature.

94 / 136
Digital Signature

▶ If the result is true, the message is accepted; otherwise it


is rejected.
▶ A digital signature is a mathematical scheme for
demonstrating the authenticity of a digital message or
document.
▶ A valid digital signature gives a recipient confidence that
the message was created by a known sender and that the sender
can not deny having sent the message.
▶ A proof of a message source and the failure to deny taking
part in the communication are known as authentication and
non-repudiation respectively.

95 / 136
Digital Signature

▶ Digital signature solves the problem of tampering and


impersonation commonly perpetrated in digital communication.
▶ Commonly used in financial transactions, software
distribution, email communications, digital documents,
authentication schemes and in all other cases where it is
necessary to detect tampering and forgery.
▶ Digital signatures are based on public key (asymmetric)
algorithms which make use of public and private keys.
▶ Digital signatures are equivalent to traditional handwritten
signatures in many respects.
▶ Properly implemented digital signatures are harder to forge
than handwritten ones.

96 / 136
Digital Signature

▶ Digitally signed message can be anything like electronic


mail, contracts, letters, memos, or other messages sent via
cryptographic protocol.
▶ Digital signature consists of three components namely:
• Key generation algorithm: Randomly generates a private key with
its corresponding public key.
• Signing algorithm: Uses message and private key as inputs to
produce the signature.
• Signature verifying algorithm: Uses message and public key as
inputs to verify the signature.
▶ The authenticity of the signature generated from a fixed
message and fixed private key can only be verified using the
corresponding public key.

97 / 136
Digital Signature

▶ It should be computationally infeasible to generate a valid


signature without knowing the party's private key.
▶ To prevent attacks, a cryptographic hash function is commonly
applied to the message and then digitally sign a hash
(message digest) using a digital signature algorithm.
▶ This means digital signature is formed by taking a hash of a
message and sign (encrypt) with the creator's private key.
▶ This form of digital signature is called hash-then-sign and
is existentially unforgeable.

98 / 136
Digital Signature

▶ Three major advantages of signing a hash (MD) instead of the


entire document are:
• For efficiency: Signing a hash produces a shorter signature and
saves time since practically, hashing is faster than signing.
• For compatibility: Hashing converts an arbitrary input into a
fixed length value which is usually both shorter and of
specified format.
• For integrity: Since the value of MD is unique to the hashed
message, any change in the data (even changing or deleting a
character) produces a different value. This attribute enables
others to verify the integrity of the data using the signer's
public key by decrypting the hash.
▶ Digital signature can be used on both encrypted as well as
non-encrypted messages.

99 / 136
Digital Signature

▶ To be effective, digital signature must be unforgeable.


▶ Collectively, digital signatures offer authentication,
non-repudiation and integrity.
▶ Common Digital signature algorithms are:
• RSA
• Digital signature algorithm (DSA)
• Elliptic Curve Digital Signature Algorithm (ECDSA)
• ElGamal
• Rabin signature algorithm

100 / 136
Introduction to Linux security
▶ Linux is one of the most secure operating systems
▶ Available for various devices including desktops, network
servers, mobile devices and hand-held devices
▶ Different types of Linux operating systems include Ubuntu,
Fedora, Debian, OpenSUSE etc.
▶ Shell commands (text-based commands) are an important
component of Linux OS.
▶ Shell commands are more powerful than GUI-based commands;
▶ Strengths (benefits) include;
• Simple and faster than GUI-based commands
• Provides a stronger way of interacting with and managing the
system than GUI-based commands
• Consistency among Linux systems - use similar commands.
• Crucial for troubleshooting
• Useful for remote access
• Special shell features
• Scripting capabilities

101 / 136
Introduction to Linux security
▶ Linux file structure

Figure 5: Linux file structure


102 / 136
Introduction to Linux security
▶ Starting up the command interface
▶ root user
▶ Changing directory: cd
▶ Creating directory: mkdir
▶ viewing contents of a directory
▶ listing commands: ls, ls -l
▶ Creating text and program files.
▶ Copying and renaming files
▶ Moving files and folders
▶ Deleting files and folders
▶ Printing current directory
▶ Accessing previously typed commands.
▶ Restarting the computer
▶ Shutting down the computer
▶ Shortcut to get to home directory
103 / 136
Introduction to Linux security
▶ Managing users
• Creating a user: adduser
sudo adduser rashid
• Changing user's password: passwd
sudo passwd rashid
• Deleting user account: userdel
sudo userdel -r rashid
• Locking user (Disabling the account's password): passwd -l
sudo passwd -l rashid
• Unlocking user: passwd -u
sudo passwd -u rashid
• Create a group of users: groupadd or addgroup
sudo addgroup css325
sudo groupadd css325
• Adding users to the group: adduser username groupname
sudo adduser dejulugaki css325
• Delete a group of users: groupdel
sudo groupdel css325
• Adding users to the admin (sudo users):
sudo adduser rashid sudo
104 / 136
Introduction to Linux security

▶ Managing users
• To display all users in the system
compgen -u
• To display all groups in the system
getent group
compgen -g
• Search for the group css325
getent group grep css325
• Checking members (users) of css325
grep css325 /etc/group
• Viewing group membership for rashid
groups rashid

105 / 136
Introduction to Linux security
▶ File permissions
• Objects such as files, directories and devices in Linux (and
Unix) systems are all treated as files.
• Permissions are designed to keep users from accessing other
users' private files and protect important system files.
• Three permissions are read (r), write (w) and execute (x).
• Because files and directories (folders) are different types of
objects then read, write and execute permissions on files and
directories mean different things.
• The superuser (root) has the ability to access any file on the
system.

Table 1: Access restrictions types for file

Permissions Action chmod option


read view r or 4
write edit w or 2
execute execute x or 1

106 / 136
Introduction to Linux security

Table 2: Setting Read, Write and Execute Permissions


Permissions File Directory chmod
option
Read View content of a file See what files and subdirectories r or 4
it contains
Write Change file's content, Add files or subdirectories to the w or 2
rename or delete a file directory
Execute Run a file as a program Change to the directory as the x or 1
current directory, search through
the directory or execute a prog
ram from directory

107 / 136
Introduction to Linux security

▶ Changing permissions

Figure 6: File and folders permissions

108 / 136
Introduction to Linux security

▶ Changing permissions
• The first block on a line has 10 characters.
• The first character denotes whether the object is a file,
directory, device, link, socket or pipe.
• d means an object is a directory and - means a file.
• The next nine characters are split into three equal sections
namely owner, group and others (everyone else) respectively.
• The chmod command is used to modify the permissions of files
and directories
• There are two ways to modify file permissions which are;
♦ With numbers
♦ With letters

109 / 136
Introduction to Linux security

▶ chmod with letters


• Turns file permissions on and off by using plus (+) and minus
(-) signs.
• This can be done for owner user (u), owner group (g), others
(o) and all users (a) respectively.
• File operations on objects by using this method can be
manipulated to affect one, two or all of the three categories
namely owner, group or others at a time.
• The general syntax of changing permissions with letters is:
sudo chmod options filename

110 / 136
Introduction to Linux security

Table 3: Option parameters and their definitions

Option Parameters Definition


u owner
g group
o other
a all (same as ugo)
x execute
w write
r read
+ add permission
- remove permission
= set permission

111 / 136
Introduction to Linux security

▶ Starting with a file called mama with all permissions closed


(- - - - - - - - -)
chmod u+rw mama rw- - - - - - -
chmod a+x mama - -x- -x- -x
chmod ug+rx mama r-xr-x- - -
▶ To remove permissions, starting with a file called mama that
has all permissions open (rwxrwxrwx).
chmod a-w mama r-xr-xr-x
chmod o-x mama rw-rw-rw-
chmod go-rwx mama rwx- - - - - -

112 / 136
Introduction to Linux security
▶ chmod with numbers
• Each permission (read, write, and execute), is assigned a
number r = 4, w = 2, and x = 1, and you use each sets
total number to establish the permission For
• example, to make permissions wide open for yourself as owner,
you will set the first number to 7; which is obtained through
4+2+1
• Any combination of permissions can result from 0 (no
permission) through 7 (full permission)

Table 4: Options for chmoding with numbers

Option Definition
#- - owner
-#- group
- -# other
1 execute
2 write
4 read

113 / 136
Introduction to Linux security

▶ chmod with numbers


sudo chmod options filename
dejulu@ubuntuserver:~/julius$ sudo chmod -R 777 luhu

114 / 136
Introduction to Linux security
▶ Changing ownership of files and directories
• Ownership and group of files and directories is changed using
chown command
• By default, ownership of the file or directory belongs to the
user who created it
• Group: A set of users that share the same access permissions
(r,w,x).
• Three different groups in Linux are owning user, owning group
and others (everybody).
• Owning user and owning group are the user and group assigned
ownership of the file or group.
• Others means any user not the owner user nor the owning group.
• Common syntaxes are;
sudo chown owner − user filename
sudo chown owner − user : owner − group filename
sudo chown owner − user : owner − group directory
sudo chown [options] owner − user : owner − group filename
sudo chown :owner − group filename
• The most common option is −R (also −r ) which recursively
change owenership of files and (sub)directories
115 / 136
Malicious Software

▶ Malicious software (malware): A program that is inserted


into a computer system covertly with the intent of
compromising the CIA of the victim's data, applications, OS
or otherwise annoying or disrupting the victim.
▶ Malware constitutes one of the biggest categories of threats
to computer security.
▶ Malware are classified on various criteria including;
• Whether they need host program such as virus or independent
ones
• Self-contained programs such as worms and Trojans
• Whether they self-replicate such as Trojans and spam e-mail vs
those that replicate such as virus and worms.
▶ Many malware incorporate multiple propagation mechanism and
payloads in order to increase their ability to spread, hide,
and perform actions on the target computers.

116 / 136
Malicious Software - Threat consequences
(Payloads)
▶ Payloads are defined as actions performed by malware once it
reaches a target system which include;
• Deletion or corruption of data files
• Theft of information such as login credentials or other
personal information by keylogging or spyware
• Displaying unwanted or irrelevant information.
• Shutting down or restarting a computer.
• Causing the operating system (OS) to malfunctions.
• Lowering security settings.
• Allows unauthorized access to system resources such as disk,
RAM, and CPU
• Slowing down computer or web browser speeds.
• Creating problems connecting to networks.
• Frequent freezing or crashing of the computer.
• Disrupts operations of a computer or network system.
• Installing additional software.
• Creating unwanted popup ads.
• Redirecting web browser searches and changing homepages.
• Switching computer settings.
117 / 136
Malicious Software - Types
▶ Keyloggers: Captures keystrokes on a compromised system.
▶ Logic bomb: A malicious code that lies dormant until a
predefined condition is met.
▶ Virus: Malware that replicates itself into other machine or
script code when executed
▶ Worm: Runs independently and propagates a complete working
version of itself onto other hosts on a network by exploiting
software vulnerabilities in the victim's system
▶ Zombie: A malware activated on infected computer to launch
attacks on other machines. Commonly used in DoS attacks
▶ Adware: Advertising that is integrated into software
▶ Advanced Persistent Threat (APT): Cybercrime directed at
business and political targets, using a wide variety of
intrusion technologies and malware to specific target
✓ Aims at stealing intellectual property rights, security
information, infrastructure related data and physical
disruption of infrastructure.
118 / 136
Malicious Software - Types
▶ Downloaders: Installs other items on an infected machine
▶ Flooders: Used to generate a large volume of data to attack
networked computer systems, e.g. in DoS attacks.
▶ Trojan Horse: A malware that appears to have useful function
but also has a hidden and potentially malicious function that
circumvents security mechanism.
▶ Spyware: Collects information from a computer and transmit
it to another system by monitoring keystrokes, screen data,
network traffic, or scanning files.
▶ Spammer programs: Malware used to send large volumes of
unwanted emails.
▶ Backdoor (Trapdoor): Any software that bypasses a normal
security check to allow unauthorized access to functionality
in programs or onto compromised computers.
▶ Rootkit: It is a set of tools and utilities that hacker can
use to maintain access of a hacked system.
✓ Allows hackers to seek out usernames and passwords, launch
attacks, conceal their actions by hiding their files and
erasing activities from systems logs.
119 / 136
Malicious Software - Propagation
▶ Propagation mechanism include the following methods;
• Infection of existing executable or interpreted content by
viruses that subsequently spread to other systems.
• Exploiting vulnerabilities either locally over a network
• Social engineering attacks that convince users to bypass
security mechanism to install malware
• Phishing attacks
• Parasitic malware: machine code attaching itself to documents
(MS Word documents, Excel spreadsheets, PDF), system program,
boot sector etc.
• Through network transmitted files
• Downloading free software from the Internet that secretly
contains malware
• Downloading legitimate software that's secretly bundled with
malware
• Visiting a website that's infected with malware
• Clicking a fake error message or pop-up window that starts a
malware download
• Opening an email attachment that contains malware

120 / 136
Malicious Software - Computer virus
▶ Computer virus: A self replicating and executable malware
that interfere with operating system, application programs
and hardware.
▶ Major characteristics of computer virus include;
• They reside in the computer's memory (RAM and hard disks) like
any other computer program.
• They are capable of self replicating.
• They are executable i.e, they give instructions that can be
followed by the processor (CPU).
▶ A computer various has three parts;
• Infection mechanisms: The means by which a virus propagates
(spreads)
• Trigger: The event or condition that determines when the payload
is activated or delivered, which include;
✓ Specific data or time
✓ A number of replications made
✓ When some keys are pressed in a specified order
✓ When a certain program is executed
✓ Automatic execution
• Payload: The damage caused by the virus.
121 / 136
Malicious Software - Types of computer virus

▶ File virus
• They are known as Parasitic or Executable viruses
• They attach themselves to executable (program) or interpreted
files, driver files or compressed files.
• Activated when the host program is run and carry out the
harmful the malevolent (harmful) activities they are programmed
for
▶ Boot sector virus
• Affect the boot sector of the hard disks.
• Boot sector is a location where all information about the drive
is stored along with start up programs of the OS.
• By affecting the boot sector, boot sector viruses guarantee
that it loads into memory during every boot sequence.
• They seriously affect this boot sector causing the Operating
System fail to load

122 / 136
Malicious Software - Types of computer virus

▶ Macro virus
• Affect data files created using application software including
Microsoft's Office Word, Office Access, PowerPoint and Excel
• Most known type of computer viruses as their effects are felt
by many computer users.
▶ Email virus
• They can be a form of macro viruses that spread to all contacts
located in the host's email address book
• Attach themselves to the emails and email attachments sent from
infected computers and spread to new host computers.

123 / 136
Malicious Software - Combating malware

▶ Using genuine software, both application software and


operating systems
▶ Using anti-malware software such as anti-virus software;
• Security software that can detect and clean the malware and
repair the effects
• If cleaning fails, they may put the infected files into
quarantine or delete them to prevent their spread to other
files
• Examples of anti-malware software include Norton, MacAfee,
Avira, Symantec, eTrust, NOD32, Avast Pro, Kaspersky and many
others
▶ Update your software including application software,
operating systems and anti-virus software regularly.
▶ Installing Firewalls
▶ Limit sharing of files and external storage devices

124 / 136
Malicious Software - Combating malware
▶ Avoid opening of files that are unknown to you or suspicious
files.
▶ Use a non-administrator account whenever possible
▶ Be careful about opening email attachments or images
▶ Don't trust pop-up windows that ask you to download software
▶ Avoid opening of files that are unknown to you or suspicious
files.
▶ Provide user awaneress and training on computer security
issues including malware, their attacks, damage and
countermeasures
▶ Back up data and test restore procedures
▶ Partition your computer network into segments
▶ Implement email security to prevent malware spread and
infections through an email attachment or malicious download
▶ Use security analytics to monitor network traffic
▶ Create a set of instructions for IT staff
▶ Update your frontline defenses including adherence to
policies and best practices for application, system, and
appliance security
125 / 136
Operating system security

▶ OS is a critical component of a computer system owing to its


functions.
▶ OSs are inherent to several security vulnerabilities which
can be exploited to perpetrate attacks.
▶ Always ensure that your operating system is properly
installed, patched, and configured.
▶ Avoid using default configurations of the OS which quite
often maximize ease of use and functionality rather than
security.
▶ A network connected, and unpatched system is vulnerable to
various threats.
▶ Ensure that operating systems are secured based on the
IT/Security policy of the organization.
▶ Follow security configuration guidelines and checklist for
the operating system you are using.

126 / 136
Operating system security

Figure 7: Operating system security layers

127 / 136
Operating system security: OS installation
▶ System security begins with the installation of the OS.
▶ A network connected or unpatched OS is vulnerable to exploit
during its installation or continued use.
▶ Install the OS from an isolated network or protected network
with the OS image and patches transferred to it using secured
removable media such as DVDs, USB etc.
▶ The installation and hardening process should occur before
the system is deployed to the network.
▶ Initial installation should install the minimum required
features, with additional features getting installed when
needed.
▶ Be careful when installing additional features, device
drivers etc. - as they execute with full kernel level
privileges and ae often supplied by third party.
▶ A malicious software may circumvent (bypass) security
mechanisms to perform nefarious activities.
▶ Keep the OS and applications installed as up to date as
possible.
128 / 136
Operating system security: Remove
unnecessary services, applications and
protocols
▶ Owing to the fact that any system running on the OS may have
some security vulnerabilities, a system (OS) with fewer
applications running is less risky to security threats.
▶ You must find a balance between usability - software to be
installed, and security - limiting the amount of software to
be installed.
▶ Identify the appropriate services, applications and protocols
to be installed on computers within the organizations.
▶ Remove the default settings which for many systems aim at
maximizing ease of use and functionality rather than
security.
▶ Do not install unwanted software rather than installing and
then removing/disabling them because;
• Many uninstalled software fail to remove all its components
• Disabled software may be re-enabled should the system be
compromised
129 / 136
Operating system security: Configure users,
groups and authentication
▶ Not all users of the system will have the same access to all
system resources.
▶ Implement appropriate access controls to manage user access
to system resources.
▶ Identify categories of system users, appropriate privileges
needed by each category, resources to be accessed, and
authentication process.
▶ Share appropriate access levels to files and other resources
as required.
▶ Restrict elevated privileges to users who require them, and
use such elevated privileges when performing tasks that
require them.
▶ Remove or disable any default accounts that are part of the
system.
▶ Change default login credentials to new ones with appropriate
security.
130 / 136
Operating system security: Install additional
security controls

▶ Install additional security controls to improve security of


your system.
▶ Such additional security controls may include;
• Anti-virus - not just for Windows platforms
• Host-based firewalls
• Intrusion detection system (IDS)
• Intrusion prevention system (IPS)
• Cryptographic services
• Authentication protocols etc.
• White list applications - A list of software allowed to execute
on the system.

131 / 136
Operating system security: Test the security

▶ Aims at determining whether security measures were correctly


implemented and are working properly.
▶ Identify any possible vulnerabilities which need to be fixed.
▶ Use appropriate checklists to test the system and use
appropriate tools for system testing and scanning for known
vulnerabilities.
▶ Ethical hacking

132 / 136
Operating system security: Application
security
▶ After installing and securing the OS, you may install various
applications software and services.
▶ Install applications only required to meet its desired
functionalities to reduce the number and type of
vulnerabities that can be exploited by attackers.
▶ Be careful with software that provide remote access or
services as they can be a target of exploitation by attackers
to gain access to your system.
▶ Make appropriate application specific configurations,
including access rights to be granted to applications such as
we and files transfer files.
▶ Each installed application must updated to the most recent
version and well secured and updated.
▶ Attention be paid to applications with default accounts,
scripts, data etc.

133 / 136
Operating system security: Security
maintenance

▶ The process of system maintenance is continuous owing to


changing environments, evolving user needs, discovery of new
threats and vulnerabilities etc.
▶ Security maintenance may include the following activities;
• Monitoring and analyzing logging information
• Perform regular data backups
• Recovery from security compromises
• Regularly testing system security
• Patching and updating the OS and application software
• Monitoring and revising system and application configurations
as needed

134 / 136
Operating system security: Security
maintenance - Logging

▶ Logging informs system administrator of (bad) things that


have happened to the system.
▶ Provides information to system administrators of what
happened in the event of system breach or misuse, and
identify appropriate measures to take.
▶ Ensure that logging captures the right data which you are to
appropriately monitor and analyze.
▶ Pre-determine the range of logging data to be collected,
which will depend on the security requirements and
sensitivity of the server, among other factors.
▶ Ensure that there is enough storage space to store the
logging information.

135 / 136
Operating system security: Data backup and
archive
▶ Data backup is the process of making copies of data at
regular intervals, allowing recovery of lost or corrupted
data over relatively short period.
▶ Archive: The process of retaining copies of data over
extended periods of time, months, years etc.
▶ Data backup is an important control in maintaining the
integrity of the system as data may get lost for various
reasons including;
• Hardware or software failure
• Accidental corruption
• Deliberate corruption
▶ Legal or operational requirements may compel an organization
to back up and archive the data.
▶ Pre-determine the needs and policy related to backup and
archive of the data.
▶ Pre-determine whether the data are kept online or offline
etc.
136 / 136

You might also like