私は、ユーザーが自発的に重要なテストをオンラインで受けるクライアント向けの機能を開発しています。テストは難しく、ユーザーはうまくやる気になります(SATやGREなどを考えてください)...したがって、不正行為をするインセンティブも高くなります。どうやら、人間がウェブカメラを介して受験者を仮想的に監視するサードパーティのサービスがありますが、それらは本当に高価であり、私たちには十分な予算がありません。それでも、ユーザーがシステムをゲーム化するのをできるだけ難しくする必要があります。彼らが試みるかもしれないと私たちが疑うことのいくつかは次のとおりです。
他の誰かに彼らのテストを受けさせる(代打)。
さまざまなプロファイルで複数回テストを受けて、練習し、不当なアドバンテージを得ます。
友達と一緒に、または友達と連絡を取りながらテストを受けて、答えを伝えます。
質問の順序と回答の順序が変わります。テストは時間制限があり、「オープンブック」形式であるため、ユーザーがオンラインで検索することについてはあまり心配していませんが、画面を共有したり、他の人に手伝ってもらったりすることはできません。したがって、この時点での主な関心事は、ユーザーが実際に自分が誰であるか(他の誰かではない)であることを確認することです。
検討しているセキュリティ対策のいくつかを次に示します。
ユーザーのデバイスにWebカメラが必要です。Webカメラをアクティブにして、テスト中にユーザーを記録/写真撮影します(もちろんユーザーの同意を得て)。
ユーザーに任意の銀行預金額を確認するように依頼します(おそらくPayPal経由)。彼らが複数の銀行口座を開くのを止めることは何もありませんが、少なくともそれは大きな面倒です。
ユーザーが不正行為に巻き込まれた場合に法的措置を脅かす、本当に恐ろしい利用規約。
質問:テストが安全で結果が信頼できることを確認するために、他に実行できる/実行すべき対策はありますか?
明確化:十分なリソースと決意があれば、どのセキュリティシステムも最終的には打ち負かされる可能性があることを認識しています。この質問の目的は、魔法のように無敵の解決策を見つけることではなく、ほとんどのユーザーが不正行為をする価値がないように、賭け金を十分に引き上げる方法を見つけることです。この精神で、私は、できないことではなく、できることに焦点を当てた答えを望んでいます。