WIP WIP WIP WIP WIP WIP WIP WIP WIP WIP WIP WIP

Problem statement

ONAP is quite a complicated application. It consists of several components and each component is often a set of micro services. All those components have to communicate with each other and many of them also needs to access the Database. This requires some secret material to be distributed at the deployment time. There are two types of secret materials provided at the deployment time:

  1. Chart-internal secrets
  2. Chart-external secrets

Chart-internal secret is a sensitive material that is used only within given chart and its subcharts and does not depend on any external system. Examples is a password to service database.

Chart-external secret is a sensitive material that cannot be produced within a chart and has to be delivered from the outside.

Currently all sensitive material that is chart-internal is constant and the same for every ONAP deployment (unless explicitly change by the deployer but it's not an easy task). On the other hand chart-external material is often set to some insecure defaults and charts never check whether they have been really provided by the deployer. Both cases are serious security issues as they allow to easily execute dictionary-based attack.

Solution

In order to improve current situation we propose to: