DS1991(3)

NAME
DS1991 - 1152bit MultiKey iButton

SYNOPSIS
Non-volatile memory with password protection.

02 [.]XXXXXXXXXXXX[XX][/[ subkey0/reset. hex_pwd | subkey0/password. hex_pwd | subkey0/secure_data. hex_pwd | subkey0/id. hex_pwd

02 [.]XXXXXXXXXXXX[XX][/[ subkey1/reset. hex_pwd | subkey1/password. hex_pwd | subkey1/secure_data. hex_pwd | subkey1/id. hex_pwd

02 [.]XXXXXXXXXXXX[XX][/[ subkey0/reset. hex_pwd | subkey2/password. hex_pwd | subkey2/secure_data. hex_pwd | subkey2/id. hex_pwd ]]

FAMILY CODE

02

SPECIAL PROPERTIES

  subkey[0|1|2]/reset.hex_pwd
write-only, yes-no
Initialize one of the three secure data areas and set a new password.

The extension (hex_pwd) is the new 8-byte password in hexadecimal (e.g. password.000204006080A0C0E for bytes 0,2,4,6,8,10,12,14)

The data must be "1" or "yes" to actually reset the subkey.

Note: writing a password will clear any existing data and ID.

  subkey[0|1|2]/password.hex_pwd
write-only, binary
Change the password of one of the secure subkey areas without losing data.

The extension (hex_pwd) is the existing 8-byte password in hexadecimal (e.g. password.00020406080A0C0E for bytes 0,2,4,6,8,10,12,14)

The data portion is 8 bytes that will be used as a new password.

  subkey[0|1|2]/secure_data.hex_pwd
read-write, binary
Read or write data in one of the three sucure data areas.

The extension (hex_pwd) is the existing 8-byte password in hexadecimal (e.g. password.00020406080A0C0E for bytes 0,2,4,6,8,10,12,14)

The data portion binary data. Up to 48 bytes in each subkey area, starting at location 0. If the wrong password is specified, "random data" is returned on read and data is silently ignored on write.

  subkey[0|1|2]/id.hex_pwd
read-write, binary
Read or write the subkey id.

The extension (hex_pwd) is the existing 8-byte password in hexadecimal (e.g. password.00020406080A0C0E for bytes 0,2,4,6,8,10,12,14)

The data portion 8 binary bytes. This is the subkey id. The correct password must be used to write a new id but not to read it.

STANDARD PROPERTIES

ALARMS
None.

DESCRIPTION

  DS1991
The DS1991 (3) is an iButton with password protected non-volatile memory. Data is read/written with error checking (transparent to the user). The memory is divided into 3 different pages with 3 separate passwords.

In theory, choosing an incorrect password is hard to discern because the chip responds normally but with incorrect data. There is a published analysis suggesting that the "random data" follows a pattern and so a concerted attack might be successful.

The password (in hexadecimal) is used a the file extension 02.1234123414/subkey0/id. password allowing a password to be passed to the program within the filesystem paradigm.

ADDRESSING

DATASHEET
http://pdfserv.maxim-ic.com/en/ds/DS1991.pdf

SEE ALSO

AVAILABILITY
http://www.owfs.org

AUTHOR
Christian Magnusson (mag@mag.cx) and Paul Alfille