Java Security Session 19. Java Security / 2 of 23 Objectives Discuss Java cryptography Explain the Java Security Model Discuss each of the components.

Slides:



Advertisements
Similar presentations
Public Key Infrastructure and Applications
Advertisements

© 2003 School of Computing, University of Leeds SY32 Secure Computing, Lecture 16 Secure Coding in Java and.NET Part 1: Fundamentals.
Mobile Code Security Yurii Kuzmin. What is Mobile Code? Term used to describe general-purpose executables that run in remote locations. Web browsers come.
Public Key Infrastructure A Quick Look Inside PKI Technology Investigation Center 3/27/2002.
Java Applet Security Diana Dong CS 265 Spring 2004.
Applet Security Gunjan Vohra. What is Applet Security? One of the most important features of Java is its security model. It allows untrusted code, such.
Java Security. Overview Hermetically Sealed vs. Networked Executable Content (Web Pages & ) Java Security on the Browser Java Security in the Enterprise.
Mobile Code Security Aviel D. Rubin, Daniel E. Geer, Jr. MOBILE CODE SECURITY, IEEE Internet Computing, 1998 Minkyu Lee
Csci5233 Computer Security1 GS: Chapter 6 Using Java Cryptography for Authentication (Part B)
Public Key Infrastructure (PKI) Providing secure communications and authentication over an open network.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
16.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft® Windows® Server 2003 Active Directory Infrastructure.
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
Java Security Model Lab#1 I. Omaima Al-Matrafi. Safety features built into the JVM Type-safe reference casting Structured memory access (no pointer arithmetic)
LAB#2 JAVA SECURITY OVERVIEW Prepared by: I.Raniah Alghamdi.
Introduction to PKI Seminar What is PKI? Robert Brentrup July 13, 2004.
1 Lecture 4 George Koutsogiannakis/Summer 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES.
Administrivia Final exam: Wed, May 12, 3:00-5:00, in this room Q&A on it today Playoffs: Fri, May 14, noon-2:00, FEC 141 Post-class survey (anonymous)
Presented by Xiaoping Yu Cryptography and PKI Cosc 513 Operating System Presentation Presented to Dr. Mort Anvari.
Using Internet Information Server And Microsoft ® Internet Explorer To Implement Security On The Intranet HTTP.
Security on the Internet Jan Damsgaard Dept. of Informatics Copenhagen Business School
Overview of Digital Signatures Introduction To Networks and Communications (CS 555) Presented by Bharath Kongara.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
INTRODUCTION Why Signatures? A uthenticates who created a document Adds formality and finality In many cases, required by law or rule Digital Signatures.
Page 1 Sandboxing & Signed Software Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Java Security Updated May Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security.
Secure Systems Research Group - FAU Patterns for Digital Signature using hashing Presented by Keiko Hashizume.
SSL Technology Overview and Troubleshooting Tips.
JSSE API University of Palestine Eng. Wisam Zaqoot April 2010.
1 Lecture 5 George Koutsogiannakis/ Summer 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES.
CS 255 – Cryptography & Computer Security Programming Project 2 – Winter 04 Priyank Patel
CSCI 6962: Server-side Design and Programming
X.509 Certificate management in.Net By, Vishnu Kamisetty
Csci5233 Computer Security1 GS: Chapter 6 Using Java Cryptography for Authentication.
Java Security. Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security Manager.
Networks and Security. Types of Attacks/Security Issues  Malware  Viruses  Worms  Trojan Horse  Rootkit  Phishing  Spyware  Denial of Service.
Public-key Cryptography Strengths and Weaknesses Matt Blumenthal.
Masud Hasan Secue VS Hushmail Project 2.
© GlobalSign. A GMO Internet Inc group company. Authentication. Security. Trust. Code Signing Distributing trustworthy software over the Internet.
Security in Java Sunesh Kumra S
Security Keys, Signatures, Encryption. Slides by Jyrki Nummenmaa ‘
E-Commerce Security Technologies : Theft of credit card numbers Denial of service attacks (System not availability ) Consumer privacy (Confidentiality.
Java Security Pingping Ma Nov 2 nd, Overview Platform Security Cryptography Authentication and Access Control Public Key Infrastructure (PKI)
Cryptography, Authentication and Digital Signatures
Unit 1: Protection and Security for Grid Computing Part 2
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
Java Security Nathan Moore CS 665. Overview Survey of Java Inherent Security Properties Java Runtime Environment Java Virtual Machine Java Security Model.
Java 2 security model Valentina Casola. Components of Java the development environment –development lifecycle –Java language features –class files and.
Chapter 21 Distributed System Security Copyright © 2008.
Cryptography and Network Security (CS435) Part Twelve (Electronic Mail Security)
JAVA SECURITY BASIC NETWORKING MULTITHREATING Deniz HASTORUN
DIGITAL SIGNATURE. GOOD OLD DAYS VS. NOW GOOD OLD DAYS FILE WHATEVER YOU WANT – PUT ‘NA’ OR ‘-’ OR SCRATCH OUT FILE BACK DATED, FILE BLANK FORMS, FILE.
Csci5931 Web Security1 Java Security Model (GS: Ch. 7)
DIGITAL SIGNATURE.
1 Session 3 Module 4: Java Security Module 5: Cryptography.
Creating and Managing Digital Certificates Chapter Eleven.
1 Thuy, Le Huu | Pentalog VN Web Services Security.
1 Session 4 Module 6: Digital signatures. Digital Signatures / Session4 / 2 of 18 Module 4, 5 - Review (1)  Java 2 security model provides a consistent.
Java – in context Main Features From Sun Microsystems ‘White Paper’
4.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 12: Implementing Security.
LAB#8 PKI & DIGITAL CERTIFICATE CPIT 425. Public Key Infrastructure PKI 2  Public key infrastructure is the term used to describe the laws, policies,
Active X and Signed Applets Chad Bollard. Overview ActiveX  Security Features  Hidden Problems Signed Applets  Security Features  Security Problems.
Key management issues in PGP
5/7/2018 Java Security and a Firewall Extension for Authenticity Control of Java Applets.
Cryptography and Network Security
Topic: Java Security Models
NAAS 2.0 Features and Enhancements
Security.
Presentation transcript:

Java Security Session 19

Java Security / 2 of 23 Objectives Discuss Java cryptography Explain the Java Security Model Discuss each of the components that comprise the JSM Describe the security tools available as part of the Java platform

Java Security / 3 of 23 Introduction Security on the Internet is a big issue today Corruption of data Denial of access to services Attacks that simply annoy users Security model in Java2 has been enhanced to enable digitally signed applets to be run on the web Security of precious goods is only as good as the defense mechanism employed to guard it

Java Security / 4 of 23 Java2 security model Byte code verifier Class Loader Security Manager

Java Security / 5 of 23 Byte Code Verifier This verifies: Byte code represent legal JVM operations Possibilities of stack overflow or underflow Byte code does not compromise the type safety of operands Class methods observe all access specifiers such as public, private, etc. Examines the byte codes of a class before executing it

Java Security / 6 of 23 Class Loader The functions of a Class Loader include: Preventing conflict between any running programs that may have identical class names Ensures that users do not load system classes Byte code in this stage is assumed to be valid Applet Security Manager Checks Applets

Java Security / 7 of 23 Java Security Manager (JSM) Applets have to be downloaded and hence can cause potential attacks Applets can only manipulate data within a specified area (sandbox) of the hard disk Security Manager provides a sandbox as well as allows one to create a sandbox JSM also controls access to important resources, operations and access to files Standalone applications are trusted by default

Java Security / 8 of 23 Java Security Model Applications (Trusted by default) Applets (Untrusted by default) System and Network Resources Access Denied Applications (Trusted by default) Unsigned Applets (Untrusted by default) System and Network Resources Access Denied Signed Applets (Trusted) JDK 1.0 JDK 1.1

Java Security / 9 of 23 java.policy file Security policy file is located at JAVA_HOME\lib\security\java.policy where JAVA_HOME indicates location of JDK It is possible to specify a security policy that determines the access type an application or an applet is allowed

Java Security / 10 of 23 Safe environment in JSM Java Code Java Compiler Class Files (byte code) Byte code verifier Class Loader Java Interpreter Security Manager (if present) Executed program Transmission over Network or local file system

Java Security / 11 of 23 JDK security tools Authentication is an important and vital issue A digital signature solves two vital security concerns Authentication Integrity Sun offers three tools to digitally sign applets -jar, jarsigner and keytool A system on the Internet should lookout for components that lay the system open to intruders

Java Security / 12 of 23 The keytool utility (1) In private cryptography, a process takes a piece of data and uses a special key such as password to produce an encrypted password Only with the help of the key, one can decrypt the original message Data Encryption Standard is a widely used cryptographic system Used to create and manage public keys, private keys and security certificates

Java Security / 13 of 23 The keytool utility (2) Two keys that are mathematically related are created One for encryption and the other for decryption Used for: Managing public/private key pairs Storing public keys of people and groups Authentication of ones identity Verifying the source and integrity of data Public key cryptography is based on mathematical algorithms

Java Security / 14 of 23 The keytool utility (3) One can check the existence of keystore by: keytool –list keytool –list –keystore C:\myfolder\mystore -genkey option of keytool creates a public/private key pair keytool –genkey –alias aliasname While adding a key to a new keystore, a password has to be given Information managed by keytool is stored in a database called keystore

Java Security / 15 of 23 Creating a key pair (1) Example: Alias: aptechkey Organizational unit: Software Dev Organization: Gates Corp. City: Palo Alto, CA. State: CA (for California) County code:CA Key password: aptECH2k01 keytool utility asks a number of questions when we create a new key pair

Java Security / 16 of 23 Creating a key pair (2) The command –keytool –list –v –alias aptechkey give the following output:

Java Security / 17 of 23 Working with certificates (1) Indicates that the public key of a person has important value Digital certificates associate an identity with a public key Identity is called subject Authority that signs is called signer Statement signed by an authority

Java Security / 18 of 23 Working with certificates (2) Certificates follow the X.509 standard When we create a new public/private keypair, a self-signed certificate signed by the same entity that created the key pair is obtained keytool –alias aptechkey –certreq –file aptechreq.txt keytool utility can display, import and export certificates in addition to key pairs

Java Security / 19 of 23 jar tool and jarsigner tool jarsigner then digitally signs a java archive jarsigner MyApplet.jar aptechkey The key must have gone through a verification process before use Before java program can be digitally signed, it must be packaged into an archive form consisting of all class files and other files with the help of jar tool

Java Security / 20 of 23 Java Cryptography It also provides passwords to secure access Java.security file should include the following line: policy.url.2=file:${user.home}/.java.policy Java Cryptography classes enable us to encrypt and decrypt programs

Java Security / 21 of 23 Example (1)

Java Security / 22 of 23 Example (2)

Java Security / 23 of 23 Output