An Arbitration System for Student Evaluation Based on XML Signature
Total Page:16
File Type:pdf, Size:1020Kb
2nd EUROPEAN COMPUTING CONFERENCE (ECC’08) Malta, September 11-13, 2008 An Arbitration System for Student Evaluation based on XML Signature ROBERT ANDREI BUCHMANN, SERGIU JECAN Business Information Systems Dpt. Faculty of Economic Sciences and Business Administration Babes Bolyai University Cluj Napoca Str. Th. Mihali 58-60, ROMANIA [email protected], [email protected] Abstract: This paper promotes an e-learning application model for student evaluation, based on AJAX frameworks in order to provide improved user experience and asynchronous data exchange and the XML Signature standard in order to impose message authentications for the test papers. The motivation of this research is the need to arbitrate contestation for e-learning evaluation by providing an authentication and non-repudiation mechanism for both the students’ answers and the teachers’ evaluation criteria and rating, especially in open answer tests. Keywords: - e-learning, digital signature, AJAX 1 Introduction arose the issue of arbitration in contestation processes, especially in tests based on open E-learning already provides a mature model for questions, but also in multiple choice tests with educational processes. However, the separation no immediate answer validation. The proposed of parties in time and space is bound to solution is an extension to traditional e-learning communication gaps causing situations where an application models, regarding the evaluation arbitration system should provide trust module, based on XML-based digital signature mechanisms between the student and the and improved usability through AJAX teacher. The proposed application model is an frameworks. evolutionary step of the XML-driven e- commerce application previously implemented 3 Problem Solution for Flash 2004 with XML support and currently migrated under an AJAX framework and within 3.1 Instrumentation an e-learning context based on trust managed through XML Signatures. The Flash-XML a. The proposed application model is defined on application model was previously presented in an AJAX framework (Prototype being the [1] and more details are provided on the chosen framework for the prototype mapping of relational data on an XML implementation) with a server-side based on repository in [2]. PHP scripts that build XML documents signed with XML Signature based on session data and 2 Problem Formulation the data provided by the student (questions and answers) and the teacher (proper answers The practical problem approached by the referring questions, the weight of the question in authors’ research effort is the need to arbitrate the average grade and the rating resulted from the evaluation process within an e-learning the teacher’s evaluation). environment, as established popularly in modern AJAX is becoming a mainstream solution for universities. The authors are involved in setting Web applications due to its heavily promoted up and conducting distance learning processes advantages[3]: based on the e-learning platform provided by the • Increased usability and improved user represented institution. Within this context, experience; ISSN:1790-5109 211 ISBN: 978-960-474-002-4 2nd EUROPEAN COMPUTING CONFERENCE (ECC’08) Malta, September 11-13, 2008 • AJAX aligns with the trend of evolving </Reference>)+ 1 or more occurrences </SignedInfo> usage patterns in Web applications; <SignatureValue> • Parts of the processing effort is moved (<KeyInfo>) ? 0 or 1 occurrences (<Object>) * 0 or more occurrences on the client-side, together with parts of </Signature> the business tier; • The development process does not The components of the signature are embedded involve commercial software and the within two elements: application is easier to deploy compared • <SignedInfo> contains the list of resources’ with other Rich Client solutions. locations to be covered by the signature each with preliminary hashes (digest); 1 Prototype is one of the most successful • <SignatureValue> contains the definitive framework providing high level JavaScript hash signature resulted from signing functions that encapsulate and hide most of the <SignedInfo>. disadvantages of AJAX programming: cross- Additional and optional elements are those browser decisions, try-catch structures and providing information on the key (public key or heavy syntax. Some of the most relevant certificate) and various object-resources advantages brought by the Prototype library are: contained within the signature[5]. • Simplifies the JavaScript syntax; • Provides new functions for accessing The type of signature used by the proposed DOM nodes; application is the detached one. This provides a • Provides new objects for transferring complete separation between the signed and the data and encapsulating signature files, whereas enveloping or enveloped XMLHttpRequest and cross-browser signature requires that the signed document is issues; embedded or embeds, respectively, the • Provides a high-level element signature. positioning system, which is the foundation for the Script.aculo.us 3.2 Application architecture and JavaScript effects library[4]; implementation details • Simplifies the access to form and their fields; Ajax User Interface • Simplifies the snippet insertions in the (on the Prototype framework) user interface, using the Insertion class, an AJAX pattern encouraged by Rails frameworks. PHP signature engine PHP Evaluation engine c. The structure of an XML Signature, as - Signature generator - Test generator defined in the W3C recommendation, is the - Signature validator) - XML exam generator following (cardinality explanation on the right - Test sheet formatter side)2: <Signature> <SignedInfo> <CanonicalizationMethod> <SignatureMethod> (<Reference (URI=)? > 0 or 1 occurrences (<Transforms>)? 0 or 1 occurrences XML Signature XML signed Relational database <DigestMethod> repository repository (Questions, <DigestValue> Answers, Students, (Sig files) (Exam docs) Teacher data) 1 The library is open source and can be downloaded from http://prototypejs.org 2 The latest W3C recommendation for the standard is Fig.1. The 3-tier architecture of the application available at: http://www.w3.org/TR/xmldsig-core/ ISSN:1790-5109 212 ISBN: 978-960-474-002-4 2nd EUROPEAN COMPUTING CONFERENCE (ECC’08) Malta, September 11-13, 2008 digital signatures were validated on the same By using an AJAX framework, multiple choice data set (document). questions can be easily validated and rated in an automated fashion as the respondent is checking XML Signature permits partial digital signatures his answers, a usability improvement inspired by on element level, in the same XML document or the evolved interaction of validated AJAX multiple documents. The carbon copy version is forms. By handling events such as bluring and obtained in our application model by processing focusing, the server provides instant answers to an XSLT stylesheet over the signed "test sheet" the student, through the Ajax.Updater object document. provided by the Prototype library: The basic use scenario of the application follows argument={ the steps: asynchronous: true, method:"get", • The student user fills and submits a test parameters: data, paper presented as an AJAX form, with onFailure: failurehandler } the possibility of having immediate updtr=Ajax.Updater(element,url,argument) evaluation on the multiple choice questions; where: • The server builds dynamically an XML • element is the id of the div tag which will document with the student’s answers have its content replace with the server and digitally signs by building an XML response; Signature via DOMDocument; • url indicates the server script; • The digitally signed document with the • failurehandler is a JavaScript variable of student’s answers is stored in an XML the “function” type, referring a handler; repository and can be formatted with an several such handlers may be defined for XSLT stylesheet; each state of the XMLHttpRequest transfer • The teacher user is able to verify the and each of them have the request object as authenticity of the student’s answers; an implicit argument. • The teacher user signs the part of the document containing his evaluation data Ajax.Updater encapsulates the full functionality (ratings, criteria); of XMLHttpRequest, including cross-browser • The student may authenticate the instantiation, combined with the Prototype teacher’s evaluation; extended class name Insertion, which provides The digital signature is built with a PHP script means of inserting HTML snippets (or formatted by building the XML Signature structures (based XML) at any point of the document relative to on SHA-1 hashing for the prototype in works). other elements or arrays of similar elements Both the student’s and the teacher’s signatures (form fields, table rows, div sets etc.). are stored in separate files. The student and the teacher’s data regarding one “test paper” are However, our main challenge is to define an stored in the same document, which is partially arbitration system based on integrity signed by the two different signatures. XML preservation and message source authentication Signatures allow partial signing of the document during the evaluation process, even in the case (element signing), or multiple signing of the of mixed evaluation (open answers and choice same document. answers). By mimicking real-life formalities, both the student and the teacher should be able The following would be the core structure of a to sign their input (answers and evaluation data, test sheet: respectively) and verify