Die Übertragung sollte man eh mit SSL (=> HTTPS) vornehmen.
Die Daten selber kann man auch auf dem Server (komprimiert und) verschlüsselt ablegen. In der Datenbank hat man dann eine Tabelle mit einem BLOB-Feld.
Bei der Auslieferung wird dieser Inhalt einfach als BASE64-kodierter Block ausgeliefert.
Code:
{
"id": 1,
"data": "<BASE64-DATEN>"
}
Der Client muss sich jetzt um die Entschlüsselung (und das Entpacken) kümmern. Auf dem Client selber kann man diese Daten so ablegen, wie man die erhalten hat (sind ja schon verschlüsselt).
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)