SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
一人でも NFC 開発




                      ueno
2012 年 3 月 3 日        hiro99ma
                           1 / 34
もくじ

開発環境の準備
  環境作り
        パソコン
        NFC R/W
        NFC カード
  カードへのアクセス方法
苦労話
  ・・・



                  2 / 34
NFC でなにしてる?
仕事でやってるわけではない
単なる趣味


    目標
なるべくお金をかけずに!



                3 / 34
開発風景




               NFC カード


パソコン
        NFC リーダライタ


                     こたつ

                           4 / 34
環境作り (1)
ホスト
      パソコン
         ●   Windows XP
                 –   cygwin
                 –   VC# + SDK for NFC Starter Kit (Sony)
                          ● どちらも無償版


         ●   Linux Ubuntu
                 –   gcc + libusb


      Android タブレット ICONIA A500
         ●   Android 3.2
                 –   USB Host 機能が使える
                 –   ( 液晶画面が壊れて見えない・・・ )

                                                            5 / 34
環境作り (2)
NFC のリーダライタ
  –   Sony の RC-S370( いわゆる PaSoRi)
         ●   Amazon : 2,500 くらい
         ●   パソコンからは” FeliCa Port” に見える
         ●   開発用途ではない ( 業務用でもないみたい )




                 黒パソリ

                                          6 / 34
環境作り (2)
NFC のリーダライタ
  –   Sony の RC-S620/S + USB シリアル変換
         ●   スイッチサイエンス社: 3,500
         ●   USB シリアル変換は 700 くらい
         ●   パソコンからはシリアルポートに見える
         ●   開発用途 ( 組み込み用 )




                         電源を逆に差して壊した…
                         せっかくなので開いたときの写真   7 / 34
環境作り (3)
NFC のカード
  –   FeliCa Lite
          ●   スイッチサイエンス社: 350
  –   Mifare Classic
  –   Mifare Ultralight
          ●   Amazon :値段は忘れた
  –   nimoca
          ●   FeliCa Standard
  –   FeliCa 入り携帯電話 ( 非スマートフォン )
          ●   Mobile FeliCa Chip

                                   8 / 34
NFC カードたち
  FeliCa Lite                   Mifare Ultralight




Mifare Classic 1K


                                      nimoca




          P906i

                                                    9 / 34
情報集め
NFC 専門の本は ( 今のところ ) ない
  –   雑誌 Interface にときどき情報が出る
主にネット
  –   Sony 技術情報
  –   NXP 技術情報
  –   NFC Forum
  –   規格 ( 次ページ )
  –   あとは検索頼み・・・
        ●   あまり出てこん


                                10 / 34
規格
                                          ISO 18092

    ISO 14443     Mifare
                                                      NFCIP-1
                   Type-A
                   106Kbps
ISO-DEP
                      NFC-A

                                          NFC-DEP

                           Type-B
                           106Kbps
      NFC Forum
                             NFC-B            ISO 21481

                                                          NFCIP-2
   FeliCa
                              ISO 15693
    212/424Kbps                   NFC-V

          NFC-F

                                                                11 / 34
基本的なカードへのアクセス
 1.リーダライタの初期化
 2.リーダライタから RF を出し始める ( 搬送波 )
 3.カードの捕捉
 4.カードの読み書き                   私の把握では、こうなってる。
                              そんなに間違ってないと思うが・・・



              カード (PICC)

                                有線コマンド送信
無線レスポンス受信          無線コマンド送信


            リーダライタ (PCD)           有線レスポンス受信

                                                  12 / 34
リーダライタから RF を出し始める
●   搬送波がリーダライタから出る
     ●   カード側のアンテナが受信
           ●   電気が生まれる!
                ●   カード側の OS が起動する
                      ● ポーリング待ちになる




                             有線コマンド送信
                搬送波




                                        13 / 34
カードの捕捉
 ●   R/W からポーリングコマンドを送信
       ●   カード側が応答を返す
              ●   R/W が、捕捉したカード情報をレスポンスで返す
                     ●   以降は、そのカードに対してアクセスする


             NFC-A/B/F でパラメータが異なる



             ターゲット (target)
                                 InListPassiveTarget 送信
