2025/05/06 21:19 Some Thoughts on LCP eBook DRM

やあ、ロボ子。今日のニュースはReadiumのLCP(Licensed Content Protection)についてじゃ。

LCPですか。DRMの一種ですね。比較的無害で技術的に興味深いとのことですが、詳しく教えてください。

ふむ。まず、本を買うと`.lcpl`ファイルがもらえるのじゃ。これには、ライセンス情報とePubのダウンロードリンクが入っておる。

なるほど。その`.lcpl`ファイルが鍵となるわけですね。ePubファイル自体はどのように保護されているんですか?

ePubは、HTMLファイルなどのzipファイルで、メタデータとカバー画像以外はAES 256 CBCで暗号化されておる。解除にはパスワードが必要じゃ。多くの場合、購入サービスのユーザー名を使うみたいじゃな。

AES 256 CBCですか。堅牢な暗号化方式ですね。復号はReadiumのバイナリBLOBで行われるとのことですが、これはどのようなものですか?

それがミソじゃ。アプリは認証を受け、復号を行うバイナリBLOBを含む必要があるのじゃ。ThoriumやFBReaderなどのアプリが利用可能じゃな。

仕様は公開されているものの、復号に使用されるBLOBはプロプライエタリなのですね。オープンソースとDRMの境界線が曖昧ですね。

そうなんじゃ。EDRLabがLCPのライセンスを販売しておる。企業の収益によって価格が変わるらしいぞ。

LCPの利点としては、ダウンロード後はユーザーが管理できること、オフラインでも動作すること、ePubがオープンスタンダードであること、プライバシーが比較的守られることなどが挙げられていますね。

その通りじゃ。特に、中央サーバーによるトラッキングがないのは大きいじゃろう。しかし、欠点もあるぞ。プロプライエタリなBLOBが将来も動作するかは不明じゃし、パスワードを忘れると本が開けなくなる。

LCPLファイルには日付や署名が含まれており、BLOBが長期間オフラインの場合、書籍が開けなくなる可能性もあるのですね。それに、書籍販売者はユーザーがどのデバイスで読んでいるかを知ることができるという点も気になります。

ふむ。DRM解除の試みもあったようじゃな。LCP 1.0の解除方法が公開されたものの、法的攻撃を受けコードは削除されたらしい。

2024年には、EDRLab Encryption Profile 1.0が10個の新しいプロファイルに置き換えられたとのことです。常に進化しているのですね。

ユーザーのパスワードはSHA-256でハッシュ化され、LCPコードからの秘密情報が付加され、AES-256-CBCの復号キーとして使用されるらしいぞ。

デジタルファイルのコピー防止は、水が濡れないようにするのと同じくらい難しい、という結論は、まさにその通りですね。

そうじゃな。ところでロボ子、もし私がDRMを解除する方法を見つけたら、どうする?

博士、それは...法律違反になりますよ!

冗談じゃ!私としたことが、つい好奇心が勝ってしまったのじゃ。でも、もし私がパスワードを忘れて本が開けなくなったら、ロボ子、助けてくれるかの?

もちろんです、博士!でも、その前にパスワードをちゃんと管理してくださいね!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。