Foundations of Network and Computer Security J J ohn Black Lecture #15 Oct 19 th 2004 CSCI 6268/TLEN 5831, Fall 2004.

Slides:



Advertisements
Similar presentations
Security 1. is one of the most widely used and regarded network services currently message contents are not secure may be inspected either.
Advertisements

Public Key Management and X.509 Certificates
Lecture 5: security: PGP Anish Arora CSE 5473 Introduction to Network Security.
Lecture 5: security: PGP Anish Arora CIS694K Introduction to Network Security.
CSCI 530L Public Key Infrastructure. Who are we talking to? Problem: We receive an . How do we know who it’s from? address Can be spoofed.
Foundations of Network and Computer Security J J ohn Black Lecture #26 Nov 4 th 2009 CSCI 6268/TLEN 5550, Fall 2009.
Foundations of Network and Computer Security J J ohn Black Lecture #26 Nov 5 th 2007 CSCI 6268/TLEN 5831, Fall 2007.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System interfaces Updated: November 2014.
Electronic mail security -- Pretty Good Privacy.
Foundations of Network and Computer Security J J ohn Black Lecture #27 Nov 6 th 2009 CSCI 6268/TLEN 5550, Fall 2009.
Introduction to Public Key Infrastructure (PKI) Office of Information Security The University of Texas at Brownsville & Texas Southmost College.
Cryptography and Network Security Chapter 15 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
Feb 19, 2002Mårten Trolin1 Previous lecture Practical things about the course. Example of cryptosystem — substitution cipher. Symmetric vs. asymmetric.
Foundations of Network and Computer Security J J ohn Black Lecture #27 Nov 7 th 2007 CSCI 6268/TLEN 5831, Fall 2007.
Lecture 9: Security via PGP CS 436/636/736 Spring 2012 Nitesh Saxena.
Foundations of Network and Computer Security J J ohn Black Lecture #14 Oct 1 st 2007 CSCI 6268/TLEN 5831, Fall 2007.
CSCI 6962: Server-side Design and Programming
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
Welcome to the Second Tutorial Welcome to the second part of this communication system website tutorial! This tutorial is for church planters. When you.
Networks and Security. Types of Attacks/Security Issues  Malware  Viruses  Worms  Trojan Horse  Rootkit  Phishing  Spyware  Denial of Service.
Electronic Mail Security
03/09/05Oregon State University X-Sig: An Signing Extension for the Simple Mail Transport Protocol (SMTP) Robert Rose 03/09/05.
AQA Computing A2 © Nelson Thornes 2009 Section Unit 3 Section 6.4: Internet Security Digital Signatures and Certificates.
Secure r How do you do it? m Need to worry about sniffing, modifying, end- user masquerading, replaying. m If sender and receiver have shared secret.
8-1Network Security Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Message integrity, authentication.
Security Keys, Signatures, Encryption. Slides by Jyrki Nummenmaa ‘
PHP meets MySQL.
Computer Security coursework 2 Dr Alexei Vernitski.
Security.  is one of the most widely used and regarded network services  currently message contents are not secure may be inspected either.
1 Project Information and Acceptance Testing Integrating Your Code Final Code Submission Acceptance Testing Other Advice and Reminders.
Chapter 6 Electronic Mail Security MSc. NGUYEN CAO DAT Dr. TRAN VAN HOAI 1.
Types of Electronic Infection
Introduction1-1 Data Communications and Computer Networks Chapter 6 CS 3830 Lecture 31 Omar Meqdadi Department of Computer Science and Software Engineering.
1 Securing Data and Communication. 2 Module - Securing Data and Communication ♦ Overview Data and communication over public networks like Internet can.
Cryptography and Network Security (CS435) Part Twelve (Electronic Mail Security)
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
Chapter 15: Electronic Mail Security
Network Security7-1 CIS3360: Chapter 8: Cryptography Application of Public Cryptography Cliff Zou Spring 2012 TexPoint fonts used in EMF. Read the TexPoint.
Lecture 4 Page 1 CS 236 Stream and Block Ciphers Stream ciphers convert one symbol of plaintext immediately into one symbol of ciphertext Block ciphers.
Pretty Good Privacy (PGP) Security for Electronic .
NETWORK SECURITY.
Security PGP IT352 | Network Security |Najwa AlGhamdi 1.
Upper OSI Layers Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
Authentication Issues and Solutions CSCI 5857: Encoding and Encryption.
Security Using PGP - Prajakta Bahekar. Importance of Security is one of the most widely used network service on Computer Currently .
Network Security Continued. Digital Signature You want to sign a document. Three conditions. – 1. The receiver can verify the identity of the sender.
1 CA203 Presentation Application Reviewing and Sharing a Presentation Lecture # 11.
PGP & IP Security  Pretty Good Privacy – PGP Pretty Good Privacy  IP Security. IP Security.
Testing External Survey Automatic Credit Granting Shepherd University Department of Psychology.
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
Electronic Mail Security Prepared by Dr. Lamiaa Elshenawy
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Public / Private Key Example Dan Fleck CS 469: Security Engineering Coming up: Today 11.
CPS Computer Security Tutorial on Creating Certificates SSH Kerberos CPS 290Page 1.
DIGITAL SIGNATURE IMPLEMENTATION
Network Security. Three tools Hash Function Block Cipher Public Key / Private Key.
Lecture 4 Page 1 CS 236 Stream and Block Ciphers Stream ciphers convert one symbol of plaintext immediately into one symbol of ciphertext Block ciphers.
Security  is one of the most widely used and regarded network services  currently message contents are not secure may be inspected either.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Network Security: Lab#2 J. H. Wang Oct. 9, Objectives To learn to use message digests –MD5 To learn to use secure hash functions –SHA-1, SHA-2 To.
ECE Prof. John A. Copeland fax Office: GCATT Bldg.
By Marwan Al-Namari & Hafezah Ben Othman Author: William Stallings College of Computer Science at Al-Qunfudah Umm Al-Qura University, KSA, Makkah 1.
Security By Meenal Mandalia. What is ? stands for Electronic Mail. much the same as a letter, only that it is exchanged in a different.
2013Prof. Reuven Aviv, Mail Security1 Pretty Good Privacy (PGP) Prof. Reuven Aviv Dept. of Computer Science Tel Hai Academic College.
Lecture 8 (Chapter 18) Electronic Mail Security Prepared by Dr. Lamiaa M. Elshenawy 1.
Outline Desirable characteristics of ciphers Stream and block ciphers
Chapter 3 - Public-Key Cryptography & Authentication
Foundations of Network and Computer Security
Chapter 8 roadmap 8.1 What is network security?
Presentation transcript:

