• No results found

Information Systems Security Management

N/A
N/A
Protected

Academic year: 2021

Share "Information Systems Security Management"

Copied!
65
0
0

Loading.... (view fulltext now)

Full text

(1)

Information Systems Security

Management

Gerald Quirchmayr, Edgar Weippl, Oliver Jorns

Fakultät für Wirtschaftswissenschaften und Informatik

Institut für Informatik und Wirtschaftsinformatik

Liebiggasse 4/3-4, 1010 Wien

Tel. +43-1-4277-38431 Fax +43-1-4277-38449

[email protected]

(2)

Modus

¾

Organisation:

™

Vorlesung mit Praktikum in

teilweise geblockter Form.

¾

Benotung:

™

Praktische Umsetzung des im

(3)

Vortragende

¾

Univ.-Prof. Dr. Dr. Gerald Quirchmayr

¾

Mag. Oliver Jorns

(4)

Inhaltliche Schwerpunkte

¾

Business Continuity Management

¾

IT Security Administration

¾

The Technological Basis of System Defence

¾

Design Principles

¾

Access Control Mechanisms

¾

Information Flow Assurance

¾

Evaluating Systems (very brief overview)

¾

Auditing

(5)

Repetition: Security Services

Data Confidentiality

Authentication

Integrity

Access Control

Non Repudiation

Availability

(6)

Symmetric Cryptography

sender:

Hello, world!

âÉ~ÌÚ□à!C“:´U)xJ

DES

plaintext:

cipher:

Hello, world!

010010101010…

shared key:

âÉ~ÌÚ□à!C“:´U)xJ

receiver:

cipher:

DES

010010101010…

shared key:

confidentiality?

(7)

Symmetric Cryptography

Hello, world!

Hello, world!

MAC

HMAC

plaintext:

010010101010…

shared key:

HMAC

010010101010…

shared key:

confidentiality

MAC

Hello, world!

MAC

(8)

Asymmetric Cryptography

Hello, world!

I~u´É~ÌiÚ]!Cg“:´o)x

asym. algorithm

plaintext:

Hello, world!

010010101010…

receiver public key

I~u´É~ÌiÚ]!Cg“:´o)x

asym. algorithm

010010101010…

receiver private key

(9)

Encryption

Hello, world!

asym. algorithm

plaintext:

Hello, world!

010010101010…

receiver public key

I~u´É~ÌiÚ]!Cg“:´o)x

DES

-1

010010101010…

receiver private key

âÉ~ÌÚ□à!C“:´U)xJ

DES

010010101010…

cipher:

110110101010…

shared key:

encrypted shared key

110110101010…

asym. algorithm

010010101010…

cipher:

encrypted shared key

(10)

Digital Signatures

(creation)

sender:

Hello, world!

6cd3556deb0da54bca060b4c39479839

MD5

asym.

algorithm

Plaintext:

010010101010…

private key:

hash:

18832896790BF2EA…

to receiver

Hello, world!

signature:

(11)

Digital Signatures

(verification)

receiver:

signature:

6cd3556d…

asym.

algorithm

010010101010…

public key:

hash:

from sender

Hello, world!

18832896790BF2EA…

MD5

6cd3556d…

?

(12)

Questions concerning

PKI (Public Key Infrastructure)

What is a PKI?

What constitutes a digital signature?

What is a certificate?

Wat is certification revocation?

(13)

PKI defined

Certification Authority

Certificate Repository

Certificate Revocation

Key Backup and Recovery

Key update or Certificate update

Key history

Key escrow

Cross-Certification

support for Non-repudiation

Time stamping

(14)

?PKI (Public Key Infrastructure)?

Functional roles:

Policy Authority

Certificate Issuer

Certificate Manufacturer

Revocation Manufacturer

Registration Authority

Authentication Service

Repository

Related Roles:

Subscriber

Relying Party

Applications

(15)

PKI

(structure)

IPRA PCAA PCAB CAAa CAAb CABa CABb Alice Bob

IPRA … Internet PCA Registration Authority (MIT)

PCA … Policy Certification Authority

(16)

Certificates

Public key Certificates are used:

bind an entity‘s name (and possibly additional attrubutes

associated with that entity) with the corresponding public key.

assure:

Integrity of the public key and any other associated information

The public key and any other associated information has been

bound to the claimed owner in a trust manner

(17)

Purpose of certificates

Privacy and confidentiality

(message encode and decode)

Integrity (transfer interference)

Authentication (sender verification)

(18)

Certificates

X.509 Public-key certificates

Simple Public Key Infrastructure (SPKI) certificates

Pretty Good Privacy (PGP) certificates

