Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 70 reacties

Ontwerper Matthew Plummer-Fernandez heeft een encryptiesysteem ontworpen voor 3d-bestanden. Via zijn zogenaamde Disarming Corruptor-tool kunnen stl-bestanden onherkenbaar 'verminkt' worden. Alleen met de juiste presetwaarden is het oorspronkelijke ontwerp weer te herstellen.

Plummer-Fernandez, werkzaam bij de Interaction Research Studio van Goldsmith College, gebruikt in zijn tool maximaal zeven parameters waarmee een 3d-object in een stl-bestand onherkenbaar gewijzigd kan worden. Een persoon die de presetwaarden weet, kan het oorspronkelijke object herstellen. Als er verkeerde waardes worden gebruikt, zal het 3d-object verder corrupt raken.

De tool gebruikt een algoritme dat de zogeheten vertexposities in een stl-bestand wijzigt. Daarnaast kan de 'corrupt-functie' meerdere malen toegepast worden op een object om het kraken ervan te bemoeilijken, zo laat de designer weten aan Wired. De software is momenteel als opensource beschikbaar voor OS X, maar er moeten ook versies voor Windows en Linux uitkomen.

De designer zou geïnspireerd zijn geraakt voor de bouw van de Disarming Corruptor-tool door de controverse die ontstond bij de publicatie van een 3d-ontwerp voor een wapen. De cad-bestanden werd door een activist online geplaatst, maar kort daarop probeerde het Amerikaanse ministerie van Buitenlandse Zaken deze offline te halen. Ook het NSA-afluisterschandaal en de weigering van sommige bedrijven om 3d-ontwerpen te accepteren die mogelijk auteursrechten schenden, zouden invloed hebben gehad op de ontwikkeling van de tool door Plummer-Fernandez. Door een ontwerp via Disarming Corruptor onherkenbaar te maken, zou censuur moeilijker moeten worden.

Moderatie-faq Wijzig weergave

Reacties (70)

Hoe is dit anders dan een bestand op de gewone manier te versleutelen, vraag ik me af? Wat is het nut van een speciale vorm van versleuteling voor een bepaald type bestand?
Volgens deze versleutelingmethode is het wel nog mogelijk 'een' 3d bestand te openen. Het zal er enkel volledig anders uit komen te zien bij het gebruik van andere presetwaarden.
Elke presetwaarde zal dus aanvaard worden bij het ontsleutelen van de file, maar slechts 1 (combinatie van) presetwaardes zal terug exact het origineel 3d-object terug vormen.

[Reactie gewijzigd door aproxx op 5 november 2013 19:00]

Okee, maar wat is daar het voordeel dan van? Ik neem aan dat iemand die het opent wel kan zien dat ermee geknoeid is als een aantal waarden op vreemde wijze veranderd zijn? Dus dan zal hij nog steeds proberen de versleuteling te achterhalen? En dan zou ik vermoeden dat dit gemakkelijker is dan met een normale manier van versleuteling?

[Reactie gewijzigd door Cerberus_tm op 5 november 2013 19:16]

Klopt. Maar dit heeft onder andere als voordeel dat het veel moeilijker wordt om de preset values te achterhalen op een geautomatiseerde manier. Een brute force attack bijvoorbeeld heeft geen enkele zin. Want het is voor de brute force tool niet mogelijk om zelf te bestempelen wat het originele 3d-object juist is.
Alle mogelijk preset values zullen aanvaard worden, wat resulteert in evenveel verschillende 3d-objecten als er preset values mogelijk zijn. En dat zijn er ongetwijfeld veel. ;)
En dat zijn er ongetwijfeld veel. ;)
7 parameters die elk van 1 tot 100 gevarieerd kunnen worden = 100.000.000.000.000 combinaties. Dat is grofweg 247 ofwel 47 bits encryptie; in encryptieland een lachertje. Met wat heuristics op zo'n object lijkt 't me zelfs niet heel erg ondoenlijk om te bepalen wat de meest "logische" vorm van 't object is (zo zullen segmenten elkaar bijv. niet snel kruisen etc.) en op basis daarvan op z'n minst een goede "schatting" te geven van mogelijke "kandidaat keys".
Ik had het zelfde idee; easy dat kan ik wel kraken. Maar bedacht me dit is versie 1, volgende zal vast onderdelen bevatten als object verbergen in ander object, en daarna iets als key 1 geeft ook een goed masr andder object en key 2 het juiste, dan een versie waarbij aan het juiste een ander object wordt toegevoegd dat in de preset niet past en in de verkeerde preset een mooi gladde natuurlijke vorm heeft.

