Digital Rights Management (DRM) is a system designed to ensure that only the rightful owner of a file or software can use it and prevent unauthorized redistribution. While there have been many attempts to create foolproof DRM solutions in the past, they often come with caveats.
To learn more about these efforts, check out this video by LGR (an awesome YouTuber, by the way).
Limen introduces a new approach to DRM that is offline and significantly more user-friendly compared to existing solutions in the market.
- Owners can create offline copies, including backups.
- Owners can use it on multiple devices (up to 64 devices, tentatively).
- Requires only one-time internet connection for purchase.
- Optional: Prevent screen recording for video/audio content.
Limen leverages fingerprints for authentication, offering:
- Convenience: Most smartphones today are equipped with fingerprint sensors, eliminating the need for additional hardware.
- Security: Fingerprints are faster and more secure than passwords or serial numbers.
- Privacy: Users are unlikely to share their fingerprint details, especially not online.
- Multiple users working together to bypass DRM.
- A malicious actor could generate fake fingerprints and emulate a fingerprint scanner for authentication. This would allow them to redistribute the DRM-protected content.
To address spoofing:
- Develop a Machine Learning (ML) Model to verify the validity of a fingerprint sequence.
- Optionally link Government IDs during purchase for additional authenticity.
Phase 1: Encrypting and decrypting files using fingerprints.
Phase 2: Fetching fingerprint data from phones in offline mode.
Phase 3 (Optional): Screen recording prevention for video/audio content.
Phase 4: Building a valid fingerprint verification ML model.
- Python
- Kotlin
- JavaScript
- Rust
- Additional tools and frameworks as needed.
- Create Chunkify: A program which breaks a large file into small chunks and modifies them as per need of Limen *
When submitting a pull request, use the following template:
Issue: #<ISSUENUMBER>
Make sure to add all the required items (e.g., code, screenshots, GIFs, etc.) as specified in the issue.