NFC: 무엇인가, 비접촉식 통신 모듈 및 작동 원리

저자: IT Sectr 게시일: 2026-03-23 읽는 시간: 8 분

NFC(Near Field Communication)는 최대 10센티미터 거리에서 장치 간 데이터 교환을 가능하게 하는 근거리 무선 통신 기술입니다. NFC는 모바일 폰에서 비접촉식 결제, 파일 전송 및 태그 읽기에 사용됩니다. Grand View Research, 2025에 따르면, 전 세계 스마트폰 및 결제 인프라에 NFC의 대량 도입으로 인해 NFC 칩 시장이 345억 달러에 도달했습니다.

주요 포인트

  • NFC는 13.56MHz에서 작동하는 무선 통신 표준으로 최대 10cm 범위를 가집니다.
  • NFC의 세 가지 모드: 읽기/쓰기(R/W), 피어투피어(P2P) 및 카드 에뮬레이션.
  • NFC는 블루투스와 달리 속도는 낮지만(424kbps) 페어링이 필요 없고 즉시 작동합니다.
  • NFC 안테나는 스마트폰의 후면 커버나 배터리에 내장되어 있으며 Secure Element를 통해 컨트롤러에 연결됩니다.
  • 비접촉식 결제(Google Pay, Apple Pay)는 모바일 기기에서 NFC의 가장 대중적인 용도입니다.

NFC란 무엇인가?

NFC(Near Field Communication)는 13.56MHz에서 작동하는 근거리 무선 데이터 전송 표준입니다. 이 기술은 RFID(무선 주파수 식별)를 기반으로 하며 ISO 14444 — 비접촉식 스마트 카드 표준 — 와 역호환됩니다. 데이터 전송 속도는 선택한 모드에 따라 106, 212 또는 424kbps입니다.

블루투스와 달리 NFC는 페어링 절차가 필요하지 않습니다 — 장치를 서로 가까이 가져가면 즉시 데이터를 교환합니다. 최대 통신 거리는 10cm로 도청에 대한 자연스러운 보호를 제공합니다. NFC Forum에 따르면, 이 기술은 전 세계적으로 30억 개 이상의 장치에서 지원되며 이 수치는 매년 15–20%씩 증가하고 있습니다.

NFC 표준은 Sony, Philips 및 Nokia가 2004년에 설립한 컨소시엄인 NFC Forum에서 개발합니다. NFC가 탑재된 최초의 휴대폰(Nokia 6131)은 2006년에 출시되었지만, 대량 보급은 2011년 Android 4.0(Ice Cream Sandwich) 출시와 2014년 Apple Pay 출시 이후 시작되었습니다. 오늘날 150달러 이상의 거의 모든 스마트폰이 NFC를 지원합니다.

휴대폰에서 NFC의 작동 모드

스마트폰의 NFC 컨트롤러는 세 가지 작동 모드를 지원하며, 각 모드는 고유한 작업 클래스를 위해 설계되었습니다. 모드 간 전환은 상호 작용하는 장치 유형에 따라 자동으로 이루어집니다.

읽기/쓰기 모드(Reader/Writer)

이 모드에서 휴대폰은 NFC 태그의 능동형 리더기 역할을 합니다. NFC 태그(스티커, 팔찌 또는 포스터)에 가까이 가져가면 휴대폰이 태그의 메모리에서 데이터를 읽습니다. 태그는 48바이트에서 32KB의 메모리를 포함하며 URL, 텍스트 또는 명령을 저장합니다. Android Beam(Nearby Share로 대체됨)은 링크와 연락처를 전송하는 데 이 모드를 사용했습니다.

피어투피어(P2P) 모드

두 NFC 장치가 직접 데이터를 교환합니다. 한 장치는 개시자 역할을 하고 다른 장치는 대상 역할을 합니다. LLCP(논리적 링크 제어 프로토콜) 표준이 연결을 관리하고 SNEP(간단한 NDEF 교환 프로토콜)이 데이터 형식을 관리합니다. P2P 모드는 연락처, 링크의 빠른 전송 또는 블루투스 페어링 시작에 사용됩니다. P2P 모드의 속도는 424kbps에 도달합니다.

카드 에뮬레이션 모드(Card Emulation)

휴대폰이 비접촉식 스마트 카드 — 결제 카드, 교통 패스 또는 출입 배지 — 를 에뮬레이션합니다. 외부 NFC 장치(POS 단말기, 개찰구)는 일반 플라스틱 카드와 동일한 방식으로 휴대폰과 상호 작용합니다. 이 모드는 Apple Pay, Google Pay 및 Samsung Pay에서 사용됩니다. 결제 보안은 결제 카드 데이터를 저장하는 격리된 칩인 Secure Element에 의해 보장됩니다.

모드사용 예Secure Element 필요
Reader/WriterURL이 포함된 NFC 태그 읽기아니요
Peer-to-Peer휴대폰 간 연락처 전송아니요
Card EmulationGoogle Pay를 통한 결제

NFC 대 블루투스: 기술 비교

