Skip to content

A browser client and JSON-HTTP service using ADILOS for secure authentication and communications

License

Notifications You must be signed in to change notification settings

bitsanity/adiweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

adiweb

UPDATE: Video Chat and Demo

PLEASE READ DISCLAIMERS/NOTES AT BOTTOM

This repo illustrates use of the ADILOS protocol to exchange public keys and then communicate securely with elliptic-curve encryption.

adiweb includes two programs: gkeeper and agentui

gkeeper

This is an ADILOS gatekeeper listening for HTTP POST messages in which the body is a JSON-RPC 2.0 Request object containing one of three recognized commands:

  • getChallenge : sent by agentui and/or compatible clients to request the gatekeeper generate and return an ADILOS identity challenge
  • setResponse : enables clients to return an ADILOS identity response and thereby complete the public-key exchange. Returns the session public key in hex format - the client must include this in future requests
  • do : enables clients to provide an encrypted and signed request and receive an encrypted response.

To run:

install node.js and npm modules
then:
$ cd gkeeper
$ node jsonrpcintf.js

agentui

This is an ADILOS keymaster-gatekeeper agent ("KGAgent") that bridges a user holding her private key(s) in her keymaster app on her smartphone to a gatekeeper existing somewhere on the web.

agentui is intended to run on a desktop/laptop/RaspberryPi or kiosk. It requires an HD camera in order to perform the optical key exchange with the user. It also requires internet access to communicate with our gkeeper RPC service.

agentui is a webapp intended to run on NW.js. This is a basic chrome web browser with a node.js javascript engine, that makes it nice for including npm modules in a project.

To run:

install nw.js
decompress an adiweb release, or install the node_modules manually
then:
$ cd agentui
$ nw .

DISCLAIMERS/NOTES

  • This code is intended for illustration and education. The gkeeper program depends on node.js's "http" module, which may now or someday be vulnerable to some kind(s) of web attack.
  • simpleth is one implementation of a ADILOS/keymaster.

About

A browser client and JSON-HTTP service using ADILOS for secure authentication and communications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published