Foundations of Network and Computer Security J J ohn Black Lecture #15 Oct 19 th 2004 CSCI 6268/TLEN 5831, Fall 2004

Announcements Project #1 Due Today –Please hand in to me –Distance students may directly to Mazdak as usual Project #2 Assigned today No Office Hours This Week! –Traveling –Can still meet with me today or Friday by appt –Guest lecture on Thursday; you are responsible for its content No Class Tues, Nov 30th (if that affects your Thanksgiving plans) Return and discuss –Project #0 –Midterm This will take up most of the lecture today

But First, A Movie Network Security, a mainstream concern? –Cisco has run ads along these lines –Oracle, to a lesser extent “Unbreakable” –I thought this AT&T ad was really well-done –Disclaimer: I don’t really watch TV, so maybe I’m just out of it

Project #2: Secure System Our goal is to provide a secure system to each member of the class (including your grader). We are going to use both symmetric-key and public-key techniques in this project, thus tying together several of the concepts discussed in lecture. As usual, we’ll use OpenSSL as our toolkit, either via the command-line interface (easiest) or via system calls (you’ll need the OpenSSL book for this!) The program you write will have three main functions: 1. A mini-database utility to keep track of certs you have acquired from the web site 2. A method to send encrypted and signed 3. A method to verify and decrypt received

