Spotnet methode: User key, Signature en uiteindelijke ID

Pagina: 1
Acties:

  • Reddol
  • Registratie: September 2008
  • Laatst online: 13-10 21:17
Hoop dat dit topic hier thuishoort, vond het lastig te bepalen.

Ik heb een tool gemaakt in PHP op spots toe te kunnen voegen op Spotnet.
De basiswerking hiervan is:
  • Haal spotdata op van gebruiker (formulier), inclusief NZB bestand
  • Verifieer spotdata
  • Encrypt en verzend NZB naar usenet servers
  • Haal XML en headerdata op van Spotnet sign-servers
  • Verzin een usenet message-id (Weet iemand of dit nog via bepaalde regels moet?)
  • Creëer een private RSA key voor de gebruiker (of haal deze op uit de database)
  • Sign de message-id
  • We hebben nu de X-User-Key: Modulo en Exponent (Dit is de public key)
  • We hebben nu ook de X-User-Key, dit is de base64 encoded RSA Hash
  • Hier wordt een mooi pakketje van gemaakt en verzonden naar het Usenet
Dit systeem werkt prima als ik de spot open in Spotnet zelf, het enige probleem is dat de gebuikers geen User ID hebben. Als je dus over de naam zweeft staat er: Onbekend
Dit is een lastig probleem, omdat veel spotters hiermee zichzelf identificeren.

Een ander probleem ligt in SpotLite en SpotGrit, beide programma's weigeren de spot te openen.
SpotGrit geeft de interessante melding:
code:
1
Deze spot heeft geen geldige ID en zal verwijderd worden


Spotlite geeft de melding:
code:
1
Spot bevat ongeldige informatie :-(


Bij beiden programma's kan ik nergens een log vinden, en heb dus geen idee waar het fout gaat.
Ik hoop dat jullie mij hiermee zouden kunnen helpen. Als ik iets vergeten ben: vraag maar raak.

Halve probleem opgelost
Voor ontwikkelaars die tegen hetzelfde aanlopen:
Als in SpotNet de ID niet getoond wordt is de private user key niet goed aangemaakt.
Deze user key moet met een grootte van 384 bits aangemaakt worden. (ik had 370, dit werkte niet!)

Dit lost ook direct problemen met SpotGrit en SpotLite op!

Dus nu de vraag: Hoe zetten we dit om naar het nieuwe HashCash systeem? Zie berichten hieronder.

[ Voor 10% gewijzigd door Reddol op 29-09-2011 23:10 ]

Als je het niet kan, laat het dan!


Verwijderd

Hoe krijg ik het voor elkaar, posten in de verkeerde thread :F

On-topic: Kan het zijn dat het tweede probleem komt door het eerste? Dan lijkt me dat gebruikers die willen posten via planet een account moeten hebben, waaraan een RSA key hangt.

[ Voor 127% gewijzigd door Verwijderd op 28-09-2011 19:21 ]


  • thisegzz
  • Registratie: Juni 2007
  • Laatst online: 05-10 20:35

thisegzz

(-(-_(-_-)_-)-)

Kan je eens de titel van een spot geven die via jouw systeem is geplaatst? Dan kan ik even kijken.

  • Reddol
  • Registratie: September 2008
  • Laatst online: 13-10 21:17
Jazeker:
Zing Maar Mee Karaoke DVD Deel 7 (gepost om: 28-09-2011 19:13)
Headerinfo etc etc: *warezlink*

En anders:
[Andr] Pinball Ride 1.0.1
Headerinfo etc etc: *warezlink*

[ Voor 69% gewijzigd door NMe op 11-10-2011 13:25 ]

Als je het niet kan, laat het dan!


  • thisegzz
  • Registratie: Juni 2007
  • Laatst online: 05-10 20:35

thisegzz

(-(-_(-_-)_-)-)

Het lijkt me dat het in deze 2 headers zit, maar daar was je natuurlijk zelf ook al achter.
code:
1
2
X-User-Key:
X-User-Signature:


Heb je al geprobeerd om al die codes van een andere spotter over te nemen? Werkt het dan wel?

  • Reddol
  • Registratie: September 2008
  • Laatst online: 13-10 21:17
Haha, het zit inderdaad in die headers.
Code van iemand anders overnemen zal misschien wel werken, maar daar heb ik niets aan. Want dan krijgen we namelijk dezelfde ID's voor verschillende mensen.

Als je het niet kan, laat het dan!


  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 15-07 15:35

leuk_he

1. Controleer de kabel!

spotweb is opensource (of geeft die geen melding), dan kun je vinden wat het probleem is.

Overigens is het wellicht handig terughoudend te zijn je tool te releasen. Spammers hebben hier veel aan. de antispam tooling in spot* is not niet erg uitontwikkeld.

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • thisegzz
  • Registratie: Juni 2007
  • Laatst online: 05-10 20:35

thisegzz

(-(-_(-_-)_-)-)

Zover ik weet kun je met Spotweb niet spotten, dus daar heb je weinig aan.

  • Reddol
  • Registratie: September 2008
  • Laatst online: 13-10 21:17
Zoals thisegzz aangeeft kan je in spotweb niet spotten, wel posts toevoegen, maar dat is een net wat ander systeem.

Terughoudend had ik zeker moeten zijn, niet goed over nagedacht.
Maar aan de andere kant: dit had ook in Spotnet kunnen gebeuren. (Ook al praat dat het niet goed).

Als je het niet kan, laat het dan!


Verwijderd

thisegzz schreef op woensdag 28 september 2011 @ 19:47:
Zover ik weet kun je met Spotweb niet spotten, dus daar heb je weinig aan.
De code zit er grotendeels al in, dus daar heb je zeker wel wat aan

  • thisegzz
  • Registratie: Juni 2007
  • Laatst online: 05-10 20:35

thisegzz

(-(-_(-_-)_-)-)

Reddol schreef op woensdag 28 september 2011 @ 19:21:
Jazeker:
Zing Maar Mee Karaoke DVD Deel 7 (gepost om: 28-09-2011 19:13)
Headerinfo etc etc: *warezlink*
Ik krijg 'm net binnen in Spotnet, mét ID!

[ Voor 18% gewijzigd door NMe op 11-10-2011 13:25 ]


  • Reddol
  • Registratie: September 2008
  • Laatst online: 13-10 21:17
Ja, die heb ikzelf in spotnet geplaatst.
Omdat de andere er helemaal niet geplaatst werd. Op deze manier kan ik de 2 header bestanden vergelijken en kijken waar het mis gaat.

Als je het niet kan, laat het dan!


  • Kard
  • Registratie: Maart 2011
  • Laatst online: 19:52
Toen ik de Spotnet en Spotweb topics zat door te bladeren kwam ik deze berichten van Drazix tegen:
Even een korte dev-update, sinds versie 1.7:

- Worden de User-Signatures berekend over de Message-ID's ipv Subject+From
(Dus beiden mogelijkheden berenen, klopt er 1 van de 2, is de signature geldig)
- Is elke Message-ID tegelijkertijd ook een 16-bits Hashcash
(Hoeft voorlopig nog niet gecontroleerd te worden)
- Zijn er spots met KeyID 7 die zonder sign server/signature geplaatst worden
(Hebben alleen een hashcash+user signature)
- Zijn er moderator berichten met KeyID 2 die wel met signature geplaats worden
(Handtekening controleren anders kan iedereen spots verwijderen)
Er zijn al honderden self-signed spots (KeyID 7). Maar deze worden nu alleen geplaatst als de sign-server niet bereikbaar is, omdat oude spotnet-clients deze spots niet tonen. Daarom zijn ze nog vrij zeldzaam in het wild ;) Zodra iedereen is overgestapt op de 1.7.x reeks, zal de signserver definitief offline gaan, en zullen er alleen nog maar self-signed spots binnenkomen.
Message-IDs waren eerst gewoon willekeurig, maar hieruit maak ik op dat het tegenwoordig hashcashes zijn. Zo te zien heeft Spotweb hier ook al code voor geschreven. Een mogelijke verklaring voor je tweede probleem is dus dat SpotGrit en SpotLite alleen maar de nieuwe stijl IDs accepteren en niet backwards compatible zijn met pre-1.7 spots.

