Problemas de copyright con algoritmos de cifrado

8

Estoy desarrollando una aplicación para Android / Java. La aplicación es un tipo de administrador de contraseñas, así que estoy almacenando contraseñas cifradas bajo el capó de la contraseña maestra. Hay varios algoritmos de cifrado DES / AES / BlowFish / TwoFish y así sucesivamente. Mi intención es desarrollar una aplicación que esté libre de problemas de derechos de autor comerciales. Así que la pregunta es:

  • Si usaré Java incorporado API de cifrado (por ejemplo, DES / AES) - hace significa que estaré libre de posibles intereses comerciales de ¿Tanto los propietarios de derechos de autor de DES / AES?

Cualquier otro pensamiento, significado también será útil.

    
pregunta barmaley 22.12.2010 - 07:25
fuente

4 respuestas

21

No hay derechos de autor en algoritmos . Los algoritmos son como ideas; El tipo de propiedad intelectual que se aplica a ellos es las patentes, no los derechos de autor. Hay algunos algoritmos criptográficos que están patentados, pero la mayoría no lo están y algunos están acostumbrados a ser patentados (pero las patentes finalmente expiran). Ni DES, AES, Blowfish o Twofish están patentados. Un ejemplo de sistema de cifrado simétrico patentado es IDEA (la patente de EE. UU. Caducará en 2012). El algoritmo RSA (cifrado asimétrico y firmas digitales) fue patentado, pero la patente expiró hace diez años. Básicamente, si un algoritmo criptográfico se pone a disposición a través de una máquina virtual Java ya instalada, es probable que no esté patentada (ni más ni menos).

Puede haber derechos de autor en implementaciones . El uso de una implementación que ya existe no se ve afectada por los derechos de autor (es un derecho de autor, no un manual de usuario). Debe preocuparse por los derechos de autor cuando incluya el código externo en su aplicación, no cuando use el código externo proporcionado por la VM Java instalada a través de su API publicada.

Los sistemas de software pueden ser controlados mediante licencias . Uno podría imaginar una licencia específica que prohíba el uso de parte del software dependiendo del contexto de uso o simplemente de cualquier condición arbitraria. Uno podría imaginar tal licencia de software en la implementación de un algoritmo criptográfico. Este sería el problema de quien usa su software, no su problema. La licencia de Java VM es la que se aplica aquí. Pero, que yo sepa, no hay restricción de uso en los componentes de Java VM, ya sean criptográficos o no. El proveedor de VM generalmente no desea restringir el uso de su API.

Se pueden aplicar

leyes locales locales, especialmente en lo que respecta al cifrado. Según el país, las leyes pueden limitar el uso, la distribución, la exportación y / o la importación de software mediante algoritmos criptográficos. La máquina virtual Java (al menos, la de Sun / Oracle) incluye un sistema de permisos y reglas de seguridad relativamente complejo que determina qué algoritmos están disponibles y con qué longitud de clave. Por lo tanto, se puede suponer que cualquier algoritmo que esté disponible para las aplicaciones por parte de la máquina virtual ya se ha ajustado con respecto a la longitud de las claves para cumplir con las leyes locales. Siempre puede haber excepciones en algunas situaciones (si usted es un agente de Corea del Norte que trabaja arduamente en la construcción de una bomba nuclear en algún lugar de Dakota del Sur, el uso de algoritmos criptográficos, incluso si la VM de Java instalada lo proporciona legalmente, puede implicar algunos años adicionales de la cárcel cuando el FBI te atrapa). En términos prácticos, debe verificar las leyes de exportación de su país si distribuye software que proporciona algún tipo de servicio de encriptación, especialmente si lo coloca en un sitio web.

Resumen: no hay ninguna preocupación relacionada con la propiedad intelectual sobre el uso de algoritmos criptográficos proporcionados por la máquina virtual Java. Debe realizar algunas consultas acerca de las regulaciones sobre la distribución y exportación de software criptográfico. Puede comenzar por las páginas de Wikipedia en crypto exportar y import .

    
respondido por el Thomas Pornin 22.12.2010 - 14:52
fuente
6

La plataforma de Android incluye la biblioteca criptográfica Legion of the Bouncy Castle, puedes usar eso y luego no estarás distribuyendo ningún criptográfico. La concesión de la licencia del código de Bouncy Castle para la distribución se realiza mediante la alianza abierta de teléfonos. Tenga en cuenta que aún puede haber limitaciones de exportación, por ejemplo, en los EE. UU. Un producto que utiliza cifrado, incluso si no contiene los algoritmos de cifrado, sigue siendo un producto controlado bajo el EAR.

    
respondido por el user185 22.12.2010 - 18:58
fuente
4

Es un dominio público como el teorema de Pitágoras. Vete loco.

    
respondido por el James Santiago 22.12.2010 - 08:11
fuente
1

Como ejemplo, desde Blowfish.h, incluso las bibliotecas criptográficas pueden estar libres de derechos de autor:

  
  • Esta biblioteca es gratuita para uso comercial y no comercial, siempre y cuando
  •   
  • Se cumplen las siguientes condiciones. Las siguientes condiciones
  •   
  • se aplica a todo el código que se encuentra en esta distribución, ya sea RC4, RSA,
  •   
  • código IHash, DES, etc. No solo el código SSL. La documentación SSL
  •   
  • incluido en esta distribución está cubierto por los mismos términos de copyright
  •   
  • excepto que el titular es Tim Hudson ([email protected]).
  •   

Los algoritmos en sí son solo matemáticas :-)

    
respondido por el Rory Alsop 22.12.2010 - 11:51
fuente

Lea otras preguntas en las etiquetas