2016/06/11(土)少年が逮捕されたB-CASソフトの件を調べてみた

逮捕容疑は昨年6月23日、同カードがなくても有料デジタル放送が無料で視聴できるプログラムを独自に開発し、自身のホームページ上に無料で公開して不特定多数の人が閲覧、入手できる状態にしたとしている。

(中略)

ネット上に公開された数百ページにわたるデジタル放送の仕組みが書かれた仕様書を読み込み、独自でプログラムを開発したという。プログラムをダウンロードすれば、ネットの掲示板などに投稿されている「ワークキー」と呼ばれる暗号をパソコンに入力することで放送を視聴できるようになるという。

<不正プログラム>TV無料視聴をネット公開、少年逮捕

「なんで公開されているソフトウェア仕様を実装しただけで逮捕されてるんだ?」というのが、これを読んだ時の正直な感想だったのですが、よくよく調べて記事にまとめてみました。

問題の背景

まず、現在日本国内でデジタル放送を受信する際は、すべからくB-CASカードというものが必要になります。これは、デジタル放送が暗号化されているためです。

まず、テレビの放送を受信した装置は、B-CASカードに対して「この放送(チャンネル)の暗号を解くための鍵を計算してください」と放送データの暗号に関する一部をカードに渡します。カードはそれ自体が小さいコンピューターのようなものになっており、カードは渡されたデータからその暗号を解くための「鍵」を計算して受信装置に渡します。

過去にあったBLACKCAS事件

BLACKCASと呼ばれる事件が起きます。2012年頃、BLACKCASなどと呼ばれる「すべてのテレビ局(有料放送を含む)が永久に視聴できるB-CASカード」がネット上で販売されるようになりました。

ほぼ同時期に、なんと間抜けなことに地デジ用を含めほぼすべてのB-CASカードには、あらゆる放送局の暗号を解除するための暗号鍵が記録されており、B-CASカードは「カード内に記録された各放送局ごとの有効期限の欄を参照して、その日時まで暗号を解けるようになる」という仕組みで動作していること、しかもそのB-CASカードのセキュリティーが甘々で中身を容易に書き換えられることが判明します。

例えば有料放送の場合は、受信契約をしないと有効期限が過去に設定されていて、視聴できないという仕組みです。

つまりカードの各放送局の有効期限を書き換えて、設定限界の2038年に有効期限を伸ばしてあげると、あらゆる放送局のデジタル放送を受信できるようになってしまいます。これがいわゆる2038年化です。

当時市販されていたBLACKCASは、大量に流通していたB-CASカードに対して有効期限の書き換えを行ったものでした。

しかしもちろんすぐ問題になり、B-CASカード書き換えや解析していたサイトは警察かどこかに怒られたのかその手の情報を一斉削除。その後、書き換えたB-CASカードを販売していた人が何人も逮捕される事態となりました。

今回の事件

それから何年かして。

B-CASカードの動作を解析し、B-CASカードの動作をエミュレートするソフトが誕生しました。SoftCASといいます。ソースコード付きだったようで、すぐ公開が停止されたみたいですが、一度公開されたが最後、大量にコピーされて未だにネットの海をさまよっています。

検索した情報をまとめると、SoftCASは以下のとおりです。

  • B-CASカードをエミュレートするソフトで、このソフトを使うとB-CASカードが不要になる。
  • 有料放送を含めたあらゆる放送局のKW(ワークキー)を持っている

どう考えてもアウトです(笑)

さて、その後FreeCASというソフトが開発されました。これが今回の事件で捕まった人が作成したソフトのようです。このFreeCASとは一体何なのか?

  • B-CASカードをエミュレートするソフトで、このソフトを使うとB-CASカードが不要になる。
  • 無料放送のKW(ワークキー)を持っている。
  • 有料放送のKWを別途入力すると、有料放送を受信できるようになる。

つまり、SoftCASよりも性能が悪いわけです。なんでこんな意味のないことをしているのかと言う疑問には、作者の物と思われる次のテキストが答えてくれます。

FreeCASは無料の地上波しか見てない人向けというわけではないですが「有料放送部分のキーを含まなければ提訴の理由となる具体的な損害は発生し得ず、事実上訴訟リスクを回避できる」という発想のSoftCAS

法律に違反するか?

最初のYahooの記事だと「正規の受信プログラムを作っただけ」にしか読めなかったのですが、よくよく調べてみるとB-CASカードのエミュレーターだということが分かりました。

不正競争防止法違反ということですが、

デジタルコンテンツのコピー管理技術やアクセス管理技術を無効にすることを目的とする機器やプログラムを提供する行為を、営業上技術的制限手段を用いている者に損害を加える目的で行った者

が刑事罰の対象になるようです。

