Git Product home page Git Product logo

auth's People

Contributors

dbosk avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

carlinhos-111

auth's Issues

How to unlearn and relearn authentication?

The students' reality is identity-based authentication with passwords that must be at least eight characters, upper and lower case, digit and special characters. This is reinforced every day and is so wrong.

How do we unlearn what is reinforced every day? How can we make them learn how it should be, how can we make them retain this? How long will they retain it?

[overview] time usage

  • Intro + bootstrapping took 35-40 minutes.
  • Authenticating took 45 minutes.
  • Securing took 2*45 minutes.

Case studies

This related to #7 #11.

We should have case studies: analyze authentication for

  • streaming service,
  • banking service,
  • second-hand sales service,
  • home-delivery service,
  • payment service.

Move password stuff from infotheory/basics

There is some detailed password coverage in infotheory/basics, maybe some of that should be moved here. It's good to keep those parts closely related to entropy there, that'll make that material better. Other things should move here, and a copy should be brought here too.

Tutorial: Private e-Commerce Company

The Private E-Commerce Company wants to strengthen consumer privacy in the area of e-commerce. We have three entities; the Seller, the Shipper and the Buyer. The Seller sells the Product to the Buyer. The Seller then ships the Product to the Buyer using the Shipper's shipping service.

Make the case concrete, like an online bookstore. How can we maximize security and privacy? I.e. principle of least privilege and data minimization.

When the buyer has paid the seller generates a public--private key pair, gives the private key to the buyer and the public key to the shipper. The buyer uses the private key to sign the receipt of delivery, the shipper can verify it's the right person and the seller can verify that the package has been delivered to the right person.

Provide wider overview

overview is currently quite narrow. The lecture given by Jøsang and Loutfi in Finse is good for inspiratoin.

It should mention Kerberos and anonymous credentials, e.g. Idemix.

[overview] Securing auth part must be revised

The "securing authentication" section should be reviewed.

  • Point out that anonymous credentials is like public key crypto, the stuff the server must store can be perfectly public.
  • Needs a better story line.

When to use passwords, when to use crypto

Since we must use password managers to cope with passwords, we might just as well replace the passwords with crypto keys anyway. Once we have crypto keys we can do anonymous credentials. There will be no leaked password databases as the server only stores public keys.

We need a lab that pushes the students beyond identity based authentication. What do they actually need to authenticate? Usually not the identity.

However, sometimes a password is the right thing, like protecting the password/key manager. (Sometimes a biometric can be used here, which is a password of sorts.)

User-authentication evaluation lab

Evaluate user authentication from user--machine, machine--user perspective.

We should evaluate purely password-based authentication, two-factor authentication and key-based authentication (e.g. BankID), both from a security and a usability perspective.

Split overview into smaller parts (and flip classroom)

  • Identitfication and authentication (add attribute-based authentication) / Intro
  • Bootstrapping authentication and recovery
  • User--machine authentication
  • Machine--user authentication
  • Machine--machine authentication
  • Time-of-check, time-of-use
  • Securing authentication (break out password security to passwd).
  • Break out passwords to passwd module.
  • Break out biometrics?
  • Add usability.

This is related to #1.

User-authentication design lab

We should have a lab where the students focus on designing user authentication. This is better than current state of passwd/pwdpolicies, where they just focus on passwords for user authentication.

We can provide a few scenarios for which the students should design the needed authentication --- after first identity the needs.

Intro auth exercise: how do you know I'm the teacher?

Ask the students: how do you know I'm the teacher for this lecture?

This should be asynchronous. But I can use FeedbackFruits for the students to discuss it.

Possible ways to authenticate: I'm the same as with Sonja. How do they know I'm the same? Deep-fake? How do you know Sonja was the one to teach that lecture?

Biometrics

To ensure freshness we need challenge--response. Thus to make biometrics secure (i.e. authenticated) we need challenge--response: we give a challenge to the biometric sensor, which incorporates the challenge into the reported data. It's crucial that you cannot take this challenge and just process it with previously recorded data.

Add machine-to-machine coverage

This would be details on crypto protocols for authentication. Basically, we can reduce much of user-machine and machine-user to machine-machine due to the user using e.g. a smartphone.

Add anonymous authentication example

We have Schnorr which is zero-knowledge. Add an example where the public key is not known, where you prove you know a signature on a public key for which you know the private key.

Fix abstracts for the splits of `overview`

Currently each session broken out from overview has the old abstract from overview as an abstract. Obviously this is not accurate anymore. The affected sessions are:

  • intro
  • bootstrapping
  • user-machine
  • something-you-know
  • something-you-have
  • something-you-are
  • machine-user

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.