アカウント名:
パスワード:
んーちょっとわかんなかった。
> B−CASカードは放送波に含められている日付情報から現在の日付を計算するが、> これがオーバーフローした場合には契約確認コマンドの返り値は「契約有効」になる。
もし不適切にオーバーフローしたら放送波の放送時間を過去だと勘違いするだけだと思うんだ。そのようなことのないように、カード製造日より過去のMJDを受け取ったら上位に1bit加えて、自身の保存する契約期限情報と比較するんじゃないかな。そもそもB-CASカード(という名のコンピューター)は放送波に埋め込まれている日付情報をそのまま受け取り、保存し、比較し、結果を返せば十分だと思うん
ちょっと補足します。#元コメ含めて非公開の部分は憶測ですので眉に唾付けてください
> すべての有料チャンネルのデフォルトの【Kw】は初めから持っている> (だから新品B-CASカードでは1週間お試しで視聴できるが、それ以降は全て契約無効となる)
新品のB-CASカードは、有料放送のチャンネルのECMを初めて受け取った時に、自動的にECMの日付の(約)一週間後の日付を有効期限としてメモリに保存します。これはEMMを受信したことがなくても処理されるようです。
もし、何らかの方法でECMを偽装して、2038年のECMをB-CASに食わせることができれば、…つまりは【Kw】とB-CASの暗号化アルゴリズムがどこかから流出するか解析されちゃったなら、カード自体の耐タンパ性とは無関係な手法でクラックできるのかもしれませんね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
クラックの手法 (スコア:5, 参考になる)
B−CASシステムでは、日付は1857年11月17日を起算日とした16ビットintで表す。システムが想定している日付の最大値はこれがFFFFのとき、すなわち2038年4月23日である。B−CASカードは放送波に含められている日付情報から現在の日付を計算するが、これがオーバーフローした場合には契約確認コマンドの返り値は「契約有効」になる。
カードが保持している1857年11月17日という起算日を改竄して、現在の日付でオーバーフローを起こせれば全てのチャンネルが契約有効になる。
#タレコミが不採用かと思って上記内容を日記に書いたら、日記投稿とほぼ同時に採用されてびっくり
Re: (スコア:1)
んーちょっとわかんなかった。
> B−CASカードは放送波に含められている日付情報から現在の日付を計算するが、
> これがオーバーフローした場合には契約確認コマンドの返り値は「契約有効」になる。
もし不適切にオーバーフローしたら放送波の放送時間を過去だと勘違いするだけだと思うんだ。
そのようなことのないように、カード製造日より過去のMJDを受け取ったら上位に1bit加えて、
自身の保存する契約期限情報と比較するんじゃないかな。
そもそもB-CASカード(という名のコンピューター)は放送波に埋め込まれている日付情報を
そのまま受け取り、保存し、比較し、結果を返せば十分だと思うん
Re:クラックの手法 (スコア:0)
ちょっと補足します。
#元コメ含めて非公開の部分は憶測ですので眉に唾付けてください
> すべての有料チャンネルのデフォルトの【Kw】は初めから持っている
> (だから新品B-CASカードでは1週間お試しで視聴できるが、それ以降は全て契約無効となる)
新品のB-CASカードは、有料放送のチャンネルのECMを初めて受け取った時に、
自動的にECMの日付の(約)一週間後の日付を有効期限としてメモリに保存します。
これはEMMを受信したことがなくても処理されるようです。
もし、何らかの方法でECMを偽装して、2038年のECMをB-CASに食わせることができれば、
…つまりは【Kw】とB-CASの暗号化アルゴリズムがどこかから流出するか解析されちゃったなら、
カード自体の耐タンパ性とは無関係な手法でクラックできるのかもしれませんね。