PV204 Security technologies LABS

Slides:



Advertisements
Similar presentations
1 Java Card Technology Prepared by:Ali Toyserkani Adopted from: Introduction to Java Card Technology C. Enrique Ortiz.
Advertisements

1 Dynamic DNS. 2 Module - Dynamic DNS ♦ Overview The domain names and IP addresses of hosts and the devices may change for many reasons. This module focuses.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Design and Development of High Performance PC Based Logic Analyzer MSc Project by Rab Nawaz Advisor: Dr. Shahid Masud.
Smartcard Evaluation TM8104 – IT Security Evaluation Linda Ariani Gunawan.
Masaryk U., Monet White-box attack resistant cryptography – mobility tickets Petr Švenda Masaryk University,
Fayoum University Faculty of Engineering Electrical Engineering Department E-voting system Using Smart Card Under the supervision Of: Dr. Magdy Amer.
Smart Card 李開振, 許家碩 Department of Computer Science National Chiao Tung University.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
Global Platform Presentation C:\Path - filename - san page 1 Open Platform on Java Card Introduction by Ingeborg Sandow.
P3 - prepare a computer for installation/upgrade By Ridjauhn Ryan.
Slide 1 Project 1 Task 2 T&N3311 PJ1 Information & Communications Technology HD in Telecommunications and Networking Task 2 Briefing The Design of a Computer.
Group # 3 Week 10. Progress so far ► Writing the progress report. ► Writing and edit code to send and receive SMS messages ► Writing code in VB to interprets.
Introduction Architecture Hardware Software Application Security Logical Attack Physical Attack Side channel Attack.
JAVA CARD Presented by: MAYA RAJ U C A S,PATHANAMTHITTA.
Masaryk U. – related research, interest Laboratory of security and applied cryptography Lab head: Vashek Matyáš Petr Švenda
PV204 Security technologies Team projects Petr Švenda Faculty of Informatics, Masaryk University, Brno, CZ | PV204 - Security technologies.
PV204 Security technologies Reverse engineering of binary applications Petr Švenda Faculty of Informatics, Masaryk University.
Host Identifier Revocation in HIP draft-irtf-hiprg-revocation-01 Dacheng Zhang IETF 79.
PV204 Security technologies Labs: Secure authentication and authorization Petr Švenda Faculty of Informatics, Masaryk.
1. Presentation Agenda  Identify Java Card Technology  Identify Elements of Java Card applications  Communicating with a Java Card Applet  Java Card.
Netbeanstcl (A netbeans plugin for Tcl) A GSoC (Google Summer of Code) Project by Michal Poczwardowski.
PV204 Security Technologies Overview of the subject Petr Švenda & Zdeněk Říha & Vít Bukač & Václav Lorenc & Milan Brož I PV204 - Introductory info 1.
Communication.
PV204 Security technologies
Frequently Asked Questions (FAQ)
Creativity of Algorithms & Simple JavaScript Commands
PV204 Security technologies
PB173 - Tématický vývoj aplikací v C/C++ (jaro 2016)
Event Driven Displays for Video Management Systems
Make it Fair Dominic has made up a simple game.
Data Virtualization Tutorial… SSL with CIS Web Data Sources
PV204 Security technologies
PV204 Security technologies LABS
SMS module HDL-MGSM.431.
CS408/533 Computer Networks Text: William Stallings Data and Computer Communications, 6th edition Chapter 1 - Introduction.
/50 /60 /40 /30 A Tale of Two Clients
PV204 Security technologies
PV204 Security technologies
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Instructor Materials Chapter 9: Testing and Troubleshooting
Event Driven Displays for Video Management Systems
Do-more Technical Training
Function Generator Remote Control
Direct Attached Storage and Introduction to SCSI
Discussion to clarify online/offline behavior
Computer Architecture
Functions and Procedures
PV204 Security Technologies
PV204 Security technologies
1 Input-Output Organization Computer Organization Computer Architectures Lab Peripheral Devices Input-Output Interface Asynchronous Data Transfer Modes.
Common Operating System Exploits
Facing issues in D- link router ? No Need to get nervous, D- link Router Technical Support is available to provide the best assistance. Expert's help.
Java Byte IPC: Part 6-Summary
Potential Risks for Smart Cards Firmware
Computer System Overview
EECE 310 Software Engineering
Promoting Self-Service
Functions and Procedures
UNIT 3 CHAPTER 1 LESSON 4 Using Simple Commands.
Face2Gene- DPDL integration
Mid Term II Review.
Operating Systems Networking for Home and Small Businesses – Chapter 2 – Introduction To Networking.
WEB SERVICES From Chapter 19, Distributed Systems
User Applications (SURF projects)
Simplifying Expressions
PC/SC Applications and New Developments
Object Oriented Design
Presentation transcript:

