2017年10月10日火曜日

TechWave Summit 2017 に出展します!

■■■イベント出展情報■■■
TechWave Summit 2017 の会場において、大好評のRFIDソリューション`「MANICAモバイル」を出展させていただきます。

■日時:
10/18の10:00-18:00(イベント自体は、10/17-18の2日間開催ですが、弊社の出展は「10/18」のみとなります)

■場所:
東京国際フォーラム(アドテック東京と併催)

■お申込み:
当日券5,000円が無料になるビジターパスのお申し込みは下記より、アドテック東京にも入場できるみたいですよー。
http://techwave-summit-2017.peatix.com/




べつにMANICAモバイルには興味ないけど、RFIDのことでちょっと相談にのってほしい、とかでも是非お気軽にご来場くださいませー。

2017年9月29日金曜日

初期費用ゼロのRFID、はじめました!

こんにちは、気が付けば9月も終わりですが今年もblogぜんぜん更新できていないことに愕然としてます、大坂です。

ところで(?)、無償版のExcel Toolとか、50アイテムまで無料で使えるMANICAタッチレンタルNFCとか、RFIDに興味を持っていただいた方に何とか最初の一歩を踏み出していただくために、あらゆるハードルを排除することを生き甲斐にしております我々ハヤト・インフォメーションですが、いよいよ初期費用ゼロで始めるRFID、という新境地を切り開くことになりました。

ハヤト・インフォメーション、初期費用ゼロ+月額1,500円で始めるRFID
「MANICAモバイル」をリリース

従来は、定置式のリーダーや業務用のハンディリーダーなど高価な機器が必要とされていたRFIDの導入プロセスにおいて、スマートフォンベースのシンプルかつ導入初期費用を抑えたソリューションを提供することで、規模の大小にかかわらず、より多くのお客様がRFIDを活用した業務改善を楽しめるプラットフォームとして、「MANICAモバイル」の提供を行ってまいります。(プレスリリースより抜粋)

サービスの詳細は、こちらから。

1ヶ月無償で使えるトライアル期間も設定されてます、皆様是非!






2017年9月19日火曜日

RFID とブロックチェーン その6

今回の投稿は前回のダブルハッシュの続きです。

前回は SHA-256 を2回行うダブルハッシュについて、2回目に衝突があるとその程度によっては問題なんじゃないの?ということで衝突があるのかどうなのかをやってみるというよっぽどの暇人じゃないとできないような無謀な内容でした。

単純に算出されたすべてのハッシュ値を記憶しておいて衝突がないかどうかやってたわけで、非常に効率悪いやり方でしたのでもう少し効率良さそうなやり方に変えてみました。暇人というところは違いないわけですが。

前回は0から順番にハッシュ値を計算していましたが、今回は算出されたハッシュ値を次回の入力値とするように変更しました。

で、仮に同じ値が出力されるような衝突があるとすると、


こんな風にグルグルができるはずということで、全部の出力を憶えておくんではなくて、たまに憶えておけばグルグルになったときに発見できるだろうという都合のいい考えでやってみました。

1億回計算したら値を憶えておくようにしました。
この状態で3連休ほったらかしにしておいた結果...

どーん


回数としては743億回ぐらいの計算を行ったようですがまだ見つかってないですね。

これって全体のどのくらいの量なんだろうか、バイト数で多めに見て5バイトまで完了。ということは SHA-256 は32バイトなのでえーっと、256の(32-5=)27乗分の1くらい終わってるということかー、それってどんくらい?関数電卓で計算すると

1.0531229166855718669791802768367e+65

おー、10の65乗分の1、パーセントにすると10の63乗分の1パーセントということですねー...

なんて無駄なことをやってるんでしょうか...orz

2017年9月4日月曜日

RFID とブロックチェーン その5 ダブルハッシュ

その4でご紹介した真贋判定のサービスの提供を開始しました!

  MANICAブランドプロテクション

まー、中身はほとんど Proof of Existence と同じなんですけどねー。

今回はちょっと気になった事について記述します。それは「ダブルハッシュ」です。

ブロックチェーンでは暗号学的ハッシュ関数として SHA-256 が多用されています。これは入力としてデータを与えると、出力として 256bit のデータが出てきます。どんなに短いデータ(1バイトとか)でも、どんなに長いデータ(1テラバイトとか)でも出力は 256bit です。当然ですが同じデータを入力すると同じ 256bit のデータが出力されます。で、入力データが 1bit でも違うと全然違う値の 256bit が出力されます。これで改ざんされていないかどうかを判別するわけです。

で、ブロックチェーンではハッシュを2回行うダブルハッシュというのを利用しています。1回ハッシュ値を算出して、出てきた 256bit の値をもう1回ハッシュをかけて、出力された 256bit の値を利用するわけです。

なんでこんなことしてるのか?というのが素朴な疑問なわけですね。暗号学的にセキュリティが強固になるからというように説明されているところもありますが、どうもよくわからない。計算方法を調べれば納得するかもしれないですけど面倒くさいっす。

ハッシュ1回の場合は、入力データがそれこそ無限に近い数あるわけですけど、2回目のハッシュは入力が 0 ~ (2の256乗 - 1) に限定されるわけです。それでも十分な量ありますけど、でも無限に比べたらやっぱり有限なわけで、出力されたハッシュ値の衝突がそれなりにあるとするとそれはそれで問題でないのかい?というのが今回のテーマです。

これも計算方法を調べればわかるのかもしれませんがやっぱり面倒なので本当に衝突が無いのか地道に計算させてみることにしました。

単純に0からずーっと入力して出力を溜めてって、衝突があると騒ぐというプログラムです。 List 使ってますがそもそも List にそんなにたくさんのデータ入りませんからいずれはオーバーフローするんでしょうけどまぁそんなところまでたどり着くかもわからんしとりあえず動かして土日ほったらかしてみました。

結果... どーん。


残念ながら?衝突は起きてなくてでも 0x3C 0x21 0x5B まで(約394万回)実施の結果だと。あー、先ながーい、消費メモリは1Gくらい、土日使うくらいじゃーここまでかー。

というわけで暇があったらもう少しやってみようかと思います。

2017年7月10日月曜日

[ イベント告知 ] 沖縄県企業誘致セミナーにてプレゼンさせていただきます。

こんにちはー。

それなりに技術系のネタが続いてきてるのにイベント告知系を挟み込むのはどうかな、と思いつつ ネタ切れにも負けずに 投稿頻度をあげるためのご案内です。

7/20@大阪 新阪急ホテル
7/21@東京 ロイヤルパークホテル

上記スケジュールにて、沖縄県企業誘致セミナーが開催されます。どちらも15:00~18:30(交流会ふくむ)。

弊社沖縄拠点も早いもので5年目になりますが、思えば5年前にこのセミナーに東京で参加させていただいたことが、大きなきっかけの一つになっていたのかなぁ、と思います。

そして、なんと今回、僭越ながら弊社も実際に沖縄に拠点を開設した企業としてプレゼンさせていただけることになりました。

内容的には、だいたい下記のような感じですかね。

Agenda
1). 弊社事業内容のご紹介
2). 沖縄拠点、設立の建前と本音
3). 各種制度の活用、効果の実際
4). まとめ、沖縄拠点の必然性。

弊社のような零細企業であっても、沖縄拠点を開設するメリットは充分すぎるほどあります、というか実際にありました!というあたり実際の体験談を中心に。

お話したいことは色々ありますが、(なにしろ持ち時間が短いので)いわゆる自己紹介ネタであるところのRFID/NFCの話だけで終わらないように、万全の注意を払う所存であります。

具体的な計画はなくとも、沖縄で働くってどんな感じなんだろう?ってあたりに興味をお持ちの皆様、ご来場をお待ちしてます!!!

■お申込みはこちらから→ 沖縄県企業誘致セミナー

2017年7月6日木曜日

ICタグ自動読み取り装置2



レゴマインドストームを使った物のお手軽版です。

フィギュアなどをディスプレイするのに使うらしいターンテーブルPOP用クリップを使っています。

POP用クリップはオーバーテクノロジーでした。タグをかざす位置は自由に調節できたほうが良いかと思って用意したのですが、やっててリーダーの方を合わせればいいということに気づきました。


2017年7月4日火曜日

RFID とブロックチェーン その4

今回からは実際に RFID を利用したサービスの開発を始めようと思います。簡単なところからということで真贋判定をやってみます。

RFID は NFC、UHF ともに書き換え不可能な ID が書き込まれています(NFC は UID、UHF は TID)。これを使って真贋判定を行います。

真贋判定は要するに本物か偽物かということなんですが、RFID で行う場合は物に貼り付けてある RFID を読み込んで、IDが本当にメーカ側で貼り付けたものかどうかを判定することになります。

貼り付けてある RFIDタグが入れ替わったりしてないかとか使いまわしされてる物ではないのかとか他にもいっぱい問題はあるんですがその部分には触れないでおきます。

メーカで製品に RFID を貼り付けたときに、その ID をビットコインネットワークに書き込みすることで後から検証ができるようにします。しかしすべての ID を保存していたのではそれだけで手数料が莫大なものになりますしそんなことしてたら怒られそうなので、

発行日時 タグのID
発行日時 タグのID
発行日時 タグのID
・・・
メーカのデジタル署名

というテキスト文書(以下これを検証用ドキュメントと言うことにします)を作成し、それのハッシュ値をビットコインネットワークに流すことで複数のIDを一度に登録できるようにしたいと思います。これならタグのIDが何百万枚あってもビットコインネットワークに流すのは1つのハッシュ値だけなので手数料も少しで済みますし、怒られることもなさそうだし、いえーい。

検証の手順は、

・タグのID を読む
・サービスサイトでその ID で検索
  →画面に ID が含まれる検証用ドキュメントと登録されているブロックチェーンのトランザクションIDが表示される
・検証用ドキュメントのハッシュ値とブロックチェーン上の値が一致することを確認
  →ここで検証用ドキュメントが正しいことが確認できる
・検証用ドキュメントに含まれるデジタル署名をメーカの公開鍵を使って正しいことを確認
  →ここでメーカが発行(というか貼り付け)したタグであることが確認できる

という流れになります。検証用ドキュメントが正しいものであることをブロックチェーンで証明してもらうわけですね。

というわけで実際に実装して簡単な確認をしてみます。

前回同様 NBitcoin を使います。秘密鍵の生成からやりますが、秘密鍵は覚えにくいのに忘れたら大ごとという厄介なものなのでパスフレーズから秘密鍵を生成するようにしてみます。これならパスフレーズを忘れなければ再生成が可能になります。

実際動かした画面がこちら。


これを検証しようと思ったんですが、どうも署名データが手動で作ったものと NBitcoin で作ったものとで異なっててなんでーと調べてたらビットコインの署名では一定の文字列を追加して署名していたことがわかりました。そうすると手動で検証が難しくなってしまってどうしようと思ってたら検証用のサイトがありましたのでそちらで検証してみました。


するとほらー、ベリファイOKだと。ってまぁ、何から何まで外部のサービスに頼りまくりなのが何ですがとりあえずこれでうまくできそうです。