found this on geohot's blog
On the iPhone
Apple has added a new layer of security to the iPhone 3GS. I mentioned it several posts earlier; it's the ECID field. When iTunes starts the restore process, they contact Apple servers to generate signatures just for your device. It's important you get these signatures for your phone before a new version of the software comes out. I had previously suggested doing this by dumping usb while the iPhone restores. But this is complicated.
Fortunately, the good folks at purplera1n are here for you, the end user who wants a jailbreak. Follow these instructions to generate a unique certificate for your phones iBSS. And don't delay, Apple may change their minds. To clarify, this is instead of a usb dump. Do this, and you are good!
Step 1. put phone in recovery mode.
turn phone off, hold down home button while pluging your phone into computer. iTunes will come up and say it needs to be restored before it can be used. just click ok. The screen on your phone should look like this
Step 2. Using usbview on Windows(enable Config Descriptors), System Profiler on Mac, or lsusb on Linux, read your phones ECID. It's the 16 digit hex number after "ECID:"
Step 3. Go to purplera1n, type in the ECID in the box and hit enter
Step 4. Save the generated file for a purplera1nyday...
Step 5. after your done press power till phone reboots.
usbview for windows
http://www.ftdichip.com/Resources/Utilities/usbview.zip
on mac use system Profiler. it might not show up in system profiler until you click (ok) in iTunes after you put phone in recovery mode.