無線レスポンス受信           Polling 送信


            イニシエータ (initiator)       InListPassiveTarget レスポンス
                                                                 14 / 34
終わり方
●   搬送波の圏外に出る
     ●   カード側の電気が作られなくなる!
           ●   おしまい




                        もちろん、搬送波を止めてもよい




                搬送波




                                          15 / 34
規格が決めている部分
  無線の部分は、規定している




                        決まり無し




                         有線コマンド送信
無線レスポンス受信    無線コマンド送信


                           有線レスポンス受信

                                       16 / 34
有線プロトコルの例
FeliCa Lite のポーリング (InListPassiveTarget)

 有線コマンド
    00 00 ff 09 f7 d4 4a 01 02 00 ff ff 01 00 e0 00


 有線レスポンス                                   IDm
    00 00 ff 18 e8 d5 4b 01 01 14 01 01 27 00 5d 19

    fd 67 c0 00 f0 00 00 02 06 03 00 88 b4 d0 00
                    PMm               SC




                                                      17 / 34
無線プロトコルの例
InListPassiveTarget

 有線コマンド
   00 00 ff 09 f7 d4 4a 01 02 00 ff ff 01 00 e0 00



同じプロトコルでも、
規格によって呼び名が異なる
    NFC Forum : SENSF_REQ
     JIS-X6319 : REQC
     ECMA-340 : Polling



   規格名              上記のプロトコル名称
                                                     18 / 34
●   カードへのアクセス方法
無線プロトコル→有線プロトコルで送信
   CommunicateThruEX (Sony 系 )
   InDataExchange(Sony, NXP 系 )
   InCommunicateThru(Sony, NXP 系 )

ライブラリを使う
   SDK for NFC Starter Kit (Windows)
   Android API (Android 2.3 以降 )
   libpafe
   libnfc
   OpenNFC              他にもいろいろあります
   nfcpy
                                       19 / 34
苦労話
最初に困ったこと
Sony の R/W を買ったのはいいが、コマンドが不明
コマンド資料は、 Sony から別途購入が必要
Sony の資料は、企業向けの販売しかない



            もったいない・・・




                           21 / 34
RC-S956 のコマンド
PaSoRi や RC-S620/S に入っているチップ
NXP の PN533 のコマンドと、かなり近い
    PN533 のドキュメントはダウンロード可能




  けっこう、そのまま使える

        パラメータがわかれば使えるのだが・・・




                               22 / 34
解析をする
  どうやって実現させているかわからないものは、実
  際のパケットを見てみる
  これは、かなり行儀が悪い・・・
      というよりも、怒られるような・・・
  解析の仕方
      R/W との送受信データを見る
      送ってきた無線データを見る

                       有線コマンド送信
無線レスポンス受信   無線コマンド送信


                         有線レスポンス受信
                                     23 / 34
その前に PaSoRi
シリアルと違って、 USB なのでドライバがいる
libnfc などでアクセスしているので、簡単そうだ
   適当に libusb でコマンドを転送
       あ、レスポンスが返ってきた・・・


libusb で PaSoRi 用の簡易ドライバを作成
   ついでに Android 用のドライバも作成
       Android 3.2 は USB Host 機能がある
       アプリから PaSoRi の制御ができる


                                      24 / 34
R/W との送受信データを見る (1)
やりたいこと
   自分の携帯電話にデータを送りたい
   パソコンソフトから FALP 送信させることはできる

やること
   パソコンから、携帯電話に FALP 送信
   PaSoRi にアクセスするデータを見る!


                USB

       PaSoRi         パソコン
                                25 / 34
R/W との送受信データを見る (2)
USB スニファで、 USB パケットを盗み見る
   後で知ったが、 wireshark なんかでもできるらしい




                    こういうバイナリデータを
                     ひたすら拾い集める




                                   26 / 34
