Η συζήτηση είναι πραγματικά πολύ ενδιαφέρουσα και θα σας λύσει τυχόν απορίες σχετικά με αρκετούς από τους όρους που ακούτε το τελευταίο διάστημα (ECID, IBSS, IBEC κ.α):
4:13
Erica: Hi everyone. We're still getting set up and we'll start in just a few minutes.
4:16
Erica: And I think we're good to go.
4:17
Erica: I want to welcome everybody to our chat today. Today, we have the pleasure of talking with Jay Freeman. You might know him better as "saurik". He is the developer of Cydia and the godfather of the jailbreak world.
4:17
Jay Freeman (saurik): Hello!
4:17
Erica: We have several TUAWians who will be hopefully showing up to join in the chat as well. In addition to me, we should be seeing Mike Jones, Megan Lavey, and Josh Carr
4:18
Megan Lavey: I'm here! Good afternoon, Erica and Jay!
4:18
Michael Jones: Good afternoon everyone!
4:18
Erica: The big motivating factor for today's chat is Apple's new signing server. Jay, can you offer a brief overview of what it is, and what it means to iPhone users?
4:19
Have you jailbroken?
You bet! ( 82% )
Thinking about it... ( 4% )
Not yet ( 3% )
Haven't and don't plan to ( 8% )
Isn't that against the law? ( 1% )
4:19
Jay Freeman (saurik): Gladly. In order for things like jailbreaking to work (or any homebrew development in a hostile environment), bugs need to be found and exploited in the software that runs on the device.
4:20
Jay Freeman (saurik): Unfortunately, hackers tend to have the fundamental advantage in such wars: software is released, and it must "stand the test of time": users may choose to simply never update their devices, and wait for exploits to be uncovered.
4:21
Jay Freeman (saurik):
Apple's response to this problem has been to make their new devices, the 3G[S] and the craazy new iPod (the larger sizes of the third generation iPod Touch), verify that, when the device is "restored" (when it is erased and the software is put back onto it) that software is considered "secure".
4:22
Jay Freeman (saurik):
This happens by having iTunes contact the Apple firmware signature server, gs.apple.com, sending it information about the device in question and the software that you are trying to load. In fact, every single individual file being sent to the device goes through this process (although one request to Apple's server can ask for multiple signatures at once).
4:23
Jay Freeman (saurik): So, to answer the question that some people have been asking in the "comments" section of this chat: yes, in order to restore your new i-devices, you will need to have an internet connection at the time of the restoration.
4:24
Jay Freeman (saurik): The device then has algorithms in it to verify the validity of that signature.
4:25
Jay Freeman (saurik): However, the way Apple implemented this allows for something called a "replay attack": where you take a recording of Apple signing the software, and then "reply" that process to the device, which gets confused and accepts the signature. Nothing about the process includes, for example, the current time, which could be used to verify "is this an original, or a recording".
4:26
Erica: Apple has always been proprietary about controlling the iPhone family of devices. How does this new step compare to previous moves on Apple's part, and how does it affect people who want to downgrade or jailbreak? And, is there any legal or ethical questions about your replay attack approach?
4:28
Jay Freeman (saurik): This next step is right in line with that their previous work in this area, and is in essence the next logical step to protecting the device. This method should, were it implemented correctly, keep users from not only downgrading their device to older firmwares but also keep users from being able to maintain a device on an older version by simply never upgrading: if anything happens to the device and the software has to be reloaded, for any reason, the user will be forced to use currently "ok" versions of the firmware.
4:29
Jay Freeman (saurik): To answer the question about "legal or ethical questions" about the replay attack, I will first state that I am not a lawyer, but will say that I do not believe there to be any issues regarding this technique.
4:30
Erica: I understand that you have set up a server that mimics Apple's. Can you tell us more about this?
4:32
Jay Freeman (saurik):
There is a specific "protocol" (the description of the interactions and what is allowed to be said back/forth) used between iTunes and Apple's signature server to ask "is this file ok". This protocol is neither encrypted nor obfuscated in any manner: it is actually entirely transparent to people trying to understand it.
4:34
Jay Freeman (saurik):
(For any techno-geeks out there: Apple sends an XML "plist" formatted Property List to the server including base64 digests of hashes of parts of the file, as well as the chip/board identifiers that determine what kind of device it is, and finally the per-device ECID: the server then returns a plist of signatures.)
4:34
Erica: Can you tell us more about the ECID SHSH? What is the ECID and is Apple tracking their users here a little too closely for comfort?
4:36
Jay Freeman (saurik):
The ECID is also known as the "unique-chip-id", and all of these smarter i-devices include one. I am actually not certain of its entire purpose, but I currently do not know of any other usage of the identifier than this signature process on the 3G[S] and the craazy new iPod.
4:37
Jay Freeman (saurik):
The SHSH's that people speak of are the signature hashes returned by the server. There is one SHSH per ECID/file pair (and there are some 17 files that make up a build of Apple's firmwares).
4:37
Erica: Apparently there was a period of just a few hours when you started registering ECIDs for Cydia users, so they could perform indefinite restores to 3.0. How did this work, and why did things time out?
4:37
[Comment From Will]
Is there an easy way for users to retrieve their own ecid shsh for safe keeping
4:38
Michael Jones: Good question Will.
4:38
Jay Freeman (saurik): I had been working for a while on the details of how to get the ECID off the device from a normal program (such as Cydia): while not at all hard in the end, previously people had only been getting it by putting the device into recovery mode (where you are going to plug the device into iTunes to fix it) and using a USB viewer.
4:39
Jay Freeman (saurik): I finally managed to get the time required to get this into a build of Cydia days before the 3.1 version of the firmware came out.
4:40
Erica: So what you're storing isn't just the ECID but the ECID and the signature hash for those 7 or so files? Does knowing the ECID alone get you anything?
4:40
Jay Freeman (saurik): Unfortunately, when the 3.1 firmware came out (which fixed the bug used by purplera1n and redsn0w 0.

4:41
[Comment From James Tanner]
@will - TinyTSS includes a program called Umbrella which will get your 3.1 shsh file, and is you modify the hosts as per Sauriks link, you can also get your 3.0 shsh (assuming you made it in time) from Sauriks server (sorry, i dont want to push light away from Saurik etc but its worth noting)
4:42
Jay Freeman (saurik):
Correct: my server is storing, pretty much, ECID+ChipID+BoardID+"File" -> SHSH. I am nearing 3 million of these entries stored. I then use these records to reconstruct the response from Apple's signature server.
4:43
How long has your iPhone or iPod been jailbroken?
Since the beginning ( 53% )
After the really easy 1.1.3 j/b ( 8% )
When the 3G debuted ( 13% )
Within the last 6 months ( 14% )
Haven't j/b ( 12% )
4:43
Jay Freeman (saurik): Users who want to get this information from either my server or Apple's server need only make a standard Apple signature server request: if the firmware is "current" they can get it from Apple, and if not they will need to get it from me (if I have it stored, of course).
4:44
Erica: Do you have any tools right now for people to use on their non-jailbroken units? Through Ad-hoc or self-signing?
4:44
Jay Freeman (saurik): I will be offering a mechanism for users to do this more easily in the future, but for right now users who wish to do this can do so using the following Python program:
http://svn.saurik.co...nk/cysts/tss.py