Electronics Repair (sci.electronics.repair) Discussion of repairing electronic equipment. Topics include requests for assistance, where to obtain servicing information and parts, techniques for diagnosis and repair, and annecdotes about success, failures and problems.

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to sci.electronics.repair
external usenet poster
 
Posts: 391
Default Security Token Questions

I do business with a company that issues a security token, that when
used with a password, allows access to my account. I know it works and
has worked for years, but I was curious as to how it works:

The number the token generates changes every minute or so, so knowing
the number it generated a minute ago and the users password is of no
value unless used while the number is valid. My questions a

How do they synchronize the timing of the token with that of the server
that receives it?

Since the token is good for several years before needing to be replaced,
how do they synchronize the generated number with the server?

I know this is an electronics newsgroup, but I thought if anyone knew
the answer to my questions, it would be here.
  #2   Report Post  
Posted to sci.electronics.repair
external usenet poster
 
Posts: 56
Default Security Token Questions

Ken wrote:
I do business with a company that issues a security token, that when
used with a password, allows access to my account. I know it works and
has worked for years, but I was curious as to how it works:

The number the token generates changes every minute or so, so knowing
the number it generated a minute ago and the users password is of no
value unless used while the number is valid. My questions a

How do they synchronize the timing of the token with that of the server
that receives it?

Since the token is good for several years before needing to be replaced,
how do they synchronize the generated number with the server?

I know this is an electronics newsgroup, but I thought if anyone knew
the answer to my questions, it would be here.


The software does not accept only a single reply, but rather accepts
the numbers generated by the token at a range around the current time.
When you enter a code that was valid a minute ago, it does not reject
it but it accepts it and notes that the time in the token is apparently
a minute behind. The next time you use the token the range of time has
been shifted by a minute. This way the server "locks" to the drifting
time of the token. When you would not use it for a very long time it
could have drifted outside of the range, but in practice this does not
happen (the clock in the token is accurate enough).
  #3   Report Post  
Posted to sci.electronics.repair
external usenet poster
 
Posts: 201
Default Security Token Questions

In article , Ken wrote:
I do business with a company that issues a security token, that when
used with a password, allows access to my account. I know it works and
has worked for years, but I was curious as to how it works:

The number the token generates changes every minute or so, so knowing
the number it generated a minute ago and the users password is of no
value unless used while the number is valid. My questions a

How do they synchronize the timing of the token with that of the server
that receives it?

Since the token is good for several years before needing to be replaced,
how do they synchronize the generated number with the server?

I know this is an electronics newsgroup, but I thought if anyone knew
the answer to my questions, it would be here.


Take a look at writeups (e.g. Wikipedia) for TOTP (Time-based One-Time
Password).

To sum it up: the token dongle has its own time reference driven by a
stable oscillator (typically something like a watch-crystal). The
token's time is synchronized initially when it's first set up. It can
of course drift over time (initial tolerances, aging, temperature, and
so forth) just as a digital watch does.

The one-time password algorithm generates a unique password on a
fairly coarse time scale - e.g. once a minute. The server will
typically accept the validity of an OTP for longer than this e.g. for
an additional 30 seconds or a minute on either side of the "nominal"
minute. This allows for some amount of clock drift.

To deal with larger amounts of clock drift, the server can be
'adaptive'. That is, if it is offered a password which is (e.g.) "5
minutes out of date" or "5 minutes early", it may refuse it, but ask
the user to try again in another minute. If it receives several
one-minute passwords in a row, which are all valid but all "late" or
"early" by the same amount, the server can conclude that the
token-generator is valid but that its internal clock has drifted by
this amount. The server could then store the time offset along with
the token generator's ID - essentially resynchronizing itself with the
token generator.

A somewhat similar technique is often used for "rolling code" security
remote controls (e.g. car or garage door openers). If you accidentally
activate such a device while it's in your pocket, it can "waste" a
bunch of codes, and the car/garage receiver will still be expecting a
code that has already been used up. In order to resynchronize you can
push the remote button several times... a smart receiver will detect a
valid sequence of codes coming from a "later" point in the sequence it
was designed to accept, and will resynchronize.




  #4   Report Post  
Posted to sci.electronics.repair
external usenet poster
 
Posts: 391
Default Security Token Questions

Dave Platt wrote:
In article , Ken wrote:
I do business with a company that issues a security token, that when
used with a password, allows access to my account. I know it works and
has worked for years, but I was curious as to how it works:

