gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS Misc > idea for "trusted" homebrew demos

#57100 - funkaster - Thu Oct 13, 2005 7:40 pm

I dont' know if this is already being made or done, but here's an idea:
create a site (maybe add it to ndshb.com) where every homebrew developer that want to post his/her demo, would send it to a known, trusted person (ideally, the binary and source), so the could sign the binary and then post it to the website. Everyone that wants to test the demo, could get the public key from the website to check the integrity of the file. Maybe we could create some kind of CA for demos :-P
anyway... maybe we could just get along with md5 and hope that no one creates an evil binary with the same checksum :-P

#57110 - JaJa - Thu Oct 13, 2005 8:51 pm

Lynx already tests all the demos/homebrew on ndshb.com.

#57112 - funkaster - Thu Oct 13, 2005 9:05 pm

JaJa wrote:
Lynx already tests all the demos/homebrew on ndshb.com.

I guess he does. But the idea of signing the demo is to publish the files on other sites and still be confident that it's "clean".

#57113 - Mighty Max - Thu Oct 13, 2005 9:14 pm

If you already have to visit the side to get the signature, you can already dl it there, can't you?

And if you have the signature on the 3rd party page, you have the same situation you got now.
_________________
GBAMP Multiboot

#57122 - funkaster - Thu Oct 13, 2005 10:01 pm

Mighty Max wrote:
If you already have to visit the side to get the signature, you can already dl it there, can't you?

And if you have the signature on the 3rd party page, you have the same situation you got now.


I think you don't understand the idea of signing a file. Here's the concept:

I, untrusted developer, want people to test my code without the fear that it might contain "evil" code. So I send it to a trusted person to publish it in his websitve.
The trusted person has a key pair: the private key, which lives in his own, personal computer, and the public, which is available for download in the website. He signs each demo with his private key, and people can check that the demo has the "homebrew seal of quality" with the public key. The signature (unique for each file) can be downloaded from the same place.
Someone else, maybe a regular guy that wants to test homebrew code, finds a place with a demo, downloads it, but to be sure it's clean, he checks the signature of the file with his copy of the public key from the trusted person.
No one can create a valid signature that can be checked with the public key, except the one that owns the private key... You got it now?
This will allow me (untrusted developer) to send the demo to the trusted person, let him play the role of a CA for homebrew code and then returns/publish the demo and the signature, so I can put those in my homepage and let people download and be sure that the code is good.

#57135 - Mighty Max - Thu Oct 13, 2005 10:46 pm

Do you have to get the key from the trusted source?
Yes? So grab the file that is stored there too.
The server is slow? Need a mirror? The MD5 checksum will show if you got the right one.

Beside that, how can the trusted source can be sure it can trust you? There are a lot of means to hide dangerous code while testing it. To send the source can be ... impossible due to licenzes.

Who decides which one is the trusted source? The developers or the users as the user am i forced to trust that source? or can i decide whom to trust?

How can i be sure that trusted public key is the right one and not contamined by a mitm attack?

How would a trusted source manage to sign the dozens of versions of homebrew every day (inclusive testing) without getting paid? Which homebrew developer actual needs that security?
_________________
GBAMP Multiboot

#57136 - tepples - Thu Oct 13, 2005 10:48 pm

Mighty Max wrote:
If you already have to visit the side to get the signature, you can already dl it there, can't you?

Advantages of having the program and its signature on separate sites:
  • The site offering signatures doesn't need to have as much bandwidth to the public Internet.
  • A cracker needs to compromise more sites in order to cause damage.

_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#57141 - funkaster - Thu Oct 13, 2005 11:09 pm

Mighty Max wrote:
Do you have to get the key from the trusted source?
Yes? So grab the file that is stored there too.
The server is slow? Need a mirror? The MD5 checksum will show if you got the right one.

MD5 is a good alternative... although not really secure...

Mighty Max wrote:

Beside that, how can the trusted source can be sure it can trust you? There are a lot of means to hide dangerous code while testing it. To send the source can be ... impossible due to licenzes.

What kind of licences are you talking about? we're all amateur here... The only kind of license I can think of is selfish: to keep the code only for yourself because that way you would be the only cool guy that can build that kind of code... BS!...
The only reason I think it's worth keeping the code is if you plan to make it a commercial game, but then, you won't be publishing you demo on a homebrew site.

Mighty Max wrote:

How can i be sure that trusted public key is the right one and not contamined by a mitm attack?

You mean to get a false public key?... then the binary won't pass the check. You could get a false public key and a binary signed with a false private key, but that's easy to detect.

Mighty Max wrote:

How would a trusted source manage to sign the dozens of versions of homebrew every day (inclusive testing) without getting paid?

mmm... do homebrew developers produce dozens of versions of apps every day?... don't think so.
You already said the testing is already being made, so signing the code is just 1 sec. more of your time.

Mighty Max wrote:

Which homebrew developer actual needs that security?

I guess some people here would love to see something like that... not me, I'm really not that paranoid, probably because I don't live in the U.S :-P

#57145 - JaJa - Thu Oct 13, 2005 11:21 pm

funkaster wrote:
Mighty Max wrote:
If you already have to visit the side to get the signature, you can already dl it there, can't you?

And if you have the signature on the 3rd party page, you have the same situation you got now.


I think you don't understand the idea of signing a file. Here's the concept:

I, untrusted developer, want people to test my code without the fear that it might contain "evil" code. So I send it to a trusted person to publish it in his websitve.
The trusted person has a key pair: the private key, which lives in his own, personal computer, and the public, which is available for download in the website. He signs each demo with his private key, and people can check that the demo has the "homebrew seal of quality" with the public key. The signature (unique for each file) can be downloaded from the same place.
Someone else, maybe a regular guy that wants to test homebrew code, finds a place with a demo, downloads it, but to be sure it's clean, he checks the signature of the file with his copy of the public key from the trusted person.
No one can create a valid signature that can be checked with the public key, except the one that owns the private key... You got it now?
This will allow me (untrusted developer) to send the demo to the trusted person, let him play the role of a CA for homebrew code and then returns/publish the demo and the signature, so I can put those in my homepage and let people download and be sure that the code is good.


