US20040230825A1 - Secure browser - Google Patents

Secure browser Download PDF

Info

Publication number
US20040230825A1
US20040230825A1 US10/791,019 US79101904A US2004230825A1 US 20040230825 A1 US20040230825 A1 US 20040230825A1 US 79101904 A US79101904 A US 79101904A US 2004230825 A1 US2004230825 A1 US 2004230825A1
Authority
US
United States
Prior art keywords
secure
browser
secure browser
user interface
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/791,019
Inventor
Eric Shepherd
Paul Roberts
John Kleeman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Questionmark Computing Ltd
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/791,019 priority Critical patent/US20040230825A1/en
Assigned to QUESTION MARK COMPUTING LIMITED reassignment QUESTION MARK COMPUTING LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SHEPHERD, ERIC ROBERT, ROBERTS, PAUL, KLEEMAN, JOHN
Priority to EP04007487A priority patent/EP1477880A3/en
Publication of US20040230825A1 publication Critical patent/US20040230825A1/en
Priority to US12/365,665 priority patent/US9055048B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Definitions

  • the present invention relates to the field of human computer interfaces for documents, preferably structured documents having information objects, in which the information objects are secure.
  • Secure browsers are designed to provide a secure environment to deliver valuable content and assessments such as tests and exams.
  • Web servers can deliver questions to any web browser, but most browsers are designed to be as open and flexible as possible. When you are delivering secure content or assessments online you need far more security than most browsers provide.
  • a content provider can specify that secure content such as a test or an exam may only be delivered in such manner as to significantly reduce the likelihood of cheating, or inappropriate disclosure of sensitive content.
  • Secure browsers allow a content provider to prevent users from printing questions, using the right-click on the mouse, saving the HTML, viewing the source, and accidentally exiting an assessment in a proctored environment.
  • the look and feel of the screen displayed may otherwise correspond to that of a normal browser, except pages may not be stored (cached) in the history, and certain menu options and icons are not displayed or are made unavailable.
  • Web browsers are typically flexible and open programs which aid the user in navigating the Internet, running programs or applets, and giving the user full control over what he/she is doing. But when browsers are used to take assessments, it's desirable that the user should not have full control and open access. Since the assessment is designed to measure knowledge or a skill, and sometimes has consequences for passing or failing, it's desirable that what the user can do is restricted; essentially the user should only take the assessment and not be able to perform other tasks. For example, it can be desirable that users should not be able to navigate the Internet (where they might find right answers), communicate with others, run other programs, print the screen or copy the questions to other people and so on.
  • web content may be maintained as secure, in that participants can view and interact with it, including sending back responses, but participants should not be able to run other programs while viewing it, should be limited in their ability to navigate through the content in ways not permitted by the content, should not be able to see the source code of the document (e.g., HTML), and/or should not be able to copy or export it in any way.
  • secure content There are means of displaying secure content at present, but these need to be specifically started by the participant prior to encountering the secure content.
  • the present invention covers methods and apparatus for allowing the display of the secure content through a secure browser which is launched automatically when such secure content is encountered.
  • a secure browser which is launched automatically when such secure content is encountered.
  • the secure content is identified, for example, by a MIME type (or other type that browsers can recognize), which causes the initiation of a new program, a secure browser, to run that MIME type.
  • MIME type or other type that browsers can recognize
  • the secure browser is installed, it is associated with the MIME type and any file extensions defined for the MIME type. It might also be possible to automatically download a secure browser, either as a separate application or applet, when the MIME type is first encountered.
  • a particularly preferred aspect of the invention provides that a user access of secure content invokes the secure browser, which otherwise is uninvolved in content viewing.
  • the Secure Browser is designed to provide a secure environment to deliver assessments such as tests and exams. Servers can deliver questions to any web browser, but most browsers are designed to be as open and flexible as possible. When assessments are delivered online far more security is required than most browsers provide. The test author can specify that a test or exam may only be delivered via a secure browser, to significantly reduce the likelihood of cheating.
  • test author can configure a cooperating server to only deliver assessments to a secure browser. This feature allows restriction of users from printing questions, using the right-click on the mouse, saving the content or portions thereof (e.g., HTML source), viewing the source, and accidentally exiting an assessment in a proctored environment.
  • content or portions thereof e.g., HTML source
  • the look and feel of the screen displayed may be very similar to that of a normal browser, such as Internet Explorer, although the pages are not stored in Internet Explorer's history listing, and some navigation buttons and toolbars are usually omitted.
  • a host browser or operating system may be employed for content presentation, rendering, and use.
  • the present method and system enables high stakes testing to be performed from a computer lab or training room, without any special configurations.
  • Secure Socket Layer protocol https: may be used to frustrate network sniffing, and provide an authentication protocol to start delivering high-stakes tests.
  • the Secure Browser provides the same facilities as typical browsers, but it incorporates many additional security features. It may also be of interest for other applications where a secure browser is needed.
  • Ordinary browsers can be configured to provide a more secure environment in the following ways, among others:
  • the Secure Browser may have the following security features: Secure Browser versus Ordinary Browsers Security Issue Ordinary Browser Secure Browser Printing and Participants can print out All printing is disabled unless copying questions, or copy them into Secure Browser is configured to applications to pass onto others. allow printing on the current page. Even with assessments using Copying documents or screen random selection from a question shots to the clipboard is also bank (so that each test is disabled. different), the question bank is not of unlimited size. So if many participants copy the test they have received, the full question bank will not remain secret for long. Screen display Participants can change the Assessments always take up the screen size and use other whole Windows display. software from the desktop, and No browser menus are presented. use the navigation buttons and The toolbar can be hidden or its menu items. buttons enabled or disabled.
  • Screen refresh Participants can disrupt the Refresh (reload) the screen is testing process inadvertently. disabled unless Secure browser is For example, it's common to configured to allow refresh on the present several questions in one current page. document, but not submit the answers to the server until a “submit” screen button is pressed after they are all answered. If the participant answers some questions, and then refreshes (reloads) the screen, the unsubmitted answers will be lost.
  • Shortcut keys Participants can pretend that the All browser control keys and right- software failed, in order to mouse context menus are invalidate their attempt (if they disabled. know they are doing badly).
  • URLs to graphics or multimedia objects.
  • Other URLs Participants can access other The participant can't enter a URL. URLs while taking a test, for A start URL is defined, and the example websites that might only other URLs that can be contain the right answers to the navigated to are those linked to questions. from the assessment.
  • Other software Participants can use other No other software is available to programs on their PC, for the participant. Task switching is example, spreadsheet or disabled, and other programs calculator programs or email cannot be run. clients.
  • a secure browser can detect all capture screens presented in a variety of other processes and applications ways including using screen running on the PC, and either capture programs which capture refuse to run if certain applications the screen every few seconds or are running, automatically shut screen sharing programs which down any processes or allow you to application share and applications on a “black list” of copy your screen to other known problem applications and/or computers. keep a list of all the processes and applications running on the computer at the time of delivery of the secure content, and include this list with the test results, so that a future audit can check whether any unsuitable processes were running.
  • the secure browser is most secure when it is run on a controlled PC, for example in an exam center or in a controlled computer lab. If you can control the PC being used for the assessment, you can make a completely secure environment to take tests in. But a secure browser can also be used when delivering tests remotely, when a participant uses their normal PC at home or in their office to take assessments.
  • the test administrator can use a template setting that forces any assessment that uses the template only to be available if the assessment is being taken with secure browser. The assessment will not run in any other browser, even if it is being taken remotely. This won't deal with all the above concerns; for example, other URLs can still be accessed on a second computer. But it will still be very difficult to print out tests or copy them to other applications to pass on to other parties.
  • the PCs used by participants should be booted up and the secure Browser should be started before the they arrive. It may be possible to automate this in some way, either by putting Secure Browser in the Startup folder, or by using other tools.
  • the system may be vulnerable if the PC can be turned off and then re-booted, since this will exit Secure browser. It is possible to supervise the PC to prevent this.
  • Some organizations also use closed circuit TV or a video camera to record exam centers to monitor such attempts to bypass the security.
  • this may be transmitted and/or rendered as a graphic content object, rather than as a text object.
  • the present system and method may thus be used to: Stop people from printing questions; Stop people from typing in their own URL; Always display in full screen so it's not possible to maximize or minimize; Avoid display of menu options or icons; Disable control keys; Disable right-click menu options; Prevent going backwards to a previous page; Stop people exiting in a high stakes, proctored, environment; Prevent running other programs, like a calculator or spell-checker, if this is desired; Hide the HTML source; Prevent application capture and application sharing; and Provide an API to control certain functions of a browser from the server; command the secure browser, by a cooperative server, to display a toolbar;
  • the present invention provides three particular aspects of interest: (a) Launch of a secure browser from a regular browser; (b) Indicate which web page to ‘get’; and (c) Server authentication that the correct browser has been launched
  • MIME type Internet technologies allow a MIME type to be specified to indicate to the computer operating system which program should be used to display the content.
  • the MIME type may be defined by the file extension or the Content-type header returned by a web server.
  • the present invention specifies a new MIME type of “Questionmark Secure Browser” (or equivalent) which starts the secure browser to display the assessment or e-learning content that requires more security than a normal browser would provide.
  • a web page contains a link (triggering link) that, when accessed, passes a MIME type to indicate that a secure browser is required to display this content.
  • the MIME type specifies that the content must be displayed in a secure browser, it doesn't specify where the content is located.
  • Cryptographically secure authentication methods include, but are not limited to: Shared secret (a key is configured within the secure browser and at the server; the keys must match to allow authorization); Exchange of tokens based on shared secrets; Exchange of limited life tokens based on shared secrets; Exchange of public and private keys (public key encryption); and Specific values in the HTTP_USER_AGENT or other HTTP keys.
  • the functionality may be limited navigational functionality (e.g., access of unrestricted documents, documents outside a specified set, or access of other applications or windows), data manipulation functionality, data export functionality (e.g., print, copy, save, cut, paste, etc.), or the like.
  • the server may authenticate the secure browser, and likewise, the secure browser may authenticate the server, before presenting the secure content.
  • the secure browser may restrict termination of its own execution.
  • the secure browser may be granted principal application level control over graphic user interface inputs from a user, and/or exclusive control over graphic user interface functionality when invoked.
  • the secure browser may protect graphics, multimedia or other resource files referenced from within the HTML, XML or other secure content technology in the pages being accessed by the browsers.
  • the resources for example, are delivered by a content server, configured to detect the secure browser and only deliver to this, in the same way that the main content itself is protected. This would deal with the issue, common in Internet testing, that even if a test is protected, the graphics within it are not.
  • the secure server in this case, may be the same or different from the secure server delivering the text. It is further possible to provide direct secure server intercommunication, or to use the secure browser to pass messages between secure servers, which may include, for example, authorization tokens, financial accounting information, indexes or content identification information, or the like.
  • FIG. 1 shows a flow diagram of a method according to the present invention.
  • FIG. 2 shows a flowchart of a method according to the present invention.
  • the secure browser may still use basic internet technologies (http, html, MIME types, etc) to ease deployment issues; launch a secure browser from a normal browser; be initiated by a triggering link; and employ secure browser calls back to gather actual content.
  • basic internet technologies http, html, MIME types, etc
  • a communication steam is provided between a user's computer and a server, exemplified as follows by sample HTTP headers. This interaction is represented in FIG. 1.
  • HTTP/1.1 200 OK Server Microsoft-IIS/5.0 Date: Wed, 14 May 2003 15:03:58 GMT
  • Content-Type application/qmsb
  • QuestionmarkTM Secure is a secure browser, based on Internet Explorer, which delivers secure content like assessments to participants.
  • QS the user browser navigation controls and keys are, or may be, rendered non-functional, and the participant is forced to view and interact with the secure content, and cannot do other things on their PC.
  • the secure browser also resists attempts to copy, esport, or print the secure content. The operation of this embodiment is shown in the flowchart of FIG. 2.
  • QSBlaunch a program which is used to launch QSB
  • QSBcheck a program which is used to authenticate QSB
  • a Component Object Model (COM) object (QSBst.dll) which provides services to QSBlaunch and QSBcheck.
  • the COM object is the formal Server Technologies used by QSB.
  • the other programs are written by the assessment author, for example based on example code.
  • QSBlaunch and QSBcheck are, for example, ASP programs, but they could easily be written in any server side language.
  • the programs may reside on the same server, though since they call each other by HTTP, this is not strictly necessary.
  • the COM object must be registered and present on the same server as QSBlaunch and QSBcheck. It would also be possible for the separate functions of QSBlaunch, QSBcheck and secure content delivery to be combined into a single program.
  • the URL to QSBlaunch is, for example, www.xyz.com/qsblaunch.asp and the URL to QSBcheck is www.xyz.com/qsbcheck.asp.
  • the triggering link consists of the URL to QSBlaunch, followed by arbitrary parameters.
  • the parameters will typically define the assessment to be run. All parameters must be URL encoded in the usual way.
  • the QMSB file will contain a message at the top in case it is read in error, for example,:
  • Questionmark Secure Browser If Questionmark Secure Browser is not installed, there is no way that the participant can proceed. They have to install Questionmark Secure Browser and re-run the triggering link. Or it may be possible to have the server deliver a message to the user telling them where to install it, or helping them automatically do so.
  • the install program When QS is installed, the install program will configure QS as being associated with the MIME type above. This will automatically ensure that IE 5+ associates the type with QS.
  • the install program may also attempt to configure Netscape to treat QSB as a helper application for this MIME type, or identify and configure other browsers to properly view QSBdocuments.
  • the user's browser is not configured to run QS, then the user may be asked if they want to save or open the file.
  • the server will not deliver secure content in such a circumstance, since the secure browser is not operative to generate an anticipated response.
  • the user's computer system is configured to run QS, they may have to confirm that they want to. Provided the user's browser is set correctly, this will call QS to run the document.
  • QSBcheck makes a call to QSBst.dll to check the HTTP header to see that it has been called by QS. It also can check the date/time to ensure that the authority is not copied from a previous attempt to try to spoof the system. Providing it has been called correctly, then it passes on the parameters to the secure delivery software, which then delivers the secure content, safe in the knowledge that it is doing so to QSB.
  • Triggering link is:
  • QSB Server Technologies in the form of a Microsoft COM object. It's main purpose will be to assist the server side delivery application with encryption and authentication capabilities.
  • the algorithm used for encryption is an XOR based encryption technique based on keys internal to QSBst.
  • the algorithm for authentication is an MD5 checksum derived from a mixture of http header information and secret keys internal to both QSB and QSBst.
  • QSBst supports the IDispatch interface, allowing it to be accessed from scripting technologies such as VBscript and ASP.
  • QSBst interface consists primarily of four properties and two methods which are detailed in the following section.
  • the interface is called IQSBSecurity, with a program ID of QSBst.QSBSecurity.1, this is the ID that is passed to the object creation function on the server side application.
  • the version enum is used by the EncryptURL method to determine which algorithm to use internally to encrypt the URL.
  • Properties FormatHex BSTR Get/Set Determines whether or not the string returned from the encryption routine is encoded with hexadecimal characters.
  • Logging VARIANT_BOOL Get/Set Provides log information.
  • LogFile BSTR Get/Set The path and name of log file. AppendLog VARIANT_BOOL Get/Set Whether logging information is appended to an existing file if it exists or to clear and previous log information.
  • a Learning Management System is a web-based software program that manages how learners access electronic and class-based learning. Commonly a participant logs into an LMS in a browser and then is able to take courses, assessments and be directed to appropriate places that allow learning and/or assessment to take place.
  • LMSs can call assessments using a variety of protocols including a standard promulgated by the AICC called AICC HACP, a specification promulgated by ADL SCORM called the SCORM 1.2 Runtime Environment and proprietary protocols. LMSs can make calls to Questionmark Perception via any of these means using a protocol called Perception Integration Protocol (PIP).
  • PIP Perception Integration Protocol
  • PIP Perception Server
  • ASCII PIP file on the Perception Server, which defines what sort of interaction from the LMS is permitted.
  • Questionmark Secure a secure browser
  • the following PIP file makes all calls from an LMS via this PIP file call Questionmark Secure and it also arranges that the Home button at the end of assessment closes the secure browser.
  • PIP file like this, it means that users of corporate LMSs from companies like Saba, Plateau, Docent, Thinq, or academic course management systems like Blackboard and WebCT, can invoke a secure browser without making any change to the LMS. Providing they can call Perception via one of the supported protocols via PIP, then a secure browser can come up when the assessment is taken—the participant uses an ordinary browser to run the LMS and then a secure browser to take the assessment.
  • Session(“AssessmentID”) Request.QueryString(“AssessmentID”)
  • Session(“Group”) Request.QueryString(“Group”)
  • Server.Transfer is required because response.redirect causes an message box to appear in ‘QSB. Server.Transfer(“SecureContent.asp”) End If %>
  • the qsbcheck.asp can be used as a base template for authentication on any asp page that contains secure content.
  • the Content-Type header field is used to specify the nature of the data in the body of an entity, by giving type and subtype identifiers, and by providing auxiliary information that may be required for certain types.
  • HTML (HyperText Markup Language)
  • Hypertext Markup Language A standardized language of computer code, imbedded in “source” documents behind all Web documents, containing the textual content, images, links to other documents (and possibly other applications such as sound or motion), and formatting instructions for display on the screen.
  • source documents containing the textual content, images, links to other documents (and possibly other applications such as sound or motion), and formatting instructions for display on the screen.
  • Browsers are programmed to interpret HTML for display.
  • HTTP (HyperText Transfer Protocol)
  • HTTP has been in use by the World-Wide Web global information initiative since 1990.
  • the Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, protocol which can be used for many tasks beyond its use for hypertext, such as name servers and distributed object management systems, through extension of its request methods, error codes and headers.
  • a feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred.
  • HTTP requires an HTTP client program on one end, and an HTTP server at the other.
  • HTTP is the most important protocol used in the World Wide Web (WWW) for browsing the web.
  • WWW World Wide Web
  • the hypertext feature built into HTML, that allows a text area, image, or other object to become a “link” (as if in a chain) that retrieves another computer file (another Web page, image, sound file, or other document) on the Internet.
  • the range of possibilities is limited by the ability of the computer retrieving the outside file to view, play, or otherwise open the incoming file. It needs to have software that can interact with the imported file. Many software capabilities of this type are built into browsers or can be added as “plug-ins.”
  • the MIME-Version header field is required at the top level of a message. It is required for the embedded headers of a body of type “message” if and only if the embedded message is itself claimed to be MIME-compliant. It is by using MIME types that an operating system knows which helper application to use. For example use Microsoft Word to display files ending in .DOC and Adobe Acrobat to display files ending in PDF.