Maar goed, allemaal varianten op bestaande thema's, controle op vector precisie bij niet gescande objecten verraad al snel een algoritme. Wat slim zou zijn is als het object standaard fragiel is, maar met juiste setting een werkend product geeft.
Maar ook dat is heel simpel te fixen met middelbareschool natuurkunde.

Dus er komt vast een cracking tool.
En daarvan afgeleid een commercieel product dat zwaktes van 3D modellen verbeterd en voorstellen doet voor lichtere ( minder materiaal) maar betere constructies.

En versie twee van die commerciŽle tool kan ook flexibele verbindingen aan. En dat product blijkt door de logica nieuwe nog nooit eerder gebruikte flexibele verbindingen te ontwerpen, die snel hun weg vinden naar alledaagse producten.

Ik kan er een meter naast zitten, maar zo zal het ongeveer lopen
In het originele artikel van Wired staat dat je de tool meerdere keren achter elkaar kan gebruiken waardoor het lastiger wordt. Dan zijn er dus 247 mogelijkheden en daarna ook weer 247 mogelijkheden dat zijn er al heel wat meer.

Dus als je het een paar keer de tool gebruikt is het al heel wat robuuster. En nu is de vraag natuurlijk of als je het meerdere keren gebruikt of het dan een "logischer" plaatje word of eerst minder logisch en daarna logisch.
Nou nee. De versleuteling is robuuster met meerdere rondes
als het algoritme onkraakbaar is. Omdat de 'versleuteling' (waarschijnlijk shuffle+ruisintroductie) ook een object is (met geldige knopen) lijkt me de transformatie op basis van 7 parameters niet heel veilig.
De melding dat bij een verkeerde invoer van parameters het object verder corrumpeert geeft weinig vertrouwen. Onherstelbare corruptie zou betekenen dat het algoritme incorrect is (niet inverteerbaar); herstelbare corruptie doet de hele stelling teniet.
Maar goed, eerst code zien
Maar waarom is deze methode eigenlijk ontworpen. Is het om onkraakbaar te zijn.
Of is het om opensource bestanden vrij te delen en censuur moeilijker te maken.
Een 47 bits encryptie is niet veilig, maar als alles wat je indext nakijkt op x aantal mogelijke encrypties, dan gaan al je servertjes wat meer verbruiken.
2x encrypten levert je 248 mogelijkheden op. Dat is weliswaar meer, maar nog steeds geen zware encrytie. Ook moet ik nog maar zien alsof die dubbele encryptie echt nieuwe opties opleveren of simpelweg tot dezelfde resultaten leidt als wanneer je 1 keer een andere set parameters had gebruikt. Tot slot lijkt het gebruik van parameters aan te geven dat er logische bewerkingen op de file worden toegepast. In dat geval is het waarschijnlijk goed mogelijk om de transformaties te herkennen en zonder brute force algoritmes de file te reconstrueren.

Ik zou dan ook niet op dit algoritme vertrouwen voor belangrijke zaken. Gewoon een standaard encryptieprotocol gebruiken lijkt mij vele malen veiliger.
Inderdaad! Ik ben erg benieuwd hoe bijvoorbeeld een relax tool hierop zal werken. (Google eens op relax modifier in 3ds max ) Deze haalt simpel weg spanningen uit de polygonen waardoor je meer evenredige polygonen overhoudt (een kenmerk van een goed 3d model! ). Dan kom je zeker een stapje dichter bij het origineel! Ik ga het binnenkort eens proberen.
Hoe gaat een computer "raden" wat de juiste vorm is? Klinkt als onzin. De enige die kan bepalen of de uitkomst de juiste vorm heeft is een mens in dit geval.
De uiteindelijke vorm moet misschien even door een mens geverifieerd worden, maar een computer kan met redelijke zekerheid best bepalen of een vorm waarschijnlijk(er) is dan een andere permutatie ervan en zo dus prima de meest aannemelijke vorm (of top 5 van waarschijnlijkste vormen ofzo...) ervan destilleren.

