Gurus burros?
Com pot ser que determinades persones liderin opinió en certs camps dient bajanades majúscules?
Via bcnbits llegeixo que Cory Doctorow va dient que no és possible fer un DRM lliure (seguiu el que explica en Mor per tenir context). No és ètic, acceptable o tot el que vulgueu… però no possible?!?
No tinc massa idea de com està plantejada l’arquitectura del DRM, no m’he llegit cap documentació sobre el tema, ho avanço per endavant. Però tant és. Un sistema d’aquest tipus és una infraestructura criptogràfica i en un sistema criptogràfic ben dissenyat el sistema pot (i és desitjable) ser públic. El que no ho és són les claus. Així doncs jo obtinc un document i per poder-lo visualitzar necessito unes claus, que s’obtenen de la manera que sigui i això em permet desxifrar el document i interpretar-lo.
Quan el que es vol és controlar l’accés a un cert nombre granulat d’accions sobre el document podríem distingir entre dos casos: el que necessita de dades addicionals per completar l’acció i el que no. El primer cas és ideal (per exemple podria ser l’edició en alguns tipus de documents), per a poder restringir-ne l’accés, ja que només cal protegir-les criptogràficament i utilitzar el mecanisme que creiem més convenient per obtenir-ne la clau un cop autoritzat l’accés.
En el cas que no calgui més dades per realitzar l’acció, que és la majoria (desar un document, segurament imprimir-lo, etc…) llavors és imprescindible que el programa client actuï com el sistema suposa que ha de fer i que, quan pitgem al botó de desar document aquest digui alguna cosa així com “no teniu permisos per realitzar aquesta operació”.
Ens diu en Cory de que la comprovació de les restriccions a accions com cercar text en un llibre es poden desactivar molt fàcilment en el cas de programari lliure mirant el codi, modificant-lo i llavors recompilant-lo. Això és cert, però, no és igualment fàcil fer enginyeria inversa sobre un programa privatiu amb un desensamblador o un depurador i desactivar aquesta comprovació? Quants milers de programes privatius protegits no s’han craquejat d’aquesta manera? Us convido a que us passegeu per les xarxes P2P i hi busqueu DRM o alguna cosa similar, i en veureu moltíssims exemples. Mireu els PDF per exemple, les restriccions per imprimir, estant petades en programari propietari i en lliure (recompil·lant). No hi veig la diferència.
El que faran és tenir un projecte lliure, que qui estigui interessat en afegir DRM al seu dispositiu l’haurà de signar o el que faci falta. Serà més fàcil per a un fabricant de PDA o reproductors MP3 incorporar-ho, etc.
La resposta del món privatiu per intentar assegurar que els programes facin el que demanen les grans multinacionals de l’entreteniment i no els usuaris dels ordinadors és el Trusted Computing. Com en el cas del DRM, tampoc he llegit documentació del Trusted Computing, o sigui que no us agafeu al peu de la lletra el que explico. Si no estic equivocat, doncs, és una solució combinada de maquinari i programari que permet comprovar la signatura del programari utilitzat, i això permet assignar l’etiqueta de “s’hi pot confiar” a els diversos processos del nostre ordinador. Això es ven com la solució definitiva als virus, cavalls de Troia, etc… Un ús seria comprovar en línia si es pot confiar en un procés per realitzar operacions delicades. Una versió més radical seria no permetre l’execució de programes no signats, cosa que ja es fa en plataformes com les consoles de videojocs.
En un sistema tant complex com és un sistema operatiu d’un ordinador és molt més que dubtós pensar que això pot ser possible. Només cal trobar un error que permeti executar l’execució de codi per poder tenir una porta d’entrada per fer el que sigui. Ho hem vist ja en les consoles de videojocs.
Tinc experiència professional en la signatura de controladors de maquinari per Windows i en la de CSP (recordareu el famós rebombori quan Microsoft va introduir la comprovació d’una signatura a tots els elements de la CryptoAPI), com per saber que ja en aquests casos les comprovacions tècniques realitzades sobre el programari són nul·les. Tant és així, que inclús el projecte de programari lliure CSP#11 té un CSP signat per Microsoft que pot utilitzar un PKCS#11 qualsevol no signat. Això vol dir que és possible executar qualsevol com si fos codi signat només creant un PKCS#11 que faci el que nosaltres volem. Tampoc és massa difícil aconseguir que el sistema operatiu no comprovi aquesta signatura. En resum, aquestes signatures són sovint un tràmit burocràtic, i la burocratització d’aquests processos sempre es fa per un interès de controlar el mercat d’alguna manera o altra. Els documents necessaris per obtenir aquesta signatura a més, i ara especulo i no sóc advocat, podrien ser un mecanisme més per intentar que la responsabilitat sobre determinades accions que realitza el programari recaigui sobre els programadors i aquests no la desviïn als usuaris. Un cas clar podria ser el DeCSS, que elimina la protecció dels DVD.
A mi, particularment, el Trusted Computing em resulta força interessant. Se’n podria arribar a fer un ús molt correcte d’una tecnologia com aquesta. Els administradors de sistemes segur que hi estaran d’acord. Però el perill que s’utilitzi per controlar el mercat és molt i molt gran.
Tornant al punt de partida, però, jo coneixia Boing Boing de passada, però aquest en Cory Doctorow, ha entrat al meu univers amb dues aparicions esperpèntiques (1 i 2). No sé com una persona que diu aquestes coses pot arribar a fer que tothom l’escolti. No sé com és que ara estic escrivint d’ell al meu bloc.
Jo estic en contra del DRM, i em sembla força inútil perquè sempre es trencaran aquests sistemes, però això no vol dir que haguem de dir bajanades per defensar les nostres postures. Que estem en contra que algú faci una implementació open source de DRM? Doncs d’acord, critica’l per contradicció ideològica o el que vulguis, però no amb un argument tant estúpid.

September 4th, 2005 at 00:44
per sort et tenim a tu, per tal que ens aclareixis aquestes bajanades… però, hehehehe, aquest home diu que utilitza BSD…
September 4th, 2005 at 00:46
també diu que només escriu .txt i e-mails i que per això necessita el MacOS X… però que és pro programari lliure…
September 4th, 2005 at 01:13
Si probablement simplement no està d’acord amb que es faci això des del programari lliure i fa allò de “busco tants arguments com puc”.
Però és que si una cosa em rebenta és que defensin postures amb les quals estic d’acord utilitzant arguments falsos, estúpids o demagògics.
September 4th, 2005 at 20:52
Vaig publicar l’enllaç amb el que deia Cory creient que seria més polèmic. Encara que no tinc coneixements profunds de DRM, criptografia i similars, els arguments que dóna farien inviables projectes com openSSH, i d’altres de seguretat fets des del programari lliure, que són tan bons o més que els privatius. Crec recordar que un argument similar l’ha fet servir Microsoft, per desqualificar els projectes de codi obert, dient que pel fet de ser oberts són mes insegurs.
De vegades penso que molt poca gent es mira els enllaços i encara menys amb una actitud analítica i crítica. I si ho diu un guru… He fet una recerca amb Technorati (quan funciona) i no m’ha tornat cap comentari crític!
I estic d’acord que cap sistema de protecció aguantarà.
Molt bon article
September 5th, 2005 at 09:01
[…] Fa uns dies en jmones va titular una nota amb el mateix ttol que jo utilitzo avui. No s casualitat, en la seva nota en jmones criticava les estupideses que Cory Doctorow havia escrit en un article sobre DRM, estupideses que ens preocupen ja que resten credibilitat al moviment del copyleft. […]
September 5th, 2005 at 09:35
Acabo de leerlo…
Tiene razón Cory, no es lo mismo la criptografía cuando el “enemigo” es un tercero que cuando el “enemigo” es el propio usuario que tiene que acceder a los datos. En este caso todavía no se conocen métodos “de clave pública” fiable. Así que si todo está en la clave (simétrica), el algoritmo debería saber las claves del contenido, como el DeCSS, a otra cosa. Si se basa en claves públicas, ¿como las distribuyes para que lo sepa el programa libre pero no lo puedan saber los usuarios? ¿cómo lo haces si el programa es además libre? (esto entra dentro del “peligro de los secretos globales” que explica Schneier)
Cory tiene otro artículo en BoingBoing donde lo explica bien, no lo encuentro ahora.
También tiene razón sobre la “desactivar el DRM en software libre”. Si fuese SL de verdad debería ser legal poder desactivarlas. Si es legal, ¿para/por qué las distros van a dejarlas activadas? Allí va su argumento, ninguna distro distribuiría DRM porque al fin y al cabo es sólo molestia para el usuario y si lo hiciese los usuarios sencillamente usarían otra distro.
En cuanto a lo que dices del DRM, estoy totalmente en contra de cualquier tecnología de esas que limiten qué es lo que puede hacer el usuario. El ordenador es una herramienta, no un tutor moral bajo el control de los productores…
September 5th, 2005 at 09:54
És clar que estic d’acord amb que és impossible protegir dades quan l’atacant és el destinatari. Sempre hi haurà maneres de treure-les. La única solució seria, clar, tancar-ho tot en un xip i fer que la sortida de dades sigui d’inferior qualitat a la que es vol obtenir (per exemple analògica).
Però això del programari lliure no té cap sentit. La possibilitat tècnica és la mateixa en programari lliure que en propietari (és moooolt fàcil piratejar una cosa d’aquestes). I em parles de possibilitat legal, però quin sentit té dir que és més fàcil fer-ho amb programari lliure perquè és legal modificar-lo per cometre la il·legalitat (properament ho serà a tot arreu) mentre que en el propietari és cometre una il·legalitat per cometre una il·legalitat.
Amb el DRM, seria increïble que un projecte lliure et deixés baixar les claus mestres per desxifrar els fitxers. El que crec que passarà és que et podràs baixar el programari sense les claus i, si vols, fer-te el teu propi sistema DRM amb les claus que vulguis.
Si hi ha unes claus per desxifrar un tipus de fitxer de la Sony, per exemple, no creus que impediran distribuir-les si no és en un programa que es comporti com cal? Que tu pots recompilar el programa modificant-lo tot extraient la clau? D’acord. Però també pots posar un NOP en un momenten en el Windows Media Player. De fet, ja està fet. Mira les xarxes P2P.
Amb DRM+Trusted Computing doncs no signaran un programa lliure de DRM si no es comporta com hauria de fer-ho (això si ho fan eficientment, cosa que dubto). O sigui que, quina diferència hi ha?
September 5th, 2005 at 10:28
Una curiositat: el xpdf implementa els usage restrictions, i no hi ha obligació legal per fer-ho, ni cap perill. Quantes distribucions ho desactiven?
La veritat és que ho pregunto sense tenir-ne ni idea.
September 5th, 2005 at 10:46
Més, un comentari extra: no m’he llegit res del que Cory diu sobre DRM, només el que deia en el post que cito, que em semblava una bajanada.
Ara em veig en la obligació de llegir-ho… ho faré quan pugui i ja us diré què en penso
September 5th, 2005 at 12:45
No se si el xpdf ho te, el kpdf si, però a Debian està deshabilitat.
El cas del DRM no és com un problema de cripografia normal. En criptografia el “atacant” es un tercer, no el remitent o destinatari d’un document. Al DRM el “atacant” es l’usuari, el destinatari, i l’objectiu es justament restringir informació l’accés al destinatari d’aquesta informació.
Per eixò no es pot implementar aquestes tècniques a programari lliure, perque la seva filosofia i implementació es justament no privar de rés a l’usuari. A menys que trobin un mètod diferent…
September 5th, 2005 at 12:46
Per cert, l’enllaç: http://www.boingboing.net/2005/08/24/drm_ssl.html
September 5th, 2005 at 12:57
Ricardo,
Entenc perfectament el problema. Només dic que el fet que el projecte sigui lliure no vol dir que te’l puguis descarregar amb les claus per utilitzar-lo. I per distribuir les claus és ben possible que hagis de signar un document que digui que el teu programari complirà les condicions que exigeixen.
Dic també que una modificació d’aquest estil és tant costosa amb programari lliure com propietari. I ho recolzo dient que amb programari propietari ja distribueixen a l’eMule versions del Windows Media Player amb el DRM petat.
Si no hi ha l’obligació legal de que es respectin les restriccions del DRM llavors no entenc perquè no és possible que apareguin productors de programari privatiu que facin reproductors que també es saltin a la torera tot això.
I si hi ha l’obligació legal, no entenc perquè tothom en el programari propietari la respectaria i en el lliure no.
Però potser em perdo alguna cosa…
September 5th, 2005 at 14:10
M’he llegit l’enllaç i no em convenç la veritat. Ell diu:
Això és veritat, però també és veritat que és facilíssim fer-ho. No és com afegir una opció nova a un programa, és simplement deshabilitar una comparació o alguna cosa per l’estil. És fàcil, i es demostra amb el contraexemple (que hi ha casos).
Bé, això no és diferent del cas anterior.
Si unim Trusted Computing a això, doncs també pots signar una compilació d’un programa lliure que saps que té les característiques habilitades i afegir llavors la clau. L’avantatge del programari lliure seria que jo puc muntar el meu propi sistema baixant-me un programari inútil de per sí (perquè no té claus) i posar-hi les meves.
Que digui tot això no vol dir que hi estigui a favor eh! El DRM em resulta un problema interessant i prou.
September 5th, 2005 at 15:32
> L’avantatge del programari lliure seria que jo puc muntar el meu propi sistema baixant-me un programari inútil de per sí (perquè no té claus) i posar-hi les meves.
És una mostra més de perquè es incompatible DRM amb PL.
Per un altra banda, el maquinari del signatures digitals que inclou el TC es només una part del DRM, aquest maquinari pot tenir qualque bon ús (i.e. protecció a les dades de l’usuari), però això no és “DRM”, no el que diu que oferèix Sun. Més info: http://www.schneier.com/blog/archives/2005/08/trusted_computi.html
September 5th, 2005 at 15:43
Si canvies les claus el sistema serveix per a continguts totalment diferents. No veig perquè això vol dir que és incompatible.
Ho sé, però si DRM amb TC ja és com protegir 1.000.000 d’euros amb un candau, sense TC seria com deixar-los darrera uns arbustos i esperar que ningú els trobi.
Tinc la impressió que no aconsegueixo fer-te arribar el que vull comunicar.
September 5th, 2005 at 21:06
> Si canvies les claus el sistema serveix per a continguts totalment diferents. No veig perquè això vol dir que és incompatible.
En primer lloc, com fas per a tenir claus de un contingut que només et permet llegiir el pdf però no imprimir-lo? (o el mateix, només fer N còpies de un docuemt o música…). Si has de obligar a un usuari de fer servir només un binari en particular –no hi ha cap altre manera–, ja no es programari lliure, per definció de PL (i legal). Impossible.
Explica només una forma que puguis distribuir claus –públiques o privades– amb un contingut o dispositiu físic i que un usuari de programari lliure no sàpiga quina és. O explica una forma que puguis exigir que sigui només un binari en particular (controlat amb el chip TPC, per exemple) i que encara sigui programari lliure. Impossible, de cap manera, fins i tot la primera llibertad ja no es cumpleix.
> Tinc la impressió que no aconsegueixo fer-te arribar el que vull comunicar.
Tic l’impressió que no m’entens els problemes legals, tècnics i étics del PL i el DRM. Per això en Cory té raó quan diu el que diu de “gel calent”…
September 6th, 2005 at 00:05
Això és com si fas una biblioteca amb llicència BSD. És programari lliure.
Si algú ho tanca (ho utilitza lligat a una clau o amb TC) ho converteix en una cosa que no compleix la primera llibertat. Però aquí imagino que parlen de fer la implementació de l’API, no de distribuir implementació + claus.
Però això no vol dir que no tinguis una implementació lliure del DRM.
A banda d’això, l’argument que fa servir en Cory és que el programari lliure es pot recompilar en contraposició al programari privatiu. I jo dic que això no invalida res perquè al programari propietari també es pot fer.
Si jo tingués un motor d’un joc lliure, no serviria de res sense les dades del joc. Si algú fa escenaris i ho distribueix amb el motor lliure del joc però en una versió tancada, binària, que no es pot modificar perquè no volen que ningú faci trampes i acabi el joc abans d’hora. Llavors, què vol dir, que el motor del joc deixa de ser lliure?
September 6th, 2005 at 00:13
Per cert, ara estic començant a fer d’advocat del diable. Els comentaris d’en Ricardo em semblen molt pertinents, tot i que massa taxatius. De tota manera, jo segueixo interpretant l’apunt d’en Cory com una autèntica bajanada que ni de bon tros diu les coses que està dient en Ricardo.
Per mi en Ricardo comenta perquè creu que el programari deixaria de ser lliure en distribuir-se amb una clau (i les necessitats de fixar una versió) mentre en Cory estava raonant una mica al revés. Deia com es pot petar pel fet que és programari lliure. Les raons que arguïa en Cory em semblen estúpides, i ho repeteixo, perquè són igualment aplicables amb moltíssima facilitat al privatiu, i per tant són dèbils.
La manera d’argumentar d’en Ricardo és molt més intel·ligent, i no la trobo una bajanada, encara que sí excessivament filosòfica, segurament, pel tema que estem tractant.
September 6th, 2005 at 00:19
Una correcció a l’exemple del joc. No és distribueix de forma tancada motor més dades. Sinó que només distribueixen les dades en unes determinades compilacions del motor, en altres no te les donen i prou.
September 6th, 2005 at 01:02
El DRM es incompatible con el software libre
Hemos tenido una breve discusión con en el blog de Jmones sobre la posibilidad o no de implementar DRM con software libre, tal como propone Sun. Por supuesto que no, es lo que afirmó Cory Doctorow, aunque Jmones no está del todo convencido.
DRM (…