Workshops

2018-19

Preparation

Most workshops will require the use of a laptop with access to a modern distribution of linux, such as mint or ubuntu. Please get in touch with the teaching assistant if you don’t have access to a laptop as the university may be able to provide one - strictly for the duration of each workshop.

Linux does not need to be the main OS running; you can install Virtualbox and create a virtual machine.

It would be helpful for you to be familiar with the basic syntax of python. There are links to many guides and tutorials online.

Ideally, you should be able to:

  • run a python script from the command line
  • define new functions
  • import functions from libraries
  • read and write files from a python script

Many exercises will ask you to create a web app with flask. You are not required to learn how to do this before the workshops start, but you may wish to look up or remind yourself of:

  • how to write an html form,
  • the difference between GET and POST,
  • what a python decorator is - you will not be required to write a decorator yourself, but it would be good to understand what they do.

Exercise notes

  1. An introduction to authentication: users, passwords, and hash functions; with flask.
  2. An introduction to authorization: access control; with sqlite3.
  3. X.509 certificates, PKI, and TLS. Summary slides.
  4. Blockchain exercises and healthcare scenario.
  5. OAuth 2.0 authorization code flow.
  6. SAML and AST-SSO.

You can also find sample source code on gitlab for some of these exercises. Use at your own risk ;) Many things could be improved, but it should all work and be enough to get you started if you're stuck.