it-swarm-es.com

Problemas de derechos de autor con algoritmos de cifrado

Estoy desarrollando una aplicación para Android/Java. La aplicación es una especie de administrador de contraseñas, por lo 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. Entonces la pregunta es:

  • Si utilizaré Java API de cifrado incorporadas (p. Ej., DES/AES)), ¿significa que estaré libre de posibles intereses comerciales de los titulares de derechos de autor de DES/AES por igual?

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

8
Barmaley Red Star

No hay derechos de autor sobre algoritmos . Los algoritmos son como ideas; el tipo de propiedad intelectual que se les aplica son 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 se utilizan para patentarse (pero las patentes finalmente caducan). 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. Vencerá 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 está disponible a través de una máquina virtual Java) ya instalada, entonces probablemente no esté patentado (más, o en absoluto).

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

Además, los sistemas de software pueden controlarse mediante licencias . Uno podría imaginar una licencia específica que prohíbe el uso de parte del software según el contexto de uso o simplemente cualquier condición arbitraria. Uno podría imaginar una licencia de software de este tipo sobre la implementación de un algoritmo criptográfico. Este sería el problema de quien use su software, no su problema. La licencia Java VM es la que se aplica aquí. Pero, hasta donde yo sé, no hay restricciones de uso en Java VM componentes, ya sean criptográficos o no. El proveedor de VM generalmente no desea restringir el uso de su API.

Pueden aplicarse leyes locales , especialmente en lo que respecta al cifrado. Dependiendo del país, las leyes pueden limitar el uso, distribución, exportación y/o importación de software mediante algoritmos criptográficos. El Java VM (al menos, el de Sun/Oracle) incluye un sistema relativamente complejo de permisos y reglas de seguridad que determina qué algoritmos están disponibles, y con qué longitudes de clave. Por lo tanto, se puede suponer que cualquier algoritmo puesto a disposición de las aplicaciones por VM ya se ha ajustado con respecto a las longitudes de clave para cumplir con las leyes locales. siempre habrá excepciones en algunas situaciones (si usted es un agente norcoreano que trabaja arduamente en la construcción de una bomba nuclear en algún lugar de Dakota del Sur, entonces use algoritmos criptográficos, incluso si los proporciona legalmente el Java VM , podría implicar algunos años más de cárcel cuando el FBI lo atrape). En términos prácticos, debe verificar las leyes de exportación de su país si distribuye software que brinda algún tipo de servicio de cifrado, 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 sobre las regulaciones sobre la distribución y exportación de software criptográfico. Puede comenzar por Wikipedia páginas en cripto exportar y importar .

22
Thomas Pornin

La plataforma Android incluye la biblioteca de criptomonedas Legion of the Bouncy Castle, puede usarla y luego no distribuirá ninguna criptografía usted mismo: la licencia del código de Bouncy Castle para su distribución se maneja mediante el teléfono abierto Tenga en cuenta que todavía puede haber limitaciones de exportación, por ejemplo, en los EE. UU., un producto que usa cifrado, incluso si no contiene los algoritmos de cifrado en sí, sigue siendo un producto controlado por el EAR.

6
user185

Es de dominio público como el teorema de Pitágoras. Vuélvete loco.

4
James Santiago

Como ejemplo, de Blowfish.h, incluso las bibliotecas de cifrado pueden estar libres de derechos de autor:

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

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

1
Rory Alsop