Computers doen wel ingewikkelder dingen dan dat hoor ;) (Weersvoorspellingen, handschrift-, stem-, gezichtsherkenning en ga zo maar door; en dan heb ik 't alleen nog maar over "alledaagse" voorbeelden en geen "NASA projecten").

[Reactie gewijzigd door RobIII op 6 november 2013 10:54]

Maar zelfs een mens kan niet altijd zien wat het juiste object is. Als het een complex apparaat is en er zijn een aantal punten verkeerd, kan het hele ding onbruikbaar zijn.
Je vergeet alleen dat het proberen van een combinatie (waarvan er 100 biljoen zijn) niet alleen het ongedaan maken van de versleuteling inhoudt, maar ook het controleren van het resultaat.

Het ongedaan maken van de versleuteling, daarvan geloof ik wel dat je dat in een milliseconde (if that) kunt uitvoeren, maar het controleren of een vorm 'logisch' is, dat lijkt me een iets zwaardere taak. Stel dat dat 10 milliseconden duurt (wat al best wel snel is), dan haal je slechts 100 combinaties per seconde. Als je dan een miljoen cores inschakelt (wat volgens mij toch best fors is, zelfs voor een botnet), ben je alsnog een week bezig om te ontsleutelen. Als dat te weinig is, dan doe je een tweede pass, met een andere sleutel. Nu heb je ineens 94 bits aan entropie, en doe je er met je miljoen cores 100 biljoen weken over. :w
Polygonen reken je niet door met een CPU maar met een GPU (voor de kenners; ik hou het FF simpel voor de uitleg). Een GPU zit op je video kaart. Onder de 1000 euro heb je al een kaart met meer dan 3000 cores. Dus ongeveer §0,30 per GPU core van 900MHz.

Deze rekenkracht hoef je niet zelf te kopen en in je PC te stoppen (kan wel), maar kun je ook gewoon in de cloud afnemen, dat kan al een jaar of 3.
Je betaald alleen de seconden/minuten die je gebruikt en je kunt er zo veel in 1x inzetten als je wil. Dit kost je rond de §0,30 per minuut per 1000 codes, of minder.

Er zijn 2 jaar geleden al beveiligde dingen binnen 20 minuten voor 4 euro gekraakt.

Deze opdracht is vele malen makkelijker, maar als je snel wil zijn kost het je wellicht een tientje als je de software geschreven hebt.

[Reactie gewijzigd door djwice op 6 november 2013 20:27]

een top 5 uit 247 mogelijkheden halen is erg optimistisch, denk dat het aantal waarschijnlijke vormen veel hoger ligt. Bij een normale brute force krijg je maar een keer een succesmelding terug, bij deze vorm is iedere poging succesvol want je hebt een 3D object.
Mij lijkt mij dat ze wel gaan controleren op kruisende edges, anders zou het kwestie zijn van ergens een edge te laten kruisen om "hack-proof" te zijn.
Ik ben helemaal geen kenner op dit gebied, maar is het niet moeilijker om voor deze encryptie methode een automatische hack-tool te maken?
Bij een normale versleuteling kan een hack-tool die alle combinaties overloopt gemakkelijker herkennen wanneer de code juist is. (bestand kan geopend worden of niet). Bij deze nieuwe methode kan enkel een mens herkennen of de code juist is (3d-object ziet er logisch uit).
@aproxx en @Sigmund: Okee, dat begrijp ik. Dan is het wachten dus op een programma'tje dat automatisch onbruikbare CAD-bestanden als onbruikbaar herkent, maar voorlopig is het dus wel effectief op die manier.

[Reactie gewijzigd door Cerberus_tm op 5 november 2013 19:17]

Het punt is dan ook niet dat het bestand op zich onbruikbaar is, maar het object is geen bruikbaar iets voor mensen.

Een 3D printer zal een door elkaar gehusseld wapen prima kunnen printen, je kan alleen niet zoveel met een hoopje plastic in een rare vorm.
Dus heb je een algorithme nodig die alle sleutels afvinkt die objecten genereren zelf doordringend zijn of die dunne wand diktes hebben, want die objecten kunnen niet worden geprint.

Verder hebben sleutels een grotere kans om juist te zijn als ze soepele oppervlaktes genereren. Ook dat is te berekenen.

Het project is een leuke conversation starter natuurlijk, maar ook niet meer.
Dus heb je een algorithme nodig die alle sleutels afvinkt die objecten genereren zelf doordringend zijn of die dunne wand diktes hebben, want die objecten kunnen niet worden geprint.

Verder hebben sleutels een grotere kans om juist te zijn als ze soepele oppervlaktes genereren. Ook dat is te berekenen.
Aan de andere kant kan een decryptietool ook het 'resultaat' van je decryptie zodanig verminken dat het wel printbaar blijft (geen garbage), maar nog altijd volkomen nutteloos. Een onprintbaar object wordt dan ook door het ontsleutel-algoritme als 'rejected' beschouwt, en het ding schotelt een random alternatief voor.
Daarom niet per se, zoal ik het begrijp kan een enkele vertex tot 7 maal toe gemanipuleerd worden. Als je dit doet met alle vertices van een object bestaande uit tien- of honderduizenden vertices (geen idee hoeveel zo'n printbaar wapen er effectief heeft), kan je niet achterhalen hoe het originele object eruit ziet. Je zal enkel een wirwar van punten en lijnen krijgen die niet te printen zijn.

Bovendien zullen mensen die een volledig printbaar object dat beschermd moet worden, het zo ontwerpen, dat je het object in verschillende fases en onderdelen moet printen.
Zelfs als alle onderdelen dan in 1 bestand zitten, is het onmogelijk om te controleren of het object volledig correct wordt weergegeven, tot je met CAD alle onderdelen juist in elkaar puzzelt.

En ik denk vooral dat je dit als een extra encryptielaag moet beschouwen: stel, je ontwerpt een nieuw type speelgoed dat je wil afdrukken. Om te voorkomen dat anderen jouw idee kunnen plagiŽren of namaken, ontwerp je alle onderdelen in aparte bestanden. Daar laat je bovengenoemde encryptietool 2, 3 keer op los om daarna elk bestand zelf via een meer gangbare encryptie te beveiligen.
Iemand die dan je ontwerp wilt bekijken, heeft eerst tijd (en geld) nodig om elk bestand te decoderen, waarna hij volledig onzinnige 3D modellen te zien krijgt. Hij zal ťlke vertex precies op de juiste plek moeten krijgen om je ontwerp juist te kunnen printen.

Zeker die laatste stap zal niet snel geautomatiseerd kunnen worden.
En wat als je 3D object nu eenmaal een vrije vorm is? bijvoorbeeld een auto of vleugel onderdeel/ontwerp?
Dat is ook dun en gekromd. In deze encryptytool lijkt me best op te nemen dat de dikte nergens kleiner dan een betaalde waarde mag zijn, middels een eenvoudige punt-afstand controle...
Ach, als je weet hoe het object er grofweg uit moet zien en google images kan een redelijk plaatje opleveren dan kan je volgens mij een heel eind komen met automatische beeldherkenning etc.

Ik bedoel de wijzigingen zullen niet echt subtiel zijn waarschijnlijk.
Maar je weet niet wat het object voor moet stellen en of er uberhaubt rechten op zitten die jij moet verdedigen. Dat is ondoenlijk om uit te zoeken.

Aan de andere kant is er altijd de 'money trail'. Struin websites met preset-waardes af en pas die toe op de modellen waar ze naar verwijzen, dan vindt je vanzelf de correcte modellen.
Als de 3D-piraat het kan downloaden kunnen de rechtenmaatschappijen er iets tegen proberen te ondernemen. (Maar het gaat ze toch weer niet lukken).
De grap hier is, denk ik:

Een versleuteld 3D bestand, kan door degene die er moeite voor wil doen teruggehaald worden door bepaalde kenmerken -- headers of zo -- aan 't begin van het bestand. Nu heb je dus een valide model, althans volgens de header, maar het design is versleuteld....
Ik gok vooral zodat het niet duidelijk is wat het origineel moet zijn. Zo kun je dus, bijvoorbeeld in het geval van het geprinte wapen, het bestand delen zonder dat mensen die het niet moeten krijgen weten dat het een wapen is. Handig tegen het uitlekken van bestanden, maar ook tegen het ontdekt worden (aangezien er maar gewoon een vaag figuurtje gedeeld wordt).
En wat is dat anders dan het bestand encrypten op de reguliere wijze en als "presets" het juiste wachtwoord meeleveren?
Volgens mij is het verschil als volgt:
Gewone encryptie: als je de verkeerde sleutel gebruikt krijg je gewoon een corrupt bestand.

Deze encryptie: als je de verkeerde sleutel gebruikt krijg je een random object.

Het zou dus moeilijker/onmogelijk worden om te decrypten omdat je niet weet wat het uiteindelijke resultaat moet zijn, terwijl je bij de gewone decryptie doorgaat tot je een valide bestand uitkomt.
Dat werkt dan eigenlijk pas echt als je hem 2x encrypt. Anders is het redelijk goed te zien dat het object er 'ok' uit ziet en ben je er dus (afhankelijk van de snelheid en mogelijke opties) redelijk snel achter wat de originele code was.

Als je hem 2x encrypt blijf je onduidelijke vormen houden die nergens op slaan, totdat je de tweede decryptie uitgevoerd hebt. Dat is dus veel moeilijker te herkennen.
Zelfs met 1x encryptie lijkt het me al vrij safe. Als de sleutel "slechts" 5 letters/nummer heeft, nieteens met upper case, heb je al 60.466.176 mogelijke uitkomsten.

Bij een normale encryptie is dat niks, maar hierbij moeten alle resultaten door een mens bekeken worden om te kunnen oordelen of het model hersteld is.

Dat gezegd te hebben lijkt me dit toch een waardeloze tool. Standaard encryptie met een goed wachtwoord is practischer, heb je geen extra software nodig om je 3d model te herstellen. Dit gaat echt nooit geintegreerd worden met populaire 3D software. Het blijft een standalone.

Daarnaast moet het wachtwoord ook op een of andere manier opgestuurd worden, dus in dat opzicht is het een stap terug van two-way encryptie.

En ten slotte is het ook nog eens mogelijk om software te ontwikkelen die dit wel kan brute-forcen door decryptie pogingen te rangschikken op edge-lenght. Het resultaat met de laagste gemiddelde edge lenghts is waarschijnlijk de correcte.

(edge lenght is dus de lengte tussen de verbonden vertices(punten) - de reden dat dit werkt is omdat alle corruptie methoden die in het filmpje getoond worden zorgen voor langere edges.)
Een random object kun je ook zien als een corrupt bestand en andersom. Ik zie daar niet echt een verschil tussen.

Het is wel anders in de zin dat er over normale encryptie (waarschijnlijk) veel beter nagedacht is en dat het dus waarschijnlijk zo is dat deze nieuwe methode van encryptie veel onveiliger is.
Niet, enige wat het anders is dat originele software het nog kan lezen, want andere versleutelde fles zijn ook nog gewoon te lezen alleen staat alles door elkaar maar zijn gewoon te open in kladblok of wat dan ook.

Vraag me af of iemand er een nuttige toepassing voor kan bedenken die absolute niet mogelijk is met een van de bestaande methodes? :P
Standaard wijze kan je oneindig pogingen doe om deze te kraken.
Met deze methode raakt het na een paar keer defect en heeft kraken geen zin meer.
Dan maak je toch eerst een kopie van het bestand en probeer je het daar weer opnieuw mee? 8)7

Dit is vrijwel gewoon hetzelfde als een bestand met een wachtwoord erop.
Het verschil is dat bij een met wachtwoord beveiligd bestand je een melding krijgt dat het bestand niet geopend kan worden, en bij dit 3D bestand een weergave van een overduidelijk corrupt bestand.. :P

[Reactie gewijzigd door SmiGueL op 5 november 2013 22:53]

en bij dit 3D bestand een weergave van een overduidelijk corrupt bestand.
Hoe zou je weten of je de juiste presetwaarden hebt? De unlocktool en het 3D bestand accepteren namelijk alle presetwaarden die je invoert - in tegenstelling tot een standaard encryptie die toegang blokkeert en daarmee duidelijk aangeeft dat je een ander wachtwoord moet proberen.

Bij 3D objecten die met deze tool zijn geencrypt, weet je ook niet wanneer de corruptie ophoudt. Het kan namelijk meerdere keren gecorrumpeerd worden.
Een kraker kan misschien wel de presetwaarden kraken, maar weet nog steeds niet hoe vaak het 3D bestand "geunlockt" moet worden.
En als de tool goed gemaakt is, kun je het niveau van corruptie instellen. Kleine verschillen zouden een ontwerp al onbruikbaar kunnen maken - afhankelijk van de onderliggende kennis die in het ontwerp is gestoken. Alleen de ontwerper weet hoe de ontwerpdetails exact moeten zijn. Met alleen "op het oog lijkt het te kloppen" kom je er niet.

[Reactie gewijzigd door Fireshade op 6 november 2013 09:39]

in tegenstelling tot een standaard encryptie die toegang blokkeert
Maar dat is alleen maar een check in de decriptie applicatie.
Als de applictie domweg accepteert, geeft dat hetzelfde resultaat.
Het grote verschil tussen dit tool en normale encryptie is dat normale decryptie met de verkeerde key overduidelijk geen goed stl-bestand oplevert, dus je kunt hiervan gebruik maken.
(Je kent dus delen van de plaintekst en kunt deze gebruiken om de decrypt te testen)
Een versleuteld 3D bestand zal onleesbaar zijn voor modelling tools als je het via de normale weg versleuteld.
Dit geld ook als je het met de verkeerde key probeert te ontgrendelen.
Dat geeft een duidelijk punt waar automatisch op getest kan worden en dus een basis om automatisch te brute-forcen.

Met deze nieuwe techniek is het bestand altijd leesbaar en kan je de computer niet laten detecteren of je het bestand goed ontgrendeld hebt.
Hierdoor is deze manier van versleutelen niet te brute-forcen door de computer, maar moet je elke mogelijke uitkomst bekijken om te zien of je een kloppend model eruit krijgt.
Dat geeft een duidelijk punt waar automatisch op getest kan worden en dus een basis om automatisch te brute-forcen.
Zoals ik al schreef, je kent delen van de plaintekst en kunt deze gebruiken om de decrypt te testen... :)
(ben een leek, maar) waarschijnlijk zit de beveiliging hem erin dat je dus na het 'proberen' wel een deugdelijk bestand krijgt.

