On Mon, Apr 4, 2011 at 11:49 PM, JMC114 <[email protected]> wrote:

> Hey Michael,
>
> Thank you very much for you elaborate answer. As you suggested, I did
> not distinguish between smart cards and NFC tags.
>
> I have several follow-up questions regarding your answer.
>
> *Regarding P2P communication*
>
> - If I understand correctly, Android uses a proprietary protocol
> (which I believe is called com.android.npp) on top of LLCP as
> specified by the NFC Forum, which is a protocol on top of NFCIP-1 as
> specified in ISO 18092. I read in another discussion in this group
> about a spec on com.android.npp that's due to be published, is there
> any information as to a specific date for this publication? Or is
> there any other (documented) way for regular terminals or desktop
> readers to communicate with an Android phone over P2P?
>

Just want to clarify this - NPP is an open protocol. We've published the
spec here:

   http://source.android.com/compatibility/ndef-push-protocol.pdf



>
> *Regarding Card Emulation*
>
> - How would installation of an application on the SE work? // How
> would permission be given, and to whom? I don't yet clearly see how
> this would work in practice.
>
> - And more specifically, how would one develop and test an application
> for the SE, if it requires permission by the SE owner.
>
> - You mentioned it's possible to emulate a card with some tweaking of
> the android source, how far could you go with this? Any pointers?
>
> Either way, thank you very much for you clarification on card
> emulation and the different NFC modes.
>
> Thanks,
> JMC
>
> On Apr 4, 2:07 pm, Michael Roland <[email protected]> wrote:
> > Hallo JMC,
> >
> > I think there is a big misunderstanding out there of whatcardemulation
> > is (and what it is not!).
> >
> > First of all, NFC has three different communication modes:
> > * Reader/writer mode,
> > * Peer-to-peer mode, and
> > *Card-emulationmode
> >
> > *Reader/writer mode* is used to access NFC tag (i.e. tags that comply to
> > the tag formats specified by the NFC Forum and contain NDEF data).
> > Moreover, this modes provides compatibility to existing RFID (13.56MHz,
> > inductive, proximity coupling)cardinfrastructures (i.e. you can
> > interact with contactless smart (and memory) cards, like MIFARE,
> > ePassports, ...)
> > The Nexus S supports reader/writer mode for 3 (4) contactless standards:
> >     - ISO/IEC 14443 Type A (e.g. MIFARE) and Type B
> >     - JIS X 6319-4 (that's FeliCa)
> >     - ISO/IEC 15693 (that's vicinity coupling cards, which is not NFC
> >       but uses a similar communication technique also in 13.56 MHz)
> >
> > *Peer-to-peer mode* is used for direct communication between two NFC
> > devices (e.g. two mobile phones, but an NFC device can be pretty much
> > anything). This mode lifts the restrictions imposed by an "active reader
> > -- passivecard" system. Thus, in a classic RFID/smartcardsystem there
> > is a reader device that starts and controls the communication with one
> > or multiple cards, and cards that process commands received by reader.
> > Whereas, in a peer-to-peer system any device can start (and control) the
> > communication with any other device.
> > Peer-to-peer mode is used to exchange any data between NFC devices. This
> > data can be as simple as NDEF messages, but it's even possible to tunnel
> > other network protocols like IP over a peer-to-peer link.
> > The Nexus S supports the peer-to-peer protocol (NFC-DEP, ISO/IEC 18092)
> > with LLCP (NFC Logical Link Control Protocol) on top. With the current
> > API level only a simple exchange of NDEF messages (with Android's
> > proprietary protocol on top of LLCP) is possible.
> >
> > *Card-emulationmode* is used to emulate a contactless smartcardwith
> > an NFC device. This mode provides compatibility to existing RFID
> > (13.56MHz, inductive, proximity coupling) reader infrastructures. An NFC
> > device incard-emulationmode acts the same as any "real" contactless
> > smartcard.
> > Withcardemulationit is important to notice the difference between a
> > _contactless smart card_ and an _NFC tag_:
> >
> >   - An NFC tag is a contactless transponder that has a certain memory
> >     layout and contains standardized data elements (NDEF messages).
> >     Four such layouts are defined by the NFC Forum (tag types 1 to 4).
> >     Tag type 1 is based on Innovision's Jewel tags, tag type 2 is
> >     based on NXP's MIFARE Ultralight. So I would not consider these
> >     two "smart" cards (they are more like simple memory cards). Tag
> >     type 3 is based on FeliCa and tag type 4 is based on the ISO/IEC
> >     7816-4 smartcardstandard. Therefore, the latter certainly are
> >     smart cards. Yet, in this case an NFC tag is a smartcardwith a
> >     specific file layout (i.e. acardthat contains the "NDEF
> >     application").
> >     Besides the standardized NFC tag formats, vendors like NXP have
> >     created guidelines for using their contactlesscardtechnologies
> >     (e.g. MIFARE Classic) as NFC tags.
> >     An NFC tag is only data storage and doesn't have (may have but
> >     not use) special security features like data encryption, ...
> >
> >   - A smartcardcan be much more than an NFC tag. A smartcardcan
> >     contain, for instance, a credit/debitcardapplication, a
> >     ticketing application for public transport ...
> >     These applications have even existed before NFC. They DO NOT use
> >     the NDEF format to exchange data. Instead they use their own
> >     protocols (e.g. EMV for payment cards). Often they use special
> >     security features of smart cards (high security execution
> >     environment, highly secure data storage, cryptographic
> >     processing power ...)
> >
> > So thecard-emulationmode allows theemulationof a contactless
> msartcard(and not an NFC tag, although the smartcardcould *possibly* be
> > used as NFC tag). As applications like credit cards typically have high
> > security requirements,cardemulationis not handled by the NFC device
> > itself (i.e. the application processor of an NFC-enabled mobile phone).
> > Instead, the NFC device has a dedicated hardware component (the
> > so-called Secure Element) that handles all thecardemulation. (*)
> >
> >   (*) This is not entirely true, as some NFC controllers (like the
> >       PN544) would theoretically allow theemulationof ISO/IEC
> >       14443-4 contactelss smart cards from the application processor.
> >       Yet, I don't know of any NFC phone that makes this functionality
> >       available to the user and I rather doubt that this will become
> >       available on the Nexus S.
> >
> > The Secure Element (SE) is typically a smartcarditself. But instead of
> > a normal contact/contactless smartcardinterface it has a connection to
> > the NFC controller, which connects it to the NFC antenna.
> >
> > The Nexus S has an integrated SE (a SmartMX combined into the same
> > package as the PN544 NFC controller). This SmartMX emulates a ISO/IEC
> > 14443 (Type A) smartcardand a MIFARE Classiccard.
> > In addition to this integrated SE it is possible to use a special UICC
> > (also known as SIMcard) that supports the Single Wire Protocol (which
> > is an interface designed for the communiction between the NFC controller
> > and a UICC) as the SE.
> >
> > So the Nexus S will definitly support theemulationof contactless smart
> > cards (with a bit of tweaking the Android sourcesthis is already
> > possible to some extent). Yet, the SE is a protected environmentwhere
> > you can't simply install your application. Instead, you have to ask the
> > owner for permission to install your application. The "owner is not the
> > user who bought the device but instead the device's vendor. So, for the
> > internal SE of the Nexus S it is Samsung/Google(?) who decide who gets
> > access to the SE. For the UICC it is your telco who decides this.
> >
> > As a consequence an "NDEF application" will most likely not make it into
> > the SE. So you won't be able to use your phone as *NFC tag*. But there
> > is not much use for this anyways as a device that understands NDEF would
> > most likely be an NFC device that also supports peer-to-peer mode.
> >
> > To summarize this,cardemulationwill certainly become available for
> > the applications you mentioned. But it will not be used to transport
> > *NDEF data* between devices.
> >
> > br,
> > Michael
> >
> > On 02.04.2011 22:45 JMC114 wrote:
> >
> >
> >
> >
> >
> >
> >
> > > Hey Michael,
> >
> > > Why - may I ask - do you think this possibility will not be made
> > > available to android phones? It seems to me it's a rather important
> > > part of NFC. The part where it makes phones compatible to existing
> > > infrastructures based on RFID (without changing those
> > > infrastructures), namely those in public transport, building access,
> > > charge points for electric driving, etc.
> >
> > > I - for one - believe the general public's adoption of NFC technology
> > > strongly depends on this.
> >
> > > Thoughts?
> >
> > > Gr,
> > > JMC
> >
> > > On Mar 23, 11:03 am, Michael Roland <[email protected]> wrote:
> > >> Hallo,
> >
> > >> the current SDK does not allow you to usecardemulation.
> >
> > >> Anyways, withcard*emulation* you will not be able to simulate an
> > >> *NFC tag* (i.e. a tag where you store simple NDEF messages).Card
> > >>emulationmode allows to emulate a contactless smartcard (typically
> > >> used for applications with high security requirements, like credit
> > >> cards). While such acard(emulated or real) can be used to carry NDEF
> > >> messages, I really doubt that this possibility will be made available
> > >> for the Android phones.
> >
> > >> br,
> > >> Michael
> >
> > >> On Mar 23, 5:14 am, Zhihong GUO <[email protected]> wrote:
> >
> > >>> Hi all,
> >
> > >>> about NFC in Gingerbread, is it possible to simulate a tag by the
> SDK? I
> > >>> have found the support for tag read/write and P2P push message, but
> haven't
> > >>> found any support oncardsimulate.
> >
> > >>> thanks
> >
> > >>> James
>
> --
> 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
>

-- 
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