SlideShare a Scribd company logo
1 of 11
hiro99ma
 FeliCa   Lite へのアクセス
  Write Without Encryption (UPDATE)
  Read Without Encryption (CHECK)
   ▪ どちらも、認証無しでアクセスできる
 読み取られるのは仕方ないとしても、
 データを書き換えられるのは困る
  発行したポイントカードのポイントを
   勝手に増やしたり…
 「発行した人」がカード情報の正当性を
確認するしくみ
 FeliCa Lite は認証せず、なされるがまま
 ▪ そこは、あきらめる
 ユーザーズマニュアルでは
 リーダ / ライタ側 のシステムがカードを認証
  と表現している。
 発行した人もカードも認証するのが
  「相互認証」になる。
 ▪ FeliCa Standard や FeliCa Lite-S
 カード発行時に、カード鍵を書く
  セッション鍵のパラメータになる
  読み込みできないレジスタ
 乱数を書き込んでセッション鍵を作る

  RC レジスタ書込→セッション鍵生成

 IDm   とセッション鍵→ MAC 値
  FeliCa Lite が MAC 値を算出

  発行者も、自分 で MAC 値 を算出

 MAC   値を比較
自分の管理

                               ・鍵バージョン
                               ・カード鍵
 発行者
      カード鍵


      NFC


カード鍵は、 FeliCa Lite の
書込専用レジスタなので、
直接読み出すことはできない
自分の管理                                                自分で
                                                      MAC を計算
                             カード鍵
           カード鍵


                        RC
                                      IDm

発行者           発行者                   発行者
                  IDm と MAC                             MAC( 計算 )
   RC 書込
                  読込
                              IDm と MAC
    NFC           NFC
                                          MAC( 読込 )
カード鍵と RC から   セッション鍵と IDm から
セッション鍵生成      MAC 生成                                    比較
 カード鍵

  鍵バージョンで管理 ( レジスタがある )
 全員に同じカード鍵を使うと、
一人のカード鍵が盗まれると全滅
  総当たりすれば、わかってしまう
 発行カードごとにカード鍵を管理?
  管理が大変!
  鍵データベースがすごいことに・・・
 個別化 カード鍵
 鍵バージョンに 1           つのマスターカード鍵
  マスターカード鍵と IDm              からカード鍵
自分の管理


 ・鍵バージョン               個別化カード鍵
 ・マスターカード鍵

                                        MAC を計算
              IDm   マスターカード鍵と IDm から
                    「カードごとのカード鍵」が
        NFC
                    生成できる ( 個別化カード鍵 )
 カードごとに鍵が異なるのに、
管理するのはマスターカード鍵だけ
 個別化カード鍵は計算で得られる
 1枚のカード鍵が漏れても、影響が少ない

 1枚ずつ IDm が異なるので、カード鍵も異なる
 さっきまでの話は、カード偽造について
 正しいカードに違う値を書き込んだら?
 カードは助けてくれない

 必要が無いなら、 Read Only にしておく

 データの書き込み方に工夫を凝らす
  ▪ エンコードした値にするなど
  ▪ MAC を使うといいのかな
 強固にしたいなら、 FeliCa      Standard を
  値段と必要なセキュリティとの相談
  相互認証
 FeliCa   Lite-S
  Standard とは異なる相互認証

 MIFARE

  Ultralight C : 保護機能がある

  Classic : 鍵をかけられる

  DESFire : よく知らない・・・

More Related Content

What's hot

安全性を証明するために知っておくべき4つのこと
安全性を証明するために知っておくべき4つのこと安全性を証明するために知っておくべき4つのこと
安全性を証明するために知っておくべき4つのこと
shibataka000
 
Ndefってなんだろう
NdefってなんだろうNdefってなんだろう
Ndefってなんだろう
Tomoki YAMASHITA
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
DADA246
 

What's hot (20)

Blazing Performance with Flame Graphs
Blazing Performance with Flame GraphsBlazing Performance with Flame Graphs
Blazing Performance with Flame Graphs
 
暗認本読書会11
暗認本読書会11暗認本読書会11
暗認本読書会11
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例について
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
 
AS45679 on FreeBSD
AS45679 on FreeBSDAS45679 on FreeBSD
AS45679 on FreeBSD
 
安全性を証明するために知っておくべき4つのこと
安全性を証明するために知っておくべき4つのこと安全性を証明するために知っておくべき4つのこと
安全性を証明するために知っておくべき4つのこと
 
C#とILとネイティブと
C#とILとネイティブとC#とILとネイティブと
C#とILとネイティブと
 
新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!2017年10月27日モノビットエンジン勉強会
新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!2017年10月27日モノビットエンジン勉強会新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!2017年10月27日モノビットエンジン勉強会
新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!2017年10月27日モノビットエンジン勉強会
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
犬でもわかる公開鍵暗号
犬でもわかる公開鍵暗号犬でもわかる公開鍵暗号
犬でもわかる公開鍵暗号
 
Ndefってなんだろう
NdefってなんだろうNdefってなんだろう
Ndefってなんだろう
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
Nmapの真実(続)
Nmapの真実(続)Nmapの真実(続)
Nmapの真実(続)
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
実践イカパケット解析α
実践イカパケット解析α実践イカパケット解析α
実践イカパケット解析α
 
