[Tfug] A sense of time

Bexley Hall bexley401 at yahoo.com
Mon Aug 6 17:32:12 MST 2007


--- jblais <joe.blais at pti-instruments.com> wrote:

> I'm doing a thing for a synthesizer, that requires
> that "messing with the
> data" can't happen (FDA and CFR stuff).  The usual
> way is to put log stuff
> into encrypted files and such.  I'm starting to use
> another way, probably
> already in use, but to me it seems new.
> 
> Anyway, the log files are completely open and easy
> to read, no write
> protection, nothing encrypted simple ASCII.  Each
> line, in my case starts
> with a floating checksum. I use about 4 bytes worth
> and display the value in
> hex code, followed by the information being logged:
> 
> 1f33a101 June 1, 2008: Keypress: Login
> ef23a722 June ... whatever...
> 
> and so on.  I just add each subsequent character to
> the next byte (don't
> allow one byte's overflow to affect the next
> checksum)  The algorithm must
> be public.  The file must be public.  Each
> subsequent file starts off with
> the last file's checksums.
> 
> I don't think that there is any way that you can't
> detect a change, that's
> really what I'm after.  Not so much to prevent - I
> can't - just detect.  If
> you delete a line, the checksum for all the
> following lines will never add
> up.  If you swap the order of 2 lines, even though
> the information contained
> doesn't change, the checksums probably will no
> longer add up.

Insert a change;
Calculate the corresponding checksum based on the
  previous line, changed line and PUBLISHED algorithm
Repeat this process for all subsequent lines

:<

Of course, *eventually* you will stop doctoring the
logs and someone will KNOW that a change has been
made -- yet they won;t know *where* it crept in
since you have dutifully "fixed" all log entries
after the modified entry that you originally made!

I exposed a vulnerability in a "key making" (think
door locks) system whereby the user/vendor could
"detect" that something MAY have happened that
was unobserved... but, it didn't help them figure
out *if* anything had happened or, more importantly,
*what* had happened!

(moral of story:  you need to actively play both
roles in these scenarios -- developer and antagonist)

> For a voting machine, the checksum and log line, and
> file information could
> be visible to the voter, every time they hit a key. 
> They could write down
> the pertinent info at the start and end of their
> voting session for their
> own reference.  Voting judges could go to a machine
> at any time and press a
> few screen changes, or some recorded no-op keys, and
> keep the log
> information for themselvers. All vote files would be
> published immediately
> on the WWW wen the doors close.  The algorithm to
> calc the checksum, and to
> interpert the keypresses (tally up the votes) would
> likewise be published.
> Just no names. Anyone could then inspect the log
> files, see where their vote
> is logged, and follow through the tally to see that
> their vote really was
> counted.  The problem is with, if someone knows you
> voted on machine A at
> 12:25, they could figure out how you voted (and fire
> you for being a
> center-winged coward, or pay you for a vote well
> planned). -- perhaps don't
> log the time, just log judges tracking entries when
> doors open and close.
> No key on the voting device could function without a
> log entry.
> 
> joe
> 
> 
> 
> 
> _______________________________________________
> Tucson Free Unix Group - tfug at tfug.org
> Subscription Options:
> http://www.tfug.org/mailman/listinfo/tfug_tfug.org
> 



       
____________________________________________________________________________________
Take the Internet to Go: Yahoo!Go puts the Internet in your pocket: mail, news, photos & more. 
http://mobile.yahoo.com/go?refer=1GNXIC




More information about the tfug mailing list