Format of the Message We’ll start by describing what a message will look like. Then we’ll back-fill the details about how to generate and digest messages in this format. Messages will look like this: -----BEGIN CSCI 6268 MESSAGE END CSCI 6268 MESSAGE-----

Message Format First -----BEGIN CSCI 6268 MESSAGE----- must appear exactly as shown; this is the indicator that the message begins immediately after this line. (This allows the message to be embedded in a bunch of other text without confusing the recipient’s parser.) The next line is the session password encrypted under the target’s public key. This password is a random string of 32 characters using A-Z, a-z, and 0-9 generated by the sender; the sender then encrypts his message with AES in CBC mode using this password. There is a blank line, followed by the AES-CBC encrypted message in base64 format. This is followed by another blank line. Next comes the signature of the sender which is generated using the sender’s private key. This signature will be the RSA sig of the SHA-1 hash of every line above from the first line after the BEGIN marker to the line just before the blank line ending the message. Finally, -----END CSCI 6268 MESSAGE----- concludes the encrypted message.

The Cert Database Your program should maintain a simple catalog of certs which you have collected from the web site. You may store them in whatever format you prefer (a flat file is the simplest, but if you prefer to use MySQL or something fancier, be my guest). A cert should always be verified using the CA’s public key before being inserted into the database. A cert should always be verified using the CA’s public key after being extracted from the database (to ensure someone hasn’t tampered with it while you weren’t watching). You need not store the person’s address in your database since this is embedded in the cert, but it might be easier to go ahead and store the addresses as an index field in the file. Of course, you must not rely on these index names as the validated addresses; always make sure the in the cert matches!

Sending Secure Mail Your program should accept a plain-text message along with a destination address and output an encrypted and signed message as we described a moment ago. Here is the algorithm: 1.Get the cert of the target from the database, using the address as the index; if the is not there, you must extract it from the web page. 2.Verify the signature on this cert for your target. 3.Generate a 32-character passphrase. Normally we would use a very strong random-number generator for this, but feel free to use random() or the rand function of OpenSSL if you like. 4.Encrypt the message with AES in CBC mode with the session key and a random IV (OpenSSL does this for you). Use base64 encoding, and save the output. 5.Encrypt the session password with the target’s public key. 6.Sign the stuff generated so far as described previously, using SHA-1 and your private key (you will need to type in your passphrase to do this). 7.Format and send.

Receiving Secure Mail This is how you will process incoming secure 1.Obtain sender’s address from mail header 2.Find sender’s cert in your database, or obtain from the class website. Verify sender’s cert is signed by CA; output sender name from the cert (not from the header!) 3.Verify signature on received message using SHA-1 and public key of sender. If invalid, reject the message. Else, continue. 4.Decrypt session key with your private key (you will need to type in your passphrase for this). 5.Use session key to decrypt message; print out resulting message.

Hints for Success You already know many of the OpenSSL commands you will need for this project; using the command-line interface is probably the easiest way to get this task done. You can call the command-line interface from C or C++, or you can write your whole system in Perl, Python, or sh. A text-based menu system is fine, but if you want to build a GUI, feel free. As long as Mazdak can get it to run! You can test your program by sending messages to yourself. Additionally, Mazdak will provide a test message to each of you that you can use for testing. The most useful advice I can give is this: don’t wait until the last minute to start this project! It’s more work than you think, and we have other things yet to come in the class.

Important Information Due Date: 11/18 in class What to hand in: –Complete source for your program in printed form (not on a disk or CD) –An example run of each of the main functions (list database, send msg, receive msg) –Runs on the test messages Mazdak sends to each of you, showing the outputs