(19)

Appointments of certificates

Certification Practice Statement (CPS)

(e.g. http://www.a-trust.at/html/download_area_show_pub.asp?dir=cps)

Release, administration and usage of certificates

Policies and practices of certification sites

Certificate Policy (CP)

(e.g. http://www.a-trust.at/html/download_area_show_pub.asp?dir=cp)

(20)
(21)

Client certificate

Applications

Encryption and Decryption of emails

E-commerce

Access control

Web servers

Facilities

Intranets

Proof of document transmission

(22)

Server certificate

Application

Server authentication

Proof of a Domain Name (Identity, Owner, IP)

Secure Connection with TLS (Transport Layer

Security) or SSL (Secure Socket Layer)

Data exchange

Web email account

Online banking

(23)

Object certificate

(developer certificate)

Digital signed source-code

(Code protection)

Authenticates the developer

Security-request before download

Proof of integrity

(24)

Smartcard

Higher secure-level

Contains private key

Processor for cryptological operations

Cardreader necessary

(25)

Certificate Structure (ASN.1)

Certificate

::=SEQUENCE {

version

[0]

EXPLICIT Version DEFAULT v1,

serialNumber

CertificateSerialNumber,

signature

AlgorithmIdentifier,

issuer

Name,

validity

Validity,

subject

Name,

subjectPublicKeyInfo SubjectPublicKeyInfo,

issuerUniqueID

[1] IMPLICIT UniqueIdentifier OPTIONAL,

subjectUniqueID

[2] IMPLICIT UniqueIdentifier OPTIONAL,

(26)

Components of a PKI

CA (Certification Authority)

bind an entity‘s name (and possibly additional attriubutes

associated with that entity) with the corresponding public key.

RA (Registration Authority):

Integrity of the public key and any other associated information

The public key and any other associated information has been

bound to the claimed owner in a trust manner

(27)

RA

Establishes and confirms the identity of an individual as part

of the initialization process

Distributes shared secrets to end-users for subsequent

authentication during an on-line initialization process

Initiates the certification process with a CA on behalf of individual

end-users

Generates keying meterial on behalf of an end-user

Performs certain key/certificate life cycle management functions,

such as to initiate a revocation request or a key recovery operation

on behalf of an end-entity

(28)

Certificate Validation Process

a trusted CA has signed the certificate

integrity of the certificate ifself

validity period

revocation

(29)

Certificate chain verification

Each certificate signed by another certificate

Entire certificate chain is needed

Verification with the public key of the signer

Root certificate

Intermediate CA

certificate

User certificate

Self-signed

Signed by root

Signed by

intermediate CA

(30)

Key/certificate life cycle management

overview

Registration

Key pair generation

Certificate creation and

Key/Certificate distribution (owner)

Certificate dissemination (publ. rep.)

Key backup (if appropriate)

initialization

issued

cancellation

Certificate retrieval

Certificate validation

Key Revocery

Key Update

Certificate expiration

Certificate revocation

Key History

Key Archive

(31)

Initialization scenario

1.

Registration

Form request

2.

Registration

Form reply

3.

Registration

Form submission

4.

Registration

Setup request

5.

Registration

Setup results

End-entity

RA

6.

Registration

results

CA

7.

Certificate request

8.

Certificate response

(32)

Certification process

Certificate request (user)

Registration Authority (RA) verifies

client identity

Registration Authority generates

key pair on behalf of client

RA sends certificate-request to

Certification Authority (CA) (PKCS #10)

CA signs certificate-request (PKCS #7)

Certificate Dissemination (LDAP)

RA returns password protected

key/certificate to user (PKCS #12)

(33)

Certification process

Key pair generation

1. Certificate request

(form)

RA

2. Certificate request

(PKCS#10)

3. signed Certificate

(PKCS#7)

5. Certificate (X.509)

CA

4. Certificate + priv. key

(PKCS#12)

(34)

Certificate revocation

1.

Certificate

Revocation

Request

End-entity

RA

CA

1.

Certificate

Revocation

Request

Out-of-band Request

2.

Certificate

Revocation

Response

2.

Certificate

Revocation

Response

(35)

Certificate Revocation List (ASN.1)

CertificateList

::=SEQUENCE {

version Version OPTIONAL,

--if present, version must be v2

signature

AlgorithmIdentifier,

issuer

Name,

thisUpdate

Time,

nextUpdate

Time OPTIONAL,

revokedCertificates

SEQUENCE OF SEQUENCE {

userCertificate

CertificateSerialNumber,

revocationDate

Time,

crlEntryExtensions

Extensions OPTIONAL } OPTIONAL,

crlExtensions

[0] Extensions OPTIONAL }}

reaonCode:

unsecified: unknown

keyCompromise: the private key has been compromised in some way; cACompromise: like keyCompromise, but the certificate subject is a CA;

affiliationChanged: some fields in the certificate have changed (e.g. subject name); superseded: the certificate has been replaced by another;

(36)
(37)

Example: simple CA with OpenSSL

/usr/local/ssl/lib/openssl.cnf - master config file ./demoCA - main CA directory

./demoCA/cacert.pem - CA certificate

./demoCA/private/cakey.pem - CA private key ./demoCA/serial - CA serial number file

./demoCA/serial.old - CA serial number backup file ./demoCA/index.txt - CA text database file

./demoCA/index.txt.old - CA text database backup file ./demoCA/certs - certificate output file

(38)

creating self signed certificate

user@:~> openssl req –config /<path>/openssl.cnf –new –x509 –days 1460 –newkey rsa:2048 –keyout private/cakey.pem –out cacert.pem

Generating a 2048 bit RSA private key

... ...+++

...+++ writing new private key to 'private/cakey.pem'

Enter PEM pass phrase:rootca

Verifying password - Enter PEM pass phrase:rootca

---You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank

For some fields there will be a default value, If you enter '.', the field will be left blank.

---Country Name (2 letter code) [AU]:AT

State or Province Name (full name) [Some-State]:Austria

Locality Name (eg, city) []:Vienna

Organization Name (eg, company) [Internet Widgits Pty Ltd]:testCA

Organizational Unit Name (eg, section) []:Organizational unit of testCA

Common Name (eg, YOUR name) []:Administrator of testCA

(39)

creating self signed certificate

user@:~> openssl req –config /<path>/openssl.cnf –new –x509 –days 1460 –newkey rsa:2048 –keyout private/cakey.pem –out cacert.pem

---BEGIN CERTIFICATE---MIIE/DCCA+SgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBtDELMAkGA1UEBhMCQVQx EDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTEPMA0GA1UEChMGdGVz … wGpP/ApgrajDR+JFX4bDZEW4g3/jOQHMLMWlMF9NvlLxAKvpA+gvSIZ3g+DdNZac 6UVXbCPbe15r7JGK9BvS1xmVWDvqL5dL4j/whEMg0tI= ---END CERTIFICATE---01

---BEGIN RSA PRIVATE KEY---Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,18FEBA6DB48660E4 t5nSIWukdQ8CL4E3tID+1Yp8VMP2k4m2JegIArRmtGSHUIFtB8WFTzWw4UjSBGOJ S0z9C3hIhSDfnyq4iXoSjLvhH1DYi514M10aVQlyaNL7u7Yg2NOMGyExfGOwczB7 … pz0xE4T/3laX9G8s4f2QxmnoWcE7H7A23gSmcz65shzCJUdbtOVs3JqM489ffRjE ---END RSA PRIVATE

(40)
(41)
(42)

creating sender certificate (request)

user@:~> openssl req –config /<path>/openssl.cnf –newkey rsa:1024 –keyout

private/sender_private_key.pem –out sender_request.pem

Using configuration from /usr/share/ssl/openssl.cnf Generating a 1024 bit RSA private key

...++++++ ...++++++

writing new private key to 'private/sender_private_key.pem' Enter PEM pass phrase:

Verifying password - Enter PEM pass phrase:

---You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank

For some fields there will be a default value, If you enter '.', the field will be left blank.

---Country Name (2 letter code) [AU]:AT

State or Province Name (full name) [Some-State]:Austria Locality Name (eg, city) []:Vienna

Organization Name (eg, company) [Internet Widgits Pty Ltd]:testCA

Organizational Unit Name (eg, section) []:Organizational Unit of sender Common Name (eg, YOUR name) []:sender

Email Address []:[email protected]

Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:

(43)

creating sender certificate (request)

user@:~> openssl req –config /<path>/openssl.cnf –newkey rsa:1024 –keyout

private/sender_private_key.pem –out sender_request.pem

---BEGIN CERTIFICATE

REQUEST---MIIB3TCCAUYCAQAwgZwxCzAJBgNVBAYTAkFUMRAwDgYDVQQIEwdBdXN0cmlhMQ8w DQYDVQQHEwZWaWVubmExDzANBgNVBAoTBnRlc3RDQTEmMCQGA1UECxMdT3JnYW5p emF0aW9uYWwgVW5pdCBvZiBzZW5kZXIxDzANBgNVBAMTBnNlbmRlcjEgMB4GCSqG SIb3DQEJARYRc2VuZGVyQHRlc3RDQS5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0A MIGJAoGBAL4HmaZLAW8Mzy26YUTI4IdVFWkafn+vE7LvQq75rbK/fCRtloAkn6FD yaUXc+bkpCDxf3FPO+ed5bPcFqLUg2Hj1JjMxHJ1/2cMeXDpaZRdIfoje9QFA1R9 +A7+tCxsjAtoNMhu2eai4Bl8mQGajuNLfNZAwo6QGbZeRgZk1t+XAgMBAAGgADAN BgkqhkiG9w0BAQQFAAOBgQCMiTmmp0wwHvUyGIE7ShQUPV/0ElS36K3Iyk/cGaym SbZ04Draf9vcZYI5vQn+6MtLJ4CztFqIABfw7p7SFM9QyiSfm8WDYey4igzYjYKA

---BEGIN RSA PRIVATE KEY---Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,B2B068A74B57AC08 RM6naIBwCxeoqg+QG5wOSGrfIuFq7YEopNTzMyO+067adhbRjCJm1JmhEUKlcA7i TVFmjuxUmZaGGjkPNZxcIfQhyfmX6yB+fJwuvGb2I9uQDJ9uciuXLFoBgmG3s3p1 c3xevo5wZq5ne0REKl9zaxR1GRulnyD3SxqZvS7A3ExARlG9l6XZDHioswBCHOm+ JvYTyEN5xEaBkggeCw8FdzGkP+EakmM5IFfK2zTzTbhAAYlt9veLuJDkk+jc5YnM YcOIfmbDez0dKeAhm9UJFjp8i6sAzjQWolq6i9vyivEAw9t5ssrL+avU9mYrrVbf Ng35qxhg3SlvfUooCt2AfxxnQ3XbaWiWWxI74q7oZR9pHX9LZwZV4ftfz74QPb+O wTBWYXsm8XRDEPSyK2m+hFn0rWuft8jOaY4/TrX6ADHbscpjTrNWP/cexhq3f4mL zTRKAfSvs5hcn5OqZY2Jb1kJgXZkML1eYdrIV/HXn9n/ZyEPigfPtHEM2jnBqnTE qH9vb+DMdw6d4dG3LN1O+VX9o1B90vdoqrZ324yLawer7FMOYwVOltQyvU7wy0qh i7naQ/B1u72d3Q88VZs6avItlWjRyyVbc5M+E411R8u1/X0hLLQLbrBomTa3n4wm 8OwdRsrtSASwzY9IagKyV9qYFmbmNm0aVsL2wZV478z4FZGWkRinbPxCGqDbgHCT EU31eB6flSG3op15DbSKtTu/LY8lJGC/qNjnuonDt1FffwhS4dNRr9aS6m2uszKe L16eY82VWpHXdz3AWFh9za30cmvZlkWRvXTJkPAI+QnI9Ovubd3/gQ==

(44)

KEY---CA certifies sender certificate

user@:~> openssl ca –config /<path>/openssl.cnf –name CA_default –in demoCA/sender_request.pem

–out demoCA/certs/certified_sender_certificate_request.pem

Using configuration from /usr/share/ssl/openssl.cnf Enter PEM pass phrase:rootca

Check that the request matches the signature Signature ok

The Subjects Distinguished Name is as follows countryName :PRINTABLE:'AT'

stateOrProvinceName :PRINTABLE:'Austria' localityName :PRINTABLE:'Vienna' organizationName :PRINTABLE:'testCA'

organizationalUnitName:PRINTABLE:'Organizational Unit of sender' commonName :PRINTABLE:'sender'

emailAddress :IA5STRING:'[email protected]'

Certificate is to be certified until May 8 16:44:54 2005 GMT (365 days) Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries Data Base Updated

(45)

CA certifies sender certificate

user@:~> openssl ca –config /<path>/openssl.cnf –name CA_default –in demoCA/sender_request.pem

–out demoCA/certs/certified_sender_certificate_request.pem

Certificate: Data:

Version: 3 (0x2) Serial Number: 1 (0x1)

Signature Algorithm: md5WithRSAEncryption

Issuer: C=AT, ST=Austria, L=Vienna, O=testCA, OU=Organizational unit of testCA, CN=Administrator of testCA/[email protected]

Validity

Not Before: May 8 16:44:54 2004 GMT Not After : May 8 16:44:54 2005 GMT

Subject: C=AT, ST=Austria, O=testCA, OU=Organizational Unit of sender, CN=sender/[email protected]

Subject Public Key Info:

Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit)

Modulus (1024 bit): 00:be:07:99:a6:4b:01:6f:0c:cf:2d:ba:61:44:c8: … 01 02 CRL

(46)

PKCS#12 creation

(user „sender“)

user@:~> openssl pkcs12 –export –inkey demoCA/private/sender_private_key.pem –name [email protected]” –in demoCA/certs/certified_sender_certificate_request.pem –out

demoCA/sender.p12

Enter PEM pass phrase:sender

Enter Export Password:export

Verfying password - Enter Export Password:export

X.509 Certificate of Certification Authority

certified

X.509 Certificate and

(47)
(48)
(49)

CA certificate installation

(50)
(51)
(52)
(53)

sender certificate installation

(54)
(55)

sender certificate installation completed

(56)
(57)
(58)

Certificate revocation

user requests for revocation (phone, fax or email)

reason for revocation necessary

e.g. private key has been compromised

revocation released within 3 hours

(59)

Certificate revocation

Certificate Revocation Lists (CRLs)

Lists all revoked certificates

Delta CRLs

only differences to previous CRL

Online Certificate Status Protocol (OCSP)

(60)

OCSP (Online Certificate Status Protocol)

OCSP

Request

OCSP

Response

OCSP

Request

OCSP

Response

OCSP

Server

CRL, SQL, LDAP,…

http://<address>:62/ocsp

(61)
(62)

Example: OpenSSL certificate revocation

(database)

V 050508164454Z 01 unknown

/C=AT/ST=Austria/O=testCA/OU=Organizational Unit of sender/CN=sender/[email protected]

V

R (revoked), E (expired), V (valid)

050508164454Z

valid to YYMMDDHHMMSSZ

01

Serial number (hex)

unknown

where to find the certificate (at present always “unknown”)

Name of owner of certificate (DN and Email)

/C=AT/ST=Austria/O=testCA/OU=Organizational Unit of

sender/CN=sender/[email protected]

(63)

OpenSSL certificate revocation

(database)

user@:~> openssl ca –revoke ./demoCA/certs/certified_sender_certificate_request.pem user@:~> openssl ca –gencrl –out ./demoCA/crl/crl.pem

user@:-> openssl crl –in ./demoCA/crl/crl.pem –outform der –out ./demoCA/crl/crl.der

R 050508164454Z 040509095323Z 01 unknown /C=AT/ST=Austria/O=testCA/OU=Organizational Unit of sender/

CN=sender/[email protected]

V 050508164454Z 01 unknown /C=AT/ST=Austria/O=testCA/OU=Organizational Unit of sender/ CN=sender/[email protected]

(64)

Further reading

Apache + SSL: http://www.apache-ssl.org/

download:

http://gd.tuwien.ac.at/infosys/servers/http/Apache-SSL/

https with midlets:

http://developers.sun.com/techtopics/mobility/midp/article

s/https/

Exploring RSA Encryption in OpenSSL:

(65)

References

Matt Bishopp, Computer Security

Understanding Public-Key Infrastructure, Adams,C.;Lloyd,S.

Security Fundamentals for E-commerce, Vesna Hassler

OpenSSL: http://www.openssl.org

Das OpenSSL Handbuch: http://www.dfn-pca.de/certify/ssl/handbuch/ossl095/

LDAP Browser: http://www.iit.edu/~gawojar/ldap/

Security in Telecommunication Project 2002, Forschungszentrum Telekommunikation

Wien ftw.

References

Related documents

COPY HACKERS VALUE PROPOSITION SCORE: 35/50 Unique: 6 Desirable: 8 Specific: 8 Succinct: 6 Memorable: 7. RATIONALE FOR VARIATION 1: Post Planner is quite simple in concept,

MyProxy Certificate Authority MyProxy server Retrieve certificate Private TLS channel MyProxy client CA Site Authentication Service PAM.. MyProxy:

When the relationship between the students’ mean EIES and subscale scores and their ET was compared in terms of their grade at school, no statistically significant difference was

These compo- nents include: • Certification Authority (CA) • Registration Authority (RA) • Certificate Revocation List (CRL) • Directory service – LDAP server •

We undertook a retrospective analysis of risk factors for NODAT in 173 pediatric renal transplant recipients at our institution with the aim of determining if hypomagnesemia confers

providers flexibility to respond to market conditions—for example, to adjust fee waiver policies based on local economic conditions and costs of doing business. However,

• All events related to certificate revocation, security policy modification and validation, Adobe Root CA software start-up and stop, database backup, certificate and

Also included are the instructions for configuring the Certificate Trust List (CTL), Certificate Authority Proxy Function (CAPF) Service, Certificate Authority (CA), phone