Security Security

Download Report

Transcript Security Security

04/08/00 Security
John Tullis
DePaul Instructor
[email protected]
Copyrighted material
John Tullis
3/27/2016
page 1
Security
Security
• The Internet was designed to provide dynamic, flexible
and open communications among a large diversity of
entities. However, the Internet was not designed to protect
confidential or sensitive information. Unless carefully
studied security procedures are used, both information
being communicated and resources used for communication
are unprotected from mischief or malice.
Copyrighted material
John Tullis
3/27/2016
page 2
Security
Security - major concerns
• The major concerns about Internet transactions include
authenticity, authorization, privacy, integrity of information
and non-repudiation.
Copyrighted material
John Tullis
3/27/2016
page 3
Security
Security - authenticity
• "Is this person who they say they are?”
• Authentication is the process in which a user (human user or
server process) proves to the system that they are who they purport
to be. This means that when a user wishes to use a system, they
must first prove their identity by some means. Some example
mechanisms for authenticating to a system include userid/password
pairs, smart cards, and finger print verification. Choosing which
authentication mechanism is appropriate for a given system highly
depends upon the usage of that system. The degree of certainty that
must be assured will dictate the authentication mechanism.
Copyrighted material
John Tullis
3/27/2016
page 4
Security
Security - authorization
• ”May this person/program have access?”
• Once a user has been authenticated to a system, a determination
must be made as to the rights that user has to the system. An
example of this would be giving a user the ability to read certain
data on a system without giving them the rights to change that data.
There are many mechanisms that a system can use to determine a
user’s authorization rights. Some examples of authorization
mechanisms include access control lists, permission bits, and user
written code that check a user’s identity and determines their rights.
Copyrighted material
John Tullis
3/27/2016
page 5
Security
Security - privacy
• "Is any personal information I give out being compromised?”
• Data privacy refers to the sending of data across a network with
the confidence that no undesired party can interpret it. This is
accomplished using data encryption. Encryption is a technique that
ensures data, which is sent between two or more authorized parties,
can only be interpreted by those desired parties. It ensures that the
data is not meaningful to a non-authorized party that is attempting
to eaves drop on the conversation. Using data privacy is very
important when sensitive information needs to be sent across an
unsecured network where only the intended receiver has the ability
to interpret it.
Copyrighted material
John Tullis
3/27/2016
page 6
Security
Security - information integrity
• "Am I confident that the data I receive and send is not being
tampered with?”
• When data is sent across a physical network, conditions may alter
the data before it gets to its intended receiver. An electrical spike in
the line may change the bits of a data packet, or an unauthorized
entity may have intercepted and changed the data as it was traveling
across the network. The assurance that data sent across a network
will be received exactly as it was sent is labeled information
integrity. We can not change the fact that data may be corrupted
when it travels across a network, but we can detect it. The
detection of corrupted network data is often done by cryptographic
checksums. Cryptographic checksums give the receiver of data the
ability to determine if it has been changed since it was sent.
Copyrighted material
John Tullis
3/27/2016
page 7
Security
Security - non repudiation
• "How can I ensure the data was received, signed for, and
time stamped? Will it stand up in court?”
• Non reputation refers to the ability to associate a
particular instance of data to a specific user. This means
that when a user originates data, there is a mechanism that
provides a receiver of that data to verify the user’s identity.
Non repudiation provides the assurance to the receiver that
certain data was sent from a specific user, and that the
sender can not deny it at a later time. This is usually
accomplished using digital signatures.
Copyrighted material
John Tullis
3/27/2016
page 8
Security
Security - MQSeries
• MQSeries administrative commands that define queues,
channels, etc.
• Messages contained within queues
• Messages traveling between queue managers
• Connections between queue managers
• Application Security
Copyrighted material
John Tullis
3/27/2016
page 9
Security
Security - MQSeries administrative commands
• The ability for a user to issue MQSeries commands must be
given only to the appropriate individuals who are charged with the
task of maintaining an MQSeries system. The use of these
commands, by an unauthorized individual, can result in serious
security exposures.
• Typically, the granting of authority to the MQSeries
administrative commands is controlled by the operating system on
which the MQSeries product is running.
Copyrighted material
John Tullis
3/27/2016
page 10
Security
Security - messages within queues
• The data that resides in message queues may be of a sensitive
nature and must be secured accordingly. If it is determined that
security is necessary, access to queues can be controlled by
authorizing only certain individuals to those queues. This will
protect the queue from being accessible by unauthorized users,
however all users which are granted authority to that queue can see
all messages. If it is desired to protect each message, even from
others authorized to the same queue, some form of data encryption
must be used on the messages.
Copyrighted material
John Tullis
3/27/2016
page 11
Security
Security - messages within queues
• Authorization to queues is typically managed by the operating
system in which MQSeries is running. Neither the operating
system nor MQSeries natively provide data encryption. For
encryption of messages on a queue, some other mechanism must
be used.
Copyrighted material
John Tullis
3/27/2016
page 12
Security
Security - messages within queues
• MQSeries provides programming exits that allow for security
modifications to messages at appropriate points in message flows.
The programmer can use these exits to pass control to their own
routines during message puts, gets, and just before the message is
sent to, or received from the physical network. An example of this
is a sender process which encrypts an MQ message just before it’s
put on a queue; and a receiver process that decrypts the message
just before it is presented to the application it is destined for.
Copyrighted material
John Tullis
3/27/2016
page 13
Security
Security - messages between Q Managers
• Messages traveling between queue managers may potentially
need to be protected against being changed or seen by an
unauthorized individual. To ensure that no messages are
intercepted or compromised while traveling between queue
managers, some combination of data encryption and data integrity
techniques must be used. Neither the operating system nor
MQSeries natively provide data encryption and data integrity
between queue managers.
Copyrighted material
John Tullis
3/27/2016
page 14
Security
Security - connections between Q Managers
• In a non-trusted environment it is necessary for communicating
queue managers to authenticate their identities to each other. This
will prevent an unauthorized queue manager from connecting to an
authorized queue manager. Not authenticating queue managers to
each other creates serious security exposures. This also pertains to
an MQSeries client which connects to an MQSeries server.
Copyrighted material
John Tullis
3/27/2016
page 15
Security
Security - applications
• Application security refers to the ability of an application to both
determine the identity of a user making a request, and then to
determine what access rights that user has within the application.
• An example of this can be seen when a Windows NT user places a
message on a queue destined for MVS. The Windows system will
place the NT userid in the message. When the message arrives at the
MVS system, where MVS uses Top Secret identities, MVS will not
be able to use the identity. This issue might be resolved by ensuring
the MVS and the NT userid are identical. Another mechanism might
be to write logic in the MVS server to map the NT userid to its valid
Top Secret userid.
Copyrighted material
John Tullis
3/27/2016
page 16
Security
Security - areas & MQSeries
• Authentication - none - done by operating system
• Authorization - none - depends on external software
• Information privacy - none - depends on external software
• Information integrity - none - depends on external software
• Non-repudiation - none - depends on external software
• Note - there is a vendor package called MQSecure by Candle
Corporation that satisfies the above requirements. It is a “bolt-on” to
MQSeries. For details see:
http://www.candle.com/productservices/perfavailmgmt/msgmiddlewa
re/mqseries/secure.html
Copyrighted material
John Tullis
3/27/2016
page 17
Security
Security - MQSeries Channel Exits
Copyrighted material
John Tullis
3/27/2016
page 18
Security
Security - MQSeries Channel Exits
• Security exit - the security exit is intended, primarily, for (mutual)
authentication of partner MCAs when they connect to one another.
This exit is invoked after the MCAs have connected but before any
user data is exchanged.
• The naming of this exit is misleading as the implication is that it is
only for security and that all security functions need to be performed
within it. Both of these are incorrect. Because the data exchange is
arbitrary, any exchange is possible and so functions unconnected
with security may be implemented.
Copyrighted material
John Tullis
3/27/2016
page 19
Security
Security - MQSeries Channel Exits
• Message exit - The message exit is called once for each
message (in each MCA) and has access to both the MQSeries
message headers and the message data. This exit is useful for
functions which require access to all of the message data,
rather than a portion of it. Some enterprises choose to use the
message exit for signing messages, adding data integrity
tokens or for encrypting data.
Copyrighted material
John Tullis
3/27/2016
page 20
Security
Security - MQSeries Channel Exits
• Send/Receive exit - Because MQSeries allows message sizes
greater than the capacity of the underlying transport, it is
sometimes necessary for the MCA to segment messages
before sending to the partner MCA – which will reconstitute
them at the receiving side. For each segment, the send exit is
called at the sending MCA and the receive exit called at the
receiving MCA. Usually, the send/receive exits are used where
the structure of the message data is not significant. In fact,
MQSeries does not expose the data content of each segment
so it is important to treat each segment as an opaque ‘blob’.
But, it is quite possible to implement security functions such as
signing messages, adding integrity tokens and encryption
Copyrighted
material
within the send/receive exits
if required.
John Tullis
3/27/2016
page 21
Security
Security - at the message level
• As has been identified, it is possible to ensure security for message
transmission & reception via the message channel exits. But there is
no security provided while the messages are in the queues.
What is the main problem here?
• The primary issue associated with message level security
has been the fragmentation of the distributed security
environment. Put simply, with the large number of different
platforms available and different levels of security functions
available, there has never been any assurance that a message
encrypted on one platform could be decrypted on the receiving
platform. Thus the need for either much customer coding, or
the use of a product such as MQSecure.
Copyrighted material
John Tullis
3/27/2016
page 22
Security
Security - encryption
• Cryptography -- the "art" of hiding and securing information for
storage and transmission.
• Encryption -- the process of converting readable information called
plain text into unreadable information called cipher text
• Decryption -- the process of reverting encrypted information (cipher
text) back to plain text
• Algorithm -- the computational procedures used to encrypt and
decrypt information
• Key -- a value that causes a crptographic algorithm to run in a
specific way and to produce a specific cipher text (e. g., a 128 bit
key)
Copyrighted material
John Tullis
3/27/2016
page 23
Security
Security - cryptography
• Cryptography - The derivation of the word cryptography is from
Greek and means literally secret writing. Modern cryptography is
still involved in keeping data secret, but the ability to authenticate a
user (and hence apply some kind of access control) is even more
important.
• Although there are many cryptographic techniques and protocols,
they mostly fall into one of three categories:
Copyrighted material
John Tullis
3/27/2016
page 24
Security
Security - bulk encryption
• Technique 1: Bulk Encryption- This is the modern equivalent of
secret writing. A bulk encryption algorithm uses a key to scramble
(or encrypt) data for transmission or storage. It can then only be
unscrambled (or decrypted) using the same key. Bulk encryption is so
called because it is effective for securing large chunks of data. Some
common algorithms are Data Encryption Standard (DES), Data
Encryption Algorithm (DEA) and RC4. This is also called the
symmetric encryption.
Copyrighted material
John Tullis
3/27/2016
page 25
Security
Security - public key encryption
• Technique 2: Public Key Encryption - This is also a technique for
securing data but instead of using a single key for encryption and
decryption, it uses two related keys, called public key and private
key, which together form what is known as a key pair. As the word
suggests, public keys are made available to everyone, but each entity
that holds a key pair should keep the private key as secret. If data is
encrypted using one of the keys, it can only be decrypted using the
other, and vice versa.
Copyrighted material
John Tullis
3/27/2016
page 26
Security
Security - hashing
• Technique 3: Hashing - A secure hash is an algorithm that takes a
stream of data and creates a fixed-length digest of it. This digest is a
fingerprint for the data. A digest has two main properties:
• If even one single bit of data is changed, then the message
digest changes as well. Notice, however, there is a very remote
probability that two different arbitrary messages can have the
same fingerprint.
• Even if someone was able to intercept transmitted data and its
fingerprint, that person would not be practically able to modify
the original data so that the resulting data has the same digest
as the original one.
Copyrighted material
John Tullis
3/27/2016
page 27
Security
Security - symmetric key cryptography
• Single shared secret key (Encryption Key = Decryption Key)
• Provides some degree of Confidentiality, Integrity and Authenticity
• DES, 3DES, IDEA, Skipjack, RC 2/ 4/ 5
• Much faster than Asymmetric
• Key distribution is a consideration
Copyrighted material
John Tullis
3/27/2016
page 28
Security
Security - symmetric key cryptography
Copyrighted material
John Tullis
3/27/2016
page 29
Security
Security - asymmetric key cryptography
• Public key encryption is a form of asymmetric encryption, because
the key that is used to encrypt is different from the key used to
decrypt. With this technology, the sender in a secure communication
can use the receiver’s public key to encrypt the data, because at that
point in time only the receiver can decrypt the data, by using its own
private key.
Copyrighted material
John Tullis
3/27/2016
page 30
Security
Security - asymmetric key cryptography
Copyrighted material
John Tullis
3/27/2016
page 31
Security
Security - asymmetric key cryptography
• Be aware that the public and the private keys are bound by a well
known mathematical relationship, so that having one of the two keys
it would be theoretically possible to obtain the other one. However,
especially when the size of the building block of the keys is very long
(for instance, 512 bits), the computational effort required makes the
probability of breaking a key very small.
• Compared to bulk encryption, public key encryption is more secure,
because it does not require the transmission of a shared key that both
the parties must hold. However, public key encryption is
computationally expensive and is therefore not suited to large
amounts of data.
Copyrighted material
John Tullis
3/27/2016
page 32
Security
Security - asymmetric key cryptography
• For this reason the most common solution, implemented for
example in the SSL protocol, is for the two parties (sender and
receiver) to use public key encryption to agree on and share a
common key. After the common key has been shared using
asymmetric encryption, so that only the two parties really know it,
then bulk encryption is used. Notice that a common key is shared
only for the time of a single connection. After a secure connection is
closed, a new connection requires that the two parties agree on a new
shared key.
• The most commonly-used algorithm for public key encryption is
the Rivest, Shamir and Adleman (RSA) system.
Copyrighted material
John Tullis
3/27/2016
page 33
Security
Security - U.S. rules for export encryption.
• The National Security Agency (NSA) is responsible for monitoring
communications between the United States and the rest of the world,
aiming to intercept such things as the messages of unfriendly
governments and organized crime. Clearly, it is not a good thing for
people who want to blow up buildings & other people to have access
to unbreakable encryption, so the United States government sets
limits on the strength of cipher that a United States company can
export for commercial purposes.
• Obviously non-US companies & non-US branches of multinationals
are not bound by this restriction. But, if you buy a Web browser, for
example, from Microsoft or Netscape, it has security restrictions for
the non-US versions (because those are US companies).
Copyrighted material
John Tullis
3/27/2016
page 34
Security
Security - cipher strength.
• Cipher strength is controlled by the size of the key used in the
encryption algorithm. Current export rules limit the key size for bulk
encryption to 40 bits, which can now be cracked in a matter of hours
with modest computing facilities. Each extra bit doubles the key
space, so a key size of 64 bits is 16 million times tougher than 40
bits. A similar rule applies to public key encryption, where an exportquality 512-bit modulus is inadequate, but a 1024-bit modulus is
expected to remain effective for the next ten years, at least for
commercial use.
Copyrighted material
John Tullis
3/27/2016
page 35
Security
Security - firewalls.
• By firewall, we mean any computer system, network hardware or
combination of them that links two or more networks, and enforces
some access control policy between them. Thus one side of the
network is protected from any dangers in the other part of the
network, analogous to the solid firewalls in buildings, which prevent
a fire from spreading from one part of the building to another.
Copyrighted material
John Tullis
3/27/2016
page 36
Security
Security - firewalls.
• Firewalls can affect any type of network traffic, depending on their
configuration.
• Current literature on firewalls is filled with buzzwords used by
specialists to describe the different software techniques that can be
used to create firewalls. Techniques include packet filtering,
application gateways, proxy servers, dynamic filters, bastion hosts,
demilitarized zones, and dual-homed gateways.
• The basic security functions of any firewall are to examine data
packets sent through the firewall, and to accept, reject or modify the
packets according to the security policy requirements. Most of
today’s firewalls work with TCP/IP data only, so it is worth seeing
what is inside a TCP/IP data packet, in order to understand the
firewall’s actions.
Copyrighted material
John Tullis
3/27/2016
page 37
Security
Security - firewalls.
• Simple packet-filtering firewalls use the source and destination IP
addresses and ports to determine whether packets may pass through
the firewall. Packets going to a Web server on destination port 80,
and the replies on source port 80, may be permitted, while packets to
other port numbers might be rejected by the firewall. This may be
allowed in one direction only and it may be further restricted by only
allowing packets to and from a particular group of Web servers, as
shown in the following figure:
Copyrighted material
John Tullis
3/27/2016
page 38
Security
Security - firewalls.
Copyrighted material
John Tullis
3/27/2016
page 39
Security
Security - SSL.
• SSL is a standard protocol proposed by Netscape for implementing
cryptography and enabling secure transmission on the Web. The
primary goal of the SSL protocol is to provide privacy and reliability
between two communicating parties. As the name suggests, SSL
provides a secure alternative to the standard TCP/IP sockets protocol.
In fact, SSL is not a drop-in replacement because the application has
to specify additional cryptographic information. Nonetheless, it is not
a large step for an application that uses regular sockets to be
converted to SSL. Although the most common implementation of SSL
is for HTTP, several other application protocols have also been
adapted.
Copyrighted material
John Tullis
3/27/2016
page 40
Security
Security - SSL.
• SSL has two security aims:
• 1. To authenticate the server and the client using public key
signatures and digital certificates.
• 2. To provide an encrypted connection for the client and server to
exchange messages securely.
Copyrighted material
John Tullis
3/27/2016
page 41
Security
Security - SSL.
• The SSL connection is private and reliable. Encryption is used after
an initial handshake to define a secret key. Message integrity checks
are maintained.
• Notice that in SSL, symmetric cryptography is used for data
encryption, while asymmetric or public key cryptography is used to
authenticate the identities of the communicating parties and encrypt
the shared encryption key when an SSL session is established. This
way, the shared encryption key can be exchanged in a secure manner,
and client and server can be sure that only they know the shared
secret key. Also, you have the advantage that client and server can
encrypt and decrypt the communication flow with a single encryption
key, which is much faster than using asymmetric encryption.
Copyrighted material
John Tullis
3/27/2016
page 42
Security
Security - SSL provides...
• Privacy - The connection is made private by encrypting the data to
be exchanged between the client and the server. In other words, only
they can decrypt it and make sense of the data. This allows for secure
transfer of private information such as credit card numbers,
passwords, secret contracts, etc.
• Data integrity - The SSL connection is reliable. The message
transport includes a message integrity check based on a secure hash
function. So there is practically no possibility of data corruption
without detection.
Copyrighted material
John Tullis
3/27/2016
page 43
Security
Security - SSL provides...
• Authenticity - The client can authenticate the server and an
authenticated server can authenticate the client (optionally). This
means that the information is guaranteed to be exchanged only
between the intended parties. The authentication mechanism is based
on the exchange of digital certificates.
• Non-repudiation - Digital signatures and certificates together imply
non-repudiation. This establishes accountability of information about
a particular event or action to its originating entity, and the
communications between the parties can be proved later.
Copyrighted material
John Tullis
3/27/2016
page 44
Security
Process
H
e
a
l
t
h
c
h
e
c
k
H
e
a
l
t
h
c
h
e
c
k
E
t
h
i
c
a
l
H
a
c
k
i
n
g
E
t
h
i
c
a
l
H
a
c
k
i
n
g
A
s
s
e
s
s
m
e
n
t
s
A
s
s
e
s
s
m
e
n
t
s
S
i
t
e
S
i
t
e
S
y
s
t
e
m
S
y
s
t
e
m
P
r
o
c
e
s
s
P
r
o
c
e
s
s
N
e
t
w
o
r
k
N
e
t
w
o
r
k
A
p
p
l
i
c
a
t
i
o
n
A
p
p
l
i
c
a
t
i
o
n
I
n
t
e
r
n
e
t
I
n
t
e
r
n
e
t
A
s
s
e
s
s
A
s
s
e
s
s
W
o
r
k
s
h
o
p
s
:
W
o
r
k
s
h
o
p
s
:
S
e
c
u
r
i
t
y
S
e
c
u
r
i
t
y
P
r
i
v
a
c
y
P
r
i
v
a
c
y
I
n
f
o
r
m
a
t
i
o
n
A
s
s
e
t
P
r
o
f
i
l
e
I
n
f
o
r
m
a
t
i
o
n
A
s
s
e
t
P
r
o
f
i
l
e
A
T
o
t
a
l
S
e
c
u
r
i
t
y
S
o
l
u
t
i
o
n
S
o
l
u
t
i
o
n
A
T
o
t
a
lP
l
a
n
R
u
n
P
l
a
n
R
u
n
S
e
c
u
r
i
t
y
P
o
l
i
c
y
D
e
f
i
n
i
t
i
o
n
P
o
l
i
c
y
D
e
f
i
n
i
t
i
o
n
S
t
a
n
d
a
r
d
s
D
e
f
i
n
i
t
i
o
n
S
t
a
n
d
a
r
d
s
D
e
f
i
n
i
t
i
o
n
I
m
p
l
e
m
e
n
t
I
m
p
l
e
m
e
n
t
D
e
s
i
g
n
P
r
o
c
e
s
s
D
e
v
e
l
o
p
m
e
n
t
D
e
s
i
g
n
P
r
o
c
e
s
s
D
e
v
e
l
o
p
m
e
n
t
P
r
i
v
a
c
y
S
t
r
a
t
e
g
y
a
n
d
P
r
i
v
a
c
y
S
t
r
a
t
e
g
y
a
n
d
I
m
p
l
e
m
e
n
t
a
t
i
o
n
I
m
p
l
e
m
e
n
t
a
t
i
o
n
P
r
o
d
u
c
t
S
e
l
e
c
t
i
o
n
E
n
t
e
r
p
r
i
s
e
A
r
c
h
i
t
e
c
t
u
r
e
P
r
o
d
u
c
t
S
e
l
e
c
t
i
o
n
E
n
t
e
r
p
r
i
s
e
A
r
c
h
i
t
e
c
t
u
r
e
P
r
o
d
u
c
t
I
m
p
l
e
m
e
n
t
a
t
i
o
n
I
n
t
e
r
n
e
t
A
r
c
h
i
t
e
c
t
u
r
e
P
r
o
d
u
c
t
I
m
p
l
e
m
e
n
t
a
t
i
o
n
I
n
t
e
r
n
e
t
A
r
c
h
i
t
e
c
t
u
r
e
V
a
u
l
t
R
e
g
i
s
t
r
y
S
e
r
v
i
c
e
s
S
e
c
u
r
e
S
o
l
u
t
i
o
n
D
e
s
i
g
n
V
a
u
l
t
R
e
g
i
s
t
r
y
S
e
r
v
i
c
e
s
S
e
c
u
r
e
S
o
l
u
t
i
o
n
D
e
s
i
g
n
Copyrighted material
John Tullis
3/27/2016
page 45