Now EAC is enabled. So, It's time to encrypt asset(avatars & worlds) data!
tracked
るーにゃ@xlwnya
Currently, VRChat's cache data is not encrypted. (maybe download data too.)
Before EAC, Mods can read raw asset data. So, encryption was not effective.
But now, EAC is enabled and client memory data is protected.
So, It's time to encrypt asset data(cache & download).
Some recommendation:
・cache/download encryption key should be changeable.
Log In
Scout - VRChat Head of Quality Assurance
tracked
Myaggic
Assuming EAC works, and you can trust the client not to store and abuse that decryption key, this is about as close as you can get to preventing ripping via the cache.
- The symmetric key can be generated by the sdk and uploaded with the avatar, so keys are per-avatar
- Key should be sent by the server only when necessary, like in the same instance, and only be sent through an encrypted channel that can't be sniffed
- As soon as the avatar gets updated, it should generate a new key, and the old one should be destroyed
There are drawbacks of course, just as EAC isn't a perfect solution, neither is this.
- Performance will take a hit, obviously. Only provides more reason for people to be more weary about their download size. Decryption oughta be async for that reason.
- Brute forcing is and will always be a thing.
All this runs on the reasonable assumption that EAC is working as intended, and keys are kept within that safe garden. A dedicated enough person can bypass all of this, but the goal isn't perfection, just making it more difficult.
Code-Floof
This won't stop rippers though. The content has to be decrypted to be displayed. And the decryption key needs to be stored somewhere
るーにゃ@xlwnya
Code-Floof: It's a difficult problem even large companies have not solve. (e.g. Blu-Ray DRM)
But no encryption at all is bad. isn't it?
Code-Floof
るーにゃ@xlwnya: There would be a performance and memory overhead to decrypt assets on avatar and world load. Could be up to double in ram depending on the decryption setup
Catsix
るーにゃ@xlwnya: I knew a dev who worked on the game APB/APB: Reloaded.
The chinese stole assets from the game like crazy so eventually they started encrypting all the assets, last i talked to him about it had been 3 years since and the decryption hasnt been bypassed, and he said it'd easily take 5 years for someone to undo that