Over het eerste probleem: voor zover ik weet zijn de user IDs aftreksels van de public key. Het ligt dus voor de hand om daar te zoeken, maar verder zou ik het ook niet weten.

Trouwens, is het niet zo dat de berichten van de onbedoelde spamaanval (die toch via dit systeem gespot zijn?) wél een user ID hadden en in SpotGrit geopend konden worden?

Nog een suggestie: je zou ook de huidige "server signature" methode helemaal kunnen laten zitten en proberen het nieuwe self-sign + hashcash systeem waar Drazix het in het tweede bericht over heeft te implementeren; misschien werkt dit beter en dan is er tevens geen afhankelijkheid meer van een signserver. Ik weet echter niet of alternatieve clients hier al goed mee om kunnen gaan.

Als het inderdaad nodig/wenselijk is om hashcashes als MessageID te gebruiken, heb ik alvast een tip: laat indien mogelijk de browsers van de gebruikers zelf (bijv. via AJAX) de SHA1's berekenen, want tienduizenden hashberekeningen per spot lijkt me redelijk slopend voor een webserver die toch al veel load te verduren heeft :P

  • Reddol
  • Registratie: September 2008
  • Laatst online: 13-10 21:17
Hmm,
Een ander systeem gebruiken :\ Dan komt de vraag bij direct op: Hoe wordt de <Id>***</Id> dan berekend in de XML? Of wordt deze weggelaten... Ik kan op het moment nergens een spot vinden die zo wordt ondertekend.

Het is inderdaad wel handig om over te stappen op het nieuwe systeem, maar dat is natuurlijk een klote werk. Ik weet daar zeer weinig vanaf... Maarja, over een tijdje moet het toch :p

