如何保护移动应用的API(私钥)

 静风疾水 发布于 2023-02-12 01:34

我正在构建一个必须只能用于iOS应用程序的Web服务.在未来,我想扩展到移动网站,使我的服务也可用于其他移动操作系统.

现在,我通过API完成所有工作.我的用户可以注册,搜索公司,从这些公司订购产品并跟踪他们的订单.它尚未活跃,但它正在运作..

我面临一个主要问题:如何确保这一点?

在过去的几天里,我已停止编码,我一直忙于搜索网络,StackOverflow和信息安全,以了解如何执行此操作.我发现亚马逊获取API的方式对我来说是最好的解决方案.亚马逊确保其服务的方式在这里解释.我已经为我的服务稍微调整了一下:

    用户注册并获取私有API密钥+公共(标识)密钥

    用户输入凭据并点击"登录".应用程序从变量+私钥创建哈希.App将变量+时间戳+哈希+公钥发送给API

    API查找数据库中的公钥,查找属于该公钥的私钥(如果公钥有效).然后API以与应用程序相同的方式创建哈希.如果哈希值相同,则执行请求(在这种情况下登录).

这种保护服务的方式对我来说很有意义,我可以编写大部分代码.但我有一个主要问题,我找不到任何解决方案:

用户在创建帐户时获取公钥和私钥API密钥.公钥可以从服务器发送到用户设备,因为这不一定是秘密.由于私有API密钥永远不能通过网络发送,我怎么能确保登录用户设备的帐户知道在服务器上创建的私有API密钥?

有谁知道如何解决这个问题?任何帮助将非常感谢!!

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有