MD5 in conjunction with file size is used to determine if non-executable files 
have been corrupted during download.

At project creation time, projects generate two 1024-bit public/private keys.  
One used for code-signing the other used for generating keys used during file 
upload.  The code-signing private key is supposed to be moved to a machine that 
is supposed to be off-line except when used to code-sign new binaries.

See:
http://boinc.berkeley.edu/trac/wiki/CodeSigning#

You can view the various project's public code-signing keys in the 
client_state.xml file.

----- Rom

An example from a sched_reply_* file from Collatz:

Executable file:
<file_info>
    <name>collatz_2.09_windows_x86_64__ati13ati.exe</name>
    
<url>http://boinc.thesonntags.com/collatz/download/collatz_2.09_windows_x86_64__ati13ati.exe</url>
    <executable/>
    <file_signature>
91c7288ce2345ce2ccfc57755419284241122d0e9f72e5a7d640d362adeb8380
84d2f4d46b9e03bc73f938eb9bf2bb1d40ac6af942f3404a9f7c53b5983a9c33
f17badfb97dc2a924baf006a7cc33e599d37edac6e60d3349b80fed1cfa1e179
2a0f52df616738f6bf33a3d7bea7c304b9a7ce17e8ae7b961f925a87209a273e
.
    </file_signature>
    <nbytes>457728.000000</nbytes>
</file_info>

Non-executable file:
<file_info>
    <name>collatz_2378299824479914404200_103079215104</name>
    
<url>http://boinc.thesonntags.com/collatz/download/182/collatz_2378299824479914404200_103079215104</url>
    <md5_cksum>f67a151e07e5eac9e5b98fc9f9e3e0aa</md5_cksum>
    <nbytes>46</nbytes>
</file_info>



-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Jeffrey Walton
Sent: Sunday, January 27, 2013 6:51 PM
To: Nicolás Alvarez
Cc: Boinc_Dev@Ssl. Berkeley. Edu
Subject: Re: [boinc_dev] Disable use of MD5?

On Sun, Jan 27, 2013 at 6:34 PM, Nicolás Alvarez <[email protected]> 
wrote:
> 2013/1/27, Jeffrey Walton <[email protected]>:
>> Hi All,
>>
>> Is it possible to disable use of MD5? (I checked configure, and there 
>> does not appear to be a switch).
>>
>> MD5 is completely broken, and has no cryptographic value. Yet it 
>> appears to be used in cryptographic routines.
>
> That can't possibly be done.
Ouch!

> The client sends MD5 password hashes to the server, for example.
OK, so I'm clear. What precisely is sent?

I'm interested in knowing because this presents significant risk to an 
organization hosting a Boinc server.

> If you disable MD5 when compiling the client, what do you expect it to 
> do?
Use something else, such as SHA or Whirlpool (hashes); or use Secure Remote 
Password (SRP).

Thomas Wu's SRP is the cat's meow. Its a PAKE, or Password Authenticated Key 
Exchange. With lot's of hand waiving, its Diffie-Hellman using the password, 
verifier, and random per-session variables. Put another way, it is:

    g^(password + verifier + random)

rather than:

    g^ab

It's also non-anonymous since both parties either know (1) the password; or (2) 
the verifier. And it does not confer trust, like PKI{X}, which is a very good 
thing.

> Send passwords in plaintext?
Well, you kind of are if you are using MD5. Unsalted MD5 FTW?

> "attach to project" feature? Use a different hash algorithm, which no 
> BOINC server would accept?
Oh my. So there is no fallback?

Getting SRP into Boinc should be a priority at this point.

Jeff
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to