So you mean PGP?

#57162 - DsPet - Fri Oct 14, 2005 12:50 am

Much simpler alternative (protecting NDS firmware, not the firmware on 3rd party Flash cards)

USE FLASHME !!
All serious (or paranoid?-) homebrew users should use FlashMe
Tell people to get FlashMe from the official website !
The NDS bricker can't (permanently) harm a FlashMe enabled device.

The FUD of the NDS Bricker should convince everyone to upgrade to FlashMe. PassMe and WiFiMe should only be used as a means of getting FlashMe on their devices.

#57193 - Mighty Max - Fri Oct 14, 2005 6:43 am

funkaster wrote:

What kind of licences are you talking about? we're all amateur here... The only kind of license I can think of is selfish: to keep the code only for yourself because that way you would be the only cool guy that can build that kind of code... BS!...
The only reason I think it's worth keeping the code is if you plan to make it a commercial game, but then, you won't be publishing you demo on a homebrew site.


oO

1. I still can't provide the work of others for free without their agreement. No matter what reasons they got to deny it.
2. Not all ds devers are exclusively deving for DS. A licence/copyright is cross plattform.
3. "we're all amateur here" ... nope. We are all homebrewers, but it does not mean, that we don't have published commercial &| professional products for other platforms.

Thats nothing to do with beeing selfish, but protecting intelectual property.

Quote:
do homebrew developers produce dozens of versions of apps every day?

For sure. Just take into acount how many different person's are involved here. I'm updating average every 3 days. If you count more then 36 devers, you are up to a dozent versions a day ...
_________________
GBAMP Multiboot

#57254 - tepples - Fri Oct 14, 2005 4:32 pm

Mighty Max wrote:
Thats nothing to do with beeing selfish, but protecting intelectual property.

The use of the term "intellectual property" itself is said to reflect a selfish attitude. Richard Stallman has explained his criticisms of the phrase, and Wikipedia describes other critics' arguments. In fact, the letter of the copyright, patent, and trademark law in the United States doesn't contain the phrase "intellectual property" except in reference to the name of WIPO.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#57263 - Mighty Max - Fri Oct 14, 2005 5:42 pm

Thought we act international, i'm not bound to US laws. Yet there is a law i'm bound to in germany, that i can't distribute a work without the agreement of the creator.

Even if i'd just create a news with some lines of my own views on these lines, nobody can lagally copy these words, except he would strip my creative/individual work.

Also a copyright can't unlike in other countries be traded over here.

Let me quote and translate from the german law determinating what is protected:
Quote:
Werke im Sinne dieses Gesetzes sind nur pers?nliche geistige Sch?pfungen.

"Creations in spirit of this law are only individual intelectual creations."

And from the part exclusive for apps:

Quote:
Computerprogramme im Sinne dieses Gesetzes sind Programme in jeder Gestalt, einschlie?lich des Entwurfsmaterials.

"Computerprograms in the spirit of this law are programs in every shape, including draft material"



So yes, there is a "intelectual property" no matter if i like or dislike it, i have to follow the rules.

And if i'm selfish for following the laws of my country, be it!
_________________
GBAMP Multiboot

#57289 - Lynx - Fri Oct 14, 2005 8:51 pm

funkaster wrote:
Mighty Max wrote:
How would a trusted source manage to sign the dozens of versions of homebrew every day (inclusive testing) without getting paid?

mmm... do homebrew developers produce dozens of versions of apps every day?... don't think so.
You already said the testing is already being made, so signing the code is just 1 sec. more of your time.

Well, some do! And I for one will NOT discourage such! And I'm sure signing the code would take more then 1 sec.. as each update would require TESTING proir to signing.. It's easy to say you want this, or that.. if your not the one doing it..

I'd shut ndshb.com down before I make it any harder to maintain. It's hard enough to try to keep up now! And developers don't submit anything to me (for the most part, I've had a few), I hunt it down, test it, play with it, and then add it to the site..

Bottom line, if you don't trust the source.. don't run the code. That's easy enough for EVERYONE!

#57317 - funkaster - Fri Oct 14, 2005 10:28 pm

Mighty Max wrote:

2. Not all ds devers are exclusively deving for DS. A licence/copyright is cross plattform.
3. "we're all amateur here" ... nope. We are all homebrewers, but it does not mean, that we don't have published commercial &| professional products for other platforms.

I'm saying that when we're here, creating demos/homebrew games, we're "amateurs"... I, personally, have serious business related to the game industry, but when I enter this site, and write some code, then want to publish it for other to see it, I consider myself amateur (even though I have formal studies in Computer Science and EE)...
Nevermind... I can see that you have other point of view, and mine is that if we want to have a bigger comunity, we should share our knowledge, that would make us bigger... and this is getting a big off topic...

#57330 - tepples - Fri Oct 14, 2005 11:23 pm

Mighty Max wrote:
Thought we act international, i'm not bound to US laws. Yet there is a law i'm bound to in germany, that i can't distribute a work without the agreement of the creator.

That's not what I said. There are copyright laws in the entire developed world, but they're not called "intellectual property" laws in the copyright statutes of the United States. The objection was to the use of the phrase "intellectual property" and the mindset that the phrase creates, not necessarily to the law.

Lynx wrote:
Bottom line, if you don't trust the source.. don't run the code. That's easy enough for EVERYONE!

This would purportedly give an additional way to trust the source.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.