R/W との送受信データを見る (3)
バイナリデータを解析
  わからないコマンドは、傾向から推測
  文字コードっぽいものは、文字にしてみる
まねする
                赤が送信、青が受信




                            27 / 34
R/W との送受信データを見る (4)
FALP 解析結果
     自作ソフトで FALP 送信できるようになった。
     携帯電話からのデータを受信したかったが、これは
      サンプルにするデータがないため、断念


備考
     非常につらい作業だった・・・
     今なら、 SDK for NFC Starter Kit でできる
          SDK for NFC Starter Kit の FALP は、 Android の
           おサイフケータイ向けでやる方がよい。

                                                    28 / 34
送ってきた無線データを見る (1)
昔からの懸念
   IDm だけで判定するのはセキュリティ的に危険!
     ・・・とは言われているものの、なんだろう?
   カードエミュレーションしてみるとわかる?


やりたいこと
   R/W をカードとして認識してもらう

やること
   RC-S620/S でカードエミュレーション
                              29 / 34
送ってきた無線データを見る (2)
R/W チップのコマンドは、大きく分けて3系統
   R/W 自身の制御用 ( 初期化とか )
       RfConfiguration など
   Initiator 系 (R/W としてカードに命令を出す )
       InListPassiveTarget など
   Target 系 ( カードになって R/W に応答する )
       カードエミュレーションは、この系統




                                     30 / 34
送ってきた無線データを見る (3)
結果
     デモをする
             かざしたカードの IDm をそのままカードエミュレーションする、
             というデモをやりました。

備考
     R/W がカードとして振る舞える以上、サービス側が
      認証付きのアクセスをするようにすべし

     Sony の技術情報には、 IDm のユニーク性を保証し
      ないことが書かれていたように思う
                場所を見つけられなかった・・・



                                            31 / 34
IDm (1)
製造番号 (manufacturer ID)
     NFCID2
システムごとに振られる
     共通領域とサイバネ領域では異なる、など
FeliCa Networks 社が管理 ( 確か… )
     なので、「市場に出回っている」カードの IDm は
      ほぼユニークになっていると思う ユニーク性の保証はしてない
ちょっと技があれば「なりすませる」
     IDm のユニーク性は、識別には使えるけれども、
       セキュリティとしては使えない
                                 32 / 34
IDm (2)
NFCID だけでの識別は危険
   特に NFCID2
               NFCID1 は 3byte しか指定できないので。


「どんなカードでも鍵にできます」というタイプ
   大丈夫かしら・・・
       IDm しか見ないの?
       カードに自分の情報を持たないということ?
       認証無しの情報しか使わないということ?
   危険性を回避した上での製品であってほしい・・・


                                            33 / 34
おしまい



最後までおつきあいいただき、ありがとうございます。




                        34 / 34

Contenu connexe

Tendances

目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜Takahiro Inoue
 
FeliCa/NFCの概説とAndroidの対応状況
FeliCa/NFCの概説とAndroidの対応状況FeliCa/NFCの概説とAndroidの対応状況
FeliCa/NFCの概説とAndroidの対応状況Isao Soma
 
これからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみようこれからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみようNobuyuki Sasaki
 
超便利! Unity Cloud Build の使い方
超便利! Unity Cloud Build の使い方超便利! Unity Cloud Build の使い方
超便利! Unity Cloud Build の使い方Makoto Ito
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
パスワードのいらない世界へ  FIDO認証の最新状況
パスワードのいらない世界へ  FIDO認証の最新状況パスワードのいらない世界へ  FIDO認証の最新状況
パスワードのいらない世界へ  FIDO認証の最新状況FIDO Alliance
 
GNU AGPLv3について(On GNU AGPLv3)
GNU AGPLv3について(On GNU AGPLv3)GNU AGPLv3について(On GNU AGPLv3)
GNU AGPLv3について(On GNU AGPLv3)真行 八田
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
Deflate
DeflateDeflate
Deflate7shi
 
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified IDNaohiro Fujie
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編hdais
 
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラムMinoru Nakamura
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解MITSUNARI Shigeo
 
LinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみたLinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみたHiraku Toyooka
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春VerMasahito Zembutsu
 
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化dcubeio
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみようTakashi Kajinami
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414Kentaro Ebisawa
 

Tendances (20)

目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
 
FeliCa/NFCの概説とAndroidの対応状況
FeliCa/NFCの概説とAndroidの対応状況FeliCa/NFCの概説とAndroidの対応状況
FeliCa/NFCの概説とAndroidの対応状況
 
これからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみようこれからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみよう
 
超便利! Unity Cloud Build の使い方
超便利! Unity Cloud Build の使い方超便利! Unity Cloud Build の使い方
超便利! Unity Cloud Build の使い方
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
パスワードのいらない世界へ  FIDO認証の最新状況
パスワードのいらない世界へ  FIDO認証の最新状況パスワードのいらない世界へ  FIDO認証の最新状況
パスワードのいらない世界へ  FIDO認証の最新状況
 
GNU AGPLv3について(On GNU AGPLv3)
GNU AGPLv3について(On GNU AGPLv3)GNU AGPLv3について(On GNU AGPLv3)
GNU AGPLv3について(On GNU AGPLv3)
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
Deflate
DeflateDeflate
Deflate
 
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
 
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
 
initramfsについて
initramfsについてinitramfsについて
initramfsについて
 
LinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみたLinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみた
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
 
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 

Similaire à 一人でもNFC開発

NFC元年 ~AndroidからみたNFCについて~
NFC元年 ~AndroidからみたNFCについて~NFC元年 ~AndroidからみたNFCについて~
NFC元年 ~AndroidからみたNFCについて~Kouta Imanaka
 
Android NFCアプリハンズオン
Android NFCアプリハンズオンAndroid NFCアプリハンズオン
Android NFCアプリハンズオンTomoki YAMASHITA
 
About nfc
About nfcAbout nfc
About nfctreby
 
201104016 osc2011 kobe
201104016 osc2011 kobe201104016 osc2011 kobe
201104016 osc2011 kobeYamauchi isamu
 
福岡NFC勉強会
福岡NFC勉強会福岡NFC勉強会
福岡NFC勉強会treby
 
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)Hirokuma Ueno
 
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015CODE BLUE
 
20110715 osc2011 kyoto
20110715 osc2011 kyoto20110715 osc2011 kyoto
20110715 osc2011 kyotoYamauchi isamu
 
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオン
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオンSORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオン
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオンSORACOM,INC
 
私とNFC(歴史編)
私とNFC(歴史編)私とNFC(歴史編)
私とNFC(歴史編)Hirokuma Ueno
 
IC CARD WORLD 2011 - Sony Android tablet & NFC/FeliCa
IC CARD WORLD 2011 - Sony Android tablet & NFC/FeliCaIC CARD WORLD 2011 - Sony Android tablet & NFC/FeliCa
IC CARD WORLD 2011 - Sony Android tablet & NFC/FeliCaIsao Soma
 
汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル
汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル
汎用LoRaWANセンサノード LSN50 -V2日本語マニュアルCRI Japan, Inc.
 
About FeliCa Lite(日本語)
About FeliCa Lite(日本語)About FeliCa Lite(日本語)
About FeliCa Lite(日本語)Hirokuma Ueno
 
NFCIP-1を斜め読み
NFCIP-1を斜め読みNFCIP-1を斜め読み
NFCIP-1を斜め読みHirokuma Ueno
 
ARPトラブルあるある JANOG38 LT
ARPトラブルあるある JANOG38 LTARPトラブルあるある JANOG38 LT
ARPトラブルあるある JANOG38 LT一清 井上
 
13apr2013 kernelvm8-main
13apr2013 kernelvm8-main13apr2013 kernelvm8-main
13apr2013 kernelvm8-mainShotaro Uchida
 
モーターを低速で定速で動かしてみる
モーターを低速で定速で動かしてみるモーターを低速で定速で動かしてみる
モーターを低速で定速で動かしてみるKeiichi Sakai
 