有料放送を受信しようがしまいが、B-CASカードのエミュレーター(技術的保護の回避装置)という時点でアウトなのかと思ったのですが、きちんと法律を読むと営業上技術的制限手段を用いている者に損害を加える目的が刑事罰の必須条件です*1ので、有料放送のKWを含まないFreeCASは法律的に難しい判断になるような気もします。

別角度から無料放送をB-CASなしで見られることによる損害を立証するのもまた難しそうですし。法律家の判断を聞いてみたいですね。

法律、ちなみに

ちなみに、法律には「装置(当該装置を組み込んだ機器及び当該装置の部品一式であって容易に組み立てることができるものを含む。)若しくは当該機能を有するプログラム(当該プログラムが他のプログラムと組み合わされたものを含む。)」ともありますので、プログラムを分割したり、キット化して組み立てる装置とかにしてもアウトみたいですね。

*1 : 例えば、HDMIの暗号化をたまたま解いてしまうHDMIスプリッタが普通にAmazonで売られているのも、目的がHDMIの暗号化を解くことではないということだと思われます。

まとめ

  • B-CASカードは完全にクラックされてる(笑)
  • 地デジ(無料放送)の暗号化なんてやるからこんなことになる。*2

こういう正規の利用者ばっかり損するシステム止めませんかね。例えばHDDレコーダーで録画したデータを、モバイル機器やPCで再生するのすら一苦労なのに*3、不正規の利用者によって放送データを抜いてネット上で山ほど公開されている矛盾。

追記

不正視聴プログラム公開事案についてまとめてみた - piyologによると「処分保留で釈放」とのこと。

*2 : 大量にB-CASカードが世の中に出回る → 出回った数だけクラックされる機会が増える

*3 : 本当に本当に不便極まりない。

2016/03/28(月)ラズパイを安く買いたい(element14って一体?)

Raspberry Piといえば、ハード好きならほぼ誰もが知っている小型Linuxボードです。このラズパイを開発しているのは「ラズベリーパイ財団(英国)」ですが、製造しているのはここではありません。

  • RSコンポーネンツ
  • element14

この2社が製造しています。さてこの、element14というのは何なのよというお話です。

element14とは

会社名?と思ったら、どうやらブランド名のようです。会社名は「Premier Farnell」で英国の企業です。

RSコンポーネンツやDigikeyなどと同じ、電子部品の大規模販売会社です。farnellのサイトからたどるとわかますが、外国に向けても商品を販売しています。

ただし海外向けサイトは値段が高めで、一番安いのはhttp://uk.farnell.com。しかしここは海外発送をしていませんが、同じ値段で海外発送を行うhttp://export.farnell.comというサイトがあります。

本家element14でのラズパイの販売価格

安い。そして在庫も豊富です。http://export.farnell.comは海外発送を行うサイトですので、Digikeyみたいに直接買えるんじゃないか、と思って試してみました。

……

…………

………………あれ?

ユーザー登録はJapanがあるのに、発送先にJapanがない!

farnell.comからなぜ買えない?

おそらくでしかありませんが、http://www.leocom.jp/というサイトがありまして、ここが「2005年からelement14の正規代理店」になっています。おそらく日本国内の販売独占契約でも結んでいるのだろうということで、日本には発送してくなれいんだろうなと思われます。

http://www.leocom.kr/という韓国サイトもありまして、韓国もfarnellの発送先に選べません。

そしてこのleocom。価格も、サイトの作りも、使い勝手も……(以下略)

更に調べる

http://www.alliedelec.com/というサイトを見たら$35で売ってました。安いなあ。

もちろん海外発送はダメです(笑)

$35で買えるところがあるらしい

タレコミ頂きました。

海外発送もしてくれるようです。

Fusion PCBやってるseedstudioもまあまあ安いです。

2016/03/21(月)祝550万ヒット

3/21に550万ヒットになりました。50万アクセス/年という感じですね。

この1年の間に、買ったきり使ってない部品やリード部品などをあれこれ整理してたら、プレゼント保管用箱が溢れそうになったので、急遽550万ヒットプレゼントを行うことにしました(笑)

プレゼント企画

(1)PCM2702 DAC

5.5M-hit_01.jpg

ユニバーサル基板で一番最初に実装したPCM2702 DACです。その後色々魔改造されすぎて見た目がひどいことになっていますが、音質は最新版(Ver2.3+)ぐらいはあると思います(苦笑)

魔改造品につき音出しで変なことがありましたら、USBにDACを接続したままOSを起動してみてください。思い入れがあって保存していたのですが、使わないのも勿体無いので手放すことにしました。

(2)あまり物夢いっぱい

5.5M-hit_02.jpg

  • IC、コンデンサ、水晶など各種あまりもの。
  • LMFQあまりもの(10種類ぐらい)。
  • レールスプリット基板(一部製作済)。
  • コネクタ、端子などなど。
  • 電圧レギュレータ、色々。
  • EZ-USB FX2 2個
  • LT1619 25個
  • Digikeyで購入したまま未開封の部品、色々。
    • XMOS(IC単品)とXMOS用のUSBトランシーバー
  • ほか多数