Dit bestand kan gewoon geprint worden, maar er zitten (kleine) foutjes in.

Om er dus achter te komen of je decryptie 'gelukt' is, zul je al moeten weten hoe het origineel eruit zag.

Zeker bij complexe vormen kan dit erg lastig zijn, als bijvoorbeeld (mbt het aangehaalde 3d-print wapen) de kamer een hele kleine afwijking heeft kun je dit ten eerste bijna niet zien/meten.

Als je het al wel kŠn meten, dan weet je nog niet zeker of het wel helemaal 100% correct is, wat in geval van een kamer in een wapen of zelfs industrieel onderdeel natuurlijk erg gevaarlijk kan worden.

De concave figuur binnenin de kamer hoeft maar iets af te wijken, of binnenin de rand een paar gaatjes te hebben, en het kan al ontploffen of bij hogere druk meegeven.

Uiteraard kun je het wel weer opnieuw bewerken en deze foutjes er weer uithalen, maar dit kan een complex werk worden als je niet exact precies weet waar de foutjes zitten en hoe het origineel eruit zou moeten zien en bekend bent met de werking van het geheel.

Opnieuw bewerken is dan sowieso niet meer hun copyright (punt 1) en kost zoveel tijd dat in elk geval niet iedereen dit zal kunnen of willen doen.

