Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09.

Slides:



Advertisements
Similar presentations
Grid Computing, B. Wilkinson, 20045a.1 Security Continued.
Advertisements

SSL Protocol By Oana Dini. Overview Introduction to SSL SSL Architecture SSL Limitations.
VOYAGER: Yet Another Secure Web Browser to Demonstrate Secure Socket Layer Working and Implementation By : Shrinivas G. Deshpande Advisor: Dr. Chung E.
CSE 461 Section. “Transport Layer Security” protocol Standard protocol for encrypting Internet traffic Previously known as SSL (Secure Sockets Layer),
Module 5: Configuring Access for Remote Clients and Networks.
Implementation of a Two-way Authentication Protocol Using Shared Key with Hash CS265 Sec. 2 David Wang.
Mar 19, 2002Mårten Trolin1 This lecture On the assignment Certificates and key management SSL/TLS –Introduction –Phases –Commands.
Encryption and Firewalls Chapter 7. Learning Objectives Understand the role encryption plays in firewall architecture Know how digital certificates work.
Page # Advanced Telecommunications/Information Distribution Research Program (ATIRP) Authentication Scheme for Distributed, Ubiquitous, Real-Time Protocols.
WAP Public Key Infrastructure CSCI – Independent Study Fall 2002 Jaleel Syed Presentation No 5.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Wireless Security In wireless networks. Security and Assurance - Goals Integrity Modified only in acceptable ways Modified only by authorized people Modified.
1 Java Networking – Part I CS , Spring 2008/9.
SSH : The Secure Shell By Rachana Maheswari CS265 Spring 2003.
Security Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to: –Describe the reasons for having system.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved L22 (Chapter 25) Networking.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
Fundamentals of Python: From First Programs Through Data Structures
SSH Secure Login Connections over the Internet
INTRODUCTION TO WEB DATABASE PROGRAMMING
Chapter 14 Encryption: A Matter Of Trust. Awad –Electronic Commerce 2/e © 2004 Pearson Prentice Hall 2 OBJECTIVES What is Encryption? Basic Cryptographic.
University of Pittsburgh Computer Science 1 Week 5: Introduction Last week we discussedLast week we discussed èDifference between executing sequentially.
DEMIGUISE STORAGE An Anonymous File Storage System VIJAY KUMAR RAVI PRAGATHI SEGIREDDY COMP 512.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Secure Socket Layer (SSL)
E-Commerce Security Technologies : Theft of credit card numbers Denial of service attacks (System not availability ) Consumer privacy (Confidentiality.
Network Security. Security Threats 8Intercept 8Interrupt 8Modification 8Fabrication.
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
What makes a network good? Ch 2.1: Principles of Network Apps 2: Application Layer1.
1 CSC111H Client-Server: An Introduction Dennis Burford
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
E-commerce What are the relationships among: – Client (i.e. you) – Server – Bank – Certification authority Other things to consider: – How to set up your.
E-Commerce Security Professor: Morteza Anvari Student: Xiaoli Li Student ID: March 10, 2001.
Authentication Key HMAC(MK, “auth”) Server Encryption Key HMAC(MK, “server_enc”) User Password Master Key (MK) Client Encryption Key HMAC(MK, “client_enc”)
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
Sockets process sends/receives messages to/from its socket
Copyright © Curt Hill, Client – Server Computing An important paradigm.
Digital Envelopes, Secure Socket Layer and Digital Certificates By: Anthony and James.
1 Securing Data and Communication. 2 Module - Securing Data and Communication ♦ Overview Data and communication over public networks like Internet can.
1. I NTRODUCTION TO N ETWORKS Network programming is surprisingly easy in Java ◦ Most of the classes relevant to network programming are in the java.net.
1 Welcome to CSC 301 Web Programming Charles Frank.
Internet Security. 2 PGP is a security technology which allows us to send that is authenticated and/or encrypted. Authentication confirms the identity.
1 Chapter 28 Networking. 2 Objectives F To comprehend socket-based communication in Java (§28.2). F To understand client/server computing (§28.2). F To.
Middleware for Secure Environments Presented by Kemal Altıntaş Hümeyra Topcu-Altıntaş Osman Şen.
Public Key Encryption.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
Socket Programming.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Secure Messenger Protocol using AES (Rijndael) Sang won, Lee
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
Protocols Monil Adhikari. Agenda Introduction Port Numbers Non Secure Protocols FTP HTTP Telnet POP3, SMTP Secure Protocols HTTPS.
SSL(HandShake) Protocol By J.STEPHY GRAFF IIM.SC(C.S)
Implementing Secure IRC App with Elgamal By Hyungki Choi ID : Date :
9.2 SECURE CHANNELS JEJI RAMCHAND VEDULLAPALLI. Content Introduction Authentication Message Integrity and Confidentiality Secure Group Communications.
SECURE SHELL MONIKA GUPTA COT OUTLINE What is SSH ? What is SSH ? History History Functions of Secure Shell ? Functions of Secure Shell ? Elements.
1 SUBMITTED BY- PATEL KUMAR C.S.E(8 th - sem). SUBMITTED TO- Mr. DESHRAJ AHIRWAR.
Encryption and Security Tools for IA Management Nick Hornick COSC 481 Spring 2007.
1 Example security systems n Kerberos n Secure shell.
Network Programming. These days almost all devices.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
e-Health Platform End 2 End encryption
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Unit 8 Network Security.
Electronic Payment Security Technologies
Network programming Lecture 1 Prepared by: Dr. Osama Mokhtar.
Presentation transcript:

Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09

Overview Introduction Methodology Protocol and Implementation Demonstration Conclusion Future Work

INTRODUCTION

Project Overview RSA Secure File Transfer Server ◦ Verifies user and sends files across network RSA Client ◦ Connects to server and requests files Authentication ◦ Server authenticates client using RSA algorithms Data Transfer ◦ Server encrypts and client decrypts using RSA algorithms

Motivation High demand for secure data transactions over networks Online banking, , instant messaging, online shopping, etc. Constant improvements in security is required as internet traffic increases

Application Objectives Secure Reliable User-Friendly Robust

METHODOLOGY Client-Server Architecture and RSA Cryptosystem

Client-Server Programming Computer programs that communicate with each other over a network Two Programs ◦ Server - Program to wait for initiation of communication ◦ Client – Program to initiate the communication Protocol ◦ Controls communication between programs

Client – Server Roles ServerClient Provides some service to client Establishes connection Usually up all the time Stores information about client Has access to databases and other data Uses service provided by server Displays and receives results sent from server Responds to prompts from server

Client-Server Communication Communication Channel ◦ Socket  End-point of a two-way communication link between two programs running on a network Communication Language ◦ Protocol  Set of rules used to “talk” between client and server  Ex: To speak in class we raise hand. Teacher calls on us and tells us it is ok to talk.

RSA PROTOCOL So what does the RSA cryptosystem have to do with all this??

Brief overview of RSA Cryptosystem for encrypting and decrypting messages (or packets) Sender must have public key of receiver Receiver must have private key to unlock the message ONLY the receiver should know the private key

RSA Signature Schema Similar to RSA encryption Use a different key to sign and send messages Sender signs message with private key Receiver verifies signature with public key of sender Maris

IMPLEMENTATION ( Java )

RSAKey Class PublicKey and PrivateKey are inner classes – not globally accessible Separate classes so only Public Key can be sent over network RSAKey constructor generates a new RSA key according to the RSA key generation algorithm Serializable = can be saved and sent as object

… …

Server Multi-threaded so that multiple clients can connect Opens a socket on specified port and waits for client to connect While running, stores a list of clients and their public keys in a HashMap so they can sign back on

Connects to client’s Object Output Stream to send data through socket

Client Connects to server and waits for data Only needs to handle a few commands from server ◦ STARTUNAMELOADKEY ◦ KEYFILESIGN ◦ YorNINPUTPRINT Stores RSAKeys assigned by server for authentication and decryption of packets

Can load key from file stored on local machine to connect and decrypt Received data is stored in a file with the client’s username

Protocol: Client-Server Communication Most important (and difficult) aspect of socket programming Before sending objects across network, server must tell the client what to expect Example: ◦ To send a file to the client, server must perform the following actions. Client must act based on protocol.

Sending file to client…

Client receiving file…

Protocol variables

DEMONSTRATION The fun part!

CONCLUSION

Successes Successfully implemented RSA encryption and signature algorithms Able to send encrypted files across a network Able to decrypt and the files on the client side Cannot decrypt without the private key… ◦ i.e. secure Learned a lot about socket programming

Challenges (and failures  ) Sending objects across the sockets ◦ Frustrating at times, but satisfying when worked Keeping private keys private ◦ Key storage (should we ever store them?) ◦ Key generation could be vulnerable to attacks if unlucky El-Gamal signature schema ◦ Socket programming was a little harder than I had anticipated

Protocol implementation ◦ Difficult to synchronize between client and server ◦ Approximately 5 different designs while developing Learning to use BigInteger class for RSA implementation

FUTURE WORK

Multi-Client communication ◦ Ability to sign/encrypt messages and send them over the server to another client Transfer more than just text files Implement more encryption and signature schema Graphical User Interface would be nice

QUESTIONS??