Using encryption in data storage to avoid cheating in the iPhone game

I read Apple's export restrictions for the application using encryption, and I'm puzzled.

Should I perform the entire CCATS / SNAP-R procedure only to encrypt data from my games?

Will using encryption prevent my app from selling in any region?

Is it possible to reject my application due to encryption?

Thanks!

+6
source share
3 answers

In my opinion, you should not use encryption. A simple checksum can do almost the same thing. Instead of encrypting your savegames, you can calculate a checksum to determine if someone tried to change the save.

+1
source

I agree with @pre, skip the encryption part and use HMAC ( on ios ) to make sure your saves have not been changed. To protect the secret HMAC element, I would generate it using any random generator and store it in the keychain.

Entries in key chains are not copied, so they are difficult to read if your iphone has not been jailbroken. You can try this wrapper around the keychain: https://github.com/carlbrown/PDKeychainBindingsController

+1
source

The registration process is not so difficult. Most of them fill in information about the company (name, address, etc.). There is only one part that asks you about your encryption. The process takes about 3 days and a few back-fourths.

Apple has a checkbox in iTunesConnect to mark if you use encryption for anything other than login credentials. Looks like they just close their butt. You send a screenshot of your completed form and immediately sign it.

For a brief description of the steps you need to take, follow these steps: https://www.chatmap.io/blog/iPhone-iTunes-ERN-Encryption.php

In short, this is not a big registration job.

+1
source

Source: https://habr.com/ru/post/914474/


All Articles