No skk, no life.
No skk, no life.No skk, no life.
No skk, no life.
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
 

More from Hirokuma Ueno

SNEPは大変だった
SNEPは大変だったSNEPは大変だった
SNEPは大変だった
Hirokuma Ueno
 
一人でもSNEP開発
一人でもSNEP開発一人でもSNEP開発
一人でもSNEP開発
Hirokuma Ueno
 
NFCIP-1を斜め読み
NFCIP-1を斜め読みNFCIP-1を斜め読み
NFCIP-1を斜め読み
Hirokuma Ueno
 

More from 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月号
 
月刊NDEF 2013年 1、2、3月号
月刊NDEF 2013年 1、2、3月号月刊NDEF 2013年 1、2、3月号
月刊NDEF 2013年 1、2、3月号
 
旅行カバンとNFC
旅行カバンとNFC旅行カバンとNFC
旅行カバンとNFC
 
NDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiNDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRi
 
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)
 
月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)
 
月刊NDEF 2013年1月号
月刊NDEF 2013年1月号月刊NDEF 2013年1月号
月刊NDEF 2013年1月号
 
SNEPは大変だった
SNEPは大変だったSNEPは大変だった
SNEPは大変だった
 
NFC切手
NFC切手NFC切手
NFC切手
 
NFCの汎化
NFCの汎化NFCの汎化
NFCの汎化
 
一人でもSNEP開発
一人でもSNEP開発一人でもSNEP開発
一人でもSNEP開発
 
NFCIP-1を斜め読み
NFCIP-1を斜め読みNFCIP-1を斜め読み
NFCIP-1を斜め読み
 
らくがき
らくがきらくがき
らくがき
 
NFCテルミン
NFCテルミンNFCテルミン
NFCテルミン
 

Recently uploaded

Recently uploaded (7)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

FeliCa Liteの片側認証

  • 2.  FeliCa Lite へのアクセス  Write Without Encryption (UPDATE)  Read Without Encryption (CHECK) ▪ どちらも、認証無しでアクセスできる  読み取られるのは仕方ないとしても、 データを書き換えられるのは困る  発行したポイントカードのポイントを 勝手に増やしたり…
  • 3.  「発行した人」がカード情報の正当性を 確認するしくみ  FeliCa Lite は認証せず、なされるがまま ▪ そこは、あきらめる  ユーザーズマニュアルでは リーダ / ライタ側 のシステムがカードを認証 と表現している。  発行した人もカードも認証するのが 「相互認証」になる。 ▪ FeliCa Standard や FeliCa Lite-S
  • 4.  カード発行時に、カード鍵を書く  セッション鍵のパラメータになる  読み込みできないレジスタ  乱数を書き込んでセッション鍵を作る  RC レジスタ書込→セッション鍵生成  IDm とセッション鍵→ MAC 値  FeliCa Lite が MAC 値を算出  発行者も、自分 で MAC 値 を算出  MAC 値を比較
  • 5. 自分の管理 ・鍵バージョン ・カード鍵 発行者 カード鍵 NFC カード鍵は、 FeliCa Lite の 書込専用レジスタなので、 直接読み出すことはできない
  • 6. 自分の管理 自分で MAC を計算 カード鍵 カード鍵 RC IDm 発行者 発行者 発行者 IDm と MAC MAC( 計算 ) RC 書込 読込 IDm と MAC NFC NFC MAC( 読込 ) カード鍵と RC から セッション鍵と IDm から セッション鍵生成 MAC 生成 比較
  • 7.  カード鍵  鍵バージョンで管理 ( レジスタがある )  全員に同じカード鍵を使うと、 一人のカード鍵が盗まれると全滅  総当たりすれば、わかってしまう  発行カードごとにカード鍵を管理?  管理が大変!  鍵データベースがすごいことに・・・  個別化 カード鍵
  • 8.  鍵バージョンに 1 つのマスターカード鍵  マスターカード鍵と IDm からカード鍵 自分の管理 ・鍵バージョン 個別化カード鍵 ・マスターカード鍵 MAC を計算 IDm マスターカード鍵と IDm から 「カードごとのカード鍵」が NFC 生成できる ( 個別化カード鍵 )
  • 9.  カードごとに鍵が異なるのに、 管理するのはマスターカード鍵だけ  個別化カード鍵は計算で得られる  1枚のカード鍵が漏れても、影響が少ない  1枚ずつ IDm が異なるので、カード鍵も異なる
  • 10.  さっきまでの話は、カード偽造について  正しいカードに違う値を書き込んだら?  カードは助けてくれない  必要が無いなら、 Read Only にしておく  データの書き込み方に工夫を凝らす ▪ エンコードした値にするなど ▪ MAC を使うといいのかな
  • 11.  強固にしたいなら、 FeliCa Standard を  値段と必要なセキュリティとの相談  相互認証  FeliCa Lite-S  Standard とは異なる相互認証  MIFARE  Ultralight C : 保護機能がある  Classic : 鍵をかけられる  DESFire : よく知らない・・・