On Fri, Apr 6, 2012 at 10:06 PM, xanium4332 <xanium4...@gmail.com> wrote:
>

> I've recently read through a lot of information regarding the implementation
> of NFC, Google Wallet, card emulation etc.. on the Galaxy S

Nice write up, you should put it in a blog post somewhere. Sounds about
right, but can't really commend on the finer points. Maybe someone else will.
You might also get better info/response on XDA. This list is not exactly
dedicated to analyzing third party apps and/or hardware.

>
> Now for things I'm not sure about:
>
> Does Google Wallet make use of native APIs or Java APIs to communicate to
> the secure element. I.e., is it talking to the NXP NFC stack directly, or
> through some Android-like API?

AFAIK, it uses only Java code. You can send APDU via the Java APIs,
so that's basically all you need.

>
> People who are receiving the 'secure element not responding' error are
> presumably failing to authenticate with the Google Wallet javacard app which
> has been installed. However, people seem to be mentioning that this error
> means the SE is 'bricked', which I would interpret as the lockout from the
> GlobalPlatform app due to 10 failed auths. Anybody know exactly what is
> going on here?

You can't say for sure until you see the response APDU. IIRC, if you lock
the card you will get 'Security condition not satisfied', SW= 0x6982.
If seen this a few times :)

>
> I think I read somewhere that the google wallet javacard app is only
> installed onto the SE after successful setup of the Google Wallet app. I.e.
> it is not factory installed.

This appears to be correct.

> If so, how does secure communication occur with
> the GlobalPlatform app. Does Google Wallet perform this (I guess not, as we
> could find the keys from the APK). How do the GlobalPlatform keys get
> securely transmitted to the SE? With SIM cards I think binary SMSs are used
> to OTA chat with the radio interface, but obviously that can't happen here.
>

You don't really need to transmit the actual keys to the card, you only need to
compute the correct session key based on the card manager key. Maybe they
are in the APK (unlikely), or processing is offloaded to a server. You might
want to look yourself :)

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to