Als ik de browsers de SHA1's ga laten berekenen dan is de kans dat het fout gaat wat groter dan serverside, maar er is over na te denken... Gaat het van: schakel dan over naar server-side.
(Er zijn nog altijd mensen met te oude browsers / uitgeschakelde JS)

Maar bedankt voor je info ;)

Als je het niet kan, laat het dan!


  • Kard
  • Registratie: Maart 2011
  • Laatst online: 19:52
Reddol schreef op donderdag 29 september 2011 @ 12:28:
Ik kan op het moment nergens een spot vinden die zo wordt ondertekend.
In het tweede bericht dat ik van Drazix citeerde zei hij dat momenteel het nieuwe signsysteem alleen toegepast wordt indien de signserver niet bereikbaar is. Als je graag een specimen wilt hebben werkt het wellicht om de signserver tijdelijk te blokkeren in je hosts file en vervolgens een spot te plaatsen met Spotnet?

  • Reddol
  • Registratie: September 2008
  • Laatst online: 13-10 21:17
Jep, had ik ook al in gedachten! Ga ik doen ;)
En ik laat jullie nog wel weten hoe en wat!

Heb er één gepost. Allemaal leuk en aardig, en het werkt. Maar er onstaan bij mij een aantal vragen:

code:
1
SpottertX (30n-p6nPrxMuEeZfuPsL0E-sebwqjv3Xz9cDwu7gqYSsDac9td1V2hcBYi1nPaI1XT@37a15c00c04.213298231.10.1317298651.1.NL.ev6lXJbDo1gNmfmfS9Ew4z8CaXvxVwwP90sfhWQEKG0TslsU2Fr2uuIJUEXnVXJ-s)


Dat is de header, die heb ik even uit elkaar getrokken en kwam op deze informatie:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SpottertX - De naam van de spotter
30n-p6nPrxMuEeZfuPsL0E-sebwqjv3Xz9cDwu7gqYSsDac9td1V2hcBYi1nPaI1XT - De X-User-Key Modulo van de spotter, encrypted: + wordt -p, / wordt -s
@ - Scheidingsteken
3 - Category (1 = beeld, 2 = geluid, 3 = spellen, 4 = applicaties)
7 - Het Key ID, dit zal 7 blijven (hashcash methode)
a15 - Subcat (staat voor Android)
c00 - Subcat (staat voor Actie)
c04 - Subcat (staat voor Simulatie)
. - Scheidingsteken
213298231 - Grootte van de NZB (in bytes)
. - Scheidingsteken
10 - Geen idee, maar in elke spot is dit 10
. - Scheidingsteken
1317298651 - Timestamp (sinds epoch)
. - Scheidingsteken
1 - Geen idee, soms is dit weggelaten...
. - Scheidingsteken
NL - Landcode, toeval? (Vroegere Tiny? was altijd 3 chars)
. - Scheidingsteken
ev6lXJbDo1gNmfmfS9Ew4z8CaXvxVwwP90sfhWQEKG0TslsU2Fr2uuIJUEXnVXJ-s - Header signature, hoe dit wordt geverifieerd is nog niet duidelijk.


Nou, de meeste dingen zijn duidelijk, behalve de laatste paar segmenten.
Iemand die hier meer van weet?

[ Voor 92% gewijzigd door NMe op 11-10-2011 13:26 ]

Als je het niet kan, laat het dan!


Acties:
  • 0 Henk 'm!

  • Kard
  • Registratie: Maart 2011
  • Laatst online: 19:52
Als wat er staat op deze wiki klopt maken de eerste drie waarden die onduidelijk zijn (10, 1 en NL) niet veel uit.

Over de signature op het einde: ik heb het nog niet bevestigd, maar ik vermoed dat deze berekend wordt met de key van de user en over de volgende data (in het geval van deze spot):
code:
1
[Andr] Brothers In Arms 2 Global Front HD37a15c00c04.213298231.10.1317298651.1.NLSpottertX

Dus de titel van de spot, gevolgd door de categorie tot en met de landcode, gevolgd door de naam van de spotter.

Update: zonet bevestigd, dit is inderdaad de data die gesigned wordt.

[ Voor 5% gewijzigd door Kard op 02-10-2011 09:25 ]


Acties:
  • 0 Henk 'm!

  • Reddol
  • Registratie: September 2008
  • Laatst online: 13-10 21:17
Hmm, over die data die gesigned wordt, toppie man!
Dan moet ik vanaf mijn kant wel in staat zijn om het nieuwe systeem in te bouwen denk ik!
Bedankt.

Als je het niet kan, laat het dan!


Acties:
  • 0 Henk 'm!

  • thisegzz
  • Registratie: Juni 2007
  • Laatst online: 05-10 20:35

thisegzz

(-(-_(-_-)_-)-)

Ik las op je site dat het gelukt is met de IDs. Goed werk! ;)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ik heb eens wat links weggehaald. Praten over het ontwikkelen van software waarmee je illegale of grijze dingen kan doen is tot daaraan toe, maar we trekken een lijn wanneer er gelinkt wordt naar de betreffende binaries.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1