jcardsim Java Card is simple!
|
|
- Matthew Gilbert
- 8 years ago
- Views:
Transcription
1 JavaOne Moscow, 2013 jcardsim Java Card is simple! Mikhail Dudarev, CTO of jcardsim.org
2 Brief history of Java Card Basics standards How is that works? Developer Tools Writing our first real life Java Card application NFC and Java Card jcardsim: real story of real open source project Agenda
3 Birth of Java Card Sun Microsystems announces Java Card API MOUNTAIN VIEW, Calif.--(BUSINESS WIRE)--Oct. 29, 1996-Sun Microsystems, Inc. today announced completion of the Java(TM) Card application programming interface (API) specification. The Java Card specification will bring the power of Java to hundreds of millions of smart cards worldwide. Quotes by Gemplus, IBM, Integrity Arts, OKI Electric Industry Co., NTT, Philips, Schlumberger, Texas Instruments, Toshiba, Visa International
4 First steps February 2, 1997, the first Java card was received from the factory June, 2005 Sun Microsystems, Inc. announces that 1 billion Java Card cards have been sold.
5 Standardization 12 February, 1997 Leading Smart Card Manufacturers Announce Formation of Java Card Forum - Industry initiative endorsed by Sun, creator of the Java Card API standard 20 October, 1997 Public review on version 2.0 of the Java Card specification March, 1999 Java Card version 2.1 announced. There are three specifications: Java Card API, Java Card Runtime Environment, Java Card Virtual Machine May, 2006 Java Card version announced. Adds contactless capabilities and biometry support for smart card chip manufacturers
6 New Age March, 2008 Java Card version 3.0 announced. Classic and Connected Editions. Classic Edition is an evolution of the Java Card Connected Edition is a revolution technology for high-end smart cards Today More than 10 billion Java technology based smart cards have been deployed NFC wallets requires Java Card Secure M2M Solutions
7 ISO 7816 ISO Java Card Specification Global Platform Basic Standards
8 ISO 7816 standards Physical characteristics Dimension and locations of contacts Electrical interface and transmission protocols (T0/T1) Organization, security and commands for interchange ISO standards (Contactless) Physical characteristics Radio frequency power and signal interface Initialization and anticollision Transmission protocol
9 Must know facts about smartcards and ISO-standards Smartcard small secure computer on chip CPU Crypto Processor ROM EEPROM FLASH Smart card requires terminal (contact/contactless). It provides supply and clock. Communication protocol is command-response based. Client Application Command APDU Response APDU Card Application
10 APDU Structure (1/2) Command APDU Field Length Description CLA 1 Class of instruction INS 1 Instruction code P1 1 Instruction parameter 1 P2 1 Instruction parameter 2 Lc 1 or 3 Number of bytes present in the data field of the command Data Lc String of bytes sent in the data field of the command Le 1 or 3 Maximum number of bytes expected in the data field of the response to the command
11 APDU Structure (2/2) Response APDU Field Length Description Data Lr String of bytes received in the data field of the response SW1 1 Command processing status SW2 1 Command processing qualifier The favorite response code is 0x9000 SW_NO_ERROR
12 Java Card Classic Architecture Card Management Security Policy/ Global Platform API Applet 1 Applet 2 Issuer/Vertical Market Defined API Java CardTM Runtime Environment Java CardTM API Java CardTM Virtual Machine Native Operation System
13 Native Operation System File System Operations Crypto Algorithms Data integrity Memory/Transactions management Hardware Interfaces Access Controller
14 Java Card Classic Virtual Machine (version 3.0.4) 1/3 Split VM Architecture Off-card Class loading, linking and name resolution Bytecode verification, optimization and conversion On-card Bytecode execution and security enforcement JCVM Class files Converter Cap file Interpreter Computer Card
15 Java Card Classic Virtual Machine (version 3.0.4) 2/3 Unsupported Features Dynamic Class Loading Security Manager Finalization Threads Cloning Access Control in Java Packages Typesafe Enums Enhanced for Loop Varargs Runtime Visible Metadata (Annotations) Assertions Unsupported Types The Java Card platform does not support types char, double, float and long. It also does not support arrays of more than one dimension.
16 Java Card Classic Virtual Machine (version 3.0.4) 3/3 Supported Features Packages Dynamic Object Creation Virtual Methods Interfaces Exceptions Generics Static Import Runtime Invisible Metadata (Annotations) Runtime Visible Metadata (Annotations) Assertions GC (optional) Supported Types Java programming language types boolean, byte, short are supported. Objects (class instances and single-dimensional arrays) are also supported. The int keyword and 32-bit integer data support is optional.
17 Java Card Runtime Environment (version 3.0.4) Card resource management Communications Applet execution Applet security (firewall) Firewall Provides isolation between applications Operates dynamically at run-time Isolation is at the package level Applets can explicitly share objects (javacard.framework.shareable)
18 Java Card API (version 3.0.4) java.io java.lang java.rmi javacard.framework javacard.security javacardx.annotations javacardx.apdu javacardx.biometry javacardx.crypto javacardx.external javacardx.framework.math javacardx.framework.string javacardx.framework.tlv javacardx.framework.util javacardx.framework.util.intx
19 Global Platform Global Platform Card Specification is a secure, dynamic card and application management specification Security Domains Secure channels Application Management Card Management
20 Application Model Development Workflow How is that works?
21 Application Model Java Card Application is always a subclass of the javacard.framework.applet class Each applet has unique id - AID Only one active applet at a time Several applet can be selected at the time but can not work in parallel Applet class provides the following entry points: install(..) register(..) deselect(..) select(..) selectingapplet(..) process(..) getshareableinterfaceobject(..)
22 Development Workflow Java Compiler Source Java VM Class files Java Card Converter CAP file JCWDE jcardsim Java Card C-JCRE Simulator
23 Java Card Development Kit GPShell JCOP Tools from NXP (IBM) jcardsim Developer Tools
24 jcardsim (1/3) jcardsim is an open source simulator implements Java Card, v javacard.framework javacard.security javacardx.crypto Java Card TM Runtime Environment Implementation Java Card TM API Implementaion Java Virtual Machine
25 jcardsim (2/3) Key Features Rapid application prototyping Ease of writing Unit-tests Emulation of Java Card Terminal, ability to use javax.smartcardio APDU scripting (scripts are compatible with apdutool from Java Card Development Kit) Ease of verification tests creation
26 jcardsim (3/3) What is the difference from JCWDE? Implementation of javacard.security One of the main differences is the implementation of javacard.security: current version is analogous with NXP JCOP 31/36k card. For example, in jcardsim we have support an on-card KeyPair.ALG_EC_F2M/ALG_RSA_CRT-key generation Simulator API jcardsim has simple and usable API, which allows you to work with simulator like with real Java Card using javax.smartcardio Cross-platform jcardsim completely written in Java and can therefore be used at all platforms which supports Java (Windows, Linux, MacOS, etc)
27 PetID epassport for home pets Concepts Architecture Implementation Notes Protocol Demo Writing our first real life Java Card application
28 PetID epassport for home pets Nowadays, one of the main applications of Java Card is electronic identity cards (i.e. epassport) Are pets worse than men? Lets create Java Card application epassport for Pets
29 Concepts The application must provide the ability to store, receive and transmit information about a pet. Must provide protection against modification of the data from a malicious person. Information to be stored in epassport: Pet s name Date of birth Sex Breed
30 Architecture Client Application JavaFX application with the following functionality: epassport application initialization Store pet s information Read pet s information Java Card Application Supported Commands Personalize Store Pet Info Read Pet Info
31 Implementation Notes Way to interact with the Java Card javax.smartcardio Version of Java Card API Protection against modification (digital signature) Elliptic curve cryptography Issuer Public Key stored in Personalize phase Store commands data is signed
32 Protocol (1/4) PERSONALIZE Field Value CLA AA INS 0 P1 0 P2 0 Lc Issuer public key length Data Issuer public key
33 Protocol (2/4) STORE_PET_INFO Field Value CLA AA INS 1 P1 0 P2 0 Lc Pet info data length Data Pet info data
34 Protocol (3/4) PET_INFO DATA (TLV-encoded) Tag Value 01 Pet name 02 Date of birth 03 Breed 04 Sex 05 Signature
35 Protocol (4/4) LOAD_PET_INFO Field Value CLA AA INS 2 P1 0 P2 0
36 CODING
37 Source Applet (1/2) public class PetIDApplet extends Applet { private private private private private private final static byte BASE_CLA = (byte) 0xAA; final static byte PERSONALIZE_INS = 0x00; final static byte STORE_PET_INFO_INS = 0x01; final static byte LOAD_PET_INFO_INS = 0x02; ECPublicKey issuerpublickey; byte[] petinfodata; public PetIDApplet () { petinfodata= new byte[4086]; register(); } public static void install(byte[] barray, short boffset, byte blength) throws ISOException { new PetIDApplet (); }
38 Source Applet (2/2) public void process(apdu apdu) throws ISOException { if (selectingapplet()) return; byte[] buffer = apdu.getbuffer(); if (buffer[iso7816.offset_cla]!= BASE_CLA) { ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED); } byte ins = buffer[iso7816.offset_ins]; switch (ins) { case PERSONALIZE_INS: personalize(apdu); break; case STORE_PET_INFO_INS: storepetinfo(apdu); break; case LOAD_PET_INFO_INS: loadpetinfo(apdu); break; default: ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED); } }
39 Source PetInfo public class PetInfo { // tlv types private final static byte NAME_TAG = 1; private final static byte BIRTH_TAG = 2; private final static byte BREED_TAG = 3; private final static byte SEX_TAG = 4; private final static byte SIGNATURE_TAG = 5; // private String name; private boolean sex; private String breed; private Calendar dateofbirth; }
40 Source Unit-test (1/3) System.setProperty("com.licel.jcardsim.smartcardio.applet.0.AID", TEST_APPLET_AID); System.setProperty("com.licel.jcardsim.smartcardio.applet.0.Class", samples.petidapplet"); if (Security.getProvider("jCardSim") == null) { JCardSimProvider provider = new JCardSimProvider(); Security.addProvider(provider); } TerminalFactory tf = TerminalFactory.getInstance("jCardSim", null); CardTerminals ct = tf.terminals(); List<CardTerminal> list = ct.list(); CardTerminal jcsterminal = null; for (int i = 0; i < list.size(); i++) { if (list.get(i).getname().equals("jcardsim.terminal")) { jcsterminal = list.get(i); break; } }
41 Source Unit-test (2/3) // create applet data = aid len (byte), aid bytes, params lenth (byte), param byte[] aidbytes = Hex.decode(TEST_APPLET_AID); CommandAPDU createapplet = new CommandAPDU(0x80, 0xb8, 0, 0); ResponseAPDU response = jcschannel.transmit(createapplet); assertequals(response.getsw(), 0x9000); assertequals(true, Arrays.equals(response.getData(), aidbytes)); // select applet CommandAPDU selectapplet = new CommandAPDU(ISO7816.CLA_ISO7816, ISO7816.INS_SELECT, 0, 0, Hex.decode(TEST_APPLET_AID)); response = jcschannel.transmit(selectapplet); assertequals(response.getsw(), 0x9000); // create issuer keys & PERSONALIZE KeyPairGenerator kpg = KeyPairGenerator.getInstance("EC", "BC"); ECGenParameterSpec ecsp = new ECGenParameterSpec( sect113r1 ); kpg.initialize(ecsp); KeyPair kp = kpg.generatekeypair(); CommandAPDU personalizeapplet = new CommandAPDU(0xAA,0, 0, 0, kp.getpublic().getencoded()); response = jcschannel.transmit(personalizeapplet); assertequals(response.getsw(), 0x9000);
42 Source Unit-test (3/3) // store pet info PetInfo pet = new PetInfo( Leon, Cat, male, ); CommandAPDU storepetinfo = new CommandAPDU(0xAA, 1, 0, 0, pet.getencoded(kp.getprivate())); response = jcschannel.transmit(storepetinfo); assertequals(response.getsw(), 0x9000); // load pet info CommandAPDU loadpetinfo = new CommandAPDU(0xAA, 2, 0, 0); response = jcschannel.transmit(loadpetinfo); assertequals(response.getsw(), 0x9000); PetInfo test = new PetInfo(response.getData()); assertequals(pet, test);
43 DEMO
44 NFC Brief Overview Secure Element NFC and Java Card
45 NFC NFC - A new radio communication interface for mobile phones Range 2 4 cm MHz Approx. 100 million devices shipped in 2012 Modes Tag read/write P2P Card emulation ( secure NFC )
46 Secure NFC Secure Element NFC API Phone OS Application NFC Controller SE Java Card NFC Antenna
47 The initial project team consisted of three developers First public release has been announced in December 2011 In June 2012 the official site, jcardsim.org, has been started and available in following languages: English, Russian, Spanish Main audience of the project is students which are learning Java Card and professional Java Card developers jcardsim Facts
48 2Q 2013 Shareable Interface Support Service Framework Support Multiple Logical Channels 3Q 2013 Application Firewall Support Basic Global Platform functionality jcardsim RoadMap
49 THANKS! WWW: jcardsim.org
Java Card TM Open Platform for Smart Cards
Java Card TM Open Platform for Smart Cards Wolfgang Effing Giesecke & Devrient GmbH C:\Presentations - JavaCard_OpenPlatform.ppt - ef - 29.04.04 - page 1 What happened in the past? Every company created
JavaCard. Java Card - old vs new
JavaCard 1 Old Smart Cards: One program (applet) Written in machine-code, specific to chip Burned into ROM Java Card - old vs new old vs new smartcards New Smart Cards: Applet written in high-level language
Smart Card Application Development Using the Java Card Technology
Smart Card Application Development Using the Java Card Technology Milan Fort RWTH Aachen Abstract Through their combination of portability and security, smart cards are playing an increasingly important
Developing secure Java Card applications
Developing secure Java Card applications Jan Vossaert Jorn Lapon Vincent Naessens June 9, 2010 1 Introduction This tutorial covers the basic steps towards secure smart card application development with
Smart Cards a(s) Safety Critical Systems
Smart Cards a(s) Safety Critical Systems Gemplus Labs Pierre.Paradinas Paradinas@gemplus.com Agenda Smart Card Technologies Java Card TM Smart Card a specific domain Card Life cycle Our Technical and Business
Java Applet and Terminal Application for Financial transactions
Java Applet and Terminal Application for Financial transactions Security for Java and E-commerce Environment Behrooz Aghakhanian baf@kth.se Jalil Shokouh shokouh@kth.se May 2011 Introduction In this assignment
Java Card. Smartcards. Demos. . p.1/30
. p.1/30 Java Card Smartcards Java Card Demos Smart Cards. p.2/30 . p.3/30 Smartcards Credit-card size piece of plastic with embedded chip, for storing & processing data Standard applications bank cards
Smart Card Based User Authentication
Smart Card Based User Authentication A thesis submitted in partial fulfilment of the requirements for the degree of Master of Science By BRANDON JAMES B.S., Wright State University, June 2010 2012 Wright
Smart Card Application Standard Draft
Smart Card Application Standard Draft Contents 1 SCOPE... 6 1.1 DEFINITIONS / DOCUMENT CONVENTIONS... 6 2 KEY DATA ELEMENTS AND CONCEPTS... 7 2.1 STATIC CARD INFORMATION... 7 2.1.1 Card ID (CdID)... 7
Chytré karty opět o rok dál...
Chytré karty opět o rok dál... SmartCardForum 2010 Jan Němec Product expert, Gemalto Květen 2010 Agenda Chytré karty včera, dnes a zítra Úvod do problematiky NFC Integrace NFC do mobilních zařízení Java
RMI Client Application Programming Interface
RMI Client Application Programming Interface Java Card 2.2 Java 2 Platform, Micro Edition Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 U.S.A. 650-960-1300 June, 2002 Copyright 2002 Sun
Java Card 2.1.1 Application Programming Interface
Java Card 211 Application Programming Interface Sun Microsystems, Inc 901 San Antonio Road Palo Alto, CA 94303 USA 650 960-1300 Revision 10, May 18, 2000 Copyright 2000 Sun Microsystems, Inc 901 San Antonio
An evaluation of the Java Card environment
An evaluation of the Java Card environment Christophe Rippert, Daniel Hagimont Contact: Christophe Rippert, Sirac Laboratory INRIA Rhône-Alpes, 655 avenue de l Europe Montbonnot 38334 St Ismier Cedex,
Training. MIFARE4Mobile. Public. MobileKnowledge April 2015
MIFARE4Mobile Public MobileKnowledge April 2015 Agenda Why MIFARE4Mobile? MIFARE in Mobile related technologies MIFARE technology NFC technology MIFARE4Mobile technology High level system architecture
Security & Chip Card ICs SLE 44R35S / Mifare
Security & Chip Card ICs SLE 44R35S / Mifare Intelligent 1 Kbyte EEPROM with Interface for Contactless Transmission, Security Logic and Anticollision according to the MIFARE -System Short Product Info
Your Mobile Phone as a Ticket (NFC)
Your Mobile Phone as a Ticket (NFC) Francisco Maria van Uden Chaves IST - Technical University of Lisbon Av. Prof. Cavaco Silva Tagus Park 2780-990 Porto Salvo, Portugal francisco.chaves@ist.utl.pt Abstract.
JCAT. Java Card TM. An environment for attack and test on. Serge Chaumette, Iban Hatchondo, Damien Sauveron CCCT 03 & ISAS 03
CCCT 03 & ISAS 03 JCAT An environment for attack and test on Java Card TM Serge Chaumette, Iban Hatchondo, http:/www.labri.fr/~sauveron/ 2 nd august 2003 Plan 1) The Java Card Security project Context
Smart Card Technology Capabilities
Smart Card Technology Capabilities Won J. Jun Giesecke & Devrient (G&D) July 8, 2003 Smart Card Technology Capabilities 1 Table of Contents Smart Card Basics Current Technology Requirements and Standards
Application Programming Interface
Application Programming Interface Java Card Platform, Version 2.2.1 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, California 95054 U.S.A. 650-960-1300 October 21, 2003 Java Card Specification
An Overview of Java. overview-1
An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2
Malicious Code on Java Card Smartcards: Attacks and Countermeasures
Malicious Code on Java Card Smartcards: Attacks and Countermeasures Wojciech Mostowski and Erik Poll Digital Security Radboud University Nijmegen To be presented at CARDIS'2008 Erik Poll Radboud University
Overview of Contactless Payment Cards. Peter Fillmore. July 20, 2015
Overview of Contactless Payment Cards Peter Fillmore July 20, 2015 Blackhat USA 2015 Introduction Contactless payments have exploded in popularity over the last 10 years with various schemes being popular
RVS Seminar Deployment and Performance Analysis of JavaCards in a Heterogenous Environment. Carolin Latze University of Berne
RVS Seminar Deployment and Performance Analysis of JavaCards in a Heterogenous Environment Carolin Latze University of Berne Table of contents > Introduction Smartcards > Deployment Overview Linux Windows
Exercise 1: Set up the Environment
RFID Lab Gildas Avoine, 2014 Contact: gildas.avoine@irisa.fr Objective: Learn how much it is easy to read contactless tags, possibly simulate/clone. Requirement: Hardware: Reader SCL3711 or ACR122, Reader
Embedded Java & Secure Element for high security in IoT systems
Embedded Java & Secure Element for high security in IoT systems JavaOne - September 2014 Anne-Laure SIXOU - ST Thierry BOUSQUET - ST Frédéric VAUTE - Oracle Speakers 2 Anne-Laure SIXOU Smartgrid Product
Banking. Extending Value to Customers. KONA Banking product matrix. KONA@I is leading the next generation of payment solutions.
Smart IC Banking Banking Extending Value to Customers KONA Banking product matrix Contact - SDA Product EEPROM Java Card Type KONA Products KONA@I is leading the next generation of payment solutions Banks,
Using RFID Techniques for a Universal Identification Device
Using RFID Techniques for a Universal Identification Device Roman Zharinov, Ulia Trifonova, Alexey Gorin Saint-Petersburg State University of Aerospace Instrumentation Saint-Petersburg, Russia {roman,
NFC Hacking: The Easy Way
DEFCON 20 NFC Hacking: The Easy Way Eddie Lee eddie{at}blackwinghq.com About Me! Security Researcher for Blackwing Intelligence (formerly Praetorian Global)! We re always looking for cool security projects!
Loyalty Systems over Near Field Communication (NFC)
Loyalty Systems over Near Field Communication (NFC) Diogo Simões IST - Technical University of Lisbon Av. Prof. Cavaco Silva Tagus Park 2780-990 Porto Salvo, Portugal diogo.simoes@tagus.ist.utl.pt Abstract.
NFC Testing. Near Field Communication Research Lab Hagenberg. Gerald Madlmayr. NFC Research Lab, Hagenberg. E-Smart 2008, Sophia Antipolis
NFC Testing Gerald Madlmayr NFC, E-Smart 2008, Sophia Antipolis 1 NFC Research Topics Software: Contactless Applications and Infrastructure Hardware: Testing & Interoperability Security Usability Founded
Gemalto Mifare 1K Datasheet
Gemalto Mifare 1K Datasheet Contents 1. Overview...3 1.1 User convenience and speed...3 1.2 Security...3 1.3 Anticollision...3 2. Gemalto Mifare Features...4 2.1 Compatibility with norms...4 2.2 Electrical...4
Smart Cards and their Operating Systems
Smart Cards and their Operating Systems Heng Guo HUT, Telecommunications Software and Multimedia Laboratory Hguo@cc.hut.fi ABSTRACT This paper presents smart cards and their operating systems. First smart
Java Programming Fundamentals
Lecture 1 Part I Java Programming Fundamentals Topics in Quantitative Finance: Numerical Solutions of Partial Differential Equations Instructor: Iraj Kani Introduction to Java We start by making a few
Introducing etoken. What is etoken?
Introducing etoken Nirit Bear September 2002 What is etoken? Small & portable reader-less Smartcard Standard USB connectivity Logical and physical protection Tamper evident (vs. tamper proof) Water resistant
Java Card Development Kit. 1 Table of Contents. 2 Introduction. Release Notes for Java Card 3 Platform, Classic Edition, Version 3.0.
Java Card Development Kit Release Notes for Java Card 3 Platform, Classic Edition, Version 3.0.5u1 E62057-02 September 2015 1 Table of Contents Introduction System Requirements Installation New Features
CHAPTER 5 SMART CARD TECHNOLOGY
56 CHAPTER 5 SMART CARD TECHNOLOGY 5.1 INTRODUCTION Today's society is often illustrated as an information society. Technological developments, particularly in the areas of computers and telecommunications
picojava TM : A Hardware Implementation of the Java Virtual Machine
picojava TM : A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael O Connor Sun Microelectronics Slide 1 The Java picojava Synergy Java s origins lie in improving the consumer
AP Computer Science Java Subset
APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall
A Guide to EMV. Version 1.0 May 2011. Copyright 2011 EMVCo, LLC. All rights reserved.
A Guide to EMV Version 1.0 May 2011 Objective Provide an overview of the EMV specifications and processes What is EMV? Why EMV? Position EMV in the context of the wider payments industry Define the role
NFC Hacking: The Easy Way
DEFCON 20 NFC Hacking: The Easy Way Eddie Lee eddie{at}blackwinghq.com About Me! Security Researcher for Blackwing Intelligence (formerly Praetorian Global)! New site live: blackwinghq.com! We re always
Study of Java Card and its Application 1 Nainesh Rawani, 2 Akhil Patel
Study of Java Card and its Application 1 Nainesh Rawani, 2 Akhil Patel nainesh279@gmail.com 1,2 Information Technology Department, 1,2 Gujarat Technological University, Gujarat, India. Abstract: Sun Microsystems
Reverse engineering smart cards
Reverse engineering smart cards Christian M. Amsüss linuxwochen@christian.amsuess.com http://christian.amsuess.com/ 2010-05-06 Overview objective understand smart card communication based on sniffable
Java Card Protection Profile Open Configuration
Java Card Protection Profile Open Configuration May 2012 Security Evaluations Oracle Corporation 500 Oracle Parkway Redwood Shores, CA 94065 Java Card Protection Profile Open Configuration 1 Java Card
Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com
Best Practises for LabVIEW FPGA Design Flow 1 Agenda Overall Application Design Flow Host, Real-Time and FPGA LabVIEW FPGA Architecture Development FPGA Design Flow Common FPGA Architectures Testing and
INTRODUCTION TO JAVA PROGRAMMING LANGUAGE
INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,
Measurement and Analysis Introduction of ISO7816 (Smart Card)
Measurement and Analysis Introduction of ISO7816 (Smart Card) ISO 7816 is an international standard related to electronic identification cards with contacts, especially smart cards, managed jointly by
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
Smart Card. Smart Card applications
Smart Card Chip Plastic card A very secure way of storing a small amount of sensitive data 1 Smart Card applications Retail Sale of goods using Electronic Purses, Credit / Debit Vending machines Loyalty
MDG. MULTOS Developer's Guide. MAO-DOC-TEC-005 v1.40. 2015 MAOSCO Limited. MULTOS is a registered trademark of MULTOS Limited.
MDG MULTOS Developer's Guide MAO-DOC-TEC-005 v1.40 2015 MAOSCO Limited. MULTOS is a registered trademark of MULTOS Limited. MULTOS Developer s Guide Copyright Copyright 1999 2015 MAOSCO Limited. This document
Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.
Handout 1 CS603 Object-Oriented Programming Fall 15 Page 1 of 11 Handout 1 Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Java
The Java Virtual Machine and Mobile Devices. John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311
The Java Virtual Machine and Mobile Devices John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311 Objectives Review virtual machine concept Introduce stack machine architecture
Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert
Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications
Evaluating Elliptic Curve Cryptography for Use on Java Card
Evaluating Elliptic Curve Cryptography for Use on Java Card Nadejda Pachtchenko Master o f Science (M.Sc) Letterkenny Institute o f Technology Dr. Mark Leeney Submitted to the Higher Education and Training
Crash Course in Java
Crash Course in Java Based on notes from D. Hollinger Based in part on notes from J.J. Johns also: Java in a Nutshell Java Network Programming and Distributed Computing Netprog 2002 Java Intro 1 What is
DEVELOPING NFC APPS for BLACKBERRY
1 DEVELOPING NFC APPS for BLACKBERRY NFC Forum, Developers Showcase March 21 st, 2014 Larry McDonough, Principal Evangelist @LMCDUNNA 2 CONTENTS Development on BlackBerry BlackBerry NFC Support 5 most
Pemrograman Dasar. Basic Elements Of Java
Pemrograman Dasar Basic Elements Of Java Compiling and Running a Java Application 2 Portable Java Application 3 Java Platform Platform: hardware or software environment in which a program runs. Oracle
Towards the Hardware Accelerated Defensive Virtual Machine - Type and Bound Protection
Towards the Hardware Accelerated Defensive Virtual Machine - Type and Bound Protection Michael Lackner 1, Reinhard Berlach 1, Johannes Loinig 2, Reinhold Weiss 1, and Christian Steger 1 1 Institute for
Risks of Offline Verify PIN on Contactless Cards
Risks of Offline Verify PIN on Contactless Cards Martin Emms, Budi Arief, Nicholas Little, and Aad van Moorsel School of Computing Science, Newcastle University, Newcastle upon Tyne, UK {martin.emms,budi.arief,n.little,aad.vanmoorsel}@ncl.ac.uk
RF-Enabled Applications and Technology: Comparing and Contrasting RFID and RF-Enabled Smart Cards
RF-Enabled Applications and Technology: Comparing and Contrasting RFID and RF-Enabled Smart Cards January 2007 Developed by: Smart Card Alliance Identity Council RF-Enabled Applications and Technology:
Freescale Semiconductor, I
nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development
Side-Channel Monitoring of Contactless Java Cards
Side-Channel Monitoring of Contactless Java Cards by Jem E. Berkes A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master of Applied Science
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
PUF Physical Unclonable Functions
Physical Unclonable Functions Protecting next-generation Smart Card ICs with SRAM-based s The use of Smart Card ICs has become more widespread, having expanded from historical banking and telecommunication
New Methodologies in Smart Card Security Design. Y.GRESSUS Methodology and Secure ASIC development manager, Bull CP8
New Methodologies in Smart Card Security Design Y.GRESSUS Methodology and Secure ASIC development manager, Bull CP8 Japan Security Conference Page 2 Trends Opportunities New methodologies Summary Concurrent
Nokia 9210i/9290 Communicators and PersonalJava TM Application Development
Nokia 9210i/9290 Communicators and Personal TM Application Development 05-03-2002 Nokia 9210i/9290 Communicators and PersonalTM Application Development Table of contents 1. DIFFERENT JAVA TECHNOLOGIES...
EMV-TT. Now available on Android. White Paper by
EMV-TT A virtualised payment system with the following benefits: MNO and TSM independence Full EMV terminal and backend compliance Scheme agnostic (MasterCard and VISA supported) Supports transactions
Java Card 3 Platform. Virtual Machine Specification, Classic Edition. Version 3.0.5. May 2015
Java Card 3 Platform Virtual Machine Specification, Classic Edition Version 3.0.5 May 2015 Java Card 3 Platform Virtual Machine Specification, Classic Edition Version 3.0.5 Copyright 1998, 2015, Oracle
Mobile MasterCard PayPass Testing and Approval Guide. December 2009 - Version 2.0
Mobile MasterCard PayPass Testing and Approval Guide December 2009 - Version 2.0 Proprietary Rights Trademarks The information contained in this document is proprietary and confidential to MasterCard International
Contactless Smart Cards vs. EPC Gen 2 RFID Tags: Frequently Asked Questions. July, 2006. Developed by: Smart Card Alliance Identity Council
Contactless Smart Cards vs. EPC Gen 2 RFID Tags: Frequently Asked Questions July, 2006 Developed by: Smart Card Alliance Identity Council Contactless Smart Cards vs. EPC Gen 2 RFID Tags: Frequently Asked
Lesson-3 CASE STUDY OF AN EMBEDDED SYSTEM FOR SMART CARD
Design Examples and Case Studies of Program Modeling and Programming with RTOS-2: Lesson-3 CASE STUDY OF AN EMBEDDED SYSTEM FOR SMART CARD 1 1. Smart Card System Requirements 2 Purpose Enabling authentication
SMARTCARD SECURITY. Java Card Security. Marc Witteman. Introduction
Java Card Security Marc Witteman Introduction Java Card is a new, but fast growing technology that enhances the world of smart cards with a whole set of exciting new possibilities. Until a few years ago
Significance of Tokenization in Promoting Cloud Based Secure Elements
Significance of Tokenization in Promoting Cloud Based Secure Elements Busra O zdenizci 1, Vedat Coskun 1*, Kerem Ok 1 and Turgay Karlidere 2 1 NFC Lab - Istanbul, Department of Information Technologies,
GlobalPlatform. Card Specification. Version 2.2
GlobalPlatform Card Specification Version 2.2 March 2006 Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights or other intellectual property
Distributed Network Management Using SNMP, Java, WWW and CORBA
Distributed Network Management Using SNMP, Java, WWW and CORBA André Marcheto Augusto Hack Augusto Pacheco Augusto Verzbickas ADMINISTRATION AND MANAGEMENT OF COMPUTER NETWORKS - INE5619 Federal University
Java Interview Questions and Answers
1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java
Project SailFin: Building and Hosting Your Own Communication Server.
FSFS Conference: Dec 9-11, Thiruvananthapuram Project SailFin: Building and Hosting Your Own Communication Server. Binod PG Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda SailFin: Open Source Java
Smart Card APDU Analysis
Smart Card APDU Analysis Black Hat Briefings 2008 Las Vegas Ivan "e1" Buetler ivan.buetler@csnc.ch Compass Security AG - Switzerland Compass Security AG Glärnischstrasse 7 Postfach 1628 CH-8640 Rapperswil
Hardware/Software Co-Design of a Java Virtual Machine
Hardware/Software Co-Design of a Java Virtual Machine Kenneth B. Kent University of Victoria Dept. of Computer Science Victoria, British Columbia, Canada ken@csc.uvic.ca Micaela Serra University of Victoria
The Hotspot Java Virtual Machine: Memory and Architecture
International Journal of Allied Practice, Research and Review Website: www.ijaprr.com (ISSN 2350-1294) The Hotspot Java Virtual Machine: Memory and Architecture Prof. Tejinder Singh Assistant Professor,
SEEK project - Access to Secure Elements on Android. Frank Schäfer 04.12.2014
SEEK project - Access to Secure Elements on Android Frank Schäfer 04.12.2014 SEEK: Add Secure Element access to Android n Open Source project, maintained by G&D since 2010 n Implementation of SIMalliance
The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications
The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications Joshua Ellul jellul@imperial.ac.uk Overview Brief introduction to Body Sensor Networks BSN Hardware
Secure Over the Air (OTA) Management Of Mobile Applications
Secure Over the Air (OTA) Management Of Mobile Applications Dinakaran Rajaram KTH-Royal Institute of Technology School Of Information and Communication Technology Communication Systems Master of Science
Testing the Java Card Applet Firewall
Testing the Java Card Applet Firewall Wojciech Mostowski and Erik Poll Security of Systems (SoS) group Department of Computing Science Radboud University Nijmegen The Netherlands {woj,erikpoll@cs.ru.nl
Java Smart Cards as a Platform for Electronic Commerce
Java Smart Cards as a Platform for Electronic Commerce 1 Java Smart Cards as a Platform for Electronic Commerce Joachim Posegga Deutsche Telekom AG Technologiezentrum IT Sicherheit/FE34a D-64276 Darmstadt
Location-Aware and Safer Cards: Enhancing RFID Security and Privacy
Location-Aware and Safer Cards: Enhancing RFID Security and Privacy 1 K.Anudeep, 2 Mrs. T.V.Anantha Lakshmi 1 Student, 2 Assistant Professor ECE Department, SRM University, Kattankulathur-603203 1 anudeepnike@gmail.com,
A Two Step Approach in the Development of a Java Silicon Machine (JSM) for Small Embedded Systems
A Two Step Approach in the Development of a Java Silicon Machine (JSM) for Small Embedded Systems H. Ploog R. Kraudelt N. Bannow T. Rachui F. Golatowski D. Timmermann Department of Electrical Engineering
MIFARE ISO/IEC 14443 PICC
Rev. 3.0 26 June 2009 130830 Application note PUBLIC Document information Info Keywords Abstract Content Activate Card, MIFARE, Select Card This Application te shows the elementary communication for selecting
Andrew Calafato. Technical Report RHUL MA 2013 4. 01 May 2013
An analysis of the vulnerabilities introduced with Java Card 3 Connected Edition Andrew Calafato Technical Report RHUL MA 2013 4 01 May 2013 Information Security Group Royal Holloway, University of London
Can You Trust Your JVM Diagnostic Tools?
Can You Trust Your JVM Diagnostic Tools? Isaac Sjoblom, Tim S. Snyder, and Elena Machkasova Computer Science Discipline University of Minnesota Morris Morris, MN 56267 sjobl014@umn.edu, snyde479@umn.edu,
Performance Evaluation of Java Card Bytecodes
Performance Evaluation of Java Card Bytecodes Pierre Paradinas 1, Julien Cordry 2, and Samia Bouzefrane 2 1 INRIA Rocquencourt 78150 Le Chesnay France Pierre.Paradinas@inria.fr 2 CNAM 292 rue Saint-Martin
Mobile NFC 101. Presenter: Nick von Dadelszen Date: 31st August 2012 Company: Lateral Security (IT) Services Limited
Mobile NFC 101 Presenter: Nick von Dadelszen Date: 31st August 2012 Company: Lateral Security (IT) Services Limited Company Lateral Security (IT) Services Limited Company Overview Founded in April 2008
1. Overview of the Java Language
1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax
RE-TRUST Design Alternatives on JVM
RE-TRUST Design Alternatives on JVM ( - Italy) paolo.falcarin@polito.it http://softeng.polito.it/falcarin Trento, December, 19 th 2006 Tamper-Detection Tamper-detection goals Detect malicious modifications
Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
AN1305. MIFARE Classic as NFC Type MIFARE Classic Tag. Application note COMPANY PUBLIC. Rev. 1.3 2 October 2012 130513. Document information
MIFARE Classic as NFC Type MIFARE Classic Tag Document information Info Content Keywords NFC Forum, NFC data mapping, MIFARE Classic 1K/4K, MIFARE Classic 1K, MIFARE Classic 4K, MIFARE Plus X/S, NFC Type
ACR120 Technical Specifications version 2.9 November 2005
Version 2.9 11-2005, Email: info@acs.com.hk Website: www.acs.com.hk ACR120 Contactless Reader/Writer 1.0 Introduction The ACR120 is a compact and cost-effective contactless reader and writer. It is developed
Open Mobile API Test Specification for Transport API
Open Mobile Test Specification for Transport V1 Copyright 2014 SIMalliance ltd. The information contained in this document may be used, disclosed and reproduced without the prior written authorization
Java (12 Weeks) Introduction to Java Programming Language
Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short
ETSI TS 102 588 V7.1.0 (2007-07) Technical Specification
TS 102 588 V7.1.0 (2007-07) Technical Specification Smart Cards; Application invocation Application Programming Interface (API) by a UICC webserver for Java Card platform; (Release 7) 2 TS 102 588 V7.1.0
SIM cards for cellular networks
Mid Sweden University The Department of Information Technology and Media (ITM) Author: Peter Edsbäcker E-mail address: wmpeeds@netscape.net Study program: B. Sc. in engineering, computer engineering, 180