A matrix lock that works with an authenticator

I need help with my project

This is a project for my building gate...
There is a passcode system i have made using Arduino
It's a very general pass ode door lock

The problem is, when maids have to enter the building
They get stuck out... I need a system where you can generate a one time use code from your phone and use it to access the door... I need help with this please.

I basically want a system where there is a whole lot of codes saved in the database and all of them work, i need an app to randomly pick a code from there, that's it no disabling no WIFI, NOTHING i want it as simple as possible....

Is there only one device generating the temp passwords ?

A one time password with no synchro between the generator and the door device can only be achieved if you find an algorithm generating a fixed sequence and that you can have the algorithm work the same way on your phone and in the device.

The challenge might be with a generated password not being used so the device needs to be able to look ahead a bit (say 10 passwords forward) to see if it’s a valid key and if so accept the entry and remember the new position. No rollback allowed so that you can’t replay a passcode but possibly the intermediary (unused passcodes) should be kept valid for some time (to account for the case when two codes are given and the second one is used before the first one).

Another challenge is if multiple people can generate a temporary passcode from their phone. If there is no sync between the phones then it’s a mess. So best would be to have this generator hosted in a central place (like a web service) and accessed by the persons authorized to give a code

My opinion: is it really worth the trouble? give the maids a real passcode and don’t worry about the generation (Your system should of course be able to disable a passcode a when no longer needed). If you trust them with the key to your apartment whilst you might be away, you should trust them as well for entering the building…

Maybe not everyone in the building wants to trust ppl that one tenant trusts.

And a key can be invalidated only by collecting the key and any copies thereof or changing the locks they fit… a bit harder than cancelling a code.

You could do something like base the code on the real time and date in some obscure way. By algorithm the obscure key would only work, say, for the hour of 10 AM to 11 AM on 22 AUG 2022, but not show that.

Yes, security by obscurity, I know. :expressionless:

a7

It's just a software feature, much easier than changing a lock and all the keys !

fair enough, but they will still get in with the temp key...

The problem with having a large list of active passcodes is that if any one of them leaks out, the door is insecure.

Perhaps a rolling code that changes each day. That could be done with an RTC and some math. At least if one of those leaked out your door would only be insecure for one day. You could shorten that interval by disabling the day's code several hours after it is first used.

Do the maids all have smartphones?

have you considered adding a RFID badge reader ?

A badge could be handed over to the visitors and with the right software you could tailor the time when the badge is active.

The Arduino would have a list of all the badges and associated credentials and there would be some sort of system to create, add, delete badges

1 Like

Gee that sounds familiar. But why "open the door" for a whole day?

"key" is being over used. To me, a key is a physical thing you stick in another physical think called a lock.

"code", "key code" or "access code" or "access number" is the other thing.

a7

how do you call these little things on your keyboard?

or in crypto âžś Key generation - Wikipedia

:innocent: :smiley:

but agree, "access code" would have been better

In case the maid needs to leave the building to fetch tools or supplies. The faster you roll the codes the more codes you will have to send the maid each day they visit. (Assuming you don't allow them to generate valid codes whenever they want.)

Okay, i have figured out something...

I can connect an RTC and make a code work for only a specific time in the day, when the sanitary worker comes in the morning and when the maids come through out the day....

I need help coding this though... Please help

OK. What have you got so far?

I guess we asked for that, or shoulda seen it coming.

How large a timed "window" do you want to use?

This

when the maids come through out the day....

sounds like you need a code that works for the entire period of coming and going...

a7

Post the code you have, using code tags, and explain what is causing the difficulty.

See the "How to get the best out of the forum" post for instructions.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.