在 SMS SaaS 产品中设计安全且保护隐私的电话号码更改系统

Designing a Secure and Privacy-preserving Phone Number Change System in a SMS SaaS Product

提问人:Ege 提问时间:7/26/2023 更新时间:7/26/2023 访问量:19

问:

我正在开发一个应用程序,其中用户通过他们的电话号码来识别。一个用户帐户可以有一个电话号码,但可以从多个帐户添加一个电话号码。对于每个phone_number,我都会提供 10 个免费的消息津贴。我正在实现一项功能,允许用户在其用户页面中更改他们的电话号码,但这带来了两个挑战:

  1. 安全性:如果用户更改了其电话号码,则应“继承”新电话号码的消息计数(如果以前使用过)(即,用户在更改电话号码时可以继续使用剩余的消息)。但是,这打开了一个漏洞,用户可以使用新电话号码创建多个帐户以获取更多消息,然后将这些新帐户切换到其原始电话号码以汇总消息计数。

  2. 隐私:当用户尝试将其电话号码更改为新号码时,如果其他用户已使用新号码,则他们应该无法看到新号码的消息计数。这是为了防止用户窥探他人的消息计数。

如何设计电话号码更改流程以确保安全性(防止滥用消息计数系统)和隐私(防止泄露他人的消息计数)?

  1. 尝试的解决方案:我尝试将消息计数与帐户相关联,而不是与电话号码相关联。这样,即使用户更改了电话号码,他们仍然会看到与其帐户关联的消息总数。

    问题:这种方法容易被利用。用户可以使用新电话号码创建新帐户,获取消息的初始分配,然后将新帐户的电话号码更改为其原始电话号码。这样,他们可以有效地将消息从新帐户传输到原始帐户,从而获得比应有的更多的消息。

  2. 预期结果:我想防止用户在尝试更改电话号码时看到已在使用的电话号码的消息计数。

    问题:但是,如果我在他们更改电话号码后向他们显示消息计数,这可能会间接揭示以前是否使用过新电话号码,这是一个隐私问题

    3. 尝试的解决方案:我还尝试使用电话验证,但这在我的情况下是不可行的,因为用户可能会为他们的亲戚购买该服务,因此帐户所有者和电话号码的所有者可能不同。我认为,由于只有电话号码的所有者才能实际从该号码发送消息,因此将其添加到您的帐户中没有副作用。

安全 google-cloud-firestore 用户体验 web-development-server 电话号码

评论


答: 暂无答案