¿Cómo proteger las cnetworkingenciales para el software crowdsource de código abierto?

Estamos desarrollando software de benchmarking de código abierto que los usuarios pueden download, ejecutar en su sistema (que ejecuta algunos puntos de reference para algunas cosas) y luego upload los resultados a una database central. Esos resultados comparativos anónimos de crowdsourcing se muestran en un website para que todos los vean.

Una gran característica de este software es que es de código abierto. Será alojado en GitHub e includeá instrucciones para que cualquiera descargue y compile la fuente, para tranquilidad o lo que sea que las personas no confíen en nuestro progtwig.

Pero obviamente no podemos divulgar las cnetworkingenciales de security que permiten que el software cargue resultados de reference en nuestra database central. Entonces no vamos a include estos en la fuente pública.

Así que las personas podrían comstackr el software ellos mismos (lo cual es bueno) y usarlo, pero sería inútil porque el software no podría cargarse a la database, que es el propósito completo del software de crowdsourcing. Por lo tanto, los usuarios se verían obligados a utilizar "nuestra versión" del software que tiene cnetworkingenciales ocultas en su interior. Muchas personas son lo suficientemente inteligentes como para no molestarse con los .exe extraños en estos días, por lo que no ayuda a la situación. Además, como la fuente está abierta, cualquiera puede modificarla, comstackrla y distribuirla con intenciones maliciosas, diciendo que es nuestro software.

¿Cómo se soluciona este problema de las cnetworkingenciales de security en el software de código abierto? Obviamente, la regla n. ° 1 es que no la incluye en la fuente distribuida. Pero si las cnetworkingenciales son necesarias para que el software funcione como se esperaba, ¿qué haces? Queremos mantenerlo de código abierto para que los usuarios tengan una razón para confiar en el software.

Puede solicitar que cada propietario del proyecto se registre en su sitio, cree un par de keys pública / privada para ellos y utilice un encryption asimétrico para identificar su fuente de resultados.