1. A method of controlling access to a system comprising: performing, on a computing device, a test that includes, during a user authentication stage, presenting to a user multiple randomly selected questions and receiving, for each of the randomly selected questions, a corresponding input response, and comparing each of the multiple input responses to a corresponding pre-determined response; and granting access to the system in the event the test is passed, by providing a user with a key for encrypting data on the system, a key for decrypting data on the system, or both keys, wherein the keys correspond to a hierarchical position of the user in an entity owning the data, and data secured on the system at different hierarchical positions are accessed by answering a same number of the multiple randomly selected questions to complete the test.