Română

Case Study: Implementing a Readium LCP Server for an Ebook Store

Case Study: Implementing a Readium LCP Server for an Ebook Store
01.08.2021
Note: This article is over a year old. Some information may be outdated. We recommend reading the latest documentation or talking to one of our experts.

When one of our main partners decided to build an online store for e-books, they turned to OPTI for advice and finding the best possible solution. Digital rights in the design of the e-book solution were essential and the solutions found by OPTI were solid.

OPTI had to find a fast and easy to implement DRM solution, which was to be well documented and maintained and future proof. After studying all the possible variants, the LCP server appeared as a natural choice. It successfully meets all the needs of our partner:

 

Interoperability: A publishing company can become an LCP license provider and any technical organisation can develop an LCP compliant reading app.

It is a vendor-neutral solution: the publishing industry is directly leading the operation of this DRM and this is independent of the selling platform used. It is easy to integrate in a publishing solution, with the help of the open-source multi-platform DRM server. It is also easy to integrate in a reading app, with the help of the open-source software developed by EDRLab

No cost per transaction and cost effective: A yearly fee associated with the certification of the solution is the only cost for license providers.

It respects GDPR: no third party can access user data or ebook content that is not encrypted.

 

The LCP server is written in Go programming language and is composed of three independent parts:

1) lcpencrypt - An encryption tool for content encryption. This command line utility can be included in any processing pipeline. It takes the unprotected publication as input, generates an encrypted file as output and notifies the License server about the creation of the encrypted file.

2) lcpserver - A license server, which implements Readium Licensed Content Protection 1.0 and has the following functionalities :
a) generates a license
b) generates a protected publication
c) updates the rights associated with a license
d) get specific licenses

3) lsdserver - A license status server, which implements Readium License Status Document 1.0 and has the following functionalities :
a) returns a lincense status document
b) process a device registration
c) creates a license status document
d) lists all devices for specific licence
e) revokes/cancels a license

So, With Readium LCP server our partners can:
1) Encrypt the catalog of EPUB files and make them ready for download
2) Generate LCP Licenses instantly and send them to the correct user
3) Revoke a licence

Installation:
For the prerequisites you need Go 1.12 or higher and you must install a SQL Database. SQLite is sufficient for most needs but you can also install MySQL or other if there are drivers provided by the community.

Contact us for more details

Steps Overview

Step 1: Infrastructure and Requirements Analysis

We evaluate your existing infrastructure and the digital book distribution flow. We define the requirements for the license server, such as the database type (SQL) and the estimated transaction volume.

Step 2: LCP Server Setup and Configuration

We install and configure the LCP server components (lcpencrypt, lcpserver, lsdserver), typically in a Docker container for portability. We connect the server to the database and generate the encryption keys.

Step 3: Integration with the eCommerce Platform

We develop an integration between your website and the LCP server. When a customer buys a book, the platform calls the LCP server to generate a unique license for that user and file.

Step 4: Integration with the e-Reader Applications

We ensure that the mobile e-reader apps (iOS/Android) can communicate with the LCP server to validate the license and decrypt the content, allowing the licensed user to read the book.

Quick Questions

What is DRM and why is it important for publishers?

DRM (Digital Rights Management) is a technology that controls the use, modification, and distribution of copyrighted works, such as e-books. It is essential for preventing piracy and ensuring that only legitimate buyers have access to the content.

What is Readium LCP?

Readium LCP (Licensed Content Protection) is an open-source, vendor-neutral DRM solution developed specifically for the publishing industry. It offers a flexible and no-cost-per-license alternative to proprietary DRM systems, such as Adobe's.

Can I use LCP to protect audiobooks as well?

Yes, the LCP standard is designed to protect digital publications in general, including audiobooks, in addition to traditional EPUB files.

What is the TLDR (conclusion)?

By using a Docker container to package the LCP server application and its dependencies, we were able to create a portable and consistent environment. This simplified the deployment process and ensured that the server would run reliably, regardless of the underlying infrastructure.

What technologies and methodologies are involved?

Technologies: LCP Server, Readium, DRM (Digital Rights Management), Go (Golang), EPUB, SQL (SQLite, MySQL)
Methodologies: Digital content security, Intellectual property protection, e-Books, Open-source software

Marian Călborean

Article written by

Marian Călborean

Manager, Software Architect, PhD. in Logic, Fulbright Visiting Scholar (CUNY GC, 2023)

See on LinkedIn →
Interesat?

Interested?

Schedule a meeting

Get a Free Audit

News and Guides

More News