🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.security.misc
1 messages
1 total messages Started by Infotrek Tech. Inc. Wed, 05 Oct 1994 21:33
CFS vs. InfoGuard
#1041
Author: Infotrek Tech. Inc.
Date: Wed, 05 Oct 1994 21:33
171 lines
8956 bytes
Since the announcement of InfoGuard, there has been enormous
responses. Quite a few were asking for a comparison between
InfoGuard and CFS--another cryptographic file system.

This writing is an attempt to compare the two products in terms
of their features and their architectures. Readers may get more
information about CFS from the white paper on research.att.cm
under dist/mab/cfs.ps. Information about InfoGuard can be retrieved
from Infotrek's mail server by sending email to infotrek@netcom.com
with 'INFOREQ' as the subject line.

--Marc H.

P.S. This writing represents my personal opinion. It does not speak
     for Infotrek Technology.


			CFS vs. InfoGuard


1. Background

	CFS and InfoGuard both offer cryptographic features to 
ordinary UNIX file systems in a seamless fashion. Once installed,
file encryption and decryption could be performed automatically and
transparently as part of the file system processings. System call
APIs are not changed; hence, all application programs would run
as usual.

	Cryptographic Filesystem makes a hard disk secure without
requiring the device to be physically secure--a getting harder 
task as computer components getting smaller in size. Encryption
is also the best way to protect information from being illegally
accessed. A cryptographic filesystem can provide these protection
without introducing inconvenience; encrypted files can be accessed
normally--by authenticated users--as if they were not encrypted.

1. Architecture

	CFS is implemented as a special NFS server in the user
space.  File encryption and decryption are done by the cfsd--the
NFS server daemon of CFS. Encryption passwords are attached to the
mount directory. All files under the directory will be encrypted
(or decrypted) by the password attached. When a file under a CFS
directory is being accessed for reading, file data is first moved
from the disk to the kernel's buffer cache, and then to the cfsd
server. The cfsd server decrypts the data, copy the result back
to the kernel, the kernel then moves the data to the user program's
buffer to satisfy the request. The whole operation is accompanied
by NFS and RPC protocols. Data flow for file-write operation goes
just the opposite way.

	InfoGuard, on the other hand, is a direct extension to
the system call processing, operates completely inside the kernel.
InfoGuard attaches encryption passwords to UNIX processes. Passwords
are passed to child processes just as the process' user-id and
other inheritables. Data flow for file access is done as usual--file
data is first moved from the disk to the kernel's buffer cache, then
moved from the kernel buffer cache to the user program's buffer.
However, if the file is recognized by InfoGuard, InfoGuard uses the
passwords attaches to the requesting process to encrypt or decrypt
the data as they are being moved between the kernel buffer and the
user program's buffer. No encryption (or decryption) is performed if
the requesting process is not authenticated--i.e. has no passwords or
has carried the wrong passwords. InfoGuard works on a file to file
basis. A mixing of files with different passwords can reside under
the same directory.

	CFS uses DES to encrypt file data. Several techniques are
used to guarantee that identical blocks will encrypt to different
ciphertext depending upon their position in a file. 

	InfoGuard uses Infotrek Technology's proprietary BME
algorithm which is designed for fast on-the-fly encryption. BME
algorithm also guarantees identical blocks will encrypt to different
value depending upon their position in a file.

	Both CFS and InfoGuard assign unique initial vector to
files so that identical blocks in the same position of different
files with the same key will also produce different ciphertext.


2. Other Features 

	InfoGuard allows a file to be protected by two keys--a secret
key and a shared key. This secret and shared key design eliminates the
usual problems with password security systems. Traditionally, one
password would be used to cover all files, or file passwords would be
assigned individually.  Such restrictions gave file owners a devil's
choice of options-either trying to remember dozens (maybe hundreds) of
individual passwords, or risk compromising all those files by revealing
their common password.  With InfoGuard's secret/shared key design, one
key can protect a large number of files, with special keys assigned as
required.

	InfoGuard allows a process to carry more than one password.
Similar to a file having two protection keys, a process can carry
multiple unlocking passwords. InfoGuard automatically pick the right
password to use when files are being accessed. Access to multiple
groups of protected files can be done simultaneously without having
to re-enter passwords.

	InfoGuard has probation/suspension safeguards. The following
paragraphs are borrowed from Infotrek's document:

	As computer security has become more sophisticated,
	so have the "hackers" who try to break through the
	protection.  Password-based security has traditionally
	been one of the easiest kinds of protection to break.
	In a typical brute-force attack, a program applies
	thousands of words from a dictionary until the correct
	password is found by chance.

	InfoGuard protects against this common type of illegal
	access by monitoring the activity of password changes.
	If more than 25 changes are attempted in the same 10-minute
	period, the user is placed on probation. Probation lasts
	until ten minutes pass with only two (or fewer) attempts
	to set an InfoGuard password.

	A user under probation may still use the InfoGuard system,
	but their behavior is closely monitored for evidence of
	abuse. If they attempt to use an InfoGuard-protected file
	with the wrong password, the user is immediately placed on
	suspension and e-mail is sent to the file's owner, warning
	of a possible unauthorized attack. 

	A user on suspension cannot change passwords again for two
	hours.
			# # # #


	No similar features listed above are found in CFS.
However, CFS supports hardware based authentication--i.e. to store
encryption password in a smart-card (something like PCMCIA card, I
presume). When a secured directory is being mounted, the password 
can be copied directly from the smart-card to the directory. Smart-card
feature is not available from InfoGuard.


3. Security Analysis

	Both CFS and InfoGuard provide strong protection to the
information stored in the physical disks. Offline analysis of
the encrypted data is almost impossible--if not impossible.

	CFS, however, does not provide additional runtime protections.
Once a directory is mounted and attached with password, files under
the directory have no more protection than other files. Anyone
who has access permission to the directory and the files would be
able to access the files' true content. Super-user abuse and setuid
problems still exist.

	CFS provides no mechanism for secured file sharing. 
InfoGuard, on the other hand, provides Key Based File Sharing.
Its unique secret/shared key design makes file sharing secure
and easy.

	Brute-force attack is possible under CFS. A special written
program can issue cattach and cdetach commands repeatly and guess the
CFS encryption passwords on each cattach.

	Both InfoGuard and CFS are vulnerable to Memory Snooping
attacks. In a typical memory snooping attack, a privileged user makes
snapshot of the system memory for offline analysis. Memory snooping
attacks are usually fruitless because it requires the sensitive
information be loaded in the memory at the time of snooping. And 
even when it does, to spot those information from the snapshot, and
put them together is no easy task.

			# # # #
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads