home *** CD-ROM | disk | FTP | other *** search
- SECUREDEVICE VERSION 1.3
- Copyright (C) 1994 by Max Loewenthal and Arthur Helwig - see chapter 6
- May 1st 1994
-
- 1. WHAT IS IT?
-
- 2. HOW DO I USE IT?
- 2.1 GETTING STARTED - CREATING A VOLUME
- 2.2 LOGGING IN TO VOLUMES
- 2.3 LOGGING OUT
- 2.4 HOW DO I BACKUP MY FILES?
- 2.5 CAUTION WITH DISK-UNFRAGMENTERS!
- 2.6 UNFRAGMENTING VOLUMES
- 2.7 MULTITASKERS - Windows and DesqView/X
- 2.8 STACKER SUPPORT
- 2.9 MS-DOS SMARTDrive QUIRKS
-
- 3. FEATURES
- 3.1 AUTO CLOSE AFTER TIMEOUT
- 3.2 HOTKEY CLOSE
- 3.3 MODIFYING SDTSR-COLORS
-
- 4. REFERENCE - command-line parameters, usage etc.
- 4.1 MKVOLUME.COM
- 4.2 SECDEV.SYS
- 4.3 SDTSR.COM
- 4.4 LOGIN.COM
- 4.5 LOGOUT.COM
-
- 5. SECURITY
-
- 6. LEGAL STUFF
- 6.1 COPYRIGHT
- 6.2 COPYING
- 6.3 WARRANTY
- 6.4 CREDITS
- 6.4.1 IDEA
- 6.4.2 MD5
- 6.4.3 SECUREDRIVE
- 6.4.4 Microsoft, DesqView/X and Stacker
-
- 7. CONTACTING THE AUTHORS
-
- 1. WHAT IS IT?
-
- SecureDevice is a device-driver that will help you keep your private data
- private. It creates 'extra drives' on your system that are accessible
- just like normal disk drives, but everything you transfer to the volume
- will be encrypted using the IDEA encryption algorithm, and when you
- transfer data from the volume it will be automatically decrypted. The
- encryption/decryption mechanism is transparant to DOS and other
- application programs.
-
- 2. HOW DO I USE IT?
-
- 2.1 GETTING STARTED - CREATING A VOLUME
-
- First, you must create a file containing the data for your new drive. To
- do this, first run MKVOLUME <filename> <size>. Instead of <filename>,
- you type the name of the file that you want to use to store your data
- in. For <size>, type the size (in bytes) of the file. Alternatively, you
- could type the word 'ALL' (without the quotes) instead of the size -
- this will automatically use all available space on the drive. The size
- will be rounded down to the nearest sector (512-byte) boundary. After
- creating the boot sector, the FATs and the rootdirectory, whatever
- number of bytes remains will be available to you on the
- new-to-be-created drive.
-
- NOTES: - The file must be located in the root-directory of the drive
- - If the file is fragmented by DOS in more than 50 non-contiguous
- areas, you will get a 'General Failure'-error when you try to
- access the volume. Refer to 'UNFRAGMENTING VOLUMES' to solve
- this problem
- - You can create volumes on your hard disk as well as on floppy
- disks. When you create multiple volumes on floppy disks and you
- give the same name to the volumes on each disk, you can access
- the different floppies using the same logical driveletter. In
- addition to this, if you choose the same passphrase for the
- volumes on your floppies, you can swap floppies without having
- to enter a new passphrase.
-
- EXAMPLE:
-
- MKVOLUME C:\PRIVATE.!@# 362496
-
- MKVOLUME A:\PRIVATE2 ALL
-
- To load SECDEV and to be able to access the newly created volume,
- place a line in your CONFIG.SYS-file according to the following
- convention:
-
- DEVICE=<Drive:\Path>SECDEV.SYS <Drive:\volumename>
-
- After you have done this, reboot your system. To use your volume, refer
- to 'LOGGING IN TO VOLUMES'.
-
- NOTES: - To create multiple volumes, just add them on the same line
- after the first <Drive:\volumename>. Up to 10 different
- volumes are supported.
-
- EXAMPLE:
- DEVICE=C:\SECDEV\SECDEV.SYS C:\PRIVATE.!@# C:\PRIVATE2.!@#
-
-
- 2.2 LOGGING IN TO VOLUMES
-
- There are two ways to log in to your volumes:
-
- - Load the TSR SDTSR.COM. Whenever you need to enter a passphrase, SDTSR
- will prompt you to enter this.
- - Use LOGIN.COM. If you have only 1 volume, LOGIN will automatically
- prompt you for a passphrase for that volume. If you have multiple
- volumes, give the driveletter of the volume you want to login to as a
- parameter to LOGIN.
-
- You can use LOGIN.COM to login to a volume on a floppy disk, even if
- the floppydisk containing the volume is not yet in the drive. This
- is the reason that LOGIN.COM will NOT tell you whether the passphrase
- you entered is correct or not.
-
- EXAMPLE:
-
- LOGIN D
-
- 2.3 LOGGING OUT
-
- There are three ways to log out:
-
- - Use LOGOUT.COM with the driveletter that you wish to log out, or
- alternatively the word ALL to log out of all drives simultaneously.
- - You can automatically log out of drives after a specific time of
- inactivity. See section 3.1.
- - Load the TSR SDTSR and specify a hotkey. Each time you hit the hotkey
- you will be logged out of the drive specified. See section 3.2.
-
- EXAMPLE:
-
- LOGOUT D
- LOGOUT ALL
-
- 2.4 HOW DO I BACKUP MY FILES?
-
- You can backup your files just as if you backed them up from a 'normal'
- drive. However, your backups may not be very secure! You could use an
- archive-program (such as ARJ or PKZIP) with the password-garble-option,
- but many questions have been raised about the security of these options.
-
- To make a totally safe backup, you can back up the volume itself rather
- than all files residing on the volume.
-
- EXAMPLE:
- COPY C:\PRIVATE.!@# A:\
-
- Note that your volume by default will be stored as a hidden file, which
- means you can't copy it with the standard DOS COPY-command. You can a)
- unhide it (ATTRIB -R <volumename>) and then copy it with DOS's COPY,
- rehiding the file if you are done, or b) you can use a file-management
- program (such as the Norton Commander or PCTools) to copy it.
-
- Since this file is encrypted, you will get very low if any result by
- using an archive-program to try to compress the volume.
-
- 2.5 CAUTION WITH DISK-UNFRAGMENTERS!
-
- If you have a volume which resides, for example, on your C-drive, use
- harddisk-unfragmenters with caution! Although the volumes are by default
- marked as Hidden, System and Read-Only, and most disk-unfragmenters will
- not touch these files, it's better to be safe than sorry.
-
- Use the following procedure to safely unfragment any host drive:
-
- - Log out from any volumes that physically reside on the drive that
- you're about to compress
- - You can now safely unfragment the drive
-
- 2.6 UNFRAGMENTING VOLUMES
-
- If you get a 'General Failure'-error when you try to access a volume,
- it's possible that the volume is just too fragmented (more than 50
- non-contiguous areas). You can check this with special utility programs,
- like PCTOOLS or Norton's DiskEdit.
-
- To unfragment volumes, you have to remove the Hidden, System and
- Read-Only attributes. To do this, issue the following DOS-command:
-
- ATTRIB -R -H -S <volumename>
-
- For example:
-
- ATTRIB -R -H -S C:\PRIVATE.!@#
-
- Now, unfragment your drive. When this is done, set the Hidden, System
- and Read-Only attributes again. Use the following DOS-command:
-
- ATTRIB +R +H +S <volumename>
-
- For example:
-
- ATTRIB +R +H +S C:\PRIVATE.!@#
-
- 2.7 MULTITASKERS - Windows and DesqView/X
-
- You can use SecureDevice volumes with multitaskers such as MicroSoft
- Windows or DesqView/X.
-
- However, SDTSR.COM won't function if you load it before you start the
- multitasker. SDTSR will notice if you start Windows or DesqView/X and
- will deactivate itself when one of these 2 programs is running. If you
- try another multitasker, chances are pretty good that your system will
- crash whenever SDTSR tries to pop-up.
-
- You can, however, load a seperate copy of SDTSR in every DOS-window that
- you open. Then, SDTSR will operate normally, but only in the window
- where it is loaded.
-
-
- 2.8 STACKER SUPPORT
-
- Creating SecureDevice-volumes on a Stacker volume will not give you much
- result - you are very likely to get an 1.0 compression ratio. You can do
- it if you want to, though (but read section 2.9).
-
- However, you CAN create Stacker volumes on your SecureDevice volumes!
- But, because your SecureDevice volumes won't be accessible at boot time
- (you have to login first to use them), you'll have to mount the Stacker
- volumes by hand (using STACKER.COM) after you've logged in to your
- SecureDevice volume.
-
- 2.9 MS-DOS SMARTDrive QUIRKS
-
- You may encounter a few quirks when using SecureDevice in combination
- with MS-DOS SMARTDrive.
-
- - When creating SecureDevice volumes on a Stacker volume, you'll get
- weird errors if you let SMARTDrive cache your SecureDevice volume. In
- our test case, disabling the cache for the SecureDevice volume was
- enough to solve this problem.
-
- - Under Windows, if you open a (windowed) DOS-window and load SDTSR in
- that window, you won't see the pop-up window.
-
- It seems that SMARTDrive has its own ideas about non-standard device
- drivers. You have the following options: a) Learn to live with it, or b)
- Use another disk-caching program ;-)
-
- 3. FEATURES
-
- 3.1 AUTO CLOSE AFTER TIMEOUT
-
- You can configure SecureDevice to automatically close volumes after a
- certain time of inactivity. To do this, specify /Tn on the
- SECDEV.SYS-commandline, where n is the number of minutes of inactivity
- after which the volumes are to be closed.
-
- EXAMPLE:
- DEVICE=C:\SECDEV\SECDEV.SYS C:\PRIVATE.!@# C:\PRIVATE2.!@# /T5
-
- This sets the auto-closure timeout value to 5 minutes.
-
- N.B.: The inactivity-timer is monitored individually for each volume.
- So, in the previous example, C:\PRIVATE.!@# will be automatically closed
- after 5 minutes of inactivity regardless of the usage of
- C:\PRIVATE2.!@# and vice versa.
-
- 3.2 HOTKEY CLOSE
-
- If you've loaded SDTSR.COM, you can specify hot-keys to close specific
- or all volumes. To do this, load SDTSR.COM with the /Kdxxxxyy parameter.
- If you've previously loaded SDTSR, just run SDTSR.COM again with the
- proper /K-switch - the hotkeys will be updated in memory.
-
- The /Kdxxxxyy parameter is interpreted as follows: d represents the
- driveletter to which the auto-close applies (or, the @ sign for all
- drives at once), xxxx represents the CTRL-ALT-SHIFT-states and yy is the
- scancode of any other key on your keyboard (or leave it set at 00 to
- just trigger on Shift/Alt/Ctrl states). Ok - so it is sortof
- complicated, it is _flexible_!
-
- You can specify one hotkey for each volume. In addition to this, you can
- specify one extra hotkey that closes all volumes simultaneously.
-
- EXAMPLE 1:
-
- SDTSR /KD000C2E
-
- This quickly closes drive D every time you hit CTRL-ALT-C.
-
- EXAMPLE 2:
-
- SDTSR /K@000E00
-
- This quickly closes all your SecureDevice-drives every time you hit
- CTRL-ALT-LEFTSHIFT.
-
- Table of the xxxx - values:
- 0000 No Ctrl, Shift of Alt-keys
- 0001 Right Shift
- 0002 Left Shift
- 0004 Any Ctrl
- 0008 Any Alt
-
- 1000 Scroll Lock depressed
- 2000 Num Lock depressed
- 4000 Caps Lock depressed
- 8000 SysReq depressed
- 0104 Left Ctrl (if you have 2 Ctrl's)
- 0208 Left Alt (if you have 2 Alt's)
- 0404 Right Ctrl (if you have 2 Ctrl's)
- 0808 Right Alt (if you have 2 Alt's)
-
- To specify a combination of shift, alt and ctrl-keys, just OR the values
- given in the above table. You can use the bottom 8 values only if you
- have a 101- or 102-key keyboard.
-
- Table of the yy - values (These are just the hex-scancodes)
-
- ' 28 | , 33 | - 0C | . 34 | / 35
- 0 0B | 1 02 | 2 03 | 3 04 | 4 05
- 5 06 | 6 07 | 7 08 | 8 09 | 9 0A
- ; 27 | = 0D | A 1E | B 30 | C 2E
- D 20 | E 12 | F 21 | G 22 | H 23
- I 17 | J 24 | K 25 | L 26 | M 32
- N 31 | O 18 | P 19 | Q 10 | R 13
- S 1F | T 14 | U 16 | V 2F | W 11
- X 2D | Y 15 | Z 2C | [ 1A | \ 2B
- ] 1B | ` 29
-
- F1 3B | F2 3C | F3 3D | F4 3E | F5 3F
- F6 40 | F7 41 | F8 42 | F9 43 | F10 44
- F11 57 | F12 58
-
- Backspace 0E Keypad 0 (Ins) 52
- Enter 1C Keypad 1 (End) 4F
- Esc 01 Keypad 2 (Down arrow) 50
- Space 39 Keypad 3 (PgDn) 51
- Sys Req (AT) 54 Keypad 4 (Left arrow) 4B
- Tab 0F Keypad 5 4C
- Keypad 6 (Right arrow) 4D
- Keypad 7 (Home) 47
- Keypad 8 (Up arrow) 48
- Keypad 9 (PgUp) 49
- Keypad . (Del) 53
- Keypad * (PrtSc) 37
- Keypad - 4A
- Keypad + 4E
-
- 3.3 MODIFYING SDTSR-COLORS
-
- You can modify the colors of the pop-up windows of SDTSR by running
- SDTSR with the /Caabbccddee parameter.
-
- The values for aa,bb,cc,dd and ee are the hexadecimal values of the
- color attributes for:
-
- aa) the Box for the 'Enter'-window
- bb) the Box for a 'Wrong password!'-window
- cc) the text of the 'Enter'-message
- dd) the text of the 'Wrong password!'-text
- ee) the password you type
-
- A color attribute is composed as follows:
- Hi nibble: Lo nibble:
- 0 - Black background 0 - Black foreground
- 1 - Blue background 1 - Blue foreground
- 2 - Green background 2 - Green foreground
- 3 - Cyan background 3 - Cyan foreground
- 4 - Red background 4 - Red foreground
- 5 - Magenta background 5 - Magenta foreground
- 6 - Brown background 6 - Brown foreground
- 7 - White background 7 - White foreground
- 8-F: Same as 0-7, but blinking 8-F: Same as 0-7, but intensified
-
- EXAMPLE 1: The default settings are equivalent to /C1F4E1E4F0F
- (EnterBox: Intensified White on Blue, Wrong Password Box: Intensified
- Brown (Yellow) on Red etc.)
-
- EXAMPLE 2: In a MDA video-mode, you might want to use: /C0F0F070770.
- This only uses (intensified) White and Black.
-
- 4. REFERENCE - command-line parameters, usage etc.
-
- 4.1 MKVOLUME.COM
-
- Usage: MKVOLUME <filename> <size>|ALL
-
- 4.2 SECDEV.SYS
-
- In CONFIG.SYS:
-
- DEVICE=<path>SECDEV.SYS <Drive:\file1> [<Drive:\file2> ...] [/Tn]
-
- /Tn defines an automatic closure after n minutes of inactivity.
-
- 4.3 SDTSR.COM
-
- Usage: SDTSR [/Kdxxxxyy] [/Caabbccddee] [/Q]
-
- With the /K parameter you can specify a hotkey to close drive d (enter a
- @ for d to specify a hotkey to close all volumes simultaneously). xxxx
- represents the shift-states; yy is the scancode of the hotkey you want
- to use. See section 3.2 for tables for xxxx and yy.
-
- The /C parameters lets you modify the colors of the pop-up windows.
- aa,bb,cc,dd and ee represent color-attributes for the windows and texts
- that SDTSR will display. See section 3.3 for tables for aa,bb,cc,dd and
- ee.
-
- /Q: Quiet mode. By default, if SDTSR can't pop up a window asking you
- for a passphrase (e.g., when in a graphics mode), you'll hear a beep.
- Further, different beeps are given if you enter the correct or a wrong
- password. If you run SDTSR with /Q, you won't hear any beeps. Please
- note that if you're in a graphics mode and SDTSR is in quiet mode, your
- system will wait without any warning or announcement for you to enter a
- passphrase, if needed.
-
- 4.4 LOGIN.COM
-
- Usage: LOGIN [<driveletter>] [passphrase]
-
- If you run LOGIN without parameters, you'll be prompted for a passphrase
- for your first volume.
-
- CAUTION! Normally, you shouldn't enter the passphrase on the
- commandline. Just leave it empty; LOGIN will prompt you and you can
- enter your passphrase without echoing to the screen.
-
- 4.5 LOGOUT.COM
-
- Usage: LOGOUT <driveletter>|ALL
-
- 5. SECURITY
-
- The question is always: how secure is a certain method of encryption?
- Any method of encryption is as strong as the weakest link in the chain.
-
- The encryption scheme used by SecureDevice is briefly described below.
-
- The main encryption algorithm used is IDEA. Encryption takes place on a
- per-sector basis. Each sector on a volume is encrypted seperately with a
- different IV.
-
- We take the plain MD5-hash of the user's password as a key for the
- IDEA-algorithm. A different IV is used for each volume created. Each
- sector is encrypted with a different IV. To achieve this, we take the
- 'master' IV for the volume and XOR both the low 32 bits and the high 32
- bits of this 'master' IV with the 32-bit sector number.
-
- WEAKNESS: When a sector is changed, it is written back in the data file
- using the same IV as it had before. If an intruder could monitor your
- volumes for a long period of time, he/she could get different
- ciphertexts encrypted with the same IV and same key. This is a possible
- weakness in SecureDevice.
-
- The alternative to this would be to generate a new, random IV for each
- sector written. However, you'd have to keep a table with all IV's for
- all sectors in the volume, and you'd have to update this table each time
- a sector is written. Further, if this table would be destroyed for some
- reason, there would be absolutely no way to recover your data.
-
- We're not exactly sure how severe this 'hole' in the security is.
- Feedback, hints, tips or solutions are welcomed.
-
- 6. CREDITS
-
- 6.1 COPYRIGHT
-
- SecureDevice 1.0 is Copyright (C) 1994 by Max Loewenthal and Arthur Helwig.
-
- 6.2 COPYING
-
- Distributing and copying is permitted under the GNU General Public
- License. See the file COPYING for details.
-
- 6.3 WARRANTY
-
- SecureDevice is provided with NO WARRANTY. Use at your own risk. See the
- file COPYING for details.
-
- 6.4.1 IDEA
-
- The IDEA(tm) block cipher is covered by a patent held by ETH and a Swiss
- company called Ascom-Tech AG. The Swiss patent number is PCT/CH91/00117.
- International patents are pending. IDEA(tm) is a trademark of Ascom-Tech AG.
- There is no license fee required for noncommercial use. Commercial users
- may obtain licensing details from:
- Dieter Profos, Ascom Tech AG, Solothurn Lab, Postfach 151, 4502 Solothurn,
- Switzerland, Tel +41 65 242885, Fax +41 65 235761.
-
- 6.4.2 MD5
-
- All references to MD5 refer to:
- RSA Data Security, Inc. MD5 Message-Digest Algorithm
- (C) 1990, RSA Data Security, Inc.
-
- 6.4.3 SECUREDRIVE
-
- Parts of the source of SecureDevice 1.0 are based on the sources of
- SecureDrive 1.0 by Mike Ingle.
-
- 6.4.4 Microsoft, DesqView/X and Stacker
-
- Microsoft is a trademark of Microsoft Corporation
- DesqView/X is a trademark of Quarterdeck Office
- Stacker is a trademark of Stac Electronics
-
- 7. CONTACTING THE AUTHORS
-
- We welcome your feedback! Send all your bugs, comments, requests and/or
- fanmail to:
-
- Arthur Helwig: E-Mail: A.W.S.Helwig@ET.TUDelft.NL
- Fido Netmail: 2:512/56.2
-
- Max Loewenthal: Fido Netmail: 2:512/56.10
-
- 2:512/56 is a BBS called Fata Morgana located in Delft, The Netherlands.
- Telephone number: +31-15-568396 (As of october 10th 1995, this will
- change into +31-15-2568396). You can call this BBS and leave a message
- for either Max Loewenthal or Arthur Helwig.
-