De paar mensen op de wereld die dit wel kunnen en willen, zullen zich waarschijnlijk liever bezig houden met eigen projecten.

Beveiliging is natuurlijk nooit 100%, maar het een beetje ingewikkelder maken, of onzekerheid als factor mee laten wegen, schrikt in elk geval de overgrote meerderheid af, lijkt mij.
Dit is vrijwel gewoon hetzelfde als een bestand met een wachtwoord erop.
Zeker nooit met 3d bestanden gewerkt? :) Dit is voordeliger in je workflow. In jouw wachtwoordbestandvoorbeeld:

1) Moet je iedere keer decoden voordat het 3d-programma het kan openen, en weer encoden na het opslaan

2) Dat is een extra handeling die ze bij de 3d printshop niet voor je gaan doen.

3) Dan heb je na het decoden het originele bestand op je schijf (en dus de recoverable shadow daarvan na het verwijderen)

4) Met een deform-plugin is je bestand rechtstreeks leesbaar en compatible met je 3d software, en automatisch 'encrypted' in het geheugen en op de schijf.
Je kan met een 3D programma toch tijdens het opslaan zeggen: beveiligen met wachtwoord? *
*Ter info, mocht je er nooit mee werken ;)

Bij het openen wordt er dus automatisch om gevraagd.
Met zo'n deform-tool (je denkt serieus dat een printshop deze standaard heeft?) moeten ze eerst nog met 7 sliders aan de gang gaan om het goede model eruit te krijgen, dat is praktisch. Stel ze hebben 1 slidertje verkeerd afgelezen, is je hele geprinte product misvormd. :Y)

[Reactie gewijzigd door SmiGueL op 6 november 2013 18:09]

Ik weet niet waar je dat vandaan haalt, maar als je een bestand download, je maakt kopietje en probeert presets te raden (de code te kraken) kan je echt niets mollen.
En zelfs in dat geval zet je je filetje weer terug.

Zoals ik het zie is het een 'shuffle my bits' functie die een ander 3d object oplevert.
Dit is een two way encryptie, vergelijkbaar met base64 oid, alleen dan met wat parameters. Heb je ze goed komt er uit wat je wilt, zo niet komt er wat anders uit.
Dit is zeker geen rocket science, en ik snap de ophef niet zo..
Erger nog, dat kan live visualiseren / men ziet visueel gewoon wat er vervormd. En daarmee wordt het target-window (steeds) kleiner. Kleuter kan de was doen: verander de parameters linear (!) totdat het ding recht getrokken is.
op binair niveau krijg je nog altijd mooie data aangeleverd waaruit niet is op te maken dat het bestand is geŽncrypteerd. Je zou al een gigantische database aan beeldmateriaal moeten doorlopen om tot de conclusie te komen dat het niet lijkt op een bestaand object, waardoor het ook niet herkend kan worden als dusdanig door geautomatiseerde systemen.
Okee, dus een soort steganografie. Dan vraag ik met wel af hoe moeilijk/makkelijk het is om te zien aan een CAD-model waarvan alle oppervlakken door elkaar lopen dat het een onzinbestand is?
dat is het just: dingen herkennen is makkelijker dan dingen NIET herkennen
Dat weet de maker zelf ook niet als ik het Wired artikel mag geloven.