Similaire à 一人でもNFC開発 (20)

NFC元年 ~AndroidからみたNFCについて~
NFC元年 ~AndroidからみたNFCについて~NFC元年 ~AndroidからみたNFCについて~
NFC元年 ~AndroidからみたNFCについて~
 
Android NFCアプリハンズオン
Android NFCアプリハンズオンAndroid NFCアプリハンズオン
Android NFCアプリハンズオン
 
About nfc
About nfcAbout nfc
About nfc
 
201104016 osc2011 kobe
201104016 osc2011 kobe201104016 osc2011 kobe
201104016 osc2011 kobe
 
福岡NFC勉強会
福岡NFC勉強会福岡NFC勉強会
福岡NFC勉強会
 
FALPとLLCP
FALPとLLCPFALPとLLCP
FALPとLLCP
 
About FeliCa Plug
About FeliCa PlugAbout FeliCa Plug
About FeliCa Plug
 
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)
 
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
 
Kernel vm-2014-05-25
Kernel vm-2014-05-25Kernel vm-2014-05-25
Kernel vm-2014-05-25
 
20110715 osc2011 kyoto
20110715 osc2011 kyoto20110715 osc2011 kyoto
20110715 osc2011 kyoto
 
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオン
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオンSORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオン
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオン
 
私とNFC(歴史編)
私とNFC(歴史編)私とNFC(歴史編)
私とNFC(歴史編)
 
IC CARD WORLD 2011 - Sony Android tablet & NFC/FeliCa
IC CARD WORLD 2011 - Sony Android tablet & NFC/FeliCaIC CARD WORLD 2011 - Sony Android tablet & NFC/FeliCa
IC CARD WORLD 2011 - Sony Android tablet & NFC/FeliCa
 
汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル
汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル
汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル
 
About FeliCa Lite(日本語)
About FeliCa Lite(日本語)About FeliCa Lite(日本語)
About FeliCa Lite(日本語)
 
NFCIP-1を斜め読み
NFCIP-1を斜め読みNFCIP-1を斜め読み
NFCIP-1を斜め読み
 
ARPトラブルあるある JANOG38 LT
ARPトラブルあるある JANOG38 LTARPトラブルあるある JANOG38 LT
ARPトラブルあるある JANOG38 LT
 
13apr2013 kernelvm8-main
13apr2013 kernelvm8-main13apr2013 kernelvm8-main
13apr2013 kernelvm8-main
 
モーターを低速で定速で動かしてみる
モーターを低速で定速で動かしてみるモーターを低速で定速で動かしてみる
モーターを低速で定速で動かしてみる
 

Plus de Hirokuma Ueno

nRF51のGPIOTEについて
nRF51のGPIOTEについてnRF51のGPIOTEについて
nRF51のGPIOTEについてHirokuma Ueno
 
Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2Hirokuma Ueno
 
Nordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみましたNordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみましたHirokuma Ueno
 
月刊NDEF 2013年12月号
月刊NDEF 2013年12月号月刊NDEF 2013年12月号
月刊NDEF 2013年12月号Hirokuma Ueno
 
月刊NDEF 2013年8月号
月刊NDEF 2013年8月号月刊NDEF 2013年8月号
月刊NDEF 2013年8月号Hirokuma Ueno
 
旅行カバンとNFC
旅行カバンとNFC旅行カバンとNFC
旅行カバンとNFCHirokuma Ueno
 
NDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiNDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiHirokuma Ueno
 
NDEF Writerを使ってみよう
NDEF Writerを使ってみようNDEF Writerを使ってみよう
NDEF Writerを使ってみようHirokuma Ueno
 
月刊NDEF 2013年1月号
月刊NDEF 2013年1月号月刊NDEF 2013年1月号
月刊NDEF 2013年1月号Hirokuma Ueno
 
MIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsMIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsHirokuma Ueno
 
SNEPは大変だった
SNEPは大変だったSNEPは大変だった
SNEPは大変だったHirokuma Ueno
 
