Unformatted text preview:

1Courtesy of ProfessorsChris Clifton & Matt BishopINFSCI 2935: Introduction of Computer Security 1October 23, 2003October 23, 2003Certificates, Certificates, Authentication & Identity,Authentication & Identity,Design Principles Design Principles Network SecurityNetwork SecurityLecture 8Lecture 8INFSCI 2935: Introduction to Computer Security 2ProjectProjectll Survey type paperSurvey type paperlComparative/tradeoff studieslCurrent trends, challenges, possible approacheslAt most two peoplelNumber of references should be largell ImplementationImplementationlReasonable sophistication lUp to 3 peoplell New research ??New research ??ll Others: Case studies??Others: Case studies??2INFSCI 2935: Introduction to Computer Security 3Project Topics Project Topics (not limited to these only!)(not limited to these only!)¡ XML and security¡ Security policies¡ RBAC¡ Cryptographic protocols¡ Database security¡ Ad hoc network security¡ Cyber Security¡ Privacy¡ Java security¡ Intrusion detection schemes¡ Auditing¡ Security and ethics¡ Smartcards and standards for smartcards¡ Security standards¡ E-commerce securityINFSCI 2935: Introduction to Computer Security 4Project ScheduleProject Schedulell Proposal (by Nov 15)Proposal (by Nov 15)¡Up to 2 pages (identify a group)¡State the goals¡State the significancell Final project reportFinal project report¡By the last day of the semester¡Article format, or conference formatl Each person should state his contribution¡Implementation projects should demonstrate to TA and/or me3INFSCI 2935: Introduction to Computer Security 5Cryptographic Key InfrastructureCryptographic Key Infrastructurell Goal: bind identity to keyGoal: bind identity to keyll Classical Crypto: Classical Crypto: ¡Not possible as all keys are sharedll Public key Crypto: Public key Crypto: ¡Bind identity to public key¡Crucial as people will use key to communicate with principal whose identity is bound to key¡Erroneous binding means no secrecy between principals¡Assume principal identified by an acceptable nameINFSCI 2935: Introduction to Computer Security 6CertificatesCertificatesll Create token (message) containingCreate token (message) containing¡Identity of principal (here, Alice)¡Corresponding public key¡Timestamp (when issued)¡Other information (perhaps identity of signer)signed by trusted authority (here, Cathy)signed by trusted authority (here, Cathy)CCAA= { = { eeAA|| Alice || || Alice || TT } } ddCCCCA A is A’s certificateis A’s certificate4INFSCI 2935: Introduction to Computer Security 7UseUsell Bob gets Alice’s certificateBob gets Alice’s certificate¡If he knows Cathy’s public key, he can decipher the certificatel When was certificate issued?l Is the principal Alice?¡Now Bob has Alice’s public keyll Problem: Bob needs Cathy’s public key to Problem: Bob needs Cathy’s public key to validate certificatevalidate certificate¡Problem pushed “up” a level¡Two approaches: Merkle’s tree, signature chainsINFSCI 2935: Introduction to Computer Security 8Merkle’sMerkle’s Tree SchemeTree Schemell Keep certificates in a fileKeep certificates in a file¡ Changing any certificate changes the file¡ Use crypto hash functions to detect this (data integrity)ll Define hashes recursivelyDefine hashes recursively¡ h is hash function¡ Ciis certificate ill Hash of file (Hash of file (hh(1,4) in (1,4) in example) known to allexample) known to allh(1,4)h(1,2) h(3,4)h(1,1) h(2,2) h(3,3) h(4,4)C1C2C3C45INFSCI 2935: Introduction to Computer Security 9DetailsDetailsll ff:: DD××DD→→DD maps bit strings to bit stringsmaps bit strings to bit stringsll hh: : NN××NN→→DD maps integers to bit stringsmaps integers to bit strings¡if i = j, h(i, j) = f(Ci, Cj)¡if i < j,h(i, j) = f(h(i, (i+j)/2), h((i+j)/2+1, j))INFSCI 2935: Introduction to Computer Security 10ValidationValidationll To validate To validate CC11::¡ Compute h(1, 1)¡ Obtain h(2, 2)¡ Compute h(1, 2)¡ Obtain h(3, 4)¡ Compute h(1,4)¡ Compare to known h(1, 4)ll Need to know hashes of Need to know hashes of children of nodes on path children of nodes on path that are not computedthat are not computedh(1,4)h(1,2) h(3,4)h(1,1) h(2,2) h(3,3) h(4,4)C1C2C3C46INFSCI 2935: Introduction to Computer Security 11ProblemProblemll File must be available for validationFile must be available for validation¡Otherwise, can’t recompute hash at root of tree¡Intermediate hashes would doll Not practical in most circumstancesNot practical in most circumstances¡Too many certificates and users¡Users and certificates distributed over widely separated systemsINFSCI 2935: Introduction to Computer Security 12Certificate Signature ChainsCertificate Signature Chainsll Create certificateCreate certificate¡Generate hash of certificate¡Encipher hash with issuer’s private keyll ValidateValidate¡Obtain issuer’s public key¡Decipher enciphered hash¡Recomputehash from certificate and comparell Problem: Problem: ¡Validating the certificate of the issuer and getting issuer’s public key7INFSCI 2935: Introduction to Computer Security 13X.509 ChainsX.509 Chainsll Key certificate fields in X.509v3:Key certificate fields in X.509v3:¡Version¡Serial number (unique)¡Signature algorithm identifier: hash algorithm¡Issuer’s name; uniquely identifies issuer¡Interval of validity¡Subject’s name; uniquely identifies subject¡Subject’s public key¡Signature: l Identifies algorithm used to sign the certificatel Signature (enciphered hash)INFSCI 2935: Introduction to Computer Security 14X.509 Certificate ValidationX.509 Certificate Validationll Obtain issuer’s public keyObtain issuer’s public key¡The one for the particular signature algorithmll Decipher signatureDecipher signature¡Gives hash of certificatell RecomputeRecompute hash from certificate and comparehash from certificate and compare¡If they differ, there’s a problemll Check interval of validityCheck interval of validity¡This confirms that certificate is current8INFSCI 2935: Introduction to Computer Security 15IssuersIssuersll Certification Authority (CA)Certification Authority (CA): entity that : entity that issues certificatesissues certificates¡Multiple issuers pose validation problem¡Alice’s CA is Cathy; Bob’s CA is Don; how can Alice validate Bob’s certificate?¡Have Cathy and Don cross-certifylEach issues certificate for the otherINFSCI 2935: Introduction to Computer Security 16Validation and


View Full Document

Pitt IS 2935 - LECTURE NOTES

Download LECTURE NOTES
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view LECTURE NOTES and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view LECTURE NOTES 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?