'Although Plummer-Fernandez designed the software without a specific use in mind, its creation does appear to have come out of some of those views on copyright and weapons. '
Kennelijk is deze encryptie op applicatie-niveau en niet op bestands niveau. Dus je kan altijd nog conventionele encryptie gebruiken boven op deze "vervorming".
Elke nieuwe vorm van encryptie is er weer eentje bij waar moeite voor moet worden genomen om te kraken (NSA). Ik denk dat deze trend wel zal doorzetten.
Elke nieuwe vorm van encryptie is er weer eentje bij waar moeite voor moet worden genomen om te kraken (NSA).
De sleutel is een set van zeven getallen, allemaal in de range 1-100. Ik denk dat de NSA daar niet heel lang over doet... (Een miljoen keer een miljoen mogelijkheden, dat is zelfs nog binnen bereik van consumenten hardware als je een klein beetje geduld hebt; het lastigste is nog om automatisch te herkennen dat je de goede sleutel gevonden hebt.)

Bovendien, het zijn vervormingen... als de correcte sleutel "49, 50, 50, 48, 51, 50, 50" is en je probeert "50, 50, 50, 50, 50, 50, 50", zou het dan (voor een mens) zichtbaar zijn dat je in de buurt zit, dan wordt het nog veel makkelijker omdat je met grotere stappen door de key space kunt rennen en op het eind de waarden fine tunen om het precies goed te krijgen.

Les 1 in cryptografie: "ontwerp nooit je eigen algorithme"; hoe goed het er voor jezelf ook uitziet, voor iemand met verstand van zaken is het nagenoeg zeker een eitje om te kraken...!

@G_:
Gok je dat, hoop je dat, of zie je dat (nadat je het geprobeerd hebt)...?

Als je kunt zien dat het in de buurt zit dan zou ik het geen goede encryptie noemen... maar dat is het waarschijnlijk toch al niet. Om te beginnen staat het algorithme niet beschreven op zijn website, dan gaan bij mij alarmbellen rinkelen. Het volgende citaat geeft trouwens ook weinig vertrouwen:
Use the sliders to choose 7 key values. The 7th value 's' corresponds to the algorithm's strength, this provides not just a visible/invisible encryption, but also the chance to create partially recognisable forms.

[Reactie gewijzigd door robvanwijk op 5 november 2013 19:51]

49,50,50,48,51,50,50 zal er wel helemaal anders uit zien dan 50,50,50,50,50,50,50. Indien je het zou kunnen zien of je in buurt zit zou het niet echt een encryptie zijn.
OK dubbele versleuteling is altijd goed, en wat Aproxx en Sigmund hierboven zeggen: totdat dit geautomatiseerd wordt, is het onmogelijk om op een geautomatiseerde wijze te controleren of het resulterende bestand na ontsleuteling daadwerkelijk het juiste is.
Het enige verschil dat ik zie, is dat het mogelijk is om objecten te vervormen maar toch nog relatief herkenbare te laten, zoals gezegd wordt in de video. Hoeveel nut dat heeft.. dat weet ik niet.
Omdat als je vertex posities wijzigt, je de fysieke eigenschappen van het model veranderd, as in de punten in de virtuele wereld verschuift en dus de vorm aanpast.
Precies, je zit nog steeds met het probleem dat je naast het bestand de key ook moet verspreiden wil de ontvanger er iets aan hebben... En als de ontvanger de key kan krijgen dan een 'attacker' natuurlijk ook.

