Tengo un protocolo de seguridad cuya implementación será realizada por muchos desarrolladores externos (llamémoslos "fabricantes") que a su vez se programarán en el hardware incorporado diseñado por ellos.
Hay algunas pautas obligatorias (por ejemplo, una operación criptográfica particular debe llevarse a cabo utilizando cryptoprocesor pero no utilizando una biblioteca de software) que deben ser seguidas por ellas.
Ahora, ¿hay alguna forma de verificar si han seguido todas las pautas del protocolo y certificar su implementación si tiene acceso a la fuente y al archivo binario de la implementación?
¿Cómo puedo asegurarme de que el fabricante haya programado solo la implementación certificada en todas las muestras de hardware?
Edit 1:
Según mi conocimiento, una solución para la certificación: el código fuente se puede inspeccionar manualmente para verificar el cumplimiento de cada recomendación. Luego, el código fuente y el binario obtenido de él se pueden certificar utilizando la firma de la autoridad certificadora en la suma de comprobación de ambos archivos.
Corríjame si hay algún vacío en este proceso de certificación que pueda ser explotado por un fabricante.
Ahora, si el binario del protocolo implementado se programa por separado, podemos verificar el sistema de archivos y ubicar este binario, calcular su suma de verificación y verificarlo con el binario certificado. Pero si el protocolo se implementa dentro de otra aplicación, entonces no podemos tener esta certificación, en lugar de eso, la aplicación final que incluye la implementación del protocolo tiene que estar certificada. Pero esto puede complicar el proceso de certificación.