关于手机分期付款项目的总结
前言
此项目是印度客户提出,分期付款架构是他们设计,架构图如下:
用户购买机器,销售方**此分期付款机器,每个月用户按时缴纳按揭款,则服务器发送短信到用户机器解锁设备,如果没有缴纳按揭款,则发送短信命令到客户机器,用户不能继续使用。
技术细节
- 服务器端通过手机的IMEI号码来区别每一台机,设备每次插入新SIM卡后发送短信到服务器,短信包含IMEI号码。
- 手机端发送信息到服务器,服务器短信号码预先存储在设备中,服务器可以发送短信更改移动终端服务器短信号码。
- 要防止终端用户拿到机器刷机,导致分期付款功能失效,所以软件版本带eFUSE功能。用户不能刷版本,否则无法开机。
- 要防止关键数据不被用户修改,比如IMEI号码,服务器短信号码等,这些数据写入到RPMB模块中。
- 为了防止短信在传输过程中被窃取,短信内容要进行加密,加密技术是AES-256.
- 关键数据是相互独立、简单。所以我选择JSON技术,方便存储、管理数据。
- android java层存储RPMB数据,必须与底层C++交互,这种技术是我们大家属性的JNI技术(JNI 总结)。
- 为了不重复造轮子,让其他应用获取RPMB数据,我们使用AIDL技术。