430 likes | 557 Views
Passwords – Single Sign-on Keyring. Group B125. Presentation. The goal of this project and presentation Presentation overhead: Problem analysis General security Design Implementation Demonstration Reflection Process Analysis. Problem analysis.
E N D
Passwords – Single Sign-on Keyring Group B125
Presentation • The goal of thisproject and presentation • Presentation overhead: • Problem analysis • General security • Design • Implementation • Demonstration • Reflection • Process Analysis
Introduction To Problem Analysis • Many different services requires many logins • Leads to poor passwords or forgetting passwords • Creating a secure single sign-on solution
Initiating Problem • The initiating problem of the project: • ”The single sign-on solutions availabletodayareinsecure and/or troublesome to use. There is a need for an easy to use, secure single sign-on solution.” - Section 1.2, Initiating Problem
Single Sign-on • Single Sign-on centralizes the login-procedure NemID- a single sign-on solution • Requires 3 items: • Personal ID • Password • Key from keycard
Passwords • Passwords • Easy to remember, hard to guess • Obvious passwords • Lots of tips and advice on creating good passwords
Stakeholders A stakeholder is: • A person with interest in the project • Examples of our stakeholders: • The buying company (e. g. Spar Nord) • The user of the login-system • Costumers of the buying company
The Buyer • Interested in: • - Easy maintenance and updating • - High usability • - High security • - High quality software
The User • Interested in: • - Easy to use • - Efficiency • - Security
Account and computer safety • Login credentials • A lot of options for hackers
ProtectionAgainst Hacking: • Keepingsoftware up-to-date • Encryption • Protection against SQL Injection
Client/Server Theory: 4 Layers: • Data capture • Business rule • Application interface • Application server
Internet Protocol Suite 4 Layers: • Link • Internet • Transport • Application
Secure Sockets Layer • Encryption • Handshake • Certificates
Virtual Local AreaNetwork • Local Area Networks • "Looks" like a LAN to the computers • Security by segmenting LAN networks
Design – Initial thoughts • Basic functionalityavailable to the user • Making the solution secure as possible • The administration shouldbe ”light” for system admins • Shouldbeable to handle anynumber of different services
Design – SecuringThe Solution • Company bestpracticeshelpsa lotto preventintrusion Whatwewant: • Encrypt passwords and hash keyswhenstored in database. • Encrypt data transmittedbetween the Server and Client application • Use a 3-way authentication system – with hardware as one of the authentication factors
Technical Requirements • Database integration for increasedflexibility and speed • Encryption/ decryptionfunctionality • SSL connectionbetweenclient and server • USB drive recognition • Websocketas maincommunicationtoolbetween 3rd party plugins
Server Documentation ListenForClients() • Runs on its own thread • Creates instance of TcpListener • Sets up asyncronouscallback • Listens while server is running • Uses manual reset
Server Documentation SQLDBQuery constructor • Prevents SQL injection • Same syntax as string.Format • Uses MySqlHelper
Client Documentation GetStream() • Creates SSL stream to server • Creates TcpClient • Closes insecure stream • Returns secure stream
Client Documentation RawToWebsocketClient() • Converts plaintext response to byte-array • Makes sure it's compliant with the websocket protocol
Client Documentation Locating websocket package • Stores incoming messages in byte-arrays • Searches for start and end bytes • Retrieves messages between start and end bytes
AKP Keyring Protocol Documentation Escape() • Escapes special characters used by our protocol • Checks each byte in a given array • Uses reference parameter
Demonstration Parts Chrome Client Overview: • The client application • The Chrome extension Task: • Log in to a service • Let the application store the credentials • Log out from the service • Log in again by using the application to retrieve the credentials.
Program flaws and lacking features • Program freezes on login • Solution: threading! • Database encryption • New feature: Change password from the client • New feature: Blacklisting save-password function on unwanted services • New feature: Password deletion on chosen pages (server part is alreadycompleted)
Future perspective Estimatedcost of developing the product: • 4/5 peopleworking on the program (estimatedduration, 6 months) • Office rental Expanding the product: • The program MUST maintainsimplicity • The program willlosesimplicity by expanding it further Scalability: • The program must bescalable to beuseful • Must be an important part of future planning
Conclusion • Because of licensingimplementing the software is the only form of income • All subquestions in the reportwereanswered • Succesfullydeveloped a program to store and retrieve password / username for any webservice
Description • Project Planning • Group Work • Group roles • The role of the secretary at meetings rotates • Project leader: Christoffer • Lead programmer: Jeppe • Weekly Schedule • Work hours: 09:00 - 16:00, although exceptions are allowed if people work extra • Break: Lunch at 12:00, approximately 45 minutes • Deadline for worksheets: Monday • Proof-reading every Friday at scheduled meeting • Cooperation with Supervisors
Evaluation • Project Planning • Group Work • Cooperation with Supervisors
Analysis • Project Planning • Group Work • Cooperation with Supervisors
Synthesis • Work for the next project • Things to keep for the next project