アカウント名:
パスワード:
んーちょっとわかんなかった。
> B−CASカードは放送波に含められている日付情報から現在の日付を計算するが、> これがオーバーフローした場合には契約確認コマンドの返り値は「契約有効」になる。
もし不適切にオーバーフローしたら放送波の放送時間を過去だと勘違いするだけだと思うんだ。そのようなことのないように、カード製造日より過去のMJDを受け取ったら上位に1bit加えて、自身の保存する契約期限情報と比較するんじゃないかな。そもそもB-CASカード(という名のコンピューター)は放送波に埋め込まれている日付情報をそのまま受け取り、保存し、比較し、結果を返せば十分だと思うん
なるほど、参照元に書いてあるB-CASのレスポンスを見る限り、オーバーフローさせた日付の下位ビット部を与えると過去と勘違いするんですね。
ただ、実際に放送波に含まれる日付(ECMの日付)は、実際に放送された日付であってオーバーフローした日付がB-CASに渡ることは2038年まではありえないんですよね。
参照元の例でも、あくまでもカード内部の「2010年01月31日」という期限と比較して、カードに与えられた「オーバーフロー済みの日付」を評価しているだけですね。
そもそもB-CASカードの運用上、カード自体にMJDの起算日を持つ必要すらないですし…
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stableって古いって意味だっけ? -- Debian初級
クラックの手法 (スコア: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)
2ちゃんねる情報ですが、http://logsoku.com/thread/pc11.2ch.net/avi/1235667096/790-805 によると、オーバーフローしたら契約情報確認コマンドが誤動作する事例が報告されています。
余談だけど、2009年時点でこのような大穴を複数の人間が知っていたにもかかわらず、今まで表沙汰にならなかったというのは日本人らしい行動だなあ。アメリカとかだったらあっという間にクラックカードやタダ見のためのTS改造ツールとかがばんばん出回ってると思う。
Re: (スコア:0)
なるほど、参照元に書いてあるB-CASのレスポンスを見る限り、
オーバーフローさせた日付の下位ビット部を与えると過去と勘違いするんですね。
ただ、実際に放送波に含まれる日付(ECMの日付)は、実際に放送された日付であって
オーバーフローした日付がB-CASに渡ることは2038年まではありえないんですよね。
参照元の例でも、あくまでもカード内部の「2010年01月31日」という期限と比較して、
カードに与えられた「オーバーフロー済みの日付」を評価しているだけですね。
そもそもB-CASカードの運用上、カード自体にMJDの起算日を持つ必要すらないですし…