External Authentication?
817899Nov 23 2010 — edited Dec 1 2010Hi everybody,
I have been dealing with EMV payment application development before, but not with Card personalisation.
I'll stick straight to my problem.
I'm trying to cope with Gemalto Optelio M/CHIP 4 pre-personalised cards. These cards didn't get PSE created in pre-personalisation phase.
I have read EMV CPS, EMV Book1, EMV Book3 and Optelio chip specs. Also I have a project plan which orders me to do ExtAuth to get authenticated for personalisation. This project plan was created before I started to work for this company. For ExtAuth crypto I have KMS server.
At the same time Optelio chip spec doesn't tell me anything more about ExtAuth than GET CHALLENGE response data is used for it. How can I do ExtAuth if I can't select AID because PSE hasn't been created yet.
Optelio chip spec shows how to get authenticated through R-MAC session. As far as I have tested everything is allowed after that. But still remains the question, why is ExtAuth needed?
Flow with ExtAuth:
perso RESET> chip
perso <--ATR--- chip
perso SELECT (AID)> chip
perso <--FCI--- chip
perso INITIATE UPDATE> chip
KMS <-- perso <--Key information and card challenge--- chip
KMS --> perso EXT AUTH> chip
perso <--OK--- chip
perso --...--> chip
Flow with R-MAC:
perso GET DATA (CPLC)> chip
perso <--CPLC DATA--- chip
perso GET DATA (SEQUENCE COUNTER)> chip
perso <--SEQUENCE COUNTER--- chip
##KEY DIVERSIFICATION##
##SESSION KEY GENERATION## -- with AID marked in Optelio spec.
perso GET CHALLENGE> chip
perso <--CARD RANDOM--- chip
##CMAC GENERATION##
perso BEGIN RMAC> chip
perso <--OK--- chip
perso END RMAC> chip
perso <--RMAC--- chip
##RMAC VERIFICATION##
perso --...--> chip
Can somebody please explain me the lifecycle flow? I just can't get the correct picture out of it at the moment. I know I have to create PSE, but why is there ExtAuth described in specs?