Multi-Biometric System Team 6: Calvin Chan, Enpaksh Airon, Gowtham Narasimhaiah, Usha Aiyer Clients: Amir Schur, Diah Schur, Ned Bakelman, Vinnie Monaco Instructor: Dr. Charles C. Tappert 1 Business Need for Behavioral Biometrics • Popularity of online programs and courses continues to outpace that of education in traditional venues • 2008 Federal Higher Education Opportunities Act mandates adoption of better identification technologies in online course and requires institutions to verify the identity of a student who participates in class or coursework by using such methods as - New identification technologies as they become available - Do not interfere with student privacy. 2 Introduction to Behavioral Biometrics Goals • • • • Verify the identity of the students taking online tests/courses Non-obtrusive collection of data Cost-effective collection of data – i.e., no additional cost Provide continuous authentication throughout the test Issues/Concerns/Drawbacks • Privacy – data obtained during biometric enrollment may be used in ways for which the enrolled individual has not consented • Cancellable biometrics – the replacement features of data is limited • Not unique enough to provide a 100% reliable human identification. 3 Behavioral Biometrics: Cost versus Accuracy 4 Behavioral Biometrics: This Project Keystroke Dynamics • The keystroke rhythms of a user are measured to develop a unique biometric template of the typing pattern for future authentication • Raw measurements available from any keyboard can be recorded Stylometry • Application of the study of linguistic style • Techniques can identify patterns even in common parts of speech Mouse Movement • Track the movement of mouse trajectories through different arcs. • Considered a weak biometric and will not be very useful as a stand-alone. • Good in augmenting/enhancing other biometrics such as Keystroke etc. 5 Multi-Biometric System: This Project Multi-Biometric System • Combine (Fuse) of several biometrics – Keystroke – Stylometry – Mouse movement • Increased performance over that of individual systems Multi-Biometric System – Design Considerations • XML file is read and parsed within a given folder • An output file, once generated, is not overwritten 6 Keystroke to Text Converter – Program Design Concerns/Challenges • • • • Challenge to capture all keystroke scenarios Press time and release time of each key Key combination, i.e., Alt + Tab Pressing more than one key at the same time i.e., ‘a’ and ‘b.’ • State of each key, i.e., Caps Lock • Algorithm to determine output 7 Keystroke to Text Converter – Program Design Assumptions • One key will be pressed at a time • Input Domain – !@#$%^&*() – AlphaNumeric – :;-+” – Delete,Home, End, Enter, and Space • Alpha characters are case-sensitive in XML, therefore the program is ignoring shift keys 8 Keystroke to Text Converter – Program Design Program Flow 1. 2. 3. 4. 5. 6. 7. Read one XML or batch of XMLs Iterate keycode Determine if keycode is function key such as “Shift” Determine if keycode is a character Store keycode in data structure Repeat step 2-5 until end of file Write to file with output string in “textinput” attribute 9 Keystroke to Text Converter – Class Design Metric.java • Main method instantiates the Interface object. Interface.java • • • createInterface method displays a GUI dialog that allows to click the ‘Open Folder’ or 'Open File' button. Then it instantiates the FileHandler class. On click of the ‘Open Folder’ button, the windows’ dialog gets displayed, by calling its ActionListener. If the user clicks on 'Open File' button, the appropriate windows’ dialog gets displayed, by calling its ActionListener from the Interface class, where-in the user can select the required input XML data File to be Opened from the dialog window. FileHandler • • • parseFile method parses data from the XML file to extract key and key-code values Post parseFile method parses Key-stroke block from the XML file (which has #1 character in it), it is then sent to the OutputBuilder class The writeToFile method of the FileHandler class saves the Text to an output file, in the same folder where the input files reside OutputBuilder • • Vector data structure to hold data Provides several output option such as XML file, GUI, etc. 10 Keystroke to Text Converter Input File – XML Format Header Body Trailer … 11 Keystroke to Text Converter Output File – XML Format Header (Same as input file) Body & Trailer – Contains output String 12 Keystroke to Text Converter Results 13 Multi-Biometrics Process 14 Multi-Biometrics Process 15 Keystroke to Text Converter – Program Design Concerns/Challenges • • • • Challenge to capture all keystroke scenarios Press time and release time of each key Key combination, i.e., Alt + Tab Pressing more than one key at the same time i.e., ‘a’ and ‘b.’ • State of each key, i.e., Caps Lock • Algorithm to determine output 16 Behavioral Biometrics Logger Program • • The logger program is used to capture test data Three sets of scenarios were developed to test the system 17 Behavioral Biometrics Edit Scenario - 1 • • User is asked to edit the paragraph #1 to match paragraph #2 Data is collected during the edit process by the user Paragraph # 1 Hurricane Sandy hit the northeast coast of the united states in October. Sandy caused havoc across New York City and the boroughs. Storm surges causing flooding in streets, tunnels, and subway lines. This cut power in and around the city for extended periods of time. It took many weeks for power to resume on Long Island. The mayor estimates that the storm cost the city $19 billion. This storm caused devastation that will be remember forever by those affected. Paragraph # 2 Hurricane Sandy, also referred to as Superstorm Sandy, hit the Northeast coast of the United States on October 29, 2012. Sandy wreaked havoc across New York City and the boroughs. Storm surges caused flooding in streets, tunnels, and subway lines. Power was lost in and around the city for extended periods of time. It took many weeks for power to resume on Long Island. Michael Bloomberg, mayor of New York City, estimates that the storm cost the city $19 billion. This storm caused devastation that will be remembered forever by those affected. 18 Behavioral Biometrics Browser Scenario • • User is asked to perform the following browser tasks Data is collected while the user performs the following instructions Browser Scenario 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Go to Yahoo: http://www.yahoo.com/ Click on “Sports” (left menu) Click on “MLB” (top menu) Click on “Teams” (top sub-menu) Click on “Boston Red Sox” Click on “Team Report” for the Boston Red Sox Go back two pages Click on “New York Yankees” Click on “Depth Chart” for the New York Yankees Click on “Roster” for the New York Yankees (next to “Depth Chart”) Click on “Sabathia, CC” (scroll if necessary) In the search field above “CC Sabathia”, type “New York Yankees Captain” and click “Sport Search” 13. Exit tab or browser 19 Behavioral Biometrics Game scenarios • • User is asked to perform the following tasks Data is collected while the user performs the following instructions Game Scenario 1. 2. 3. Log in at: http://vmonaco.com/biometrics/logger Select “Game: Star Bubbles” from the task menu and then click on “Launch” Once the application is running, minimize the application window so it will not interfere with you playing the game 4. Click on the Game: Star Bubbles link at the bottom of the page to access the game 5. Click on How to Play to review the rules of the game 6. When done, click on Back. 7. Click Arcade Game, first option on the list. 8. Click on Level 1 and play the game. 9. Exit the BioLogger when you finish playing; exit the BioLogger after each play. 10. For each play, repeat the above as needed. 20 Events Captured in Logger (a) Keystroke events press time: 'Key press timestamp' release time: 'Key release timestamp' key code: 'The key code' key string: 'The symbolic key entered' modifier code: 'Modifier code during the event' modifier string: 'Modifier string during the event' key location: 'The key location' (b) Stylometry events start time: 'Time the segment began' end time: 'Time the segment ended' text: 'Text entered' (c) Motion events time: 'Timestamp of the event' x, y: 'X and Y location of the pointer device' modifier code: 'Modifier code during the event' modifier string: 'Modifier string during the event' dragged: was the mouse dragged or just moved?' d) Click events press time: 'Pointer click press timestamp' release time: 'Pointer release timestamp' button code: 'Pointer button' press x, y: 'Start X & Y location of the pointer device' release x, y: 'End X, Y location of the pointer device' modifier code: 'Modifier code during the event' modifier string: 'Modifier string during the event' image: 'Region in which the event took place' (e) Scroll events time: 'Timestamp of the event' amount: 'Amount of scroll' rotation: 'Scroll direction (either +1 or -1)' type: 'Scroll type (0 for unit 1 for block)' x, y: 'X and Y location of the pointer device' modifier code: 'Modifier code during the event' modifier string: 'Modifier string during the event' 21 Logger Activities executed by Team-6 22 References • [Online] Available: http://www.csis.pace.edu/~ctappert/it691-12fall/projects/multi-biometric.htm • [Online] Available: http://csis.pace.edu/~ctappert/srd2012/. 23 Thank You !! 24