The number the token generates changes every minute or so, so knowing
the number it generated a minute ago and the users password is of no
value unless used while the number is valid. My questions a

How do they synchronize the timing of the token with that of the server
that receives it?

Since the token is good for several years before needing to be replaced,
how do they synchronize the generated number with the server?

I know this is an electronics newsgroup, but I thought if anyone knew
the answer to my questions, it would be here.


Take a look at writeups (e.g. Wikipedia) for TOTP (Time-based One-Time
Password).

To sum it up: the token dongle has its own time reference driven by a
stable oscillator (typically something like a watch-crystal). The
token's time is synchronized initially when it's first set up. It can
of course drift over time (initial tolerances, aging, temperature, and
so forth) just as a digital watch does.

The one-time password algorithm generates a unique password on a
fairly coarse time scale - e.g. once a minute. The server will
typically accept the validity of an OTP for longer than this e.g. for
an additional 30 seconds or a minute on either side of the "nominal"
minute. This allows for some amount of clock drift.

To deal with larger amounts of clock drift, the server can be
'adaptive'. That is, if it is offered a password which is (e.g.) "5
minutes out of date" or "5 minutes early", it may refuse it, but ask
the user to try again in another minute. If it receives several
one-minute passwords in a row, which are all valid but all "late" or
"early" by the same amount, the server can conclude that the
token-generator is valid but that its internal clock has drifted by
this amount. The server could then store the time offset along with
the token generator's ID - essentially resynchronizing itself with the
token generator.

A somewhat similar technique is often used for "rolling code" security
remote controls (e.g. car or garage door openers). If you accidentally
activate such a device while it's in your pocket, it can "waste" a
bunch of codes, and the car/garage receiver will still be expecting a
code that has already been used up. In order to resynchronize you can
push the remote button several times... a smart receiver will detect a
valid sequence of codes coming from a "later" point in the sequence it
was designed to accept, and will resynchronize.




Very clever way of compensating for a time difference. Then are the
codes in all similar devices the same with respect to their code
sequence, just that each device started the sequence at a different time??
  #5   Report Post  
Posted to sci.electronics.repair
external usenet poster
 
Posts: 201
Default Security Token Questions

In article , Ken wrote:

Very clever way of compensating for a time difference. Then are the
codes in all similar devices the same with respect to their code
sequence, just that each device started the sequence at a different time??


Nope, not in the general case. Each individual device (or each
instance of a token-generating application on e.g. a smartphone) has
an individual secret (or secrets, if it's generating one-time
passwords for multiple services).

The service knows the secret for each device.

The one-time passwords (codes) are generated by a deterministic
process, which takes as input the time and the device secret. This
process is designed to be cryptographically strong... it's infeasible
to predict what one code will be, based on its predecessors, unless
you know the correct shared secret. It's also infeasible to "compute
back" and figure out the shared secret even if you know a large number
of the OTP codes that have been generated.

Thus, if you have two OTP generators, both generating codes for the
same service (for e.g. two different user-IDs), and both happen to
show a code of 123456 in this minute, it is extremely unlikely that
they'll display the same codes during the next minute.

You can, however, program two or more OTP generators with the same
shared secret, if you choose. For example, if you own a smartphone
and a tablet, you can sign up with a service that offers one-time-code
access, get your secret (some services deliver it as a scannable
barcode or QR code), and load the secret into an OTP-generating app on
both devices. These devices will then generate the same code
sequences and you can use either to authenticate.

The TOTP algorithm is standardized, so you can use different
OTP-generating dongles or apps based on a single shared secret, and
they'll all interoperate.

Different devices/apps can store their secrets differently. For
example, as I understand it, the Google Authenticator app for Android
stores the secrets in a smartphone's internal hardware-backed
keystore, and won't ever export them or back them up to a server. If
you lose or wipe the phone, all of the secrets are gone for good.

Other apps (e.g andOTP) store the secrets in the device's flash
memory, encrypted with a password that you must enter to use the app.
andOTP will allow you to export the secrets via email (after
encrypting them with a PGP key of your choice for security), and then
re-import them into a different phone or tablet.





  #6   Report Post  
Posted to sci.electronics.repair
external usenet poster
 
Posts: 56
Default Security Token Questions

Dave Platt wrote:
You can, however, program two or more OTP generators with the same
shared secret, if you choose. For example, if you own a smartphone
and a tablet, you can sign up with a service that offers one-time-code
access, get your secret (some services deliver it as a scannable
barcode or QR code), and load the secret into an OTP-generating app on
both devices. These devices will then generate the same code
sequences and you can use either to authenticate.