応募方法

  1. 希望する番号(1か2)
  2. 2桁の数字(00~99)
  3. メールアドレスをメール欄に記入

以上を書いてコメント欄にて応募ください。1人1個まで希望できます。

  • 10面体のサイコロを振って1桁ずつ決定することで行います。2桁の数字としてみたとき、誤差の一番小さい人を当選とします。
  • 誤差が同じ人が居た場合、書き込みの早い人を優先します。
  • メールアドレスが無記入、非公開コメント、メールが不達、もしくは当選決定の連絡後2日以内に返信がない場合は無効。
  • 応募期限 2015/03/27 まで。

集計結果

1.PCM2702 DAC
とうふ61
2.あまり物夢いっぱい
紅707
ハルナリ17
コア26
yosyos43
naoty52
bin57

敬称略。誤りがあったら教えてください。

抽選結果

ということで20番になりました。当選者の方にはメール致します。

2016/02/10(水)銀行のRSAワンタイムキーを分解

よくあるやつです。電池切れのがありますので分解してみました。

jnb-rsa01.jpg

接着されてるかなと思ったのですが、意外や両面テープでした(液晶のまわりのみ)。それでも十分外しにくかったですけど……。

jnb-rsa02.jpg

表面。ほとんど液晶。半透明の樹脂で全体が固められていて容易に分解できないようになっています。これ以上の分解は諦めました。分解するとチップかどこか壊れるように仕組んでありそうですね。

jnb-rsa03.jpg

裏面をみると端子が生えていて、ここからシリアルナンバーなどを焼きこむ仕組みだと推測されます。

固めてある分だけ、思ったよりもコストかかってそうですね。

関連記事

2016/02/07(日)抵抗ノイズを測定したかった

抵抗のパラメーターを「抵抗値」と「消費ワット数」しかないと思ってる人が多そうなので、昔からの課題にしている「抵抗による音質の差を目で見える形にする」って方法がないかよく考えたりしてました。

それで最近組んでみたのがこんな回路。

noise_amp.jpg

音声信号を抵抗(R2,R3)に流したとき、どのような差が出てくるか約100倍に拡大して表示してみようという回路です。R10には実際には可変抵抗を使い、最後の抵抗2つで元信号との差を取って見てみようという回路でした。


しかし実際に測定してみると、差が小さすぎてぜんぜん拉致があきません(汗)。仕方ないので以前製作した差動プリアンプを使ってさらに100倍に増幅して観測。ようやくオシロスコープ表示できるように。

でもゲイン誤差やオペアンプによる歪のほうが大きいのか、カーボン抵抗とLGMFS(音質の良い金皮)で比べても観測できる誤差はありませんでした。

ゲインを変更 2016/02/09

測定したい抵抗で101分の1(1K/10)に落としてからオペアンプで101倍して、反転した信号と抵抗+半固定抵抗で合成して差を作り、それを更に100倍する回路に変更しました。

noise-amp.jpg

うまく行ったわけではないので回路図は省略します(苦笑)

ここに100Hzのsin波を入れてやります。

NA-sin100.png

これを半固定抵抗で調整してゲイン誤差を最小にします。

NA-sin2.png

これで測定準備完了。試しにホワイトノイズを再生してみます。

NA-white.png

実際に測定してみる

高周波ノイズが多すぎて大変なので、オシロスコープで2.9kHzフィルタをかけた状態で測定しました。

曲冒頭(秋月カーボン)

test1-r1.png

曲冒頭(LGMFS)

test1-r2.png

15秒ぐらい(秋月カーボン)

test2-r1.png

15秒ぐらい(LGMFS)

test2-r2.png

画像を重ねて切り替えてみると、少し秋月のほうがノイズが多いかなと思えなくはないですが、測定方法を考えると残念ながら有意な差とはいいにくいレベルです(苦笑)

いい方法思いついたら続報書きますが、このままお蔵入りの線が濃厚です(汗)

最近の調べ物

Raspberry PiのI2Sまわりを調べてるんですが、記事にして技術情報を公開している人少ないですね。アンプ系とかでもそうですけど。実物あります、売ってます。うーん、そりゃ商売としては正しいでしょうけども……。みんなケチだな(個人の感想です)。*1

頒布物は、基本的に基板ぐらいしか価値がないと思ってるので、このブログは技術情報はむしろ積極的に公開していくスタイル。その方がいろんな反応あって面白いので!(笑)

でも最近は、そもそも泥臭いことするエンジニア減ったよなーと思う今日この頃だったりもしました。

*1 : とはいえ、中にはものすごく泥臭い情報を記述している方もいて、とても参考になってありがたい限り。