Muhammad Wasim Raad1 Smart Cards Operating Systems أنظمة التشغيل للبطاقات الذكية By: Dr Muhammad Wasim Raad Computer Engineering Department.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

© Copyrights 1998 Algorithmic Research Ltd. All rights Reserved D a t a S e c u r i t y A c r o s s t h e E n t e r p r i s e Algorithmic Research a company.
Smart Card Security Xufen Gao CS 265 Spring, 2004 San Jose State University.
Security of JavaCard smart card applets Erik Poll University of Nijmegen
New Security Issues Raised by Open Cards Pierre GirardJean-Louis Lanet GERMPLUS R&D.
Professional Toolkit V2.0 C:\Presentations - SmartCafe_Prof_V2.0 - bsc page 1 Professional Toolkit 2.0.
1 GP Confidential © GlobalPlatform’s Value Proposition for Mobile Point of Sale (mPOS)
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
ASU Real-Time Operating System. Supervised by: Dr. Mohammed Sobh.
Operating System Structure
Submitted by: Rahul Rastogi, CS Department.  Introduction  What is a smart card?  Better than magnetic stripe card.  Technology What’s in a card?
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
Smart Card File System (ISO )
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
IT Systems Memory EN230-1 Justin Champion C208 –
1 OS & Computer Architecture Modern OS Functionality (brief review) Architecture Basics Hardware Support for OS Features.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Athena Smartcard Solutions June 2009 Smart Card Technology and Security Leaders.
SMARTCARDS. What we’ll cover: How does the Smart Card work (layout and operating system)? Security issues for the card holder The present and future of.
TECHWARZ. (Multiplexed Information and Computing Service)  Multics was an extremely influential early time-sharing operating system.  Goal: Develop.
Java Card Technology Ch02: Smart card Basics Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Computer Science &
COMPONENTS OF THE SYSTEM UNIT
Programming mobile devices Part II Programming Symbian devices with Symbian C++
Lesson 4 Computer Software
Computer Concepts 2013 Chapter 4 Operating Systems and File Management.
Chapter 4 Operating Systems and File Management. 4 Chapter 4: Operating Systems and File Management 2 Chapter Contents  Section A: Operating System Basics.
Computer Organization
Muhammad Wasim Raad1 Smart Cards Operating Systems By: Dr Muhammad Wasim Raad Computer Engineering Department.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Class ID: BL01A - Java & Global Platform Applet Development.
Fayoum University Faculty of Engineering Electrical Engineering Department E-voting system Using Smart Card Under the supervision Of: Dr. Magdy Amer.
Learning Targets Identify the external parts of the computer Identify examples of input devices Identify examples of output devices Define basic computer.
E0001 Computers in Engineering1 The System Unit & Memory.
[1] National Institute of Science & Technology Technical Seminar Presentation Presented By : Rajashree Mohapatra (IT ) Technical Seminar.
Smart Card 李開振, 許家碩 Department of Computer Science National Chiao Tung University.
How can the SMART card help in new channels?
Java Introduction Lecture 1. Java Powerful, object-oriented language Free SDK and many resources at
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Computer Programming 12 Mr. Jean March 19 th, 2013.
Computer Programming A program is a set of instructions a computer follows in order to perform a task. solve a problem Collectively, these instructions.
Smart Card Technology & Features
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
1 7 th CACR Information Workshop Vulnerabilities of Multi- Application Systems April 25, 2001 MAXIMUS.
The variety Of Processors And Computational Engines CS – 355 Chapter- 4 `
A smart card is a credit-card sized plastic card embedded with an integrated circuit chip that makes it "smart". This marriage between a convenient plastic.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
April 20023CSG11 Electronic Commerce Smartcards John Wordsworth Department of Computer Science The University of Reading Room.
SKILL AREA: 1.2 MAIN ELEMENTS OF A PERSONAL COMPUTER.
RL78 Code & Dataflash.
© 2004, D. J. Foreman 1 Computer Organization. © 2004, D. J. Foreman 2 Basic Architecture Review  Von Neumann ■ Distinct single-ALU & single-Control.
Lecture 18 Windows – NT File System (NTFS)
© GCSE Computing Computing Hardware Starter. Creating a spreadsheet to demonstrate the size of memory. 1 byte = 1 character or about 1 pixel of information.
Introduction Architecture Hardware Software Application Security Logical Attack Physical Attack Side channel Attack.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
Operating Systems: Summary INF1060: Introduction to Operating Systems and Data Communication.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
JAVA CARD Presented by: MAYA RAJ U C A S,PATHANAMTHITTA.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1. Presentation Agenda  Identify Java Card Technology  Identify Elements of Java Card applications  Communicating with a Java Card Applet  Java Card.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
A smart card is a credit card sized plastic card embedded with an integrated circuit chip that makes it "smart". This made between a convenient plastic.
Electronic Commerce Smartcards
Chapter 2: System Structures
CS703 - Advanced Operating Systems
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
Chapter 2: System Structures
Java Programming Introduction
System calls….. C-program->POSIX call
COMP755 Advanced Operating Systems
Presentation transcript:

Muhammad Wasim Raad1 Smart Cards Operating Systems أنظمة التشغيل للبطاقات الذكية By: Dr Muhammad Wasim Raad Computer Engineering Department

Muhammad Wasim Raad2 Smart Chip Co-Processor & 3-DES Engine 16/32-bit RISC Processor Contact: ISO 7816 and USB ROM (96 KB) EEPROM (64+ KB) FLASH (64 KB) Power (1.8 Volt) Ground Clock Reset ISO 7816 I/O RAM (4 KB) MMU USB I/O DPA & SPA Resistant Logic Contactless: ISO 14443

Muhammad Wasim Raad3 ماهو نظام تشغيل البطاقة الذكية What is a COS?

Muhammad Wasim Raad4 Card OS Role وظيفة نظام تشغيل البطاقة

Muhammad Wasim Raad5 Transmission Protocol

Muhammad Wasim Raad6 File Architecture

Muhammad Wasim Raad7 File Architecture(Cont)

Muhammad Wasim Raad8 Command Sets

Muhammad Wasim Raad9 ISO Command Sets

Muhammad Wasim Raad10 Protocol Application Layer APDU Format

Muhammad Wasim Raad11 Access Conditions

Muhammad Wasim Raad12 Access Conditions Examples

Muhammad Wasim Raad13 Access Conditions Examples

Muhammad Wasim Raad14 Smart Card Operating Systems Smart card operating systems (SCOS) have little resemblance to desktop OS. SCOS supports a collection of instructions on which user applications can be built. ISO standardizes a wide range of instructions in the format of APDUs. Most SMOS supports File Systems

Muhammad Wasim Raad15 Very low amount of program code: 3-30KB ROM masks for OS need weeks for correcting errors The secure state of EEPROM has noticeable influence on design of OS

Muhammad Wasim Raad16 For example all retry counters must be designed such that their maximum value corresponds to the erased state of the EEPROM If this is not the case, it would be possible to reset counter to its initial value by intentionally removing the card during transaction

Muhammad Wasim Raad17 This type of attack can be resisted by proper coding of the counter or by making the process of writing the retry counter an atomic process Trap doors must be avoided Cryptographic functions must execute in very short time

Muhammad Wasim Raad18 OS can be loaded into EEPROM, but due to expensive EEPROM most OS is in ROM Almost all OS allow program code for additional commands or special cryptographic algorithms to be loaded into EEPROM during completion

Muhammad Wasim Raad19 OS must be able to automatically recognize the size of the EEPROM Technical implementation involves OS routine reading the manufacturer’s finishing data Current Smart Card OS is not able to adapt itself to varyations in size of ROM or RAM

Muhammad Wasim Raad20 Primary tasks of Smart card OS Transferring data to and from a smart card Controlling execution of commands Managing files Managing and executing cryptographic algorithms

Muhammad Wasim Raad21 Source: Z. Chen, “ Java Card Technology for Smart Cards ” Smart Card Communication Model * The card sends out an ATR (Answer to Reset) immediately after insertion. ** APDU stands for Application Protocol Data Unit (ISO ).

Muhammad Wasim Raad22 Smart Card File System (ISO ) MF DF EF DF EF DF MF Master File (root directory, must always be present) DF Dedicated File (directory file, can contain directory and data files) EF Elementary File (data file)

Muhammad Wasim Raad23 Smart Card File Names (ISO ) Reserved FIDs 3F00 MF root directory 0000 EF PIN and PUK # EF PIN and PUK # EF application keys 0011 EF management keys 0002 EF manufacturing info 0003 EF card ID info 0004 EF card holder info 0005 EF chip info 3FFF file path selection FFFF reserved for future use MF FID File Identifier (2 bytes) DF DF Name (1-16 Bytes) usually ISO AID EFShort-FID (5bits) FID File Identifier (2 bytes)

Muhammad Wasim Raad24 EEPROM pages 100'000 write cycles 64 byte page size Smart Card Internal File Structure EF Header Body –Header: file structure info, access control rights, pointer to data body content changes never or seldom, protected from erasure –Body: data, content might change often, many write operations pointer

Muhammad Wasim Raad25

Muhammad Wasim Raad26 MULTOS A high security architecture –Apps needing high security can reside next to apps needing low security Co-residence of multiple, inter-operable, platform independent applications Dynamic remote loading and deletion of applications over the lifetime of a card –Achieved using the language MEL (MULTOS Executable Language)

Muhammad Wasim Raad27 PC/SC Architecture designed to ensure the following work together even if made by different manufacturers: –smart cards –smart card readers –computers Differs from OpenCard because it offers API interoperability rather than uniform API Designed for Windows environment with development in Visual C++

Muhammad Wasim Raad28 Java card The Java Card specifications enable Java technology to run on smart cards and other devices Multi-Application Capable - Java Card technology enables multiple applications to co-exist securely on a single smart card Dynamic: - New applications can be installed securely Secure: - relies on the inherent security of the Java programming language to provide a secure execution environment. - platform's proven industry deployments and security evaluations ensure that card issuers benefit from the most capable and secure technology available today.

Muhammad Wasim Raad29 Java Card Platform independent Does not support issuer control Not secure enough for finantial applications

Muhammad Wasim Raad30 Java Card Architecture Components

Muhammad Wasim Raad31

Muhammad Wasim Raad32

Muhammad Wasim Raad33 applet Java Card I/O with APDUs Java Card platform applet terminal smartcard hardware command APDU, incl. applet ID OS selects applet and invokes its process method Applet sends response APDU applet executes

Muhammad Wasim Raad34 How can the SMART card help in new channels? Earning and redeeming rewards with Virtual Merchants To store personal data for covenience on-line To Secure Virtual World Shopping with Credit (Chip SecureCode) or e-Cash To Managing Finances Securely and Conveniently Virtual Health, Govt or other Services Entertainment on Demand

Muhammad Wasim Raad35 Proprietary Smart Card Operating Systems Chip Hardware B Chip Hardware A Proprietary OS A Proprietary OS B Native EMV Code Native Loyalty Code Data ROM E2 Native EMV Code Native EMV Code Native Loyalty Code Data ROM E2 l Proprietary Chip OS developed in “native” code - specific to underlying silicon - to access chip functions. OS often dedicated to performing a single specific function – e.g. EMV l OS code is fixed in the ROM of the chip, and cannot be changed after the chip is made. l Limited number of programmers able to make adaptations to proprietary OS – impact on time to market if changes / new functions required. l In order to multi-source silicon, native code must be redeveloped from scratch for new chip. Chip Hardware B Chip Hardware A

Muhammad Wasim Raad36 KILLER Applications

Muhammad Wasim Raad37 MULTOS The only OS obtaining ITSEC(E6) Very secure Multi-application support Requires Coprocessor for RSA makes it expensive

Muhammad Wasim Raad MULTOS VM MULTOS API MULTOS: The OPEN STANDARD smart card operating system Infineon Silicon ROM MULTOS VM MULTOS API Renesas Silicon ROM C Compiler Java Compiler / Translator MEL Editor  MULTOS defines a standard CHIP HARDWARE INDEPENDENT Smart Card Operating System:  Portable:  Develop applications ONCE and run on ANY MULTOS chip.  Open:  Develop in C or Java and Compile. API FREELY available. EMV PKI Application A E2PROM EMV PKI Application A E2PROM  Highest Hardware and OS Security Assurance:  ITSEC E6 High evaluated  MULTOS SCHEME facilitates management of multiple applications  Advanced Asymmetric Cryptographic mechanism

Muhammad Wasim Raad39 Open Platform (Card Manager & Security Domain) API Windows for Smart Card by Microsoft and Global Platform Java Card by Sun Micro and Global Platform Multos Credit/Debit WIMSIM Logical & Physical Access LoyaltyE-Purse oror Operating System Options MULTOS by Mondex International and MAOSCO Council

Muhammad Wasim Raad40

Muhammad Wasim Raad41