Hello Michael,

yes I am very sure that I can read and also write persistent data to
the MiFare Classic.
Even if the Nexus S is turned off, we are still able to read and write
data.
I will give you some information about the NFC reader, the software
and the keys we use tomorrow, because I have all these stuff at my
company and not in mind.
So what do you think about reading and writing data to the emulated
MiFare card via an android app? Are there any hidden methods in the
api, which I can use via reflection to handle that? As I have already
written I am able to access the Secure Element with the hidden methods
of the NfcAdapter class, but all I can do so far is to connect, then
open it and read the UID.

Best wishes,

Martin

On 19 Mai, 20:18, Michael Roland <[email protected]> wrote:
> Hallo Martin,
>
> > After enabling the card emulation mode on the Nexus S, I am able to
> > read and write data to the emulated MiFare Classic 4k card by an
> > external NFC reader. I would like to do that within an android app.
>
> Have you verified that you actually wrote data to the MIFARE Classic? I
> really doubt that you did. What MIFARE keys did you use? In my tests
> authentication passed regardless of the keys I used. In fact every
> command seemed to return successfully, but in fact no data was ever
> written to the card.
>
> > You have
> > spoken about the access keys, but aren't they the same for internal
> > and external access?
>
> Yes, they would be the same for internal and external access.
>
> br,
> Michael
>
>
>
>
>
>
>
> > On 19 Mai, 00:59, Michael Roland <[email protected]> wrote:
> >> Hallo,
>
> >>> I more or less understand how to do it but I don't understand if after
> >>> is possible to build application on card emulation.
>
> >> Regarding the internalsecureelement(SmartMX): No. Even if you
> >> activate this chip as thesecureelement, you could only use its UID for
> >> your application. To edit data on it/install applications into it you
> >> would need to have the access keys for thatsecureelement.
>
> >> Regarding an externalsecureelementon the UICC ("SIM" card): Partly
> >> yes. You can activate an SWP-UICC assecureelement. But access is
> >> limited to external readers for the moment. Until now, there is no known
> >> way to get access to application on the UICC from a phone application.
>
> >>> Moreover some of you speak about authentication, and about a password
> >>> that is not possible to have? (What are you talking about when you
> >>> speak about this stuff).
>
> >> The SmartMX in the Nexus S contains a JavaCard operating system that is
> >> compliant to GlobalPlatform. GlobalPlatform defines methods to manage
> >> multiple applications on this JavaCard. A central component of this card
> >> management is the Card Manager, which itself is one application on 
> >> thesecureelement. The card manager provides an interface to load, install,
> >> ... delete applications on thesecureelement. Additionally it controls
> >> access to these methods. To establish asecurechannel with the card
> >> manager (i.e. a connection that provides authenticity, integrity and
> >> possibly confidentiality) both, the entity that wants to manage the card
> >> and the card manager need to know one or more shared secrets, the
> >> authentication keys.
>
> >>> Anyway some news aboutNFCcard emulation
> >>> [nearfieldcommunicationworld]
> >>> it seems that Google dev will not give use api about that in the next
> >>> future.
>
> >> Still there is some developments towards card emulation going on 
> >> (cf.http://www.nfctimes.com/news/android-card-emulation-expected-despite-...
> >> )
>
> >>> Moreover, what does it mean "And if you improperly authenticate
> >>> yourself a certain number of times, there aresecureelements out
> >>> there that will physically destroy themselves and can never be
> >>> recovered"? Is related to the password of my previous questions?
>
> >> While the card manager is protected by access keys, there still exist
> >> some methods to find such keys. One of these methods would be brute
> >> forces (i.e. trying each possible key value). While such methods are
> >> usually very inefficient (if the key has an appropriate length) there
> >> might be some methods that could significantly speed up this process. As
> >> a safety mechanism the card manager usually implements an additional
> >> protection against such an attack: After ten consecutive authentication
> >> failures, the card manager locks itself and refuses any further
> >> commands. (Other applications that were previously installed on that
> >> card will continue to function as usual.) Once this lockdown has
> >> happened, there is *NO* way of reversing this. THerefore, once in
> >> lockdown no applications can be installed on, removed from, ... 
> >> thesecureelement.
>
> >> br
> >> Michael
>
> >>> On May 16, 3:48 pm, Goo_Goo <[email protected]> wrote:
> >>>> Could someone please post the the image withcardemulationenabled
> >>>> for Nexus S?
>
> >>>> On May 13, 5:08 am, Markus <[email protected]> wrote:
>
> >>>>> mtk
> >>>>> you wrote after call
> >>>>> phLibNfc_SE_SetMode(seID,phLibNfc_SE_ActModeWired,nfc_jni_se_set_mode_callb
> >>>>>  ack,
> >>>>> (void *)nat);
> >>>>> your nexus s was incardemulation
>
> >>>>> I called it with mode default
> >>>>> phLibNfc_SE_SetMode(seID,phLibNfc_SE_ActModeDefault,nfc_jni_se_set_mode_cal
> >>>>>  lback,
> >>>>> (void *)nat);
> >>>>> and get following log
> >>>>> 5-12 22:08:54.421: DEBUG/NFCJNI(303):NFCcapabilities: HAL =
> >>>>> 8150100, FW = a70414, HW = 620003, Model = 0, HCI = 1, Full_FW = 104,
> >>>>> FW Update Info = 0
> >>>>> 05-12 22:08:54.769: DEBUG/NFCJNI(303):
> >>>>> phLibNfc_SE_GetSecureElementList()
> >>>>> 05-12 22:08:54.769: DEBUG/NFCJNI(303): > Number ofSecure
> >>>>> Element(s) : 1
> >>>>> 05-12 22:08:54.769: DEBUG/NFCJNI(303):
> >>>>> phLibNfc_SE_GetSecureElementList(): SMX detected, handle=0xabcdef
> >>>>> 05-12 22:08:54.769: DEBUG/NFCJNI(303): phLibNfc_SE_SetMode() returned
> >>>>> 0x000d[NFCSTATUS_PENDING]
> >>>>> 05-12 22:08:54.828: INFO/NFCJNI(303):NFCInitialized
> >>>>> 05-12 22:08:54.828: DEBUG/NfcService(303):NFC-EE routing OFF
> >>>>> 05-12 22:08:54.847: DEBUG/NfcService(303):NFC-C discovery ON
>
> >>>>> BUT reader is not detecting a Tag on my phone
> >>>>> Is there maybe a problem to setting the mode
> >>>>> returned 0x000d[NFCSTATUS_PENDING] sounds not so great
>
> >>>>> I am working with CyanogenMod 7 (Android 2.3.4)
>
> >>>>> regards
> >>>>> Markus- Hide quoted text -
>
> >>>> - Show quoted text -

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

Reply via email to