Abstract

A secure user interface method, for interacting with a user through a browser, comprising the steps of controlling the browser to request a document from a cooperative server, the browser providing data export support functionality; receiving data with the browser in response to the request; determining, based on a type encoding of the received data, whether a secure browser is to be employed, the secure browser having a set of functionality restricted with respect to a normal browser, to enhance security of a received document against data export; authenticating the secure browser, to assure that the secure browser having the restricted set of functionality is available for presentation of secure content; receiving the secure content for presentation in the secure browser; and communicating an input from the user, through the secure browser, to a cooperative server.

Description

    FIELD OF THE INVENTION
  • The present invention relates to the field of human computer interfaces for documents, preferably structured documents having information objects, in which the information objects are secure. [0001]
  • BACKGROUND OF THE INVENTION
  • Secure browsers are designed to provide a secure environment to deliver valuable content and assessments such as tests and exams. Web servers can deliver questions to any web browser, but most browsers are designed to be as open and flexible as possible. When you are delivering secure content or assessments online you need far more security than most browsers provide. [0002]
  • With a secure browser, a content provider can specify that secure content such as a test or an exam may only be delivered in such manner as to significantly reduce the likelihood of cheating, or inappropriate disclosure of sensitive content. [0003]
  • Secure browsers allow a content provider to prevent users from printing questions, using the right-click on the mouse, saving the HTML, viewing the source, and accidentally exiting an assessment in a proctored environment. The look and feel of the screen displayed may otherwise correspond to that of a normal browser, except pages may not be stored (cached) in the history, and certain menu options and icons are not displayed or are made unavailable. [0004]
  • Web browsers are typically flexible and open programs which aid the user in navigating the Internet, running programs or applets, and giving the user full control over what he/she is doing. But when browsers are used to take assessments, it's desirable that the user should not have full control and open access. Since the assessment is designed to measure knowledge or a skill, and sometimes has consequences for passing or failing, it's desirable that what the user can do is restricted; essentially the user should only take the assessment and not be able to perform other tasks. For example, it can be desirable that users should not be able to navigate the Internet (where they might find right answers), communicate with others, run other programs, print the screen or copy the questions to other people and so on. [0005]
  • This need has given rise to “secure browsers” or “locked down browsers” or “kiosk software”, which are versions of standard browsers which limit the functions that the user can perform. Computers which are used to deliver assessments therefore typically have secure browsers installed, and these lock down the computers to prevent unauthorized actions while taking an assessment. [0006]
  • These secure browsers fulfill needs in situations where users take assessments on their own. But very often assessments are mixed in with other uses of the computer. For example, a learning management system might accept a student's login and allow him or her to choose an assessment; a student might undertake some online course (where they are allowed free use of their browser) followed by an assessment (where they are not); or a corporate executive might use their corporation's intranet, and then be scheduled for a business rules or product knowledge or safety regulation exam. Therefore, other secure browser products such as the Vantage Vanguard™ 3.0 secure desktop environment, Questionmark's own, prior Perception Secure Browser product, or Software Secure's Securexam Browser lack this flexibility, making full use of the computer in both secure and insecure modes difficult. Other secure browsers need to be specifically launched to take the assessment; they cannot be launched on demand by an ordinary browser, when secure content delivery is required. [0007]
  • In such mixed scenarios, it would be desirable to have a browser which can become secure when an assessment (or other secure content) is started and then become open again when an assessment (or the secure content) is finished. [0008]
  • Essentially the problem may be stated that it is desired that secure content to be called from insecure content, with the secure content run securely. Likewise, it is desired that an open user environment be triggered into a restricted user environment, with some assurance that the restricted conditions be maintained. [0009]
  • The following patents, each of which is expressly incorporated herein by reference in its entirety, relate to known testing and/or assessment systems: [0010]
  • U.S. Pat. Nos. 3,654,708; 4,486,180; 4,671,772; 4,764,120; 4,793,813; 4,798,543; 4,877,408; 4,895,518; 4,978,305; 5,002,491; 5,011,413; 5,059,127; 5,170,362; 5,176,520; 5,180,309; 5,195,033; 5,204,813; 5,211,563; 5,211,564; 5,259,766; 5,261,823; 5,334,326; 5,372,507; 5,433,615; 5,437,553; 5,437,555; 5,441,415; 5,496,175; 5,513,994; 5,545,044; 5,565,316; 5,577,919; 5,597,312; 5,618,182; 5,657,256; 5,727,950; 5,743,743; 5,813,863; 5,879,165; 5,947,747; 6,112,049; 6,162,060; 6,259,890; 6,112,049; 6,418,298; 6,551,109; 6,513,042; 6,505,031; 6,498,920; 6,482,012; 6,482,011; 6,468,085; 6,449,598; 6,431,875; 6,418,298; 6,393,107; 6,341,212; 6,302,698; 6,282,404; 6,261,103; WO 01/93161 [0011]
  • SUMMARY OF THE INVENTION
  • It is possible to have a secure browser with secure and open operating modes, which checks whether the content of each page is secure or not before deciding how to display it. But this requires the secure browser to be running in advance of reaching the secure content. Also this would require every page of the secure content to be identified as secure and have security checking in it, whereas it would be more desirable only to security check on initiation. It is preferable to allow use of standard browsers for ordinary use, not special ones. [0012]
  • According to a preferred embodiment of the invention, web content (HTML, XHTML, XML, etc.) may be maintained as secure, in that participants can view and interact with it, including sending back responses, but participants should not be able to run other programs while viewing it, should be limited in their ability to navigate through the content in ways not permitted by the content, should not be able to see the source code of the document (e.g., HTML), and/or should not be able to copy or export it in any way. This is called “secure content”. There are means of displaying secure content at present, but these need to be specifically started by the participant prior to encountering the secure content. The present invention covers methods and apparatus for allowing the display of the secure content through a secure browser which is launched automatically when such secure content is encountered. Typically the user would encounter a reference to the secure content within ordinary content, and would choose or be directed to run it. The secure content is identified, for example, by a MIME type (or other type that browsers can recognize), which causes the initiation of a new program, a secure browser, to run that MIME type. When the secure browser is installed, it is associated with the MIME type and any file extensions defined for the MIME type. It might also be possible to automatically download a secure browser, either as a separate application or applet, when the MIME type is first encountered. [0013]
  • It is particularly preferred that either the server test to ensure that the secure browser is installed before transmitting the secure content, or providing the secure content in encrypted form and prevent decryption except by a properly installed secure browser. If the secure browser is not installed correctly, the server host will not allow transmission and/or use of the secure content by the participant. Communication from the secure browser to the host of the secure content therefore preferably includes information to allow the host to verify that it is communicating with the secure browser. The secure browser then runs the secure content, providing limited functionality to prevent the participant from taking restricted actions, which may be defined by the secure content, and/or the server host. Once the secure content is finished, the secure browser closes itself. [0014]
  • A particularly preferred aspect of the invention provides that a user access of secure content invokes the secure browser, which otherwise is uninvolved in content viewing. [0015]
  • The Secure Browser is designed to provide a secure environment to deliver assessments such as tests and exams. Servers can deliver questions to any web browser, but most browsers are designed to be as open and flexible as possible. When assessments are delivered online far more security is required than most browsers provide. The test author can specify that a test or exam may only be delivered via a secure browser, to significantly reduce the likelihood of cheating. [0016]
  • The test author can configure a cooperating server to only deliver assessments to a secure browser. This feature allows restriction of users from printing questions, using the right-click on the mouse, saving the content or portions thereof (e.g., HTML source), viewing the source, and accidentally exiting an assessment in a proctored environment. [0017]
  • The look and feel of the screen displayed may be very similar to that of a normal browser, such as Internet Explorer, although the pages are not stored in Internet Explorer's history listing, and some navigation buttons and toolbars are usually omitted. Likewise, various components of a host browser or operating system may be employed for content presentation, rendering, and use. [0018]
  • The present method and system enables high stakes testing to be performed from a computer lab or training room, without any special configurations. Secure Socket Layer protocol (https:) may be used to frustrate network sniffing, and provide an authentication protocol to start delivering high-stakes tests. [0019]
  • The Secure Browser provides the same facilities as typical browsers, but it incorporates many additional security features. It may also be of interest for other applications where a secure browser is needed. [0020]
  • Ordinary browsers can be configured to provide a more secure environment in the following ways, among others: [0021]
  • Using the browser in kiosk mode [0022]
  • Using the administration kits made available by Microsoft and Netscape [0023]
  • JavaScript programming [0024]
  • However, none of these approaches are completely secure. Participants can always exit the browser, and can usually side-step your protection with special key presses or with the right-mouse context menu. Secure Browser has various security features that address these issues. [0025]
  • Security Features in Secure Browser [0026]
  • The Secure Browser may have the following security features: [0027]
    Secure Browser versus Ordinary Browsers
    Security Issue Ordinary Browser Secure Browser
    Printing and Participants can print out All printing is disabled unless
    copying questions, or copy them into Secure Browser is configured to
    applications to pass onto others. allow printing on the current page.
    Even with assessments using Copying documents or screen
    random selection from a question shots to the clipboard is also
    bank (so that each test is disabled.
    different), the question bank is not
    of unlimited size.
    So if many participants copy the
    test they have received, the full
    question bank will not remain
    secret for long.
    Screen display Participants can change the Assessments always take up the
    screen size and use other whole Windows display.
    software from the desktop, and No browser menus are presented.
    use the navigation buttons and The toolbar can be hidden or its
    menu items. buttons enabled or disabled.
    Screen refresh Participants can disrupt the Refresh (reload) the screen is
    testing process inadvertently. disabled unless Secure browser is
    For example, it's common to configured to allow refresh on the
    present several questions in one current page.
    document, but not submit the
    answers to the server until a
    “submit” screen button is pressed
    after they are all answered.
    If the participant answers some
    questions, and then refreshes
    (reloads) the screen, the
    unsubmitted answers will be lost.
    Shortcut keys Participants can pretend that the All browser control keys and right-
    software failed, in order to mouse context menus are
    invalidate their attempt (if they disabled.
    know they are doing badly). The only way to exit Secure
    For example, they might press browser is from the toolbar if it is
    Ctrl+W or Alt+F4 to close the visible or by having a button
    browser, or Backspace to go back provided by the server to exit.
    in the browser and lose their Unless the participant is prepared
    current answers, and pretend it to turn off the machine, they cannot
    was inadvertent or was a software disrupt the assessment.
    error.
    This is a concern when a
    participant is limited to a
    maximum number of attempts (for
    example, three in their lifetime) or
    must wait a fixed time before
    retaking an examination if they fail
    it.
    HTML source Participants can view the source HTML source documents cannot
    of the HTML documents. be viewed.
    Although the system does not put
    any sensitive information like
    correct answers in the source of
    HTML, there is some information
    that could be of interest to
    someone trying to subvert the
    system, for example the URLs to
    graphics or multimedia objects.
    Other URLs Participants can access other The participant can't enter a URL.
    URLs while taking a test, for A start URL is defined, and the
    example websites that might only other URLs that can be
    contain the right answers to the navigated to are those linked to
    questions. from the assessment.
    Other software Participants can use other No other software is available to
    programs on their PC, for the participant. Task switching is
    example, spreadsheet or disabled, and other programs
    calculator programs or email cannot be run.
    clients.
    Application It's possible to capture the A secure browser can detect all
    capture screens presented in a variety of other processes and applications
    ways including using screen running on the PC, and either
    capture programs which capture refuse to run if certain applications
    the screen every few seconds or are running, automatically shut
    screen sharing programs which down any processes or
    allow you to application share and applications on a “black list” of
    copy your screen to other known problem applications and/or
    computers. keep a list of all the processes and
    applications running on the
    computer at the time of delivery of
    the secure content, and include
    this list with the test results, so that
    a future audit can check whether
    any unsuitable processes were
    running.
  • The secure browser is most secure when it is run on a controlled PC, for example in an exam center or in a controlled computer lab. If you can control the PC being used for the assessment, you can make a completely secure environment to take tests in. But a secure browser can also be used when delivering tests remotely, when a participant uses their normal PC at home or in their office to take assessments. The test administrator can use a template setting that forces any assessment that uses the template only to be available if the assessment is being taken with secure browser. The assessment will not run in any other browser, even if it is being taken remotely. This won't deal with all the above concerns; for example, other URLs can still be accessed on a second computer. But it will still be very difficult to print out tests or copy them to other applications to pass on to other parties. [0028]
  • To improve security, the PCs used by participants should be booted up and the secure Browser should be started before the they arrive. It may be possible to automate this in some way, either by putting Secure Browser in the Startup folder, or by using other tools. The system may be vulnerable if the PC can be turned off and then re-booted, since this will exit Secure browser. It is possible to supervise the PC to prevent this. Some organizations also use closed circuit TV or a video camera to record exam centers to monitor such attempts to bypass the security. [0029]
  • In order to frustrate attempts to capture ASCII or text data from secure content, this may be transmitted and/or rendered as a graphic content object, rather than as a text object. [0030]
  • The present system and method may thus be used to: Stop people from printing questions; Stop people from typing in their own URL; Always display in full screen so it's not possible to maximize or minimize; Avoid display of menu options or icons; Disable control keys; Disable right-click menu options; Prevent going backwards to a previous page; Stop people exiting in a high stakes, proctored, environment; Prevent running other programs, like a calculator or spell-checker, if this is desired; Hide the HTML source; Prevent application capture and application sharing; and Provide an API to control certain functions of a browser from the server; command the secure browser, by a cooperative server, to display a toolbar; [0031]
  • The following can be enabled from the server if the assessment requires these features: Print the current page; Close browser; Back button; and Refresh the current page [0032]
  • The present invention provides three particular aspects of interest: (a) Launch of a secure browser from a regular browser; (b) Indicate which web page to ‘get’; and (c) Server authentication that the correct browser has been launched [0033]
  • Launch of a Secure Browser from a Regular Browser [0034]
  • Internet technologies allow a MIME type to be specified to indicate to the computer operating system which program should be used to display the content. The MIME type may be defined by the file extension or the Content-type header returned by a web server. The present invention, for example, specifies a new MIME type of “Questionmark Secure Browser” (or equivalent) which starts the secure browser to display the assessment or e-learning content that requires more security than a normal browser would provide. [0035]
  • A web page contains a link (triggering link) that, when accessed, passes a MIME type to indicate that a secure browser is required to display this content. [0036]
  • Indicating which Web Page to ‘Get’[0037]
  • While the MIME type specifies that the content must be displayed in a secure browser, it doesn't specify where the content is located. There are three general alternatives: (1) Allow the original link to specify the URL or the content so that the secure browser can call the content using a normal http GET command; (2) Allow the secure browser to have a system configuration that allows the secure browser to be triggered to call a specific URL or IP address; and (3) Allow the secure browser to have a system configuration that allows the secure browser to be trigged to call a specific URL or IP address along with a parameter that was provided as part of the trigger (combining (1) and (2), above—the server URL/IP address is configured within the secure browser while the specific assessment and other details is defined in the trigger). It's also possible to have the cooperating server provide some of the details. [0038]
  • Server Authentication that the Correct Browser has been Launched [0039]
  • While the MIME type specifies that a secure browser should be used, it is possible that other applications could intervene and display the content insecurely. Current browsers can do this by indicating their name in the HTTP User-Agent header, but this can be ‘spoofed’ or forged quite easily. These limitations require there be a method of authentication to confirm that a secure browser is truly running within the users' environment. This can be effectively accomplished by the secure browser authenticating itself in the HTTP headers or other information it sends to the web server. Likewise, there can be an exchange of information between server and secure browser, for example similar to the Kerberos protocol or IEEE-1394 Digital Transmission Content Protection (DTCP), to authenticate the browser and/or the server to one another, as required. [0040]
  • Cryptographically secure authentication methods include, but are not limited to: Shared secret (a key is configured within the secure browser and at the server; the keys must match to allow authorization); Exchange of tokens based on shared secrets; Exchange of limited life tokens based on shared secrets; Exchange of public and private keys (public key encryption); and Specific values in the HTTP_USER_AGENT or other HTTP keys. [0041]
  • It is therefore an object of the invention to provide a secure user interface method, for interacting with a user through a browser, the browser providing a set of navigational functionality, comprising requesting a document from a cooperative server; receiving data in response to the request; automatically determining whether a secure browser is required to be employed, for example based on a type code or type encoding, the secure browser defining a set of functionality restricted with respect to the functionality of the browser alone; invoking the secure browser; receiving the secure content for presentation in the secure browser; and communicating an input from the user, through the secure browser, to a cooperative server. The functionality may be limited navigational functionality (e.g., access of unrestricted documents, documents outside a specified set, or access of other applications or windows), data manipulation functionality, data export functionality (e.g., print, copy, save, cut, paste, etc.), or the like. The server may authenticate the secure browser, and likewise, the secure browser may authenticate the server, before presenting the secure content. The secure browser may restrict termination of its own execution. [0042]
  • The secure browser may be granted principal application level control over graphic user interface inputs from a user, and/or exclusive control over graphic user interface functionality when invoked. [0043]
  • Additional Protection of Graphics [0044]
  • Additionally, the secure browser may protect graphics, multimedia or other resource files referenced from within the HTML, XML or other secure content technology in the pages being accessed by the browsers. The resources, for example, are delivered by a content server, configured to detect the secure browser and only deliver to this, in the same way that the main content itself is protected. This would deal with the issue, common in Internet testing, that even if a test is protected, the graphics within it are not. The secure server, in this case, may be the same or different from the secure server delivering the text. It is further possible to provide direct secure server intercommunication, or to use the secure browser to pass messages between secure servers, which may include, for example, authorization tokens, financial accounting information, indexes or content identification information, or the like. [0045]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a flow diagram of a method according to the present invention; and. [0046]
  • FIG. 2 shows a flowchart of a method according to the present invention.[0047]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • According to the present invention, the secure browser may still use basic internet technologies (http, html, MIME types, etc) to ease deployment issues; launch a secure browser from a normal browser; be initiated by a triggering link; and employ secure browser calls back to gather actual content. [0048]
  • EXAMPLE 1
  • According to a first embodiment of the invention, a communication steam is provided between a user's computer and a server, exemplified as follows by sample HTTP headers. This interaction is represented in FIG. 1. [0049]
  • Headers Sent when Browser Calls Web Server [0050]
    GET /q/open.dll HTTP/1.0
    Accept: */*
    Accept-Language: en-gb
    Pragma: no-cache
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;
    .NET CLR 1.0.3705)
    Host: localhost
  • Headers Sent when Web Server Responds to Browser [0051]
    HTTP/1.1 200 OK
    Server: Microsoft-IIS/5.0
    Date: Wed, 14 May 2003 15:03:58 GMT
    Content-Type: text/html
  • Secure Browser Headers [0052]
  • Possible example headers sent when web server responds to browser calling the ‘trigger’; note MIME type qmsb. [0053]
    HTTP/1.1 200 OK
    Server: Microsoft-IIS/5.0
    Date: Wed, 14 May 2003 15:03:58 GMT
    Content-Type: application/qmsb
  • Possible example headers sent by secure browser when calling server; note security code which is passed from secure browser to web server: [0054]
    GET /q/open.dll HTTP/1.0
    Accept: */*
    Accept-Language: en-gb
    Pragma: no-cache
    User-Agent: Secure Browser
    Security-Code: 47bce5c74f589f4867dbd57e9ca9f808
    Security-Expires:15:05:2003:03:25
    Host: localhost
  • EXAMPLE 2
  • Questionmark™ Secure (QS) is a secure browser, based on Internet Explorer, which delivers secure content like assessments to participants. When using QS, the user browser navigation controls and keys are, or may be, rendered non-functional, and the participant is forced to view and interact with the secure content, and cannot do other things on their PC. The secure browser also resists attempts to copy, esport, or print the secure content. The operation of this embodiment is shown in the flowchart of FIG. 2. [0055]
  • Server Software Structure [0056]
  • There are four server programs: [0057]
  • QSBlaunch, a program which is used to launch QSB [0058]
  • QSBcheck, a program which is used to authenticate QSB [0059]
  • The actual secure content delivery program which is called by QSBcheck [0060]
  • A Component Object Model (COM) object (QSBst.dll) which provides services to QSBlaunch and QSBcheck. [0061]
  • The COM object is the formal Server Technologies used by QSB. The other programs are written by the assessment author, for example based on example code. [0062]
  • QSBlaunch and QSBcheck are, for example, ASP programs, but they could easily be written in any server side language. The programs may reside on the same server, though since they call each other by HTTP, this is not strictly necessary. The COM object must be registered and present on the same server as QSBlaunch and QSBcheck. It would also be possible for the separate functions of QSBlaunch, QSBcheck and secure content delivery to be combined into a single program. [0063]
  • The URL to QSBlaunch is, for example, www.xyz.com/qsblaunch.asp and the URL to QSBcheck is www.xyz.com/qsbcheck.asp. [0064]
  • Triggering Link [0065]
  • The triggering link consists of the URL to QSBlaunch, followed by arbitrary parameters. The parameters will typically define the assessment to be run. All parameters must be URL encoded in the usual way. [0066]
  • Example Triggering Links: [0067]
  • www.xyz.com/qsblaunch.asp?Assessment=12345&Group=Potato [0068]
  • www.xyz.com/qsblaunch.asp?Token=12345678901234 [0069]
  • What QSBlaunch does [0070]
  • QSBlaunch does the following: [0071]
  • It receives on the command line the parameters [0072]
  • It knows the URL of the QSBcheck.asp or similar program. [0073]
  • It calls QS Server technologies (QSBst.dll) to pass the url and parameters and gets back a checksum. [0074]
  • It then constructs a dynamic .qmsb document containing the URL, parameters, version and checksum. [0075]
  • This .qmsb document is itself encrypted to ensure that QS only will run from an approved source [0076]
  • It sends it back to the browser with content type .qmsb. ASP code to do this is as follows: Response.ContentType=“application/x-qmsb”[0077]
  • Response.AddHeader “Content-Disposition”, “filename=qsblaunch.qmsb”[0078]
  • The QMSB file will contain a message at the top in case it is read in error, for example,: [0079]
  • “If you are reading this file, then there has been an error in installing the Questionmark Secure. You need to install Questionmark Secure from <url> and you need to set up your browser to call Questionmark Secure on the MIME type of application/x-qmsb.”[0080]
  • What happens at the client end after QSBlaunch runs QSBlaunch sends back a document, which is of MIME type, associated with QSB. [0081]
  • If Questionmark Secure Browser is not installed, there is no way that the participant can proceed. They have to install Questionmark Secure Browser and re-run the triggering link. Or it may be possible to have the server deliver a message to the user telling them where to install it, or helping them automatically do so. [0082]
  • When QS is installed, the install program will configure QS as being associated with the MIME type above. This will automatically ensure that IE 5+ associates the type with QS. The install program may also attempt to configure Netscape to treat QSB as a helper application for this MIME type, or identify and configure other browsers to properly view QSBdocuments. [0083]
  • If the user's browser is not configured to run QS, then the user may be asked if they want to save or open the file. Of course, the server will not deliver secure content in such a circumstance, since the secure browser is not operative to generate an anticipated response. Even if the user's computer system is configured to run QS, they may have to confirm that they want to. Provided the user's browser is set correctly, this will call QS to run the document. [0084]
  • QS then: [0085]
  • Checks the checksum within the QMSB file is valid. If not, it refuses to run, and generates a message [0086]
  • Checks the version within the QMSB file, and if the version is greater than supported by the QSB, refuses to run, saying that it needs to be upgraded [0087]
  • Constructs a call to QSBcheck, using the URL in the file [0088]
  • Includes the parameters [0089]
  • Includes a checksum in the HTTP header for QSBcheck to check [0090]
  • QSBcheck [0091]
  • QSBcheck makes a call to QSBst.dll to check the HTTP header to see that it has been called by QS. It also can check the date/time to ensure that the authority is not copied from a previous attempt to try to spoof the system. Providing it has been called correctly, then it passes on the parameters to the secure delivery software, which then delivers the secure content, safe in the knowledge that it is doing so to QSB. [0092]
  • Further security is provided between QSBcheck and the secure delivery software, to ensure that the secure delivery software knows that it has been called by QSBcheck and not another program. Such handshaking and inter-process communication is well known in the art. [0093]
  • It is also possible, for greater security, for the secure content delivery software to perform the same checks as QSBcheck does each time it interacts with QS. It should be safe just to authenticate once, but if HTTP sniffing is a concern, then it is possible to authenticate each time. [0094]
  • EXAMPLE URLs
  • An example interactive communication trail is provided below: [0095]
  • Triggering link is: [0096]
  • www.xyz.com/qsblaunch.asp?Assessment=12345&Group=Potato [0097]
  • QSBlaunch sends to QSB: [0098]
  • URL=www.xyz.com/qsbcheck.asp? Assessment=12345&Group=Potato Checksum=1234567890 [0099]
  • Call to QSBcheck is: [0100]
  • URL=www.xyz.com/qsbcheck.asp? Assessment=12345&Group=Potato HTTP header contains a checksum [0101]
  • QSBcheck then passes to secure delivery software [0102]
  • www.xyz.com/runsecurecontent.asp?Assessment=2345&Group=Potato?Token=3456 [0103]
  • where Token is used to identify QSBcheck [0104]
  • Note that it would be possible to include a transaction ID within the parameters in the triggering link, which is used by QSBcheck or the secure content delivery program as an additional check. And that the distinction between launch/check/delivery can be instantiated in real separate programs, or can be three functions of the same program. [0105]
  • EXAMPLE 3
  • The QSB Server Technologies (QSBst) interface in the form of a Microsoft COM object. It's main purpose will be to assist the server side delivery application with encryption and authentication capabilities. [0106]
  • The algorithm used for encryption is an XOR based encryption technique based on keys internal to QSBst. The algorithm for authentication is an MD5 checksum derived from a mixture of http header information and secret keys internal to both QSB and QSBst. [0107]
  • QSBst supports the IDispatch interface, allowing it to be accessed from scripting technologies such as VBscript and ASP. [0108]
  • QSBst interface consists primarily of four properties and two methods which are detailed in the following section. [0109]
  • Interface Structure [0110]
  • The interface is called IQSBSecurity, with a program ID of QSBst.QSBSecurity.1, this is the ID that is passed to the object creation function on the server side application. [0111]
  • Enums [0112]
  • VersionEnum [0113]
  • Version40 [0114]
  • The version enum is used by the EncryptURL method to determine which algorithm to use internally to encrypt the URL. [0115]
    Properties
    FormatHex BSTR Get/Set Determines whether or
    not the string returned from
    the encryption routine is
    encoded with hexadecimal
    characters.
    Logging VARIANT_BOOL Get/Set Provides log information.
    LogFile BSTR Get/Set The path and name of log
    file.
    AppendLog VARIANT_BOOL Get/Set Whether logging
    information is appended to
    an existing file if it exists
    or to clear and previous
    log information.
  • [0116]
    Methods
    EncryptURL [in] BSTR URL BSTR
    [in] BSTR Parameters
    [in] VersionEnum
    EncryptionVersion
    This method takes in as arguments the URL that QSB will navigate to,
    along with any query string parameters, and the version number of
    the encryption algorithm to be used. If successful the method will
    then return an encrypted string created from keys internal
    to QSBst and QSB.
    Name Parameters Return Type
    AuthenticateQSBRequest [in] BSTR UserAgent VARIANT_BOOL
    [in] BSTR
    QSBIEVersion
    [in] BSTR RequestedUrl
    [in] BSTR
    TimeRequestMade
    [in] BSTR
    QSBChecksum
    The parameters to this method are extracted from the http headers sent
    in the form of a request by QSB. This method takes in as parameters
    the version of IE that is used internally by QSB, the URL requested
    by QSB, the local time on the client machine the request was made and
    a checksum generated internally by QSB. The method uses the
    parameter arguments to create an MD5 checksum; the method
    then compares the checksum created to the checksum passed in from
    QSB. If the checksums match the method returns VARIANT_TRUE
    to signal that the navigation request indeed came from QSB and
    not some other app trying to impersonate QSB.
  • EXAMPLE 4
  • A Learning Management System (LMS) is a web-based software program that manages how learners access electronic and class-based learning. Commonly a participant logs into an LMS in a browser and then is able to take courses, assessments and be directed to appropriate places that allow learning and/or assessment to take place. [0117]
  • LMSs can call assessments using a variety of protocols including a standard promulgated by the AICC called AICC HACP, a specification promulgated by ADL SCORM called the SCORM 1.2 Runtime Environment and proprietary protocols. LMSs can make calls to Questionmark Perception via any of these means using a protocol called Perception Integration Protocol (PIP). [0118]
  • The use of PIP is controlled by an ASCII PIP file on the Perception Server, which defines what sort of interaction from the LMS is permitted. It's possible to define that Questionmark Secure (a secure browser) is popped up from the LMS by making this setting in a PIP file. For example the following PIP file makes all calls from an LMS via this PIP file call Questionmark Secure and it also arranges that the Home button at the end of assessment closes the secure browser. [0119]
    ; qsTest.pip
    ; demonstrates invoking Questionmark Secure
    ; sets Home button to close QS at end
    ; call with session.dll?call=qsTest&NAME=<your_name>
    ; September 2003
    [Input]
    NAME=NAME
    GROUP=“Testing”
    DETAILS=“Questionmark Secure”
    ; amend session to match assessment ID on your system
    SESSION=“7446569868587320”
    [Settings]
    UseNotify=no
    Require QS=yes
    UseHome=yes
    Home=javascript:SB_ExitQS( );
  • Using a PIP file like this, it means that users of corporate LMSs from companies like Saba, Plateau, Docent, Thinq, or academic course management systems like Blackboard and WebCT, can invoke a secure browser without making any change to the LMS. Providing they can call Perception via one of the supported protocols via PIP, then a secure browser can come up when the assessment is taken—the participant uses an ordinary browser to run the LMS and then a secure browser to take the assessment. [0120]
  • Appendix [0121]
  • All the below code examples are presented for illustrative purposes only. These can be coded in different ways using different technologies. [0122]
    Sample QSBCheck.asp
    <%
    ‘Create instance of QSBSecurity object
    Dim qs
    Set qs = Server.CreateObject(“QSBst.QSBSecurity.1”)
    ‘Build URL string from header information
    Dim sURL
    sURL = “http://” & Request.ServerVariables(“HTTP_HOST”) &
    Request.ServerVariables(“PATH_INFO”) & “?” &
    Request.ServerVariables(“QUERY_STRING”)
    Dim sIEVersion, sRequestTime, sSecurityCode, sUserAgent
    sIEVersion = Request.ServerVariables(“HTTP_MSIE_VERSION”)
    sRequestTime = Request.ServerVariable(“HTTP_REQUEST_TIME”)
    sSecurityCode = Request.ServerVariable(“HTTP_QSB_SECURITYCODE”)
    sUserAgent = Request.ServerVariable(“HTTP_USER_AGENT”)
    If qs.AuthenticateQSBRequest( sUserAgent, sIEVersion, sURL, sRequestTime, sSecurityCode
    ) == false
     ‘ Authentication failed therefore redirect to error page
     Response.Redirect(“ErrorPage.Asp”)
    Else
     ‘ Authentication succeeded, navigate to secure content.
     ‘ Add parameter information to session object as server.transfer method cannot pass on
     ‘ parameters information.
     Session(“AssessmentID”) = Request.QueryString(“AssessmentID”)
     Session(“Group”) = Request.QueryString(“Group”)
     ‘Server.Transfer is required because response.redirect causes an message box to appear in
     ‘QSB.
     Server.Transfer(“SecureContent.asp”)
    End If
    %>
  • The qsbcheck.asp can be used as a base template for authentication on any asp page that contains secure content. [0123]
    Sample SecureContent.asp
    <%
    ‘Create instance of QSBSecurity object
    Dim qs
    Set qs = Server.CreateObject(“QSBst.QSBSecurity.1”)
    ‘Build URL string from header information
    Dim sURL
    sURL = “http://” & Request.ServerVariables(“HTTP_HOST”) &
    Request.ServerVariables(“PATH_INFO”) & “?” &
    Request.ServerVariables(“QUERY_STRING”)
    Dim sIEVersion, sRequestTime, sSecurityCode, sUserAgent
    sIEVersion = Request.ServerVariables(“HTTP_MSIE_VERSION”)
    sRequestTime = Request.ServerVariable(“HTTP_REQUEST_TIME”)
    sSecurityCode = Request.ServerVariable(“HTTP_QSB_SECURITYCODE”)
    sUserAgent = Request.ServerVariable(“HTTP_USER_AGENT”)
    If qs.AuthenticateQSBRequest( sUserAgent, sIEVersion, sURL, sRequestTime, sSecurityCode
    ) == false
     ‘ Authentication failed therefore redirect to error page
     Response.Redirect(“ErrorPage.Asp”)
    End If
    %>
    <html>
     <head>
     </head>
     <body>
      This is a secure contents page
     </body>
    </html>
  • The server side script in the above sample code is required only for pages that require authentication that QSB has requested the page. If a page does not require authentication then the above server side script may be omitted. (Note that if authentication is omitted from the asp page then there needs to be a check put in place to ensure that the page has been called from qsbcheck.asp and not another url.) [0124]
    Sample QSBLaunch.asp
    <%
    ‘Return asp page back to client as a .qmsb file
    Response.ContentType = “application/x-qmsb”
    Response.AddHeader “Content-Disposition”, “filename=test.qmsb”
    ‘Create instance of QSBSecurity object
    Dim qs
    Set qs = Server.CreateObject(“QSBst.QSBSecurity.1”)
    ‘ We wish the encrypted url to be returned as an hex encoded string
    qs.FormatHex = true
    ‘ Set the url that QSB will navigate to upon launch along with any query string parameters.
    Dim sUrl
    sUrl = “http://www.company.com/qsb/qsbcheck.asp?AssessmentID=” &
    Request.QueryString(“AssessmentID”) & “&Group=” & Request.QueryString(“Group”)
    ‘Encrypt Url
    Dim sEncryptedUrl
    sEncryptedUrl = qs.EncryptURL( sURL, “”,1 )
    %>
    URL=<%=sEncryptedURL%>
    <% Set qs = nothing %>
    If you are reading this file, then you are in error. You need to install Questionmark Secure
    Browser from <url> and you need to set your browser to call Questionmark Secure Browser
    on the MIME type of application/x-qmsb.
  • The above message is sample message that is sent in the qmsb file that can be read by the end user if they have advertently saved and opened the file. [0125]
    Sample QSBLink.htm
    <html>
     <head>
     </head>
     <body>
      <a href=“http:// www.company.com/qsb
      /qsblaunch.asp?AssessmentID=1234567890123456&Group=
      Test”>Launch
      QSB</a>
     </body>
    </html>
  • Glossary [0126]
  • Content Type Header [0127]
  • The Content-Type header field is used to specify the nature of the data in the body of an entity, by giving type and subtype identifiers, and by providing auxiliary information that may be required for certain types. [0128]
  • HTML—(HyperText Markup Language) [0129]
  • Hypertext Markup Language. A standardized language of computer code, imbedded in “source” documents behind all Web documents, containing the textual content, images, links to other documents (and possibly other applications such as sound or motion), and formatting instructions for display on the screen. When you view a Web page, you are looking at the product of this code working behind the scenes in conjunction with your browser. Browsers are programmed to interpret HTML for display. [0130]
  • HTTP—(HyperText Transfer Protocol) [0131]
  • HTTP has been in use by the World-Wide Web global information initiative since 1990. The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, protocol which can be used for many tasks beyond its use for hypertext, such as name servers and distributed object management systems, through extension of its request methods, error codes and headers. A feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred. The protocol for moving hypertextfiles over the Internet. HTTP requires an HTTP client program on one end, and an HTTP server at the other. HTTP is the most important protocol used in the World Wide Web (WWW) for browsing the web. [0132]
  • HTTP Header [0133]
  • The information put at the top of HTTP messages to aid communication by HTTP, see www.w3.org/Protocols/HTTP/Object_Headers.html [0134]
  • Hypertext [0135]
  • On the World Wide Web, the hypertext feature, built into HTML, that allows a text area, image, or other object to become a “link” (as if in a chain) that retrieves another computer file (another Web page, image, sound file, or other document) on the Internet. The range of possibilities is limited by the ability of the computer retrieving the outside file to view, play, or otherwise open the incoming file. It needs to have software that can interact with the imported file. Many software capabilities of this type are built into browsers or can be added as “plug-ins.”[0136]
  • MIME—(Multipurpose Internet Mail Extensions) [0137]
  • Originally a standard for defining the types of files attached to standard Internet mail messages. The MIME standard has come to be used in many situations where one computer programs needs to communicate with another program about what kind of file is being sent. For example, HTML files have a MIME-type of text/html, JPEG files are image/jpeg, etc. If an operating system has registered a MIME type, the browser decodes the file and launches a helper application. [0138]
  • MIME Type [0139]
  • The MIME-Version header field is required at the top level of a message. It is required for the embedded headers of a body of type “message” if and only if the embedded message is itself claimed to be MIME-compliant. It is by using MIME types that an operating system knows which helper application to use. For example use Microsoft Word to display files ending in .DOC and Adobe Acrobat to display files ending in PDF. [0140]

