質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
NFC

無線通信

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

0回答

317閲覧

iOSアプリでFeliCaタグにパスワード設定をしたい

takk_014

総合スコア53

NFC

無線通信

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2022/10/31 07:50

iOSアプリを使ってFeliCaタグにパスワードを掛けて書き込み制限をしたいです。
使用するFeliCaタグはRC-S730です。

FeliCaの仕様について詳しい方がいたら教えて欲しいです。

既にiOSアプリでNFCNDEFの読み書きやシリアルナンバーの読み出し等はできています。
しかし、FeliCa機能を搭載したタグへの書き込みをパスワードで制限する方法が見つからないです。
そのため現状では誰でもFeliCaタグに書き込みができてしまいます。

先方によるとFeliCaの機能を使うことにってFeliCaタグにパスワードを設けることができるとの話でした。
しかし、FeliCaの仕様書を一通り読み漁ったところ明確にパスワード設定ができると書かれている項目は見つからなかったです。

しかしこちらを見ると鍵がなければアクセスできない領域があるようです。
そのためこの領域を扱ってパスワード設定を実装したいと思ったのですがcoreNFCで実際にその領域を扱うメソッド等は見つからなかったです。

どうしたらFeliCaタグにパスワードを設定できるでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2022/11/01 11:30

恐らく質問者さんの中で混乱があると思いますが、RC-S730 https://www.sony.co.jp/Products/felica/business/products/iccard/RC-S967.html は「FeliCa Lite-S」のICタグとして動作できるモジュールで、質問者さんがが参照している https://fcf.jp/fcf-un1239212399.html は、Suicaなど交通系カードで多く使われる「FeliCa Standard」のICタグに関する話です。(加えてFCFカード独自のフォーマットによるサービスの話のようです) つまり別モノです。ただ、どちらも「パスワード」と言うよりは「鍵」に相当するデータをICタグに埋め込んで、それぞれ認証を行うようにプログラムを書きます。その辺りの理解、区別をしてからでないと望む情報には行き当らないかもしれません。 [FeliCa Lite-Sの相互認証機能とは? - SONY] https://www.sony.co.jp/Products/felica/business/support/faq/detail/15.html
takk_014

2022/11/02 01:10

コメントありがとうございます。 情報整理ができていない状態で質問してすみません。 現在FeliCaの仕様書を一から読み込んでまとめ資料を作っています。 FeliCa Lite-Sの相互認証機能について調べました。 リーダ/ライタ(iOSアプリ)が生成するMACとFeliCaタグ内にある極小CPUが生成するMACを比較して一致した時だけ書き込みを行うという仕組みのようです。(おそらくこのMACが鍵と呼ばれている) これは本来改ざん防止のための仕組みですが。 FeliCa Lite-Sにはカード鍵領域と呼ばれる書き込みしかできない領域があり、その領域にパスワードを書き込み、そのパスワードとその他諸々のデータから暗号化アルゴリズムを使用してMACを生成します。 リーダ/ライタ(iOSアプリ)もアプリ利用者が入力したパスワードと、その他諸々のデータ(先述したものと同じデータ)から同じ暗号化アルゴリズムを使用してMACを生成します。 両者MACを比較することでパスワードが一致してるか否かを判別できるようです。 しかし、このカード鍵領域というのが後から何度でも書き込みできるのか?他者からの書き込みを防ぐことができるのか?というのが問題になります。 できなければパスワードの変更ができなかったり、他人がパスワードを変えることができてしまいます。 カード鍵領域ついては仕様書を読み込んで調べるつもりですが、何か分かったことや知っていることがあれば教えていただきたいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問