23
Near Field Communication http://urbanite.tistory.com

Near field communication

Embed Size (px)

DESCRIPTION

NFC에 대한 간략한 조사

Citation preview

Page 1: Near field communication

Near Field Communication

http://urbanite.tistory.com

Page 2: Near field communication

근거리 통신

Page 3: Near field communication

What?

• NFC(Near Field Communication)는 2002년 소니와 NXP 세미컨덕터즈(구 필립스세미컨덕터즈)가 개발

• ISO/IEC 14443 proximity-card standard (비접촉카드 또는 RFID)를 확장한것

• 스마트카드와 리더기를 하나로 합쳐놓은것

• 기존의 ISO/IEEE 14443 리더기나 스마트카드와도 통신을 할 수 있다

Page 4: Near field communication

Technically

• 13.56MHz의 ISM밴드에서 14KHz의 대역폭을 사용

• 최대 동작 거리: 20cm• 지원하는 통신 속도: 106, 212, 424, 848

Kbit/s• 동작모드: Passive(w/o battery), Active

Page 5: Near field communication

NFC Core Capabilities

Page 6: Near field communication

NFC Technology Architecture

Page 7: Near field communication

Reader/Writer Mode

Page 8: Near field communication

Peer-to-Peer Mode

Page 9: Near field communication

Card Emulation Mode

Page 10: Near field communication

For Example

• Mobile ticketing in public transport• Mobile Payment• Smart poster• Bluetooth pairing : BT 2.1 devcies with

NFC support will be as easy as bringing them close together and accepting the pairing.

Page 11: Near field communication

SWP

• SWP = Single Wire Protocol, NFC functionality on the SIM

• The Single Wire Protocol (SWP) is a specification for a single-wire connection between the SIM card and a near field communication (NFC) chip in a cell phone. It is currently under final review by the European Telecommunications Standards Institute (ETSI)

Page 12: Near field communication

SWP

Page 13: Near field communication

Security

• NFC alone does not ensure secure communications

• Eavesdropping• Data Modification• Relay Attack

Page 14: Near field communication

In Japan

• FeLiCa• 소니가 개발한 FeLiCa를 교통카드에서부터 신용카드와 멤버쉽카드와 핸드폰, 결제기능이 있는 손목시계 등, 다양한 곳에서이용

• 현재 일본의 FeLiCa기능을 가지고 있는 휴대폰의 경우 카드 에뮬레이션 모드로만 동작

• 가정용 USB리더기도 구매할 수 있다

Page 15: Near field communication

Why?• Nokia는 지난 6월, 2011년에 출시되는 모든 스마트폰 라인업에 NFC 칩셋을 기본적으로 탑재할 것이라고 발표

• Broadcom이 대표적인 NFC IP(Intellectual Prorperty) 업체인Innovision을 인수

• Apple은 지난 8월, 미국의 모바일 지불 결제 업체인mFoundry에서 NFC 기술을 연구해 온 Benjamin Vigier를 영입

• Android 2.3 (Gingerbread) has NFC• Cheaper : 삼성전자 SHW-A170K나 구글 넥서스 S에 탑재된

NXP의 NFC 칩셋은 개당 1달러 수준이다.• 최근에는 모바일 결제 솔루션 업체인 Boku를 놓고 애플과 구글이 인수전

• 최근 NFC 칩 개발에 성공한 삼성전자는 내년 1분기에 본격양산

Page 16: Near field communication

In Korea

• 삼성전자-KT, 국내 최초 NFC 휴대폰 출시http://www.bloter.net/archives/44342

• 모바일 업계 화두로 떠오른 ‘근거리통신’…제조사·통신사·금융권 각축http://www.bloter.net/archives/44360

• SK텔레콤, 코엑스에 모바일 커머스존 구축http://www.smartphonenow.kr/archives/4795

Page 17: Near field communication

In Android 2.3 (Gingerbread)

• allowing applications to read NDEF message in NFC tags

NfcAdapter

+ACTION_TAG_DISCOVERED+EXTRA_ID+EXTRA_NDEF_MESSAGES

+getDefaultAdapter()+isEnabled()

NdefMessage

+CREATOR

+describeContents()+getRecords()+toByteArray()+writeToParcel()