Claims (20)

What is claimed is
1. A secure user interface method, for interacting with a user through a browser, comprising:
controlling the browser to request a document from a cooperative server, the browser providing data export support functionality;
receiving data with the browser in response to the request;
automatically determining, based on a type encoding of the received data, whether a secure browser is to be employed, the secure browser having a set of functionality restricted with respect to a normal browser, to enhance security of a received document against data export;
receiving the secure content for presentation in the secure browser; and
communicating an input from the user, through the secure browser, to a cooperative server.
2. The user interface method according to claim 1, further comprising the step of limiting access of a user, with the secure browser, to documents outside of a specified set.
3. The user interface method according to claim 1, further comprising the step of authenticating the secure browser, to assure that the secure browser having the restricted set of functionality is available for presentation of secure content.
4. The user interface method according to claim 1, wherein the secure browser lacks one or more of the following functions: print, save, cache, cut and copy.
5. The user interface method according to claim 1, wherein the secure browser renders text information as graphic objects.
6. The user interface method according to claim 1, wherein the secure browser restricts termination of its own execution.
7. The user interface method according to claim 3, wherein the secure browser restricts termination of its own execution.
8. A computer readable media storing a program for a general purpose computer for performing the method of claim 3.
9. A secure user interface method, for interacting with a user through a browser, the browser providing a set of navigational functionality, comprising:
requesting a document from a cooperative server;
receiving data in response to the request;
automatically determining whether a secure browser is required to be employed by a content provider, the secure browser restricting interaction of the user with tasks other than those permitted by the secure browser;
invoking the secure browser;
receiving the secure content for presentation in the secure browser; and
communicating an input from the user, through the secure browser, to a cooperative server.
10. The method according to claim 9, wherein the secure browser provides restricted navigational functionality with respect to the navigational functionality of the browser alone.
11. The user interface method according to claim 6, further comprising the step of limiting access of a user, with the secure browser, to access of documents within a specified set.
12. The user interface method according to claim 6, further comprising the step of authenticating the secure browser at a remote server prior to presenting the secure content to ensure that the content will only be delivered in the secure browser.
13. The user interface method according to claim 6, wherein the secure browser prevents use of the following functions: save, copy, and navigate to unrestricted documents.
14. The user interface method according to claim 6, wherein the secure browser restricts termination of its own execution.
15. The user interface method according to claim 6, wherein the secure browser is initiated based on a type encoding of the received data.
16. The user interface method according to claim 6, wherein the secure browser is initiated based on a code associated with the secure content.
17. The user interface method according to claim 6, wherein the secure browser is granted principal application level control over graphic user interface inputs from a user.
18. The user interface method according to claim 6, wherein the secure browser is granted exclusive control over graphic user interface functionality when invoked.
19. The user interface method according to claim 6, further comprising the step of authenticating the server by the secure browser prior to presenting the secure content.
20. A computer readable media storing a program for a general purpose computer for performing the method of claim 6.
US10/791,019 2003-05-16 2004-03-02 Secure browser Abandoned US20040230825A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/791,019 US20040230825A1 (en) 2003-05-16 2004-03-02 Secure browser
EP04007487A EP1477880A3 (en) 2003-05-16 2004-03-27 Secure browser
US12/365,665 US9055048B2 (en) 2003-05-16 2009-02-04 Secure browser

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US47118103P 2003-05-16 2003-05-16
US50100403P 2003-09-08 2003-09-08
US10/791,019 US20040230825A1 (en) 2003-05-16 2004-03-02 Secure browser

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/365,665 Continuation US9055048B2 (en) 2003-05-16 2009-02-04 Secure browser