一人でもSNEP開発
一人でもSNEP開発一人でもSNEP開発
一人でもSNEP開発Hirokuma Ueno
 
SDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみるSDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみるHirokuma Ueno
 
財布を忘れると困る
財布を忘れると困る財布を忘れると困る
財布を忘れると困るHirokuma Ueno
 

Plus de Hirokuma Ueno (20)

nRF51のGPIOTEについて
nRF51のGPIOTEについてnRF51のGPIOTEについて
nRF51のGPIOTEについて
 
Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2
 
Nordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみましたNordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみました
 
About FeliCa Lite-S
About FeliCa Lite-SAbout FeliCa Lite-S
About FeliCa Lite-S
 
月刊NDEF 2013年12月号
月刊NDEF 2013年12月号月刊NDEF 2013年12月号
月刊NDEF 2013年12月号
 
月刊NDEF 2013年8月号
月刊NDEF 2013年8月号月刊NDEF 2013年8月号
月刊NDEF 2013年8月号
 
月刊NDEF 5月号
月刊NDEF 5月号月刊NDEF 5月号
月刊NDEF 5月号
 
旅行カバンとNFC
旅行カバンとNFC旅行カバンとNFC
旅行カバンとNFC
 
NDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiNDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRi
 
NDEF Writerを使ってみよう
NDEF Writerを使ってみようNDEF Writerを使ってみよう
NDEF Writerを使ってみよう
 
月刊NDEF 2013年1月号
月刊NDEF 2013年1月号月刊NDEF 2013年1月号
月刊NDEF 2013年1月号
 
MIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsMIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess Conditions
 
SNEPは大変だった
SNEPは大変だったSNEPは大変だった
SNEPは大変だった
 
NFC切手
NFC切手NFC切手
NFC切手
 
NFCの汎化
NFCの汎化NFCの汎化
NFCの汎化
 
一人でもSNEP開発
一人でもSNEP開発一人でもSNEP開発
一人でもSNEP開発
 
らくがき
らくがきらくがき
らくがき
 
NFCテルミン
NFCテルミンNFCテルミン
NFCテルミン
 
SDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみるSDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみる
 
財布を忘れると困る
財布を忘れると困る財布を忘れると困る
財布を忘れると困る
 

Dernier

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Dernier (12)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