That works, but only when the device has accurate time synchronization
by another method. E.g. NTP.
If not, the times on the two devices will differ, and the algorithm
in the server that tracks the time offset will fail.
  #7   Report Post  
Posted to sci.electronics.repair
external usenet poster
 
Posts: 56
Default Security Token Questions

Jeff Liebermann wrote:
Tuning fork and watch quartz crystal oscillators out of fashion. The
better dongles use a MEMS RTC (real time clock) that has built in
temperature compensation via a lookup table. Drift is negligible:
https://en.wikipedia.org/wiki/Microelectromechanical_system_oscillator


Big fun when there is only a slight concentration of helium in the air!
  #8   Report Post  
Posted to sci.electronics.repair
external usenet poster
 
Posts: 4,045
Default Security Token Questions

On 20 Sep 2019 11:58:48 GMT, Rob wrote:

Jeff Liebermann wrote:
Tuning fork and watch quartz crystal oscillators out of fashion. The
better dongles use a MEMS RTC (real time clock) that has built in
temperature compensation via a lookup table. Drift is negligible:
https://en.wikipedia.org/wiki/Microelectromechanical_system_oscillator


Big fun when there is only a slight concentration of helium in the air!


Yep, but it wasn't so "slight". The leak was about 120 liters of
liquid helium, which expands into 90,000 liters (or 90 cubic meters,
or 3,200 cubic feet) of helium gas. A typical MRI machine holds about
1,700 liters of liquid helium:
https://www.usgs.gov/centers/nmic/helium-statistics-and-information
https://prd-wret.s3-us-west-2.amazonaws.com/assets/palladium/production/s3fs-public/atoms/files/mcs-2019-heliu.pdf
Incidentally, 90 cubic-meters at $7.57/cubic-meter = $681

"iPhones Are Allergic to Helium"
https://www.ifixit.com/News/iphones-are-allergic-to-helium

Notice the size of the chip on the fingernail in the photo:
https://www.sitime.com


--
Jeff Liebermann
150 Felker St #D
http://www.LearnByDestroying.com
Santa Cruz CA 95060 http://802.11junk.com
Skype: JeffLiebermann AE6KS 831-336-2558
  #9   Report Post  
Posted to sci.electronics.repair
external usenet poster
 
Posts: 56
Default Security Token Questions

Jeff Liebermann wrote:
On 20 Sep 2019 11:58:48 GMT, Rob wrote:

Jeff Liebermann wrote:
Tuning fork and watch quartz crystal oscillators out of fashion. The
better dongles use a MEMS RTC (real time clock) that has built in
temperature compensation via a lookup table. Drift is negligible:
https://en.wikipedia.org/wiki/Microelectromechanical_system_oscillator


Big fun when there is only a slight concentration of helium in the air!


Yep, but it wasn't so "slight". The leak was about 120 liters of
liquid helium, which expands into 90,000 liters (or 90 cubic meters,
or 3,200 cubic feet) of helium gas. A typical MRI machine holds about
1,700 liters of liquid helium:
https://www.usgs.gov/centers/nmic/helium-statistics-and-information
https://prd-wret.s3-us-west-2.amazonaws.com/assets/palladium/production/s3fs-public/atoms/files/mcs-2019-heliu.pdf
Incidentally, 90 cubic-meters at $7.57/cubic-meter = $681

"iPhones Are Allergic to Helium"
https://www.ifixit.com/News/iphones-are-allergic-to-helium


That was the incident that made this wellknown, but others have tried
to replicate it and found it doesn't require nearly that high a
concentration! For example, see the youtube movie on the Applied Science
channel: https://www.youtube.com/watch?v=vvzWaVvB908
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
High Security = Low Security tim..... UK diy 45 August 5th 13 07:44 AM
Getting An Enclosed Trailer...Questions, Questions, Questions Too_Many_Tools Metalworking 30 December 30th 07 06:19 PM
Want small security camera for internal security G Wood Home Repair 7 October 6th 07 04:12 AM
How to identify token ring baluns and adapter without opening the device? Ackermann Karl Electronics Repair 0 December 23rd 06 04:47 PM
Two questions about security light above the garage door [email protected] Home Ownership 4 May 26th 05 12:16 AM


All times are GMT +1. The time now is 01:48 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 DIYbanter.
The comments are property of their posters.
 

About Us

"It's about DIY & home improvement"