Als je censuur wilt tegengaan dan wil je zo breed mogelijke distributie. En hoe breed je de payload verspreid zo breed moet je per definitie de key verspreiden.

Leuk dus om een site om de tuin te leiden die checkt of het een valide bestandsformaat betreft en dan de key in de comments geeft oid, meer niet. Beetje zoals je nu soms encrypted RAR files kan downloaden met de sitenaam als wachtwoord.

Alle symmetrische keys lijden aan dit probleem.
Hmm ja, dat zal dan inderdaad wel het scenario zijn waarvoor het bedoeld is, een bepaalde site tijdelijk om te tuin leiden. Als je toch een wachtwoord moet versturen b.v. per e-mail, kun je net zo goed het hele CAD-bestand versturen, zou ik denken, tenzij zo'n bestand gigantisch is? In dat geval zou het nut zijn dat je zo'n bestand ergens publiekelijk kunt hosten of uploaden zonder dat iemand het zou verdenken, en dat de wachtwoorden via een andere weg aan een beperkt aantal recipienten sturen.
hm. lijkt me soort van warp distortion op de 3D data. zonder dat je die 7 "offset"-waardes weet (beetje hacken zou je die ook terug moeten kunnen vinden elders) is de gewone 3D data nutteloos. het nut, tja, geen idee.. commercieel heeft dat niet veel meerwaarde me dunkt, die offsets MOETEN ook ergens beschikbaar zijn. desnoods bruteforce je het op 't oog.. :P

sterker nog. de warp lijkt me iig een mix van een twist-modifier en nog iets. hehe. maar goed. dat boeit ook niet :)

[Reactie gewijzigd door maali op 6 november 2013 01:02]

Ik vraag me af of dit ook werkt op STEP of IGES (of wat dat betreft ťťn van de tig andere 3D formaten) aangezien deze naast STL ook redelijk gangbaar zijn.
Zeker in de CAD wereld.
Dit vind ik dramatisch nieuws als eigenaar van een 3D printer.
Dit vind ik dramatisch nieuws als eigenaar van een 3D printer.
Als jij netjes betaald voor het ontwerp, krijg je gewoon de presets en kun je het naar hartelust printen op je 3D printer. Of moet alles gratis zijn, en mag werk niet beloond worden?
Dan snap je het artikel niet.
Psychedelic objecten!
de weigering van sommige bedrijven om 3d-ontwerpen te accepteren die mogelijk auteursrechten schenden

Whoa! Ja het zou mogelijk zijn dus gauw weigeren.. pfffooeeiii. En nu maar hopen dat de medewerkers van die bedrijven (in een Engelstalige omgeving dan) niet met een verjaardag na het werk een cafe in duiken en "Happy Birthday To You" ten gehore brengen!

Ik word zo moe van die "braafste jongentje van de klas" mentaliteit. (let wel: er staat "mogelijk" en niet "overduidelijk")
Best een slimme methode moet ik zeggen (als 3D persoon).

Door de vertices aan te passen pas je de punten waaruit een 3D model bestaat aan. Dat wil dus zeggen dat je het object letterlijk verminkt waardoor het niet meer bruikbaar is. Zeer effectief.

Persoonlijk denk ik niet dat dit alleen interessant is voor zaken m.b.t. 3D printen maar ook bijvoorbeeld voor Visual Effects studios die hun content willen beveiligen tegen uitlekken.
Hoe kan het verder versleutelt raken? Kan je niet telkens vanuit het oorspronkelijke bestand opnieuw proberen te ontsleutelen?
ik vermoed dat er bedoeld wordt dat als je het bestand met de verkeerde presets probeert te openen dat het dan nog verder vervormt t.o.v. het origineel als wanneer je het zonder presets opent. Nergens wordt beweerd dat het bestand beschadigd raakt of dat de encryptie niet-inverteerbaar zou zijn.
Die tool is toch duidelijk gemaakt voor een doelpubliek dat geen kaas gegeten heeft van public en private key encryption...

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True