Skip to content

A distributed system built using Kinesis Video Streams and Amazon Rekognition that authenticates people and provides them with access to a virtual door

Notifications You must be signed in to change notification settings

Prashant-mahajan/Smart-door-authentication-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart Door authentication system

Goals:

  • For a given visitor, your system should be able to depict their face and email you to allow or deny them access.

  • If allowed access, you should be able to capture their information through a hosted web page. You should then send them an SMS message with a valid OTP that is only valid for a maximum of 5 minutes.

  • The OTP should be valid only once and guaranteed unique across the
    different visitors.

  • For a returning visitor, your system should
    automatically send them an SMS message with a valid OTP.

  • Given a valid OTP, a visitor should be able to input it and receive a personalized greeting.

Setup

  1. Visitor Vault

    • Create a S3 bucket ( B1†) to store the photos of the visitors.
    • Create a DynamoDB table “passcodes” ( DB1†) that stores temporary access codes to your virtual door and a reference to the visitor it was assigned to a. Use the TTL feature1 of DynamoDB to expire the records after 5 minutes.
    • Create a DynamoDB table “visitors” ( DB2†) that stores details about the visitors that your Smart Door system is interacting with.
  2. Analyze

    • Create a Kinesis Video Stream3 ( KVS1†), that will be used to capture and stream video for analysis. You can use the built-in video recording feature in the Kinesis console to simulate a real streaming video camera.

    • Subscribe Rekognition Video4 to the Kinesis Video Stream (KVS1).

    • Output the Rekognition Video analysis to a Kinesis Data Stream (KDS1) and trigger a Lambda function for every event that Rekognition Video outputs.

  3. Authorize

    • Create a second web page, the “virtual door”, that prompts the user to input the OTP. a. If the OTP is valid, greet the user by name and present a success message. b. If the OTP is invalid, present a “permission denied” message.

    • Note that you will have to build your own API to capture and validate the OTP.

Architecture Diagram

About

A distributed system built using Kinesis Video Streams and Amazon Rekognition that authenticates people and provides them with access to a virtual door

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published