PV204 Security technologies LABS Introduction to smart cards Petr Švenda svenda@fi.muni.cz Faculty of Informatics, Masaryk University

The masterplan for this lab Secure channel and smartcard communication Building Secure Channel protocol (together) simple protocol  design attack  fix it  iterate Communicate with smart card (GPPro tool) ATR, basic info, CPLC Communicate with card programmatically Java java.smartcardio.* or C/C++ PC/SC API CPLC data Obtain list of supported instructions from unknown card | PV204: Introduction to smart cards

1. Building Secure Channel protocol Scenario: we like to transfer extrasupersensitive data between PC and smartcard Simple protocol  design attack  fix it  iterate Participate in discussion (Steps and solution will be published after the labs in IS) | PV204: Introduction to smart cards

2. Communicate with smart card (GPPro) Contact PC/SC readers + cards GlobalPlatformPro tool https://github.com/martinpaljak/GlobalPlatformPro/releases Basic smart card commands, sending APDUs Management of GlobalPlatform cards (JavaCard) Type gp --help for all functionality We will use basic functionality now, rest next week | PV204: Introduction to smart cards

gp --info Obtain information about smart card Obtain ATR (Answer To Reset) Parse using https://smartcard-atr.appspot.com/parse?ATR=xxx Who is probable manufacturer of card? What is probable OS environment for this card? Is it JavaCard? What is card’s circuit serial number? When was card produced? | PV204: Introduction to smart cards

gp --apdu APDU_in_hexa --debug Send APDU command from command line Try gp --info --debug Can you spot APDU command to obtain CPLC info? Send get CPLC APDU separately gp --apdu 80CA9F7F --debug Can you relate card’s response data and gp --info? What is response status word? | PV204: Introduction to smart cards

3. Communicate with card programmatically SimpleAPDU project (IS, NetBeans) Uses Java’s javax.smartcardio.* API CardMngr.java – utility functions for card communication Obtain list of available readers List readers = TerminalFactory.getDefault().terminals().list(); Connect to card CardTerminal.isCardPresent(), CardTerminal.connect(“*”); Obtain ATR: Card.getATR().getBytes() Send APDU: ResponseAPDU resp = CardChannel.transmit(apdu) | PV204: Introduction to smart cards

3. Communicate with card programmatically Try to send get CPLC command Pre-prepared in GetCPLCData() method Necessary to set proper APDU Parse response buffer Can you relate card’s response data and gp --info? What is value of response status word? | PV204: Introduction to smart cards

Supported commands Card responds to some APDU commands Generic ones (e.g., get CPLC data) Custom ones (what card’s owner wants) Usually CLA/INS/P1 only (P2 sometimes) How to get list of commands supported by a card? Look into documentation / standard (e.g., SIM commands) Try to probe card (limited number of possible commands) Be careful – many failed attempts may block your card! | PV204: Introduction to smart cards

Obtain list of supported commands Write code that will try all combination if CLA/INS Observe response codes Make list of CLA/INS which returns interesting code Analyse with curiosity! | PV204: Introduction to smart cards