保护tincan课程免受重播/欺诈性陈述

时间:2015-02-03 08:37:01

标签: security tin-can-api fraud-prevention

我们正在使用tincan api的课程向我们自己的学习记录存储(LRS)报告课程进度。这些课程由第三方提供,并在用户浏览器中作为HTML页面运行。

由于可以操作从课程发送的所有tincan语句(简单的REST接口),我们发现可以制作或重播LRS将接受的“课程成功”消息。

  • 有什么可能阻止欺诈性邮件?

  • 什么是常见的保护层?

1 个答案:

答案 0 :(得分:9)

好问题!任何使用客户端代码(包括任何SCORM包)的应用程序都容易受到欺诈性数据的攻击,因此这是一个需要考虑的重要问题。

根据您的确切情况以及安全对您的重要性,您可以采取三种方法。

  1. 不在乎:
  2. 在很多情况下,在线学习要么是自我导向的,要么学习者没有欺骗的动机,或者不够重要,以至于冒着欺骗行为对你的职业生涯产生影响的风险。如果陈述的模式看起来很奇怪,或者如果学习者的后续行为与成功完成课程的人的行为不匹配,则可以检测作弊并由人采取行动。

    可能还有更容易欺骗的方法,而不是发送欺诈性陈述,例如向同事或朋友询问答案,或在代码中找到正确的答案。安全性只有最薄弱的一点,如果不是锡罐那么重要,那就没有必要把你的努力集中在那里:如果你的墙上有个洞,不要为你的门买更大的锁。

    为了支持这种方法,Tin Can语句有一个authority property,表明谁声称事情发生了。这允许报告工具和查看数据的用户确定他们对该数据的信任程度。

    对于任何客户端跟踪,该信任级别应该相对较低,但在许多情况下,这没关系。请记住,为了提供工作而找到人的两种主要方式是简历和访谈,这两种方式都依赖于员工的自我主张。重要的是要知道数据的可靠性。

    1. 限制凭据
    2. 如果必须使用客户端跟踪,则可以通过限制用于启动内容的凭据的权限和范围来稍微提高安全性。考虑您希望课程发送哪些数据,并将凭据限制为该数据集。这种方法不会阻止个人学习者声称已通过该课程,但会阻止他们发表关于其他学习者或其他课程的陈述。这是损害限制,而不是预防,但会使您的客户端安全跟踪达到与SCORM相同或略高的水平。

      1. 服务器端跟踪
      2. 如果安全性对您很重要,那么只有选择(在SCORM中不可用)才能进行跟踪服务器端。许多主要服务器端语言都有free open source code libraries。跟踪服务器端允许您隐藏学习者计算机的凭据,因此任何人获取这些凭据并发送欺诈性声明的风险要低得多。

        正如我上面提到的,你确实需要确保你已经解决了链的其余部分。如果问题被标记为客户端(学习者可以在代码中找到正确的答案),或者如果无法验证被评估用户的身份(他们的朋友可以参加测试,那么服务器端跟踪可能是毫无意义的投资) )。

        如果您已经使用客户端跟踪(可能是由创作工具创建)获得了您的课程,则此选项可能是最昂贵的,因此您需要考虑安全性的重要性。一些采用者采用了使用客户端跟踪来学习体验的方法,然后是服务器端跟踪评估。

        总而言之,如果做得好,Tin Can有可能比SCORM更安全,但你确实需要考虑整个过程的端到端,而不仅仅是跟踪。

        如果您对这三种方法中的任何一种有任何后续问题,请与我们联系。