我们有api_key,api_secret用于访问各种外部服务。这是当前的架构/模型。
用户(身份证,电子邮件......) user_service_configs(id,user_id,api_key,api_secret)
独立应用程序调用在同一台计算机上运行的独立服务,并在线路上传递(user_id,api_key,api_secret)。 独立服务使用传入的信息远程调用外部服务。 密钥/秘密值是用户特定的,因此每个人都会有所不同。 我想避免有人窥探这些价值观并偷走它们。
管理这些api_key / secret的理想设计是什么?我应该只是传递user_id并在服务器上进行数据库查找以获取api_key / secret(s),或者我还能做些什么来使其安全。
答案 0 :(得分:0)
要解决标题“如何保护API密钥在拨打远程电话时不被盗”的主要问题,我建议使用TLS / SSL。与远程服务的HTTPS连接将确保通过线路传递的任何敏感数据(如API密钥)都是端到端加密的。这将防止恶意用户可以访问线路的中间人攻击。
我担心我对您的架构不够了解,无法进一步帮助管理API密钥/机密。