5g: Certification

Description
Uses must be assured that the function they are about to use in their model will not fail

Learning Objectives
At the end of this section, learners will know:

Prerequisites
This section has no prerequisites.

Discussion

5g is about creating functions for people who may not know us. But to reach those people, we need to find a way to gain their trust. Our clients need to trust that the function we gave them will do exactly what we say it will do without fail. One way to gain trust is for a well known organization with a strong reputation, to certify our functions. Certifications tell us we can trust something. If a person is a CPA (certified public accountant), we trust that person knows public accounting because the state board certifies they do. 

We hope to find an organization to certify 5g functions but until we do we will have rely on self-signed certificates. 

What is a Self-Signed Certificate?

Have you ever seen a message like the one on the right? This is what happens when a website's SSL certificate has expired. The SSL certificate is needed to trust that a web site is secure (HTTPS) and to encrypt the information moving between the website and our computer. Websites can buy a certificate from trusted third parties or they can self-sign their certificate for free. While our browsers will know if an SSL certificate is self-signed, most users won't know or care. 

How would Self-Signed Certificates Work for 5g Functions?

Step one starts with a form like the one below. This form declares that we have met all 5g requirements for a specific version of a library that contains one or more 5g functions. 

Step two is to post this on a website. At this moment, that website will be our own website and is probably the best we can hope for currently. At some point in time, we hope a third party website will register our certificates and post them with assurance that the certificates remain unchanged by anyone.

Step three would be for the third party to store a copy of the library on their system. That copy includes our function's description. 

Step four would be for the third party to post a copy of the test results so users can see exactly how the function was tested and for what scenarios.

Step five would for the third party to issue some 'seal' that means they agree that the tests are reasonably aligned with the function's description.

Summary

A self signed certificate can provide a check list by which we check our own work. After completing it, it can be our public testimony that we have met all 5g requirements. This may be sufficient for potential clients to trust our work. 

In the future, we hope a third party will take on this function for a price. The good news is, self certification costs nothing.