NFC와 블루투스 LE(저에너지)는 자주 비교되는 두 가지 근거리 통신 기술입니다. NFC는 연결 설정 속도(0.1초)에서 우수하며 페어링이 필요 없지만 데이터 전송 속도와 범위에서 뒤떨어집니다. 블루투스 LE는 페어링이 필요하지만(2–5초) 최대 2Mbps의 속도와 최대 100미터의 범위를 제공합니다.

실제로 NFC와 블루투스는 경쟁하지 않고 서로 보완합니다. NFC는 연결 시작(핸드오버)에 사용됩니다: NFC가 블루투스 연결 매개변수(NFC 블루투스 핸드오버)를 전송하도록 장치에 휴대폰을 가까이 가져가기만 하면 됩니다. 그 후 장치는 빠른 파일 또는 오디오 스트리밍 전송을 위해 블루투스로 전환합니다.

스마트폰의 NFC 하드웨어 아키텍처

스마트폰의 NFC 모듈은 NFC 컨트롤러, NFC 안테나 및 Secure Element(안전한 작업용)의 세 가지 구성 요소로 구성됩니다. NFC 컨트롤러는 별도의 칩이거나 결합 통신 모듈(NFC + 블루투스 + Wi-Fi, 예: Qualcomm의 WCN3990)의 일부입니다. 무선 인터페이스와 교환 프로토콜을 관리합니다.

NFC 안테나는 유연한 기판(FPC) 또는 배터리 케이스에 인쇄된 코일입니다. 안테나 크기는 20×30mm, 권선 수는 3–5입니다. 안테나는 13.56MHz 주파수에 동조된 정합 회로를 통해 컨트롤러에 연결됩니다. NXP Semiconductors에 따르면 효율적인 안테나 작동에는 인덕턴스와 품질 계수의 정확한 계산이 필요합니다.

Secure Element(eSE)는 별도의 암호화 칩(NXP P71, Samsung S3K)이거나 SoC(iSE — 통합 Secure Element) 내의 격리된 영역입니다. 결제 카드 데이터를 저장하고 HCE(호스트 카드 에뮬레이션)를 위한 암호화 작업을 수행합니다. Secure Element는 Android/iOS에서 격리되어 있습니다: SWP(단일 와이어 프로토콜) 버스를 통한 APDU 명령으로만 NFC 컨트롤러가 액세스할 수 있습니다.

cpp
// Secure Element와 상호 작용하기 위한 APDU 명령 예제
const uint8_t SELECT_APDU[] = {
    0x00, 0xA4, 0x04, 0x00,            // CLA, INS, P1, P2
    0x07,                               // 데이터 길이(7바이트)
    0xA0, 0x00, 0x00, 0x00,             // RID — 등록됨
    0x03, 0x10, 0x10,                   // PIX — 애플리케이션 식별자
    0x00                                // Le — 예상 응답 길이
};

// NFC 컨트롤러를 통해 Secure Element로 명령 보내기
NfcStatus nfcStatus = sendApdu(SELECT_APDU, sizeof(SELECT_APDU));

모바일 기기에서 NFC의 응용

휴대폰의 NFC는 비접촉식 결제, 교통, 개체 접근 및 작업 자동화의 네 가지 주요 시나리오에서 사용됩니다. 가장 대중적인 응용 분야는 결제 시스템입니다: Apple Pay, Google Pay 및 Samsung Pay. 이들은 HCE(호스트 카드 에뮬레이션) 또는 Secure Element를 사용한 카드 에뮬레이션 모드로 은행 카드를 에뮬레이션합니다.

전 세계의 교통 시스템(모스크바 지하철, London Tube, New York MTA)은 모바일 지갑을 통해 NFC 결제를 수락합니다. 일본에서는 NFC 기반 FeliCa 기술(Sony)이 2004년부터 교통, 쇼핑 및 사무실 출입에 사용되었습니다. 일본 시장용 iPhone과 같은 FeliCa 칩이 탑재된 스마트폰은 Suica와 PASMO를 지원합니다.

NFC 태그를 사용하면 “스마트 홈” 시나리오를 자동화할 수 있습니다: 침대 옆 태그에 휴대폰을 가져가면 알람이 켜지고 알림이 꺼집니다. Android에서는 Android Beam / NFC Tools를 통해, iOS에서는 Shortcuts 및 NFC 트리거를 통해 구현됩니다. 일부 스마트폰은 고속 충전에도 NFC를 사용합니다 — Qi 표준은 충전기 식별에 NFC를 사용합니다.

코드 예제: Android에서 NFC 태그 읽기

Android는 Intent System을 통해 NFC 태그 처리를 위한 API를 제공합니다. 태그가 휴대폰에 가까이 가져가면 시스템이 태그와 함께 인텐트를 생성하고 애플리케이션이 NDEF(NFC 데이터 교환 형식) 형식으로 데이터를 수신합니다. 다음은 NFC 태그에서 URL 또는 텍스트를 읽는 Activity의 예입니다.