一人でもNFC開発

  • 1. 一人でも NFC 開発 ueno 2012 年 3 月 3 日 hiro99ma 1 / 34
  • 2. もくじ 開発環境の準備 環境作り パソコン NFC R/W NFC カード カードへのアクセス方法 苦労話 ・・・ 2 / 34
  • 4. 開発風景 NFC カード パソコン NFC リーダライタ こたつ 4 / 34
  • 5. 環境作り (1) ホスト パソコン ● Windows XP – cygwin – VC# + SDK for NFC Starter Kit (Sony) ● どちらも無償版 ● Linux Ubuntu – gcc + libusb Android タブレット ICONIA A500 ● Android 3.2 – USB Host 機能が使える – ( 液晶画面が壊れて見えない・・・ ) 5 / 34
  • 6. 環境作り (2) NFC のリーダライタ – Sony の RC-S370( いわゆる PaSoRi) ● Amazon : 2,500 くらい ● パソコンからは” FeliCa Port” に見える ● 開発用途ではない ( 業務用でもないみたい ) 黒パソリ 6 / 34
  • 7. 環境作り (2) NFC のリーダライタ – Sony の RC-S620/S + USB シリアル変換 ● スイッチサイエンス社: 3,500 ● USB シリアル変換は 700 くらい ● パソコンからはシリアルポートに見える ● 開発用途 ( 組み込み用 ) 電源を逆に差して壊した… せっかくなので開いたときの写真 7 / 34
  • 8. 環境作り (3) NFC のカード – FeliCa Lite ● スイッチサイエンス社: 350 – Mifare Classic – Mifare Ultralight ● Amazon :値段は忘れた – nimoca ● FeliCa Standard – FeliCa 入り携帯電話 ( 非スマートフォン ) ● Mobile FeliCa Chip 8 / 34
  • 9. NFC カードたち FeliCa Lite Mifare Ultralight Mifare Classic 1K nimoca P906i 9 / 34
  • 10. 情報集め NFC 専門の本は ( 今のところ ) ない – 雑誌 Interface にときどき情報が出る 主にネット – Sony 技術情報 – NXP 技術情報 – NFC Forum – 規格 ( 次ページ ) – あとは検索頼み・・・ ● あまり出てこん 10 / 34
  • 11. 規格 ISO 18092 ISO 14443 Mifare NFCIP-1 Type-A 106Kbps ISO-DEP NFC-A NFC-DEP Type-B 106Kbps NFC Forum NFC-B ISO 21481 NFCIP-2 FeliCa ISO 15693 212/424Kbps NFC-V NFC-F 11 / 34
  • 12. 基本的なカードへのアクセス 1.リーダライタの初期化 2.リーダライタから RF を出し始める ( 搬送波 ) 3.カードの捕捉 4.カードの読み書き 私の把握では、こうなってる。 そんなに間違ってないと思うが・・・ カード (PICC) 有線コマンド送信 無線レスポンス受信 無線コマンド送信 リーダライタ (PCD) 有線レスポンス受信 12 / 34
  • 13. リーダライタから RF を出し始める ● 搬送波がリーダライタから出る ● カード側のアンテナが受信 ● 電気が生まれる! ● カード側の OS が起動する ● ポーリング待ちになる 有線コマンド送信 搬送波 13 / 34
  • 14. カードの捕捉 ● R/W からポーリングコマンドを送信 ● カード側が応答を返す ● R/W が、捕捉したカード情報をレスポンスで返す ● 以降は、そのカードに対してアクセスする NFC-A/B/F でパラメータが異なる ターゲット (target) InListPassiveTarget 送信 無線レスポンス受信 Polling 送信 イニシエータ (initiator) InListPassiveTarget レスポンス 14 / 34
  • 15. 終わり方 ● 搬送波の圏外に出る ● カード側の電気が作られなくなる! ● おしまい もちろん、搬送波を止めてもよい 搬送波 15 / 34
  • 16. 規格が決めている部分 無線の部分は、規定している 決まり無し 有線コマンド送信 無線レスポンス受信 無線コマンド送信 有線レスポンス受信 16 / 34
  • 17. 有線プロトコルの例 FeliCa Lite のポーリング (InListPassiveTarget) 有線コマンド 00 00 ff 09 f7 d4 4a 01 02 00 ff ff 01 00 e0 00 有線レスポンス IDm 00 00 ff 18 e8 d5 4b 01 01 14 01 01 27 00 5d 19 fd 67 c0 00 f0 00 00 02 06 03 00 88 b4 d0 00 PMm SC 17 / 34
  • 18. 無線プロトコルの例 InListPassiveTarget 有線コマンド 00 00 ff 09 f7 d4 4a 01 02 00 ff ff 01 00 e0 00 同じプロトコルでも、 規格によって呼び名が異なる NFC Forum : SENSF_REQ JIS-X6319 : REQC ECMA-340 : Polling 規格名 上記のプロトコル名称 18 / 34
  • 19. カードへのアクセス方法 無線プロトコル→有線プロトコルで送信 CommunicateThruEX (Sony 系 ) InDataExchange(Sony, NXP 系 ) InCommunicateThru(Sony, NXP 系 ) ライブラリを使う SDK for NFC Starter Kit (Windows) Android API (Android 2.3 以降 ) libpafe libnfc OpenNFC 他にもいろいろあります nfcpy 19 / 34
  • 21. 最初に困ったこと Sony の R/W を買ったのはいいが、コマンドが不明 コマンド資料は、 Sony から別途購入が必要 Sony の資料は、企業向けの販売しかない もったいない・・・ 21 / 34
  • 22. RC-S956 のコマンド PaSoRi や RC-S620/S に入っているチップ NXP の PN533 のコマンドと、かなり近い PN533 のドキュメントはダウンロード可能 けっこう、そのまま使える パラメータがわかれば使えるのだが・・・ 22 / 34
  • 23. 解析をする どうやって実現させているかわからないものは、実 際のパケットを見てみる これは、かなり行儀が悪い・・・ というよりも、怒られるような・・・ 解析の仕方 R/W との送受信データを見る 送ってきた無線データを見る 有線コマンド送信 無線レスポンス受信 無線コマンド送信 有線レスポンス受信 23 / 34
  • 24. その前に PaSoRi シリアルと違って、 USB なのでドライバがいる libnfc などでアクセスしているので、簡単そうだ 適当に libusb でコマンドを転送 あ、レスポンスが返ってきた・・・ libusb で PaSoRi 用の簡易ドライバを作成 ついでに Android 用のドライバも作成 Android 3.2 は USB Host 機能がある アプリから PaSoRi の制御ができる 24 / 34
  • 25. R/W との送受信データを見る (1) やりたいこと 自分の携帯電話にデータを送りたい パソコンソフトから FALP 送信させることはできる やること パソコンから、携帯電話に FALP 送信 PaSoRi にアクセスするデータを見る! USB PaSoRi パソコン 25 / 34
  • 26. R/W との送受信データを見る (2) USB スニファで、 USB パケットを盗み見る 後で知ったが、 wireshark なんかでもできるらしい こういうバイナリデータを ひたすら拾い集める 26 / 34
  • 27. R/W との送受信データを見る (3) バイナリデータを解析 わからないコマンドは、傾向から推測 文字コードっぽいものは、文字にしてみる まねする 赤が送信、青が受信 27 / 34
  • 28. R/W との送受信データを見る (4) FALP 解析結果 自作ソフトで FALP 送信できるようになった。 携帯電話からのデータを受信したかったが、これは サンプルにするデータがないため、断念 備考 非常につらい作業だった・・・ 今なら、 SDK for NFC Starter Kit でできる SDK for NFC Starter Kit の FALP は、 Android の おサイフケータイ向けでやる方がよい。 28 / 34
  • 29. 送ってきた無線データを見る (1) 昔からの懸念 IDm だけで判定するのはセキュリティ的に危険! ・・・とは言われているものの、なんだろう? カードエミュレーションしてみるとわかる? やりたいこと R/W をカードとして認識してもらう やること RC-S620/S でカードエミュレーション 29 / 34
  • 30. 送ってきた無線データを見る (2) R/W チップのコマンドは、大きく分けて3系統 R/W 自身の制御用 ( 初期化とか ) RfConfiguration など Initiator 系 (R/W としてカードに命令を出す ) InListPassiveTarget など Target 系 ( カードになって R/W に応答する ) カードエミュレーションは、この系統 30 / 34
  • 31. 送ってきた無線データを見る (3) 結果 デモをする かざしたカードの IDm をそのままカードエミュレーションする、 というデモをやりました。 備考 R/W がカードとして振る舞える以上、サービス側が 認証付きのアクセスをするようにすべし Sony の技術情報には、 IDm のユニーク性を保証し ないことが書かれていたように思う 場所を見つけられなかった・・・ 31 / 34
  • 32. IDm (1) 製造番号 (manufacturer ID) NFCID2 システムごとに振られる 共通領域とサイバネ領域では異なる、など FeliCa Networks 社が管理 ( 確か… ) なので、「市場に出回っている」カードの IDm は ほぼユニークになっていると思う ユニーク性の保証はしてない ちょっと技があれば「なりすませる」 IDm のユニーク性は、識別には使えるけれども、 セキュリティとしては使えない 32 / 34
  • 33. IDm (2) NFCID だけでの識別は危険 特に NFCID2 NFCID1 は 3byte しか指定できないので。 「どんなカードでも鍵にできます」というタイプ 大丈夫かしら・・・ IDm しか見ないの? カードに自分の情報を持たないということ? 認証無しの情報しか使わないということ? 危険性を回避した上での製品であってほしい・・・ 33 / 34