Quiero enviar las nuevas versiones de mi aplicación en archivos cifrados y firmados al servidor. ¿Son los archivos PHAR una buena solución para hacer eso? ¿Es PHAR lo suficientemente seguro?
Según this , no es posible cifrar el contenido de los archivos. Al menos no con la versión actual de la extensión phar (2.0) y no sin un compilador especial, por ejemplo, ioncube . La adición de la contraseña zip provoca un error por descompresión, porque la extensión no está preparada para manejar eso. Si desea el cifrado del contenido, por ejemplo, para fines de transporte o almacenamiento, sugeriría otra capa de cifrado en la parte superior de phar, por ejemplo, SSL haría el trabajo.
La firma parece estar bien, es basada en una suma de comprobación sha1 del phar archivo y una clave privada. Por eso protege bien la integridad del paquete. Hay sumas de comprobación crc32 adicionales almacenadas en los manifiestos de los archivos, como otra capa para la protección de la integridad de los datos ... (Sólo el crc32 no sería suficiente .) Entonces, no creo que los archivos puedan ser falsificado sin la clave privada.
No, los archivos PHAR no proporcionan funciones de seguridad en sí mismos. Pero puedes firmar actualizaciones usando GPG como literalmente lo hace cualquier otro proyecto.
Algunos sistemas de administración de paquetes (rpm, deb, etc.) permiten la verificación de firmas incorporada. Puede usar uno de ellos y obtener seguridad de forma gratuita, o puede implementarlo usted mismo.
Lea otras preguntas en las etiquetas php