140 likes | 294 Views
SECURE NOTEPAD. BY ANKUR DESHMUKH & P JAYA SUNDERAM. OVERVIEW. Why this project ? Overview of SSL Architecture Overview of JSSE Our application. WHY THIS PROJECT ?. Convenience for users. Learn about SSL (Secure Socket Layer) Explore JSSE (Java Secure Socket Extension)
E N D
SECURE NOTEPAD BYANKUR DESHMUKH & P JAYA SUNDERAM
OVERVIEW • Why this project ? • Overview of SSL • Architecture • Overview of JSSE • Our application
WHY THIS PROJECT ? • Convenience for users. • Learn about SSL (Secure Socket Layer) • Explore JSSE (Java Secure Socket Extension) • A big help to us. • Effort to make a contribution to open source
SSL – SECURE SOCKET LAYER • Introduced by Netscape in 1994 • Most widely used protocol for implementing cryptography on the web. • Used over TCP. • Why use SSL • Authenticate user • Protect data from attackers • SSL architecture
JSSE OVERVIEW • Implemented in 100% Pure Java • Provides API support for SSL versions 2.0 and 3.0, and an implementation of SSL version 3.0 • Includes classes that can be instantiated to create secure channels (SSLSocket, SSLServerSocket, and SSLEngine) • Support for various ciphers like RSA, DES, AES,DSA and others.
…Continued • Provides support for client and server authentication, which is part of the normal SSL handshaking • Provides support for HTTP encapsulated in the SSL protocol (HTTPS), which allows access to data such as web pages using HTTPS • It ships with JSDK 1.4.2
CODE SNIPPET • Client • // Create a non-blocking socket channel • SocketChannel socketChannel = SocketChannel.open(); • socketChannel.configureBlocking(false); • socketChannel.connect(new InetSocketAddress(hostname, port)); • // Do initial handshake • doHandshake(socketChannel, engine, myNetData, peerNetData); • myAppData.put("hello".getBytes()); • Server • int num = socketChannel.read(peerNetData); • if (num == -1) { // Handle closed channel } else if (num == 0) { // No bytes read; try again ... } else { // Process incoming data peerNetData.flip(); • res = engine.unwrap(peerNetData, peerAppData); • if (res.getStatus() == SSLEngineResult.Status.OK) { peerNetData.compact(); if (peerAppData.hasRemaining()) { // Use peerAppData } }
SECURE NOTEPAD • Written in java • Incorporated security using SSL • Emulates basic features of a notepad. • Edit • Formatting
BIBLIOGRAPHY • www.java.sun.com • www.openssl.org • Cryptography and Network Security: PRINCIPLIES AND PRACTICES, William Stallings