我正在开发一款适用于远程服务器的移动应用程序。
在我的应用中,我的每个用户都拥有包含一些敏感数据的用户数据。 (存储在数据库中) 我的主要问题是,一旦我的用户登录/注册到我的应用程序,我想以安全的方式从服务器获取用户的数据。目前,我正在使用简单的GET请求返回JSON数据,例如/ getuser / id。这显然不是返回敏感数据的好方法,因为它对所有人开放。
简单的流程考虑: 记录用户,从服务器获取用户数据,将数据保存在用户设备上。
答案 0 :(得分:0)
我有一些建议,
(1) Use secure encryption/decryption algorithms like AES-256 with user credentials based cryptographic key for sensitive data transmission in client server architecture.
For more security you can use public key algorithm (like RSA-1024) to exchange symmetric key(Here AES) between client server.
1. @SERVER -----> generate Public-Private Key(RSA) ---> Send public key to Client.<br/>
2. @CLIENT------> generate unique AES key using hash(username+passwd+salt)----> Encrypt Hash Value using RSA public key ---> Send Encrypt value to SERVER<br/>
3. @SERVER------> decrypt Encrpted AES Key using private key(RSA). Now SERVER have got AES key & CLIENT have it already.<br/>
4. SERVER <------AES Encryption/Decryption----> CLIENT<br/>
(2) Use SSL/TLS protocol for transport layer security.
(3) Use POST method for improved security.
(4) Code obfuscation & jumble algorithms can be applied for secure key generation to avoid reverse engineering attacks upto a level.