WPS: Add support for NFC out-of-band mechanism
authorMasashi Honma <honma@ictec.co.jp>
Fri, 6 Mar 2009 14:16:22 +0000 (16:16 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 6 Mar 2009 14:16:22 +0000 (16:16 +0200)
commite1ee6b600bf09dfe1bd5b659c6c1e3d9b59243d2
tree43139febacd65b7513cdaeefdcef96a23fe40686
parent7cc1b6c900d79e6051116f4aed55b84d404c49f1
WPS: Add support for NFC out-of-band mechanism

The new file wps_nfc.c and ndef.c implements NFC device independent
operation, wps_nfc_pn531.c implements NFC device dependent operation.

This patch is only for the following use case:
- Enrollee = wpa_supplicant
- Registrar = hostapd internal Registrar

Following NFC methods can be used:
- Enrollee PIN with NFC
- Registrar PIN with NFC
- unencrypted credential with NFC

Encrypted credentials are not supported.

Enrollee side operation:

Registrar side operation:

Example configuration.
CONFIG_WPS=y
CONFIG_WPS_NFC=y
CONFIG_WPS_NFC_PN531=y

I used NFC device "NXP PN531". The NFC device access method is
confidential, so I used outer library. Please download below files from
https://www.saice-wpsnfc.bz/index.php

[WPS NFC Library]
WpsNfcLibrary/WpsNfc.h
WpsNfcLibrary/WpsNfcType.h
WpsNfcLibrary/WpsNfcVersion.h
WpsNfcLibrary/linux/libnfc_mapping_pn53x.dll
WpsNfcLibrary/linux/wpsnfc.dll

[NFC Reader/Writer Kernel Driver]
NFCKernelDriver-1.0.3/linux/kobj/sonyrw.ko

<WiFi test>
The hostapd/wpa_supplicant with this patch passed below tests on
"Wi-Fi WPS Test Plan Version 1.6".
4.2.5 Add device using NFC Method with password token
(I used SONY STA instead of NXP STA.)

4.2.6 Add device using NFC Method with configuration token

5.1.9 Add to AP using NFC Method with password token
through internal registrar
(I used SONY AP instead of NXP AP.)

5.1.10 Add to AP using NFC Method with configuration token
through internal registrar
19 files changed:
hostapd/Makefile
hostapd/ctrl_iface.c
hostapd/hostapd_cli.c
hostapd/wps_hostapd.c
hostapd/wps_hostapd.h
src/wps/ndef.c [new file with mode: 0644]
src/wps/wps.c
src/wps/wps.h
src/wps/wps_common.c
src/wps/wps_enrollee.c
src/wps/wps_i.h
src/wps/wps_nfc.c [new file with mode: 0644]
src/wps/wps_nfc_pn531.c [new file with mode: 0644]
src/wps/wps_ufd.c
wpa_supplicant/Makefile
wpa_supplicant/ctrl_iface.c
wpa_supplicant/wpa_cli.c
wpa_supplicant/wps_supplicant.c
wpa_supplicant/wps_supplicant.h