我见过一家初创公司(验证Kero)正在开发一款用于验证消费品的产品。它把一个16位数字的秘密代码放在可划伤的涂层下。消费者通过网络、短信、IVR和移动应用等方式查找涂层背后的代码并发送给Kero,并将相应的公司名称、制造日期、产品名称、到期时间等发送给消费者。
这个想法在门外汉看来非常棒,也被孵化在一个顶级的城市孵化器里,并得到了许多ICT4D人的赞赏。但我的观点是这种产品是脆弱的。大量随机数可以被测试,并且可以很容易地过期。即使是原装产品或消费品,也会因此而向试验产品的人申报假货。
我想知道您对这种方法中可能存在的漏洞的专家意见。
发布于 2016-01-04 18:29:03
发布于 2016-01-04 18:21:00
从我到目前为止看到的描述中,有一个与产品描述和过期数据相关联的16位数字。考虑到产品描述比这个长得多,这个数字只是进入某个数据库的关键,所以它可以是一些随机数。
考虑到生产商必须以某种方式将这个数字添加到他们的产品中,他们可能会购买大量预先分配的唯一数字,一旦生产者将一个特定的数字与特定的产品和过期日期(或者更多的信息)关联起来,它就会将这些数据连同预先分配的号码一起发送。一旦数字与产品相关联,绑定可能就不能再改变了,即不能重复使用数字。
攻击者的目标很可能是将自己的产品与这些经过验证的数字关联起来。攻击者可能试图将自己的号码添加到假冒产品中。但是,由于可能的数字数量巨大,想出一个已经与产品相关的数字的机会接近于零。试图对一个公共网站(可能实施速率限制)施加如此巨大的暴力,也是不可能成功的。更有可能的是,当攻击者试图大规模地使数字失效时,会导致拒绝服务攻击,但这并不是因为这些数字耗尽,而是因为对验证网站的负载太高。
攻击者还可能试图获取原始产品的使用编号,并将其放在假冒产品上。但是,如果每一个验证都被记录下来,并且随后对相同数字的验证显示了以前验证的历史,这是可以被击败的。因此,人们可以快速地看到这个数字是真正的原始数字还是复制的数字。
攻击者还可能试图购买数字,并将这些数字与原始产品而不是假冒伪劣产品关联起来。但我会假设,用来购买这些号码的公司账户与公司名称及其产品有关,只有该公司才能将任何购买号码与公司产品联系起来。
..。大量随机数可以被测试,并且可以很容易地过期。即使是原装产品或消费品,也会因此而向试验产品的人申报假货。
如果系统是像我所描述的那样实现的,我看不到任何这些攻击。
https://security.stackexchange.com/questions/109714
复制相似问题