My research was in Continuous Passive User Authentication via Typing Heat Maps, under the mentorship of Dr. Samad Ahmadi. The aim of this research was to identify whether it is possible to classify the owner of a smartphone via their typing pattern using keystroke dynamics (time interval digraphs) and touch data (position, surface area, slide distance and slide velocity) whilst typing normal text. The rationale for this research was that smartphones are the most commonly used personal devices loaded with personal, corporate and billing data. Yet, sharing practices are very common amongst family members, colleagues and friends which could lead to undesired situations such as children conceding to in-app purchases.
Next, I created a custom mobile keyboard and app which was used to gather a number of keystrokes from 32 different users. This led to the generation of around 32K digraph events. A walkthrough of the mobile app is found in this video. This app was used on two identify smartphones, Samsung S5, and given to 32 different individuals in supervised sessions such as what is documented in the following 3 videos: part 01, part 02, part 03.
The data was then migrated to a PC, cleaned and migrated to a DB. Some exploratory analysis was done then a Multi-Layer Perceptron Neural Network was trained for the classification. The research yielded an accuracy of 96% and a False Alarm Rate of 6% which compares very well with other research. For more detail, you can check my VIVA presentation in this video.
After self-signing an SSL certificate for development purposes the Web server needs to be configured appropriately. I found the posting by Dave Kiss to be the best one. Following are the required steps if you used the default MAMP settings:
Backup your configuration files:
Open a terminal window.
Go to the Apache configuration folder:
Backup the Apache configuration file:
cp httpd.conf httpd.conf.bak
Backup the SSL configuration file:
cp extra/httpd-ssl.conf extra/httpd-ssl.conf.bak
Update the Apache configuration file:
Open the configuration file using an editor of your choice:
Search for the line containing httpd-ssl.conf:
Press Ctrl-W then type httpd-ssl.conf
Uncomment the line by removing the # from the beginning such that it reads:
Save and exit:
Press Ctrl-X the Y
Copy the server.key and server.crt file to your Apache configuration folder.
N.B. If the apache server fails to start then you have an error in your configuration, make sure you replace the DocumentRoot in your SSL configuration file to match your actual root folder.
N.B. Dave’s post also contains steps to configure Virtual Hosts which I left out for a different posting to be less confusing.
N.B. Dave’s post using git to backup the files, in this post I simply make a copy of the configuration file, if you want to restore the backup simply type: cp httpd.conf.bak httpd.conf or any other file you want to restore.
At some point any Web Developer would need to secure part of a site and therefore require an SSL certificate. There are different options available depending on the use and here is a short post documenting the various options:
Free for Open Source Projects: Some providers are willing to offer free SSL certificates for open-source projects such as GoDaddy.com, obviously some terms and conditions apply which one must read. More details can be found here.
Free with Hosting Plan: Some Web Hosting providers would include a free SSL certificate if you buy a hosting plan. Generally the offer is for the first year with competitive renewal pricing. Just to name a few: HostColor.com, DomainAvenue.com and HostGator.com
Free SSL Community: A growing community called StartSSL are offering an entry level service for free for basic used and limited warranty which might well satisfy your needs and therefore worth a check.
Comparison Charts: If none of the above suits you then you might have to actually buy an SSL certificate, not before doing the appropriate research. WhichSSL is a dedicated site to aid in the selection of the appropriate certificate authority or SSL vendor to choose with the help of a comparison chart. More comparisons can be found in Wikipedia.org and SSLShopper.com. Your research might also payoff by finding some promotional offers and/or discounts.
Self-Signed Certificates for Development: Well if you need a certificate just for development purposes then you can sign one yourself as shown in my previous post.
If you are planning on developing or customizing some web systems such as WordPress or Magento, then at one point you will need some security. You might want to sign the SSL certificate yourself. A number of guides exists for this, for Windows Systems I found the one by Shivprasad Koirala to be very intuitive and for Unix systems the one by Heroku and Scott Baker are best. Here are the steps required:
Check that openssl is installed by running the following command in a terminal:
If no such file is found then you need to install. Here are the possible installation methods