Authentication plugin for Windows10
Budget: €750 – €1,500 EUR
Description
A plugin for Windows authentication that sends authentication token which is input as password into the authentication dialog to a web server and retrieves an new password, decrypts it and replaces the original password with the new one from the web server.
The plugin registers itself at the web server on behalf of a machine (plugin) registration dialog. The plugin creates a uuid, a ssl certificate and a public private key pair for en/decryption of the password(s). The uuid, the certificate and the public key is sent to the server for registration purpose. The uuid identifies the plugin. The certificate Is for client authentication, the public private key pair is for encryption and decryption of the password.
Each user/account registers at the server. On registration the plugin sets a generated safe password for his account. The password is presented the user once on request. This password is encrypted with the public key and sent to the server along with the uuid, the encrypted user id and a (non encrypted) authentication token.
On enabled accounts each time a user logs in, the authentication token put in as password is sent to the server along with the encrypted user id. The plugin retrieves the encrypted password from the server, decrypts it and sets it as password and starts authentication.
The plugin stores the ssl certificate and the server address per machine and an enabled-flag and a public/private key pair on a per user basis. Nothing else is stored.
The requests to the server are simple HTTP(S) requests.
Required Knowledge
• C-sharp
• HTTP client
• Windows authentication process in depth
A plugin for Windows authentication that sends authentication token which is input as password into the authentication dialog to a web server and retrieves an new password, decrypts it and replaces the original password with the new one from the web server.
The plugin registers itself at the web server on behalf of a machine (plugin) registration dialog. The plugin creates a uuid, a ssl certificate and a public private key pair for en/decryption of the password(s). The uuid, the certificate and the public key is sent to the server for registration purpose. The uuid identifies the plugin. The certificate Is for client authentication, the public private key pair is for encryption and decryption of the password.
Each user/account registers at the server. On registration the plugin sets a generated safe password for his account. The password is presented the user once on request. This password is encrypted with the public key and sent to the server along with the uuid, the encrypted user id and a (non encrypted) authentication token.
On enabled accounts each time a user logs in, the authentication token put in as password is sent to the server along with the encrypted user id. The plugin retrieves the encrypted password from the server, decrypts it and sets it as password and starts authentication.
The plugin stores the ssl certificate and the server address per machine and an enabled-flag and a public/private key pair on a per user basis. Nothing else is stored.
The requests to the server are simple HTTP(S) requests.
Required Knowledge
• C-sharp
• HTTP client
• Windows authentication process in depth