kotlin
class NfcReaderActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_nfc)
        handleNfcIntent(intent)
    }

    override fun onNewIntent(intent: Intent) {
        super.onNewIntent(intent)
        handleNfcIntent(intent)
    }

    private fun handleNfcIntent(intent: Intent) {
        if (intent.action == NfcAdapter.ACTION_NDEF_DISCOVERED) {
            val rawMessages = intent
                .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)
            rawMessages?.forEach { rawMsg ->
                val msg = rawMsg as NdefMessage
                msg.records.forEach { record ->
                    val payload = String(record.payload)
                    println("NFC data: $payload")
                }
            }
        }
    }
}

NFC로 작업하려면 매니페스트에서 android.permission.NFC 권한을 선언하고 ACTION_NDEF_DISCOVERED, ACTION_TECH_DISCOVERED 또는 ACTION_TAG_DISCOVERED에 대한 인텐트 필터를 구성해야 합니다. Android는 NDEF 레코드 유형에 따라 NFC 태그를 자동으로 필터링합니다 — 이를 통해 애플리케이션이 특정 MIME 유형 또는 URL 접두사가 있는 태그에만 응답할 수 있습니다. NFC 안테나는 일반적으로 휴대폰 후면 패널의 상단 부분에 있습니다 — 태그를 읽으려면 휴대폰 상단을 태그에 가까이 가져가세요.

자주 묻는 질문

Google Pay로 결제하려면 NFC를 켜야 하나요?

네, 비접촉식 결제를 위해서는 휴대폰 설정에서 NFC가 켜져 있어야 합니다. Google Pay는 단말기에 접근할 때 NFC를 자동으로 활성화하며, 화면이 꺼져 있어도 작동합니다(Android 10+ 및 Google Wallet이 설치된 장치에서). Apple Pay의 경우 NFC가 자동으로 켜지며 수동 활성화가 필요하지 않습니다.

NFC의 범위는 얼마인가요?

표준 NFC 범위는 최대 10센티미터입니다. 실제로 안정적인 연결을 위해 휴대폰을 리더기에서 2–4cm 거리에 가져가는 것이 좋습니다. 더 짧은 범위는 NFC를 블루투스보다 안전하게 만듭니다 — 공격자가 원격으로 데이터를 읽을 수 없습니다.

NFC를 통해 바이러스에 감염될 수 있나요?

이론적으로 NFC 태그에 악성 사이트 링크가 포함될 수 있지만, 이를 위해서는 사용자의 작업 — 링크 클릭 — 이 필요합니다. 자동 감염은 이 기술이 확인 없이 코드 실행이나 파일 설치를 지원하지 않기 때문에 NFC를 통해 불가능합니다. Android 및 iOS 운영 체제는 잠재적으로 위험한 NFC 작업을 차단합니다.

휴대폰에 NFC가 있는지 확인하는 방법은?

Android: 설정 → 연결 → NFC를 열거나(설정에서 –NFC“ 검색) iPhone: iPhone 6 이상의 모든 모델이 NFC를 지원합니다. 일부 제조사는 케이스나 상자에 NFC 기호를 표시합니다. Play Market의 NFC Check 앱을 진단에 사용할 수도 있습니다.

NFC가 휴대폰 배터리를 소모하나요?

NFC는 활성 모드 — 데이터 전송 중 — 에만 전력을 소비합니다. 대기 모드에서는 NFC 컨트롤러가 실질적으로 전력을 소비하지 않습니다(0.01mA). NFC를 켜도 휴대폰 배터리 수명에 영향을 미치지 않습니다. 이는 대기 모드에서도 전력을 소비하는 블루투스와 다릅니다.

요약

  • NFC는 13.56MHz에서 작동하는 무선 통신 표준으로 최대 10cm 범위와 최대 424kbps 속도를 가집니다.
  • NFC의 세 가지 모드: Reader/Writer(태그 읽기), Peer-to-Peer(데이터 교환), Card Emulation(결제용 카드 에뮬레이션).
  • 비접촉식 결제는 Google Pay, Apple Pay 및 Samsung Pay를 통한 스마트폰에서 NFC의 주요 응용 분야입니다.
  • NFC는 페어링이 필요 없습니다 — 0.1초 만에 연결이 설정되며 블루투스보다 빠릅니다.
  • 하드웨어 아키텍처에는 안전한 거래를 위한 NFC 컨트롤러, FPC 안테나 및 Secure Element가 포함됩니다.
  • NFC 태그는 시나리오 자동화에 사용됩니다: 휴대폰 음소거, 앱 실행, 스마트 홈 제어.
  • Android NFC API는 데이터 유형별 필터링과 함께 Intent System을 통해 NDEF 태그를 읽을 수 있게 합니다.

턴키 방식의 모바일 애플리케이션을 개발해 드립니다

IT Sectr는 2017년부터 스타트업과 기업을 위한 iOS 및 Android 애플리케이션을 만듭니다. 저희가 상담해 드리고 최적의 솔루션을 제안하겠습니다.

프로젝트 논의

더 읽어보기