NdefRecord

+CREATOR+RTD_ALTERNATIVE_CARRIER+RTD_HANDOVER_CARRIER+RTD_HANDOVER_REQUEST+RTD_HANDOVER_SELECT+RTD_SMART_POSTER+RTD_TEXT+RTD_URI+TNF_ABSOLUTE_URI+TNF_EMPTY+TNF_EXTERNAL_TYPE+TNF_MIME_MEDIA+TNF_UNCHANGED+TNF_UNKNOWN+TNF_WELL_KNOWN

+describeContents()+getId()+getPayload()+getTnf()+getType()+toByteArray()+writeToParcel()

Page 18: Near field communication

In Android 2.3 (Gingerbread)

• In source codes– /external/libnfc-nxp– /packages/aps/Nfc– /frameworks/base/core/java/com/android/int

ernal/nfc– /frameworks/base/core/java/android/nfc– /frameworks/base/data/etc/android.hardware

.nfc.xml

Page 19: Near field communication

/packages/aps/Nfc• ErrorCodes.java• NativeLlcpConnectionlessSock

et.java• NativeLlcpServiceSocket.java• NativeLlcpSocket.java• NativeNdefTag.java• NativeNfcManager.java• NativeNfcTag.java• NativeP2pDevice.java• NfcService.java• TagTarget.java

• com_android_nfc.cpp• com_android_nfc.h• com_android_nfc_NativeLlcpC

onnectionlessSocket.cpp• com_android_nfc_NativeLlcpS

erviceSocket.cpp• com_android_nfc_NativeLlcpS

ocket.cpp• com_android_nfc_NativeNdefT

ag.cpp• com_android_nfc_NativeNfcM

anager.cpp• com_android_nfc_NativeNfcTa

g.cpp• com_android_nfc_NativeP2pD

evice.cpp

Page 20: Near field communication

/frameworks/base/core/java/com/android/internal/nfc

• LlcpConnectionlessSocket.java• LlcpException.java• LlcpServiceSocket.java• LlcpSocket.java• NfcException.java• P2pDevice.java• P2pInitiator.java• P2pTarget.java

Page 21: Near field communication

/frameworks/base/core/java/android/nfc

• ILlcpConnectionlessSocket.aidl• ILlcpServiceSocket.aidl• ILlcpSocket.aidl• INdefTag.aidl• INfcAdapter.aidl• INfcTag.aidl• IP2pInitiator.aidl• IP2pTarget.aidl• LlcpPacket.aidl• NdefMessage.aidl• NdefRecord.aidl• NdefTag.aidl• Tag.aidl

• ErrorCodes.java• FormatException.java• LlcpPacket.java• NdefMessage.java• NdefRecord.java• NdefTag.java• NdefTagConnection.java• NfcAdapter.java• RawTagConnection.java• Tag.java

Page 22: Near field communication

/frameworks/base/data/etc/android.hardware.nfc.xml

<!-- This is the standard feature indicating that the device can communicate

using Near-Field Communications (NFC). -->

<permissions><feature name="android.hardware.nfc"

/></permissions

Page 23: Near field communication

References• http://techblog.textcube.com/141 about NFC• http://en.wikipedia.org/wiki/Near_field_communication NFC wikipedia• http://www.nfc-forum.org/specs : 스펙 무료 다운로드• http://www.libnfc.org/documentation/introduction : 오픈소스 NFC 라이브러리(리눅스,

Mac OS X, 윈도우)• http://www.open-nfc.org/opennfc_library/overview-summary.html : Open NFC for

Android• http://developer.android.com/reference/android/nfc/package-descr.html Android NFC

package• http://developer.android.com/resources/samples/NFCDemo/index.html Android NFC

Demo• http://www.touchatag.com/ 리더기와 tag 판매• http://www.sony.net/Products/felica/index.html FeliCa• http://en.wikipedia.org/wiki/FeliCa FeliCa wikipedia• http://www.nfc-forum.org/events/oulu_spotlight/Technical_Architecture.pdf NFC technical

architecture• http://www.nfc-forum.org/resources/presentations/Use_Case_Webinar_11_13.pdf NFC

user cases• http://www.slideshare.net/tdelazzari/architecture-and-development-of-nfc-applications