我们正在使用 tincan api 向我们自己的学习记录存储 (LRS) 报告课程进度。这些课程由第三方提供,并在用户浏览器中作为 HTML 页面运行。
由于可以操纵从课程发送的所有 tincan 语句(简单的 REST 接口),我们确定可以制作或重播 LRS 将接受的“课程成功”消息。
有哪些方法可以防止欺诈性消息?
什么是常见的保护层?
我们正在使用 tincan api 向我们自己的学习记录存储 (LRS) 报告课程进度。这些课程由第三方提供,并在用户浏览器中作为 HTML 页面运行。
由于可以操纵从课程发送的所有 tincan 语句(简单的 REST 接口),我们确定可以制作或重播 LRS 将接受的“课程成功”消息。
有哪些方法可以防止欺诈性消息?
什么是常见的保护层?
好问题!任何使用客户端代码(包括任何 SCORM 包)的应用程序都容易受到欺诈数据的攻击,因此这是一个需要考虑的重要问题。
根据您的具体情况以及安全性对您的重要性,您可以在这里大致采用三种方法。
在很多情况下,在线学习要么是自我导向的,因此学习者没有作弊的动机,要么不够重要,因此值得冒险通过作弊影响你的职业生涯。如果陈述的模式看起来很奇怪,或者如果学习者的后续行为与成功完成课程的人的行为不匹配,则可以检测到作弊并采取行动。
还有可能比发送欺诈性陈述更容易作弊的方法,例如向同事或朋友询问答案,或在代码中找到正确答案。安全性与最薄弱的地方一样好,如果那个地方不是 Tin Can,那么你就没有必要把精力集中在那个地方:如果你的墙上有一个洞,就不要为你的门买一个更大的锁。
为了支持这种方法,Tin Can 语句具有权威属性,表明谁断言了事情发生了。这允许报告工具和用户查看数据以确定他们对该数据的信任程度。
对于任何客户端跟踪,这种信任级别应该相对较低,但在许多情况下,没关系。请记住,了解人们以便为他们提供工作的两种主要方式是简历和面试,这两种方式都依赖于员工的自我主张。重要的是要知道数据的可靠性。
如果您必须使用客户端跟踪,您可以通过限制用于启动内容的凭据的权限和范围来稍微提高安全性。考虑您希望课程发送哪些数据,并将凭据限制为该数据集。这种方法不会阻止声称已通过课程的个人学习者,但会阻止他们发表关于其他学习者或其他课程的陈述。这是损害限制,而不是预防,而是将您的客户端跟踪的安全性提高到与 SCORM 相同或略高的水平。
如果安全性对您来说真的很重要,那么唯一的选择(SCORM 中没有)就是进行跟踪服务器端。许多主要的服务器端语言都有免费的开源代码库。跟踪服务器端允许您向学习者计算机隐藏凭据,因此任何人获取这些凭据并发送欺诈性陈述的风险要低得多。
正如我上面提到的,你确实需要确保你已经解决了链条的其余部分。如果问题被标记为客户端(学习者可以在代码中找到正确答案),或者如果无法验证被评估用户的身份(他们的朋友可以为他们参加测试),服务器端跟踪可能是一项毫无意义的投资)。
如果您的课程已经使用客户端跟踪(可能由创作工具创建),则此选项可能是最昂贵的,因此您需要考虑安全性的重要性。一些采用者采取了使用客户端跟踪来获得学习体验的方法,然后是服务器端跟踪评估。
总而言之,如果操作正确,Tin Can 有可能比 SCORM 更安全,但您确实需要考虑端到端的整个过程,而不仅仅是跟踪。
如果您对这三种方法中的任何一种有任何后续问题,请告诉我。