totally slop.
你一直在证明能否做到,但实际上这从来不是能不能做得到的问题,而是值不值得做的问题。
如果你能够给出详细,可证实的真实统计数据来说明:
1. 有多少教室真正发生过恶意篡改点名软件配置的事件?
2. 即使发生,造成了多大的实际上的经济/名誉损失?
3. 电教/管理员发现被篡改以后,能够采取什么有效措施?
4. 为了防止这种情况,值得让管理员承担密钥保管和恢复成本吗?
对于一些对数据完整性有明确要求的软件我觉得,去对业务逻辑这边去加固数据完整性和篡改校验我觉得完全合理,比如部分涉及到业务审计的系统和软件等,但如果你的对象只是针对普通的“点名软件”,我得先问你:究竟是谁需要保证这份配置不能被偷偷修改?那又准备为此付出多少成本?而且也没有必要把整个班都看成风险环境。你提出的威胁模型当然不是完全不可能成立,但安全工程并不是无限枚举可能存在的攻击手段,再逐一引入技术方案加以防御。
一整套完整的威胁模型需要建立在实际使用场景、攻击者能力、攻击发生概率和潜在损失之上。 否则,只要一种攻击在理论上可能发生,就值得为其增加防御机制,那任何一个普通软件都可以无限扩展出一整套复杂的安全体系。
如果真正担心的是班级点名名单被修改,那么配置备份、历史记录、变更提示、恢复默认设置等方案,是否已经能够以更低的使用和维护成本满足实际需求?这些方案为什么不够?
而且其他人其实一直都在质疑需求是否成立,你却一直在解释技术方案是否可行。别人说产品复杂度你在说RSA性能低,别人在讨论实际的使用场景你又来解释专有名词,但是你说了这么多,却并没有回答最初的问题。软件工程并非技术能力展示,也不是去消灭所有可预见风险的比赛。要知道世界上没有绝对安全的系统,特别是人,可能是系统中漏洞最大的一环。一个功能即使在实现上完全正确可惜,也不代表其值得被加入到产品中。
你的谈话我只能看出来你一直在把提高攻击成本当作一种产品收益,但我先想问你,你的产品真的有人使用吗?有多少人使用?能获得多少收入让你这样深入的去研究所谓的“威胁模型”?你从头到尾都没有证明,一个点名软件,做这么多防篡改机制的收益对终端用户究竟有多少可被观察到的价值。
还是之前那句回复,话糙理不糙,虽然略微绝对了一点,但我觉得对于这个话题来讲你从来没有正视过:“首先软件本身就没有必要去“判断配置是否被恶意更改”,因为软件它应当按照程序的配置来工作,这是符合用户心理预期行为的。你这又引入了额外的不确定因素可不是什么好主意。如果配置坏了,软件去检测到,去修复/重置还能理解,但是被篡改,根本没必要,而且软件的配置就在你的设备上,你再怎么防也无济于事。”
请先证明问题值得解决,再讨论应该使用什么技术解决它,而不是先选定一个技术方案,再不断寻找能够证明它存在价值的场景。