33
Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09

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

  • View
    218

  • Download
    1

Embed Size (px)

Citation preview

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

Real-Time Authentication Using Digital Signature Schema

Marissa HollingsworthBOISECRYPT ‘09

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

Overview

Introduction

Methodology

Protocol and Implementation

Demonstration

Conclusion

Future Work

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

INTRODUCTION

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

Project OverviewRSA 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

algorithmsData Transfer

◦Server encrypts and client decrypts using RSA algorithms

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

MotivationHigh demand for secure data

transactions over networksOnline banking, email, instant

messaging, online shopping, etc.Constant improvements in

security is required as internet traffic increases

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

Application ObjectivesSecureReliableUser-FriendlyRobust

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

METHODOLOGY

Client-Server Architecture and RSA Cryptosystem

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

Client-Server ProgrammingComputer programs that

communicate with each other over a network

Two Programs◦Server - Program to wait for initiation

of communication◦Client – Program to initiate the

communicationProtocol

◦Controls communication between programs

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

Client – Server Roles

Server Client 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

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

Client-Server CommunicationCommunication 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.

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

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

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

Brief overview of RSACryptosystem 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

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

RSA Signature SchemaSimilar to RSA encryptionUse a different key to sign and

send messagesSender signs message with

private key

Receiver verifies signature with public key of sender

Mari

s

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

IMPLEMENTATION( Java )

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

RSAKey ClassPublicKey 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

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

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

ServerMulti-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

Page 18: Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09
Page 19: Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09

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

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

ClientConnects to server and waits for

data

Only needs to handle a few commands from server◦START UNAME LOADKEY◦KEY FILE SIGN ◦YorN INPUT PRINT

Stores RSAKeys assigned by server for authentication and decryption of packets

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

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

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

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.

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

Sending file to client…

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

Client receiving file…

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

Protocol variables

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

DEMONSTRATIONThe fun part!

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

CONCLUSION

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

SuccessesSuccessfully 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

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

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 unluckyEl-Gamal signature schema

◦Socket programming was a little harder than I had anticipated

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

Protocol implementation◦Difficult to synchronize between

client and server◦Approximately 5 different designs

while developing

Learning to use BigInteger class for RSA implementation

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

FUTURE WORK

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

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

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

QUESTIONS??