Publications (1)

Publication Number Publication Date
US20040230825A1 true US20040230825A1 (en) 2004-11-18

Family

ID=33033161

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/791,019 Abandoned US20040230825A1 (en) 2003-05-16 2004-03-02 Secure browser
US12/365,665 Active 2027-12-12 US9055048B2 (en) 2003-05-16 2009-02-04 Secure browser

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/365,665 Active 2027-12-12 US9055048B2 (en) 2003-05-16 2009-02-04 Secure browser

Country Status (2)

Country Link
US (2) US20040230825A1 (en)
EP (1) EP1477880A3 (en)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050235144A1 (en) * 2004-04-14 2005-10-20 Jacobs James P Apparatus and method for computer based examinations
US20060004883A1 (en) * 2004-05-18 2006-01-05 Hung-Te Chou Encryption/decryption method incorporated with local server software
EP1713227A1 (en) * 2005-04-11 2006-10-18 Berner Fachhochschule Hochschule für Technik und Architektur Biel System and Method for providing user's security when setting-up a connection over insecure networks
EP1713230A1 (en) * 2005-04-11 2006-10-18 AXSionics AG System and method for providing user's security when setting-up a connection over insecure networks
US20070016948A1 (en) * 2005-07-15 2007-01-18 Microsoft Corporation Immunizing HTML browsers and extensions from known vulnerabilities
US20070016949A1 (en) * 2005-07-15 2007-01-18 Microsoft Corporation Browser Protection Module
US20070046657A1 (en) * 2005-09-01 2007-03-01 Shigehiro Kadota Display system and method of controlling same
US20080028444A1 (en) * 2006-07-27 2008-01-31 William Loesch Secure web site authentication using web site characteristics, secure user credentials and private browser
US20080052641A1 (en) * 2006-06-26 2008-02-28 Sun River Systems, Inc. System and method for secure and private media management
US7441188B1 (en) 2004-08-04 2008-10-21 Sprint Communications Company L.P. Web construction framework presentation tier
US20080320100A1 (en) * 2007-06-22 2008-12-25 Batson James D Determining playability of media files with minimal downloading
US7496843B1 (en) * 2004-08-04 2009-02-24 Sprint Communications Company L.P. Web construction framework controller and model tiers
US20090129378A1 (en) * 2007-11-20 2009-05-21 International Business Machines Corporation Surreptitious web server bias towards desired browsers
US20090222900A1 (en) * 2008-02-29 2009-09-03 Microsoft Corporation Authentication ticket validation
US20090222656A1 (en) * 2008-02-29 2009-09-03 Microsoft Corporation Secure online service provider communication
US20100088740A1 (en) * 2008-10-08 2010-04-08 Bookette Software Company Methods for performing secure on-line testing without pre-installation of a secure browser
US8078740B2 (en) 2005-06-03 2011-12-13 Microsoft Corporation Running internet applications with low rights
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
US20130081107A1 (en) * 2006-03-29 2013-03-28 The Bank Of Tokyo-Mitsubishi Ufj, Ltd. Apparatus, method, and program for validating user
US8965809B1 (en) 2009-05-21 2015-02-24 Stamps.Com Inc. Restricted printing of postage with layout constraints in a browser
US20150067891A1 (en) * 2013-09-04 2015-03-05 Desire2Learn Incorporated Method and system for digital rights management enforcement
US20150178502A1 (en) * 2013-12-24 2015-06-25 Samsung Electronics Co., Ltd. Method of controlling message of electronic device and electronic device thereof
US20160234318A1 (en) * 2015-02-05 2016-08-11 Lenovo (Singapore) Pte, Ltd. Securely transferring session information
US9728107B1 (en) * 2008-04-15 2017-08-08 Stamps.Com Inc. Systems and methods for protecting content when using a general purpose user interface application
US9733886B2 (en) 2009-11-24 2017-08-15 Clearslide, Inc. Method and system for browser-based screen sharing
US10019570B2 (en) 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US10170013B1 (en) 2007-01-12 2019-01-01 Questionmark Computing Limited Assessment instances in computerized assessments
US10860279B2 (en) 2009-11-24 2020-12-08 Clearslide, Inc. Method and system for browser-based screen sharing
US20220342981A1 (en) * 2021-04-26 2022-10-27 Citrix Systems, Inc. Passing local credentials to a secure browser session
US11768944B2 (en) * 2017-06-09 2023-09-26 Cryptosense Sas Non-intrusive method of detecting security flaws of a computer program
US11893089B1 (en) 2004-07-27 2024-02-06 Auctane, Inc. Systems and methods for protecting content when using a general purpose user interface application

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617063B2 (en) * 2005-01-18 2009-11-10 Paul Tiegs Remote witness testing system
KR20110128567A (en) * 2010-05-24 2011-11-30 삼성전자주식회사 Method for controlling objects of user interface and apparatus of enabling the method
US9398048B2 (en) * 2011-05-26 2016-07-19 Skype Authenticating an application to access a communication system
US10574721B2 (en) * 2013-12-06 2020-02-25 Arizona Board Of Regents On Behalf Of Arizona State University Systems and methods for an automatic fresh browser instance for accessing internet content
US10078739B1 (en) * 2014-10-01 2018-09-18 Securus Technologies, Inc. Compelling data collection via resident media devices in controlled-environment facilities
US10430595B2 (en) * 2016-09-22 2019-10-01 International Business Machines Corporation Systems and methods for rule based dynamic selection of rendering browsers
RU2656735C1 (en) * 2017-05-17 2018-06-06 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Method of organization of client interaction with the server of applications using the service browser
US20210397735A1 (en) * 2018-09-27 2021-12-23 Shadowbox, Inc. Systems and methods for regulation compliant computing
US11553001B2 (en) 2020-02-11 2023-01-10 Cisco Technology, Inc. End user security manager

Citations (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3654708A (en) * 1969-05-26 1972-04-11 Westinghouse Learning Corp Computer-assisted instruction via video telephone
US4486180A (en) * 1982-04-27 1984-12-04 Riley Michael D Testing system with test of subject matters, identification and security
US4671772A (en) * 1985-10-22 1987-06-09 Keilty, Goldsmith & Boone Performance appraisal and training system and method of utilizing same
US4764120A (en) * 1986-05-27 1988-08-16 Mcdonald's Corporation Student response system
US4793813A (en) * 1985-10-15 1988-12-27 The Board Of Trustees Of The University Of Illinois Computer-based education system
US4798543A (en) * 1983-03-31 1989-01-17 Bell & Howell Company Interactive training method and system
US4877408A (en) * 1988-02-09 1989-10-31 Hartsfield Ben W Competitive computer educational game
US4895518A (en) * 1987-11-02 1990-01-23 The University Of Michigan Computerized diagnostic reasoning evaluation system
US4978305A (en) * 1989-06-06 1990-12-18 Educational Testing Service Free response test grading method
US5002491A (en) * 1989-04-28 1991-03-26 Comtek Electronic classroom system enabling interactive self-paced learning
US5011413A (en) * 1989-07-19 1991-04-30 Educational Testing Service Machine-interpretable figural response testing
US5059127A (en) * 1989-10-26 1991-10-22 Educational Testing Service Computerized mastery testing system, a computer administered variable length sequential testing system for making pass/fail decisions
US5170362A (en) * 1991-01-15 1992-12-08 Atlantic Richfield Company Redundant system for interactively evaluating the capabilities of multiple test subjects to perform a task utilizing a computerized test system
US5176520A (en) * 1990-04-17 1993-01-05 Hamilton Eric R Computer assisted instructional delivery system and method
US5180309A (en) * 1990-12-04 1993-01-19 United States Of America As Represented By The Secretary Of The Navy Automated answer evaluation and scoring system and method
US5195033A (en) * 1990-06-08 1993-03-16 Assessment Systems, Inc. Testing system including removable storage means for transfer of test related data and means for issuing a certification upon successful completion of the test
US5204813A (en) * 1990-06-08 1993-04-20 Assessment Systems, Inc. Computer-controlled testing process and device for administering an examination
US5211563A (en) * 1991-07-03 1993-05-18 Hitachi, Ltd. Computer assisted learning support system and processing method therefor
US5211564A (en) * 1989-07-19 1993-05-18 Educational Testing Service Computerized figural response testing system and method
US5259766A (en) * 1991-12-13 1993-11-09 Educational Testing Service Method and system for interactive computer science testing, anaylsis and feedback
US5261823A (en) * 1991-01-16 1993-11-16 Brother Kogyo Kabushiki Kaisha Electronic learning machine which is capable of giving learning problems matching the student's scholastic ability
US5334326A (en) * 1991-07-29 1994-08-02 Norac Company, Inc. Diaroyl peroxide compositions
US5372507A (en) * 1993-02-11 1994-12-13 Goleh; F. Alexander Machine-aided tutorial method
US5433615A (en) * 1993-02-05 1995-07-18 National Computer Systems, Inc. Categorized test item reporting system
US5437555A (en) * 1991-05-02 1995-08-01 Discourse Technologies, Inc. Remote teaching system
US5437553A (en) * 1991-04-08 1995-08-01 Collins; Deborah L. Method and apparatus for automated learning and performance evaluation
US5441415A (en) * 1992-02-11 1995-08-15 John R. Lee Interactive computer aided natural learning method and apparatus
US5496175A (en) * 1991-02-01 1996-03-05 Hitachi, Ltd. Questionnaire system
US5513994A (en) * 1993-09-30 1996-05-07 Educational Testing Service Centralized system and method for administering computer based tests
US5565316A (en) * 1992-10-09 1996-10-15 Educational Testing Service System and method for computer based testing
US5597312A (en) * 1994-05-04 1997-01-28 U S West Technologies, Inc. Intelligent tutoring method and system
US5618182A (en) * 1994-09-30 1997-04-08 Thomas; C. Douglass Method and apparatus for improving performance on multiple-choice exams
US5657256A (en) * 1992-01-31 1997-08-12 Educational Testing Service Method and apparatus for administration of computerized adaptive tests
US5727950A (en) * 1996-05-22 1998-03-17 Netsage Corporation Agent based instruction system and method
US5743743A (en) * 1996-09-03 1998-04-28 Ho; Chi Fai Learning method and system that restricts entertainment
US5813863A (en) * 1996-05-01 1998-09-29 Sloane; Sharon R. Interactive behavior modification system
US5879165A (en) * 1996-03-20 1999-03-09 Brunkow; Brian Method for comprehensive integrated assessment in a course of study or occupation
US5947747A (en) * 1996-05-09 1999-09-07 Walker Asset Management Limited Partnership Method and apparatus for computer-based educational testing
US6112049A (en) * 1997-10-21 2000-08-29 The Riverside Publishing Company Computer network based testing system
US6162060A (en) * 1991-08-09 2000-12-19 Texas Instruments Incorporated System and method for the delivery, authoring, and management of courseware over a computer network
US6259890B1 (en) * 1997-03-27 2001-07-10 Educational Testing Service System and method for computer based test creation
US6261103B1 (en) * 1999-04-15 2001-07-17 Cb Sciences, Inc. System for analyzing and/or effecting experimental data from a remote location
US6282404B1 (en) * 1999-09-22 2001-08-28 Chet D. Linton Method and system for accessing multimedia data in an interactive format having reporting capabilities
US6302698B1 (en) * 1999-02-16 2001-10-16 Discourse Technologies, Inc. Method and apparatus for on-line teaching and learning
US6341212B1 (en) * 1999-12-17 2002-01-22 Virginia Foundation For Independent Colleges System and method for certifying information technology skill through internet distribution examination
US6393107B1 (en) * 1999-05-25 2002-05-21 Lucent Technologies Inc. Method and apparatus for creating and sending structured voicemail messages
US20020097416A1 (en) * 2001-01-19 2002-07-25 Chang William Ho Output controller processor for universal data output
US6431875B1 (en) * 1999-08-12 2002-08-13 Test And Evaluation Software Technologies Method for developing and administering tests over a network
US6449598B1 (en) * 1999-09-02 2002-09-10 Xware Compliance, Inc. Health care policy on-line maintenance dissemination and compliance testing system
US6468085B1 (en) * 2000-07-28 2002-10-22 Assessment Technology Inc. Scale builder and method
US6482011B1 (en) * 1998-04-15 2002-11-19 Lg Electronics Inc. System and method for improved learning of foreign languages using indexed database
US6482012B1 (en) * 1998-11-20 2002-11-19 Nocera And Associates, Llc Method for developing answer-options to issue-questions relating to child-development
US6498920B1 (en) * 2000-04-18 2002-12-24 We-Comply, Inc. Customizable web-based training system
US6505031B1 (en) * 2000-02-25 2003-01-07 Robert Slider System and method for providing a virtual school environment
US6513042B1 (en) * 1999-02-11 2003-01-28 Test.Com Internet test-making method
US6551109B1 (en) * 2000-09-13 2003-04-22 Tom R. Rudmik Computerized method of and system for learning
US6681098B2 (en) * 2000-01-11 2004-01-20 Performance Assessment Network, Inc. Test administration system using the internet
US7069586B1 (en) * 2000-04-03 2006-06-27 Software Secure, Inc. Securely executing an application on a computer system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006332A (en) * 1996-10-21 1999-12-21 Case Western Reserve University Rights management system for digital media
US6311270B1 (en) * 1998-09-14 2001-10-30 International Business Machines Corporation Method and apparatus for securing communication utilizing a security processor
US6988138B1 (en) * 1999-06-30 2006-01-17 Blackboard Inc. Internet-based education support system and methods
GB2357226B (en) * 1999-12-08 2003-07-16 Hewlett Packard Co Security protocol
US7171558B1 (en) * 2000-09-22 2007-01-30 International Business Machines Corporation Transparent digital rights management for extendible content viewers
US20020199118A1 (en) * 2001-02-02 2002-12-26 Medinservice.Com, Inc. Internet training course system and methods
AU2001298079A1 (en) * 2001-11-22 2003-06-10 Liqwid Krystal India Private Limited System and method for software learning

Patent Citations (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3654708A (en) * 1969-05-26 1972-04-11 Westinghouse Learning Corp Computer-assisted instruction via video telephone
US4486180A (en) * 1982-04-27 1984-12-04 Riley Michael D Testing system with test of subject matters, identification and security
US4798543A (en) * 1983-03-31 1989-01-17 Bell & Howell Company Interactive training method and system
US4793813A (en) * 1985-10-15 1988-12-27 The Board Of Trustees Of The University Of Illinois Computer-based education system
US4671772A (en) * 1985-10-22 1987-06-09 Keilty, Goldsmith & Boone Performance appraisal and training system and method of utilizing same
US4764120A (en) * 1986-05-27 1988-08-16 Mcdonald's Corporation Student response system
US4895518A (en) * 1987-11-02 1990-01-23 The University Of Michigan Computerized diagnostic reasoning evaluation system
US4877408A (en) * 1988-02-09 1989-10-31 Hartsfield Ben W Competitive computer educational game
US5002491A (en) * 1989-04-28 1991-03-26 Comtek Electronic classroom system enabling interactive self-paced learning
US4978305A (en) * 1989-06-06 1990-12-18 Educational Testing Service Free response test grading method
US5011413A (en) * 1989-07-19 1991-04-30 Educational Testing Service Machine-interpretable figural response testing
US5211564A (en) * 1989-07-19 1993-05-18 Educational Testing Service Computerized figural response testing system and method
US5059127A (en) * 1989-10-26 1991-10-22 Educational Testing Service Computerized mastery testing system, a computer administered variable length sequential testing system for making pass/fail decisions
US5176520A (en) * 1990-04-17 1993-01-05 Hamilton Eric R Computer assisted instructional delivery system and method
US5195033A (en) * 1990-06-08 1993-03-16 Assessment Systems, Inc. Testing system including removable storage means for transfer of test related data and means for issuing a certification upon successful completion of the test
US5204813A (en) * 1990-06-08 1993-04-20 Assessment Systems, Inc. Computer-controlled testing process and device for administering an examination
US5180309A (en) * 1990-12-04 1993-01-19 United States Of America As Represented By The Secretary Of The Navy Automated answer evaluation and scoring system and method
US5170362A (en) * 1991-01-15 1992-12-08 Atlantic Richfield Company Redundant system for interactively evaluating the capabilities of multiple test subjects to perform a task utilizing a computerized test system
US5261823A (en) * 1991-01-16 1993-11-16 Brother Kogyo Kabushiki Kaisha Electronic learning machine which is capable of giving learning problems matching the student's scholastic ability
US5496175A (en) * 1991-02-01 1996-03-05 Hitachi, Ltd. Questionnaire system
US5577919A (en) * 1991-04-08 1996-11-26 Collins; Deborah L. Method and apparatus for automated learning and performance evaluation
US5545044A (en) * 1991-04-08 1996-08-13 Collins; Deborah L. Method and apparatus for automated learning and performance evaluation
US5437553A (en) * 1991-04-08 1995-08-01 Collins; Deborah L. Method and apparatus for automated learning and performance evaluation
US5437555A (en) * 1991-05-02 1995-08-01 Discourse Technologies, Inc. Remote teaching system
US5211563A (en) * 1991-07-03 1993-05-18 Hitachi, Ltd. Computer assisted learning support system and processing method therefor
US5334326A (en) * 1991-07-29 1994-08-02 Norac Company, Inc. Diaroyl peroxide compositions
US6162060A (en) * 1991-08-09 2000-12-19 Texas Instruments Incorporated System and method for the delivery, authoring, and management of courseware over a computer network
US5259766A (en) * 1991-12-13 1993-11-09 Educational Testing Service Method and system for interactive computer science testing, anaylsis and feedback
US5657256A (en) * 1992-01-31 1997-08-12 Educational Testing Service Method and apparatus for administration of computerized adaptive tests
US5441415A (en) * 1992-02-11 1995-08-15 John R. Lee Interactive computer aided natural learning method and apparatus
US5565316A (en) * 1992-10-09 1996-10-15 Educational Testing Service System and method for computer based testing
US5433615A (en) * 1993-02-05 1995-07-18 National Computer Systems, Inc. Categorized test item reporting system
US5372507A (en) * 1993-02-11 1994-12-13 Goleh; F. Alexander Machine-aided tutorial method
US5513994A (en) * 1993-09-30 1996-05-07 Educational Testing Service Centralized system and method for administering computer based tests
US5597312A (en) * 1994-05-04 1997-01-28 U S West Technologies, Inc. Intelligent tutoring method and system
US5618182A (en) * 1994-09-30 1997-04-08 Thomas; C. Douglass Method and apparatus for improving performance on multiple-choice exams
US5879165A (en) * 1996-03-20 1999-03-09 Brunkow; Brian Method for comprehensive integrated assessment in a course of study or occupation
US5813863A (en) * 1996-05-01 1998-09-29 Sloane; Sharon R. Interactive behavior modification system
US5947747A (en) * 1996-05-09 1999-09-07 Walker Asset Management Limited Partnership Method and apparatus for computer-based educational testing
US5727950A (en) * 1996-05-22 1998-03-17 Netsage Corporation Agent based instruction system and method
US5743743A (en) * 1996-09-03 1998-04-28 Ho; Chi Fai Learning method and system that restricts entertainment
US6259890B1 (en) * 1997-03-27 2001-07-10 Educational Testing Service System and method for computer based test creation
US6418298B1 (en) * 1997-10-21 2002-07-09 The Riverside Publishing Co. Computer network based testing system
US6112049A (en) * 1997-10-21 2000-08-29 The Riverside Publishing Company Computer network based testing system
US6482011B1 (en) * 1998-04-15 2002-11-19 Lg Electronics Inc. System and method for improved learning of foreign languages using indexed database
US6482012B1 (en) * 1998-11-20 2002-11-19 Nocera And Associates, Llc Method for developing answer-options to issue-questions relating to child-development
US6513042B1 (en) * 1999-02-11 2003-01-28 Test.Com Internet test-making method
US6302698B1 (en) * 1999-02-16 2001-10-16 Discourse Technologies, Inc. Method and apparatus for on-line teaching and learning
US6261103B1 (en) * 1999-04-15 2001-07-17 Cb Sciences, Inc. System for analyzing and/or effecting experimental data from a remote location
US6393107B1 (en) * 1999-05-25 2002-05-21 Lucent Technologies Inc. Method and apparatus for creating and sending structured voicemail messages
US6431875B1 (en) * 1999-08-12 2002-08-13 Test And Evaluation Software Technologies Method for developing and administering tests over a network
US6449598B1 (en) * 1999-09-02 2002-09-10 Xware Compliance, Inc. Health care policy on-line maintenance dissemination and compliance testing system
US6282404B1 (en) * 1999-09-22 2001-08-28 Chet D. Linton Method and system for accessing multimedia data in an interactive format having reporting capabilities
US6341212B1 (en) * 1999-12-17 2002-01-22 Virginia Foundation For Independent Colleges System and method for certifying information technology skill through internet distribution examination
US6681098B2 (en) * 2000-01-11 2004-01-20 Performance Assessment Network, Inc. Test administration system using the internet
US6505031B1 (en) * 2000-02-25 2003-01-07 Robert Slider System and method for providing a virtual school environment
US7069586B1 (en) * 2000-04-03 2006-06-27 Software Secure, Inc. Securely executing an application on a computer system
US6498920B1 (en) * 2000-04-18 2002-12-24 We-Comply, Inc. Customizable web-based training system
US6468085B1 (en) * 2000-07-28 2002-10-22 Assessment Technology Inc. Scale builder and method
US6551109B1 (en) * 2000-09-13 2003-04-22 Tom R. Rudmik Computerized method of and system for learning
US20020097416A1 (en) * 2001-01-19 2002-07-25 Chang William Ho Output controller processor for universal data output

Cited By (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050235144A1 (en) * 2004-04-14 2005-10-20 Jacobs James P Apparatus and method for computer based examinations
US20060004883A1 (en) * 2004-05-18 2006-01-05 Hung-Te Chou Encryption/decryption method incorporated with local server software
US11893089B1 (en) 2004-07-27 2024-02-06 Auctane, Inc. Systems and methods for protecting content when using a general purpose user interface application
US7496843B1 (en) * 2004-08-04 2009-02-24 Sprint Communications Company L.P. Web construction framework controller and model tiers
US7441188B1 (en) 2004-08-04 2008-10-21 Sprint Communications Company L.P. Web construction framework presentation tier
EP1713227A1 (en) * 2005-04-11 2006-10-18 Berner Fachhochschule Hochschule für Technik und Architektur Biel System and Method for providing user's security when setting-up a connection over insecure networks
EP1713230A1 (en) * 2005-04-11 2006-10-18 AXSionics AG System and method for providing user's security when setting-up a connection over insecure networks
US8266434B2 (en) 2005-04-11 2012-09-11 Mueller Lorenz System and method for providing an user's security when setting-up a connection over insecure networks
US20110107093A1 (en) * 2005-04-11 2011-05-05 Berner Fachhochschule Hochschule Fur System and Method for Providing an User's Security when Setting-up a Connection Over Insecure Networks
US7730308B2 (en) 2005-04-11 2010-06-01 Axsionics Ag System and method for providing an user's security when setting-up a connection over insecure networks
US8078740B2 (en) 2005-06-03 2011-12-13 Microsoft Corporation Running internet applications with low rights
US8239939B2 (en) * 2005-07-15 2012-08-07 Microsoft Corporation Browser protection module
US20070016949A1 (en) * 2005-07-15 2007-01-18 Microsoft Corporation Browser Protection Module
US20070016948A1 (en) * 2005-07-15 2007-01-18 Microsoft Corporation Immunizing HTML browsers and extensions from known vulnerabilities
US8225392B2 (en) 2005-07-15 2012-07-17 Microsoft Corporation Immunizing HTML browsers and extensions from known vulnerabilities
US20070046657A1 (en) * 2005-09-01 2007-03-01 Shigehiro Kadota Display system and method of controlling same
US7969611B2 (en) * 2005-09-01 2011-06-28 Canon Kabushiki Kaisha Display system and method of controlling same
US20130081107A1 (en) * 2006-03-29 2013-03-28 The Bank Of Tokyo-Mitsubishi Ufj, Ltd. Apparatus, method, and program for validating user
US9021555B2 (en) * 2006-03-29 2015-04-28 The Bank Of Tokyo-Mitsubishi Ufj, Ltd. Apparatus, method, and program for validating user
US8489878B2 (en) 2006-06-23 2013-07-16 Microsoft Corporation Communication across domains
US8335929B2 (en) 2006-06-23 2012-12-18 Microsoft Corporation Communication across domains
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
US20080052641A1 (en) * 2006-06-26 2008-02-28 Sun River Systems, Inc. System and method for secure and private media management
US8095967B2 (en) * 2006-07-27 2012-01-10 White Sky, Inc. Secure web site authentication using web site characteristics, secure user credentials and private browser
US20080028444A1 (en) * 2006-07-27 2008-01-31 William Loesch Secure web site authentication using web site characteristics, secure user credentials and private browser
US10170013B1 (en) 2007-01-12 2019-01-01 Questionmark Computing Limited Assessment instances in computerized assessments
US10019570B2 (en) 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US9015276B2 (en) 2007-06-22 2015-04-21 Apple Inc. Determining playability of media files with minimal downloading
US20080320100A1 (en) * 2007-06-22 2008-12-25 Batson James D Determining playability of media files with minimal downloading
US8489702B2 (en) * 2007-06-22 2013-07-16 Apple Inc. Determining playability of media files with minimal downloading
US8244879B2 (en) * 2007-11-20 2012-08-14 International Business Machines Corporation Surreptitious web server bias towards desired browsers
US20090129378A1 (en) * 2007-11-20 2009-05-21 International Business Machines Corporation Surreptitious web server bias towards desired browsers
US20090222900A1 (en) * 2008-02-29 2009-09-03 Microsoft Corporation Authentication ticket validation
US20090222656A1 (en) * 2008-02-29 2009-09-03 Microsoft Corporation Secure online service provider communication
US8549298B2 (en) 2008-02-29 2013-10-01 Microsoft Corporation Secure online service provider communication
US8239927B2 (en) 2008-02-29 2012-08-07 Microsoft Corporation Authentication ticket validation
US10885153B1 (en) 2008-04-15 2021-01-05 Stamps.Com Inc. Systems and methods for protecting content when using a general purpose user interface application
US10339280B1 (en) 2008-04-15 2019-07-02 Stamps.Com Inc. Systems and methods for protecting content when using a general purpose user interface application
US9728107B1 (en) * 2008-04-15 2017-08-08 Stamps.Com Inc. Systems and methods for protecting content when using a general purpose user interface application
US20100088740A1 (en) * 2008-10-08 2010-04-08 Bookette Software Company Methods for performing secure on-line testing without pre-installation of a secure browser
US8965809B1 (en) 2009-05-21 2015-02-24 Stamps.Com Inc. Restricted printing of postage with layout constraints in a browser
US10860279B2 (en) 2009-11-24 2020-12-08 Clearslide, Inc. Method and system for browser-based screen sharing
US9733886B2 (en) 2009-11-24 2017-08-15 Clearslide, Inc. Method and system for browser-based screen sharing
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
US9323906B2 (en) * 2013-09-04 2016-04-26 D2L Corporation Method and system for digital rights management enforcement
US20160203299A1 (en) * 2013-09-04 2016-07-14 D2L Corporation Method and system for digital rights management enforcement
US11010454B2 (en) * 2013-09-04 2021-05-18 D2L Corporation Method and system for digital rights management enforcement
US20150067891A1 (en) * 2013-09-04 2015-03-05 Desire2Learn Incorporated Method and system for digital rights management enforcement
US20150178502A1 (en) * 2013-12-24 2015-06-25 Samsung Electronics Co., Ltd. Method of controlling message of electronic device and electronic device thereof
US9948727B2 (en) * 2015-02-05 2018-04-17 Lenovo (Singapore) Pte. Ltd. Securely transferring session information
US20160234318A1 (en) * 2015-02-05 2016-08-11 Lenovo (Singapore) Pte, Ltd. Securely transferring session information
US11768944B2 (en) * 2017-06-09 2023-09-26 Cryptosense Sas Non-intrusive method of detecting security flaws of a computer program
US20230376610A1 (en) * 2017-06-09 2023-11-23 Cryptosense Sas Non-Intrusive Method of Detecting Security Flaws of a Computer Program
US20220342981A1 (en) * 2021-04-26 2022-10-27 Citrix Systems, Inc. Passing local credentials to a secure browser session
US11803635B2 (en) * 2021-04-26 2023-10-31 Citrix Systems, Inc. Passing local credentials to a secure browser session

Also Published As

Publication number Publication date
US20090138804A1 (en) 2009-05-28
US9055048B2 (en) 2015-06-09
EP1477880A3 (en) 2005-06-08
EP1477880A2 (en) 2004-11-17

Similar Documents

Publication Publication Date Title
US9055048B2 (en) Secure browser
US7178166B1 (en) Vulnerability assessment and authentication of a computer by a local scanner
US20120260315A1 (en) Firewalls for providing security in http networks and applications
US6567918B1 (en) Saved Web page security system and method
CA2689216C (en) Tracking the origins of data and controlling data transmission
Hope et al. Web security testing cookbook: systematic techniques to find problems fast
Esenther Instant co-browsing: Lightweight real-time collaborative web browsing
Hothersall-Thomas et al. BrowserAudit: automated testing of browser security features
US20030236994A1 (en) System and method of verifying security best practices
Anupam et al. Secure web scripting
JP2019211849A (en) Program-execution control method, program, recording medium, web page, transmission server, client and web system
Miletić Moodle security
Scerbakov et al. Security vulnerabilities in modern LMS
Jovičić et al. Common web application attack types and security using asp. net
Fgee et al. Enhancement of educational institutions dynamic websites by adding security and accesibility
JP2003030031A (en) Method for acquiring information in network system and network system for acquiring information
Park Embedding security into visual programming courses
Bowen et al. Apache administrator's handbook
Nguyen Security in the web development process
Holmberg Comparison between Two Web Development Platforms
Mohammed et al. Cheating Prevention in E-proctoring Systems Using Secure Exam Browsers; A Case Study
Baker Cookies and User Input
Rane et al. Website security tool
ILE SECURE W EB SCRIPTING
Mueller . NET Development Security Solutions

Legal Events

Date Code Title Description
AS Assignment

Owner name: QUESTION MARK COMPUTING LIMITED, GREAT BRITAIN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHEPHERD, ERIC ROBERT;ROBERTS, PAUL;KLEEMAN, JOHN;REEL/FRAME:015054/0472;SIGNING DATES FROM 20040205 TO 20040217

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION