Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kubeseal for openSUSE:Factory 
checked in at 2022-04-26 20:16:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kubeseal (Old)
 and      /work/SRC/openSUSE:Factory/.kubeseal.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kubeseal"

Tue Apr 26 20:16:04 2022 rev:3 rq:972903 version:0.17.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/kubeseal/kubeseal.changes        2022-04-01 
21:37:11.780779520 +0200
+++ /work/SRC/openSUSE:Factory/.kubeseal.new.1538/kubeseal.changes      
2022-04-26 20:17:56.692773486 +0200
@@ -1,0 +2,20 @@
+Tue Apr 26 06:21:45 UTC 2022 - ka...@b1-systems.de
+
+- Update to version 0.17.5:
+  * Bump goreleaser to v1.7.0
+  * Update v0.17.5 release notes (#824)
+  * Publish sealed-secret-controller in Dockerhub (#823)
+  * Enable goimports in golangci-lint (#816)
+  * Added a nosec comment to a deferred f.close call (#793)
+  * Format code with goimports (#815)
+  * Add a nosec directory to allow http.Dir("/") (#812)
+  * Include cosign public key (#814)
+  * Adding post-quantum analysis and recommendations (#801)
+  * Updated the distroless image verification to use a local key (#813)
+  * Add cosign verification for distroless image (#796)
+  * Crypto doc rewrite (#794)
+  * Chart: bump image version (#807)
+  * Update VIB pipeline (#809)
+  * Run CI with the last two Go releases (#805)
+
+-------------------------------------------------------------------

Old:
----
  sealed-secrets-0.17.4.tar.gz

New:
----
  sealed-secrets-0.17.5.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kubeseal.spec ++++++
--- /var/tmp/diff_new_pack.VIjgrd/_old  2022-04-26 20:17:57.420774367 +0200
+++ /var/tmp/diff_new_pack.VIjgrd/_new  2022-04-26 20:17:57.428774377 +0200
@@ -21,7 +21,7 @@
 %define archive_name sealed-secrets
 
 Name:           kubeseal
-Version:        0.17.4
+Version:        0.17.5
 Release:        0
 Summary:        CLI for encrypting secrets to SealedSecrets
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.VIjgrd/_old  2022-04-26 20:17:57.456774411 +0200
+++ /var/tmp/diff_new_pack.VIjgrd/_new  2022-04-26 20:17:57.460774416 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/bitnami-labs/sealed-secrets</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v0.17.4</param>
+    <param name="revision">v0.17.5</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
     <param name="versionrewrite-pattern">v(.*)</param>
@@ -16,7 +16,7 @@
     <param name="compression">gz</param>
   </service>
   <service name="go_modules" mode="disabled">
-    <param name="archive">sealed-secrets-0.17.4.tar.gz</param>
+    <param name="archive">sealed-secrets-0.17.5.tar.gz</param>
   </service>
 </services>
 

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.VIjgrd/_old  2022-04-26 20:17:57.476774435 +0200
+++ /var/tmp/diff_new_pack.VIjgrd/_new  2022-04-26 20:17:57.480774440 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/bitnami-labs/sealed-secrets</param>
-              <param 
name="changesrevision">2a003fb95bf4265a5568d90882ac77e108a5e0c1</param></service></servicedata>
+              <param 
name="changesrevision">e3ec8c0bd83b708b524f74dbea30c94c3a6c59e2</param></service></servicedata>
 (No newline at EOF)
 

++++++ sealed-secrets-0.17.4.tar.gz -> sealed-secrets-0.17.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/.github/workflows/ci.yml 
new/sealed-secrets-0.17.5/.github/workflows/ci.yml
--- old/sealed-secrets-0.17.4/.github/workflows/ci.yml  2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/.github/workflows/ci.yml  2022-04-20 
17:20:34.000000000 +0200
@@ -7,7 +7,7 @@
     branches: [ main ]
 
 env:
-  CONTROLLER_IMAGE: quay.io/bitnami/sealed-secrets-controller:latest
+  CONTROLLER_IMAGE: docker.io/bitnami/sealed-secrets-controller:latest
 
 jobs:
   linter:
@@ -15,7 +15,7 @@
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        go: ["1.17.8"]
+        go: ["1.17.8", "1.18.0"]
         os: [ubuntu-latest]
         golangci-lint: ["1.44.2"]
     steps:
@@ -40,7 +40,7 @@
     runs-on: ${{ matrix.os }}
     strategy:
       matrix:
-        go: ["1.17.8"]
+        go: ["1.17.8", "1.18.0"]
         os: [macos-latest, windows-latest, ubuntu-latest]
     steps:
 
@@ -64,6 +64,18 @@
     - name: Check out code
       uses: actions/checkout@v2
 
+    - name: Install Cosign
+      uses: sigstore/cosign-installer@v2.1.0
+
+    - name: Distroless verify
+      run: |
+        cosign verify --key /dev/stdin "$(grep FROM Dockerfile | awk '{print 
$2}')" <<EOF
+        -----BEGIN PUBLIC KEY-----
+        MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZzVzkb8A+DbgDpaJId/bOmV8n7Q
+        OqxYbK0Iro6GzSmOzxkn+N2AKawLyXi84WSwJQBK//psATakCgAQKkNTAA==
+        -----END PUBLIC KEY-----
+        EOF
+
     - name: Setup kubecfg
       run: |
         mkdir -p ~/bin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/.github/workflows/cosign.pub 
new/sealed-secrets-0.17.5/.github/workflows/cosign.pub
--- old/sealed-secrets-0.17.4/.github/workflows/cosign.pub      1970-01-01 
01:00:00.000000000 +0100
+++ new/sealed-secrets-0.17.5/.github/workflows/cosign.pub      2022-04-20 
17:20:34.000000000 +0200
@@ -0,0 +1,4 @@
+-----BEGIN PUBLIC KEY-----
+MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEseWNtEaI73oDVgjfLzU4eQYHE11i
+MzRSNs1TA+cTT/Lw70ckfCC/vHnOXKACF2dnhsZsNNj647p9mAiYNVl9ug==
+-----END PUBLIC KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/.github/workflows/release.yaml 
new/sealed-secrets-0.17.5/.github/workflows/release.yaml
--- old/sealed-secrets-0.17.4/.github/workflows/release.yaml    2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/.github/workflows/release.yaml    2022-04-20 
17:20:34.000000000 +0200
@@ -10,7 +10,7 @@
   build:
     runs-on: ubuntu-latest
     env:
-      image_name: quay.io/bitnami/sealed-secrets-controller
+      image_name: docker.io/bitnami/sealed-secrets-controller
     steps:
       # Checkout and set env
       - name: Checkout
@@ -49,18 +49,17 @@
         uses: goreleaser/goreleaser-action@v2
         if: success() && startsWith(github.ref, 'refs/tags/')
         with:
-          version: latest
+          version: v1.7.0
           args: release --rm-dist
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 
       # Build & Publish multi-arch image
-      - name: Login to Quay
+      - name: Login to Docker Hub
         uses: docker/login-action@v1
         with:
-          registry: quay.io
-          username: ${{ secrets.QUAY_USERNAME }}
-          password: ${{ secrets.QUAY_ROBOT_TOKEN }}
+          username: ${{ secrets.DOCKERHUB_USERNAME }}
+          password: ${{ secrets.DOCKERHUB_PASSWORD }}
       - name: Build and push
         id: docker_build
         uses: docker/build-push-action@v2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/.goreleaser.yml 
new/sealed-secrets-0.17.5/.goreleaser.yml
--- old/sealed-secrets-0.17.4/.goreleaser.yml   2022-03-31 15:37:29.000000000 
+0200
+++ new/sealed-secrets-0.17.5/.goreleaser.yml   2022-04-20 17:20:34.000000000 
+0200
@@ -55,3 +55,4 @@
   extra_files:
     - glob: ./controller.yaml
     - glob: ./controller-norbac.yaml
+    - glob: ./.github/workflows/cosign.pub
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/.vib/vib-pipeline.json 
new/sealed-secrets-0.17.5/.vib/vib-pipeline.json
--- old/sealed-secrets-0.17.4/.vib/vib-pipeline.json    2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/.vib/vib-pipeline.json    2022-04-20 
17:20:34.000000000 +0200
@@ -12,10 +12,7 @@
           "action_id": "helm-package"
         },
         {
-          "action_id": "linter-packaging",
-          "params": {
-            "kind": "HELM"
-          }
+          "action_id": "helm-lint"
         }
       ]
     },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/Makefile 
new/sealed-secrets-0.17.5/Makefile
--- old/sealed-secrets-0.17.4/Makefile  2022-03-31 15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/Makefile  2022-04-20 17:20:34.000000000 +0200
@@ -10,7 +10,7 @@
 DOCKER = docker
 GINKGO = ginkgo -p
 
-CONTROLLER_IMAGE = quay.io/bitnami/sealed-secrets-controller:latest
+CONTROLLER_IMAGE = docker.io/bitnami/sealed-secrets-controller:latest
 INSECURE_REGISTRY = false # useful for local registry
 IMAGE_PULL_POLICY = Always
 KUBECONFIG ?= $(HOME)/.kube/config
@@ -112,7 +112,7 @@
        $(GOFMT) -s -w $(GO_FILES)
 
 lint:
-        $(GOLANGCILINT) run --timeout=5m
+        $(GOLANGCILINT) run --enable goimports --timeout=5m
 
 lint-gosec:
         $(GOSEC) -r --severity medium
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/RELEASE-NOTES.md 
new/sealed-secrets-0.17.5/RELEASE-NOTES.md
--- old/sealed-secrets-0.17.4/RELEASE-NOTES.md  2022-03-31 15:37:29.000000000 
+0200
+++ new/sealed-secrets-0.17.5/RELEASE-NOTES.md  2022-04-20 17:20:34.000000000 
+0200
@@ -4,6 +4,13 @@
 
 
[![](https://img.shields.io/github/release/bitnami-labs/sealed-secrets.svg)](https://github.com/bitnami-labs/sealed-secrets/releases/latest)
 
+## v0.17.5
+
+### Changelog
+
+- Switch to 
dockerhub([#823](https://github.com/bitnami-labs/sealed-secrets/pull/823))
+- Sign the release using cosign 
([#814](https://github.com/bitnami-labs/sealed-secrets/pull/814))
+
 ## v0.17.4
 
 ### Changelog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/cmd/controller/server_test.go 
new/sealed-secrets-0.17.5/cmd/controller/server_test.go
--- old/sealed-secrets-0.17.4/cmd/controller/server_test.go     2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/cmd/controller/server_test.go     2022-04-20 
17:20:34.000000000 +0200
@@ -31,11 +31,11 @@
        c.cert = cert
 }
 
-func shutdownServer(server *http.Server, t *testing.T) (){
-    err := server.Shutdown(context.Background())
-    if err != nil {
-        t.Fatal(err)
-    }
+func shutdownServer(server *http.Server, t *testing.T) {
+       err := server.Shutdown(context.Background())
+       if err != nil {
+               t.Fatal(err)
+       }
 }
 
 func TestHttpCert(t *testing.T) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sealed-secrets-0.17.4/cmd/controller/signal_notwin.go 
new/sealed-secrets-0.17.5/cmd/controller/signal_notwin.go
--- old/sealed-secrets-0.17.4/cmd/controller/signal_notwin.go   2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/cmd/controller/signal_notwin.go   2022-04-20 
17:20:34.000000000 +0200
@@ -1,3 +1,4 @@
+//go:build !windows
 // +build !windows
 
 package main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/cmd/kubeseal/main.go 
new/sealed-secrets-0.17.5/cmd/kubeseal/main.go
--- old/sealed-secrets-0.17.4/cmd/kubeseal/main.go      2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/cmd/kubeseal/main.go      2022-04-20 
17:20:34.000000000 +0200
@@ -204,6 +204,7 @@
        // and escape the filename properly.
 
        t := &http.Transport{}
+       // #nosec: G111 -- we want to allow all files to be opened
        t.RegisterProtocol("file", http.NewFileTransport(http.Dir("/")))
        c := &http.Client{Transport: t}
 
@@ -625,6 +626,7 @@
                if err != nil {
                        return nil
                }
+               // #nosec: G307 -- this deferred close is fine because it is 
not on a writable file
                defer f.Close()
 
                input = f
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sealed-secrets-0.17.4/contrib/prometheus-mixin/README.md 
new/sealed-secrets-0.17.5/contrib/prometheus-mixin/README.md
--- old/sealed-secrets-0.17.4/contrib/prometheus-mixin/README.md        
2022-03-31 15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/contrib/prometheus-mixin/README.md        
2022-04-20 17:20:34.000000000 +0200
@@ -65,7 +65,7 @@
 Compile jsonnet to yaml:
 ```
 $ make controller-podmonitor.yaml 
-kubecfg show -V 
CONTROLLER_IMAGE=quay.io/bitnami/sealed-secrets-controller:latest -V 
IMAGE_PULL_POLICY=Always -o yaml controller-podmonitor.jsonnet > 
controller-podmonitor.yaml.tmp
+kubecfg show -V 
CONTROLLER_IMAGE=docker.io/bitnami/sealed-secrets-controller:latest -V 
IMAGE_PULL_POLICY=Always -o yaml controller-podmonitor.jsonnet > 
controller-podmonitor.yaml.tmp
 mv controller-podmonitor.yaml.tmp controller-podmonitor.yaml
 ```
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/docs/developer/crypto.md 
new/sealed-secrets-0.17.5/docs/developer/crypto.md
--- old/sealed-secrets-0.17.4/docs/developer/crypto.md  2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/docs/developer/crypto.md  2022-04-20 
17:20:34.000000000 +0200
@@ -1,9 +1,188 @@
-# Crypto details
+# Cryptographic documentation
 
-The controller looks for a cluster-wide private/public key pair on startup, 
and generates a new 4096 bit (by default) RSA key pair if not found. The key is 
persisted in a regular Secret in the same namespace as the controller. The 
public key portion of this (in the form of a self-signed certificate) should be 
made publicly available to anyone wanting to use SealedSecrets with this 
cluster. The certificate is printed to the controller log at startup, and 
available via an HTTP GET to /v1/cert.pem on the controller.
+## Protocols and cryptographic tools used
 
-During encryption, each value in the original Secret is symmetrically 
encrypted using AES-GCM (AES-256) with a randomly-generated single-use 32 byte 
session key. The session key is then asymmetrically encrypted with the 
controller's public key using RSA-OAEP (using SHA256), and the original 
Secret's namespace/name as the OAEP input parameter (aka label). The final 
output is: 2 byte encrypted session key length || encrypted session key || 
encrypted Secret.
+Sealed-secrets uses the following protocols for the secret management:
 
-Note that during decryption by the controller, the SealedSecret's 
namespace/name is used as the OAEP input parameter, ensuring that the 
SealedSecret and Secret are tied to the same namespace and name.
+- **AES-256-GCM** with a randomly generated single-use 32 bytes session key. 
Since the key is single-use, we do not use any nonce. The key is used to 
encrypt the secret, ensuring its confidentiality and integrity.
+- **RSA-OAEP**, with **SHA-256**. It is used to assure the confidentiality of 
the AES-256-GCM session key, following the *key encapsulation mechanism*.
+- **X509** certificates are used to manage RSA public keys. This public key 
contained in the certificate can be used to encrypt AES-256-GCM session key.
+
+Certificates generated by the sealed secrets controller are renewed every 30 
days and have a 10 years validity span.
+
+## Entropy considerations
+
+The golang API used for the entropy is `crypto/rand`. The following 
description can be found about the entropy generator used regarding the host 
system:
+
+```
+// On Linux, FreeBSD, Dragonfly and Solaris, Reader uses getrandom(2) if
+// available, /dev/urandom otherwise.
+// On OpenBSD and macOS, Reader uses getentropy(2).
+// On other Unix-like systems, Reader reads from /dev/urandom.
+// On Windows systems, Reader uses the RtlGenRandom API.
+// On Wasm, Reader uses the Web Crypto API.
+```
+
+Those cryptographic APIs are known to provide a good cryptographic entropy, 
and are not vulnerable to cryptographic attacks unless the seed is known.
+
+For further information about those APIs:
+
+- [Linux/FreeBSD/Dragonfly/Solaris](https://linux.die.net/man/4/urandom)
+- 
[OpenBSD/macOS](https://www.freebsd.org/cgi/man.cgi?query=getentropy&sektion=3&format=html)
+- 
[Windows](https://download.microsoft.com/download/1/c/9/1c9813b8-089c-4fef-b2ad-ad80e79403ba/Whitepaper%20-%20The%20Windows%2010%20random%20number%20generation%20infrastructure.pdf)
+- 
[WASM](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues)
+
+## Functioning
+
+### Public/private key pair management
+
+The controller looks for a cluster-wide private/public key pair on startup. If 
no key pair is found and none is provided manually, the controller generates a 
new 4096 bit (by default) RSA key pair. In both cases, the key pair is 
persisted in a regular Secret in the same namespace as the controller.
+
+The public key (in the form of a self-signed certificate if it was generated 
by the controller) should be made publicly available to anyone wanting to use 
SealedSecrets with this cluster.
+
+Note that it is possible to use your own X509 certificate with the command 
bellow:
+
+```
+kubeseal --cert [https:/]/path/to/your-cert.pem
+```
+
+The certificate is printed to the controller log at startup and is also 
available via an HTTP GET request to `/v1/cert.pem` on the controller.
+
+### Secret encryption
+
+The secret is encrypted by AES-256-GCM with a randomly-generated single-use 32 
byte session key.
+
+The result of this operation will be called `AES encrypted data` in the next 
diagram, and the present step is the `1.`.
+
+### Session key encryption
+
+The session key used by AES-256-GCM to encrypt the Secret is encapsulated with 
the controller's public key using RSA-OAEP with SHA256.
+
+The OAEP input content, called `label` in the next diagram, differs depending 
on the sealed secret controller scope configuration. This algorithm is only 
used to encrypt the AES session key.
+
+- Default scope configuration : `label` is equal to the concatenation of the 
Secret's namespace and the Secret's name.
+- Namespace-wide scope configuration : `label` is equal to the Secret's 
namespace.
+- Cluster-wide scope configuration : `label` is empty.
+
+The result of the RSA-OAEP encryption is called `RSA encrypted data` in the 
next diagram, and the present step is the `2.`.
+
+### Sealed Secret storage
+
+The final Sealed Secret data format is the following (where `||` is the 
concatenation operator): `size of AES encrypted key (2 bytes) || RSA encrypted 
data || AES encrypted data`
+
+### Diagram to summarize
+
+```
+                                                               Secret
+                                                                   |
+                                                                   ???
+                                                   
K_s??????????????????????????????????????????
+                                                    ???              ???
+                                       K_pub???????????????????????????        
      ???
+                                                    ???              ??? 1.
+                                       label??????????????????????????? 2.     
      ???
+                                                    ???              ???
+                     
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
+Sealed Secret data = ???size of AES encrypted ??? RSA encrypted ??? AES 
encrypted???
+                     ???key (2 bytes)         ??? data          ??? data       
  ???
+                     
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
+
+K_s = 256 bits single-use session key, used by AES-GCM
+K_pub = Public key from the self-signed certificate, used by RSA-OAEP
+label = Additional input for RSA-OAEP encryption.
+        Content differs depending on the scope configuration:
+         * Default config : label = Secret's namespace || Secret's name
+         * Namespace-wide : label = Secret's namespace
+         * Cluster-wide : label is empty
+```
+
+### Decryption process
+
+The decryption is simply the inversion of the encryption.
+
+`Size of AES encrypted key` is read and used to separate `RSA encrypted data` 
and `AES encrypted data` properly.
+
+Then the private key associated with the public key (see Session key 
encryption) is used with the `label` to decrypt the `RSA encrypted data`, 
effectively retrieving the AES session key.
+
+To end this process, the `AES encrypted data` is decrypted using the AES 
session key, therefore unsealing the original Secret.
+
+# Post-quantum cryptography considerations
+
+## Entropy source
+
+### Analysis
+
+Even if QRNG (Quantum Random Number Generator) are considered better than PRNG 
(Pseudo Random Number Generator) in a quantum cryptography context as well as 
in a non-quantum context, QRNG relies on a quantum mechanical phenomenon. It 
requires a physical device, therefore QRNG usage is out of Sealed Secrets 
scope, which will stay on the `crypto/rand` usage.
+
+### Associated documentation
+
+[Combining a quantum random number generator and quantum-resistant algorithms 
into the GnuGPG open-source software](https://doi.org/10.1515/aot-2020-0021)
+
+## AES-256-GCM
+
+### Analysis
+
+AES-256-GCM is quantum resistant.
+Grover algorithm can reduce the bruteforce of the key from 2???????? to 
2??????? which is still considered very secure.
+Nevertheless, since AES uses unchangeable 128 bits blocks, Grover algorithm 
can in some cases decrease the complexity of the bruteforce to 2??????.
+
+### Recommendations
+
+AES-256-GCM quantum security is not a concern.
+Cases with a bruteforce complexity of 2?????? are unlikely for Sealed Secret 
considering how AES is used in the project.
+Even assuming that 2?????? bruteforce is likely, it can still be considered 
secure today (but not in the long run).
+A recommendation is to look for a AES replacement that provide 128 bits 
post-quantum cryptographic security in any cases, such as ChaCha20-Poly1305. 
Applying this recommendation is considered low priority.
+
+### Associated documentation
+
+[Quantum Security Analysis of AES](https://eprint.iacr.org/2019/272.pdf)
+
+[Critics on AES-256-GCM](https://soatok.blog/2020/05/13/why-aes-gcm-sucks/)
+
+[Security Analysis of ChaCha20-Poly1305 
AEAD](https://www.cryptrec.go.jp/exreport/cryptrec-ex-2601-2016.pdf)
+
+
+## SHA-256
+
+### Analysis
+
+SHA-256 is quantum resistant.
+Grover Algorithm can reduce the bruteforce from 2???????? to 2??????? which is 
considered very secure.
+It is computationally cheaper to use a non-quantum algorithm to generate a 
collision than to employ a quantum computer.
+
+### Recommendations
+
+No recommendations about SHA-256.
+
+### Associated documentation
+[Cost analysis of hash collisions: Will quantum computers make SHARCS 
obsolete?](https://cr.yp.to/hash/collisioncost-20090823.pdf)
+
+## RSA-OAEP
+
+### Analysis
+
+RSA-OAEP, as any RSA algorithm, **is not quantum resistant**.
+Shor algorithm can be used to solve in a reasonable time 3 mathematical 
problems on which RSA cryptography is based on: integer factorization problem, 
the discrete logarithm problem and the elliptic-curve discrete logarithm 
problem. Therefore, RSA-OAEP is easily breakable for an attacker with quantum 
capability.
+
+### Recommendations
+
+Replace RSA. This recommendation must be the highest priority regarding the 
post-quantum security of Sealed Secrets.
+There are three serious candidates to use instead of RSA: LMS and XMSS, which 
are Lattice-based, and McEliece with random Goppa codes, which is code-based 
and relies on SDP (Syndrome Decoding Problem).
+Those three algorithms are serious candidates for RSA replacement and the 
choice must be done carefully, without forgetting to study other algorithms 
such as NTRU.
+
+### Associated documentation
+
+[LMS](https://datatracker.ietf.org/doc/html/rfc8554)
+
+[XMSS](https://datatracker.ietf.org/doc/html/rfc8391)
+
+[Lattice-based 
cryptography](https://en.wikipedia.org/wiki/Lattice-based_cryptography)
+
+[McEliece](https://ipnpr.jpl.nasa.gov/progress_report2/42-44/44N.PDF)
+
+[Syndrome Decoding 
Problem](https://en.wikipedia.org/wiki/Decoding_methods#Syndrome_decoding)
+
+[NIST on post-quantum 
algorithms](https://csrc.nist.gov/Projects/post-quantum-cryptography/round-3-submissions)
+
+[Quantum-Resistant 
Cryptography](https://arxiv.org/ftp/arxiv/papers/2112/2112.00399.pdf)
 
-When using the namespace-wide scope, the OAEP input (aka label) only contains 
the namespace and in cluster-wide scope the label is an empty string.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/helm/sealed-secrets/Chart.yaml 
new/sealed-secrets-0.17.5/helm/sealed-secrets/Chart.yaml
--- old/sealed-secrets-0.17.4/helm/sealed-secrets/Chart.yaml    2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/helm/sealed-secrets/Chart.yaml    2022-04-20 
17:20:34.000000000 +0200
@@ -1,7 +1,7 @@
 annotations:
   category: DeveloperTools
 apiVersion: v2
-appVersion: v0.17.3
+appVersion: v0.17.4
 description: Helm chart for the sealed-secrets controller.
 home: https://github.com/bitnami-labs/sealed-secrets
 icon: 
https://bitnami.com/assets/stacks/sealed-secrets/img/sealed-secrets-stack-220x234.png
@@ -16,4 +16,4 @@
     email: mmikuli...@gmail.com
 name: sealed-secrets
 type: application
-version: 2.1.4
+version: 2.1.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/helm/sealed-secrets/README.md 
new/sealed-secrets-0.17.5/helm/sealed-secrets/README.md
--- old/sealed-secrets-0.17.4/helm/sealed-secrets/README.md     2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/helm/sealed-secrets/README.md     2022-04-20 
17:20:34.000000000 +0200
@@ -85,7 +85,7 @@
 | ------------------------------------------------- | 
------------------------------------------------------------------------------------
 | ----------------------------------- |
 | `image.registry`                                  | Sealed Secrets image 
registry                                                        | `quay.io`     
                      |
 | `image.repository`                                | Sealed Secrets image 
repository                                                      | 
`bitnami/sealed-secrets-controller` |
-| `image.tag`                                       | Sealed Secrets image tag 
(immutable tags are recommended)                            | `v0.17.3`         
                  |
+| `image.tag`                                       | Sealed Secrets image tag 
(immutable tags are recommended)                            | `v0.17.4`         
                  |
 | `image.pullPolicy`                                | Sealed Secrets image 
pull policy                                                     | 
`IfNotPresent`                      |
 | `image.pullSecrets`                               | Sealed Secrets image 
pull secrets                                                    | `[]`          
                      |
 | `createController`                                | Specifies whether the 
Sealed Secrets controller should be created                    | `true`         
                     |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sealed-secrets-0.17.4/helm/sealed-secrets/values.yaml 
new/sealed-secrets-0.17.5/helm/sealed-secrets/values.yaml
--- old/sealed-secrets-0.17.4/helm/sealed-secrets/values.yaml   2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/helm/sealed-secrets/values.yaml   2022-04-20 
17:20:34.000000000 +0200
@@ -29,7 +29,7 @@
 image:
   registry: quay.io
   repository: bitnami/sealed-secrets-controller
-  tag: v0.17.3
+  tag: v0.17.4
   ## Specify a imagePullPolicy
   ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
   ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/integration/controller_test.go 
new/sealed-secrets-0.17.5/integration/controller_test.go
--- old/sealed-secrets-0.17.4/integration/controller_test.go    2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/integration/controller_test.go    2022-04-20 
17:20:34.000000000 +0200
@@ -1,3 +1,4 @@
+//go:build integration
 // +build integration
 
 package integration
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sealed-secrets-0.17.4/integration/integration_suite_test.go 
new/sealed-secrets-0.17.5/integration/integration_suite_test.go
--- old/sealed-secrets-0.17.4/integration/integration_suite_test.go     
2022-03-31 15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/integration/integration_suite_test.go     
2022-04-20 17:20:34.000000000 +0200
@@ -1,3 +1,4 @@
+//go:build integration
 // +build integration
 
 package integration
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/integration/kubeseal_test.go 
new/sealed-secrets-0.17.5/integration/kubeseal_test.go
--- old/sealed-secrets-0.17.4/integration/kubeseal_test.go      2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/integration/kubeseal_test.go      2022-04-20 
17:20:34.000000000 +0200
@@ -1,3 +1,4 @@
+//go:build integration
 // +build integration
 
 package integration
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sealed-secrets-0.17.4/pkg/apis/sealed-secrets/v1alpha1/register.go 
new/sealed-secrets-0.17.5/pkg/apis/sealed-secrets/v1alpha1/register.go
--- old/sealed-secrets-0.17.4/pkg/apis/sealed-secrets/v1alpha1/register.go      
2022-03-31 15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/pkg/apis/sealed-secrets/v1alpha1/register.go      
2022-04-20 17:20:34.000000000 +0200
@@ -4,8 +4,8 @@
        metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
        "k8s.io/apimachinery/pkg/runtime"
        "k8s.io/apimachinery/pkg/runtime/schema"
-       "k8s.io/client-go/kubernetes/scheme"
        utilruntime "k8s.io/apimachinery/pkg/util/runtime"
+       "k8s.io/client-go/kubernetes/scheme"
 )
 
 // GroupName is the group name used in this package
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sealed-secrets-0.17.4/pkg/apis/sealed-secrets/v1alpha1/sealedsecret_test.go 
new/sealed-secrets-0.17.5/pkg/apis/sealed-secrets/v1alpha1/sealedsecret_test.go
--- 
old/sealed-secrets-0.17.4/pkg/apis/sealed-secrets/v1alpha1/sealedsecret_test.go 
    2022-03-31 15:37:29.000000000 +0200
+++ 
new/sealed-secrets-0.17.5/pkg/apis/sealed-secrets/v1alpha1/sealedsecret_test.go 
    2022-04-20 17:20:34.000000000 +0200
@@ -10,12 +10,12 @@
        "strings"
        "testing"
 
-       utilruntime "k8s.io/apimachinery/pkg/util/runtime"
        "github.com/bitnami-labs/sealed-secrets/pkg/crypto"
        v1 "k8s.io/api/core/v1"
        metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
        "k8s.io/apimachinery/pkg/runtime"
        "k8s.io/apimachinery/pkg/runtime/serializer"
+       utilruntime "k8s.io/apimachinery/pkg/util/runtime"
        "k8s.io/client-go/kubernetes/scheme"
 
        // Install standard API types
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sealed-secrets-0.17.4/pkg/apis/sealed-secrets/v1alpha1/zz_generated.deepcopy.go
 
new/sealed-secrets-0.17.5/pkg/apis/sealed-secrets/v1alpha1/zz_generated.deepcopy.go
--- 
old/sealed-secrets-0.17.4/pkg/apis/sealed-secrets/v1alpha1/zz_generated.deepcopy.go
 2022-03-31 15:37:29.000000000 +0200
+++ 
new/sealed-secrets-0.17.5/pkg/apis/sealed-secrets/v1alpha1/zz_generated.deepcopy.go
 2022-04-20 17:20:34.000000000 +0200
@@ -1,3 +1,4 @@
+//go:build !ignore_autogenerated
 // +build !ignore_autogenerated
 
 // Code generated by deepcopy-gen. DO NOT EDIT.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sealed-secrets-0.17.4/pkg/client/clientset/versioned/typed/sealed-secrets/v1alpha1/sealedsecret.go
 
new/sealed-secrets-0.17.5/pkg/client/clientset/versioned/typed/sealed-secrets/v1alpha1/sealedsecret.go
--- 
old/sealed-secrets-0.17.4/pkg/client/clientset/versioned/typed/sealed-secrets/v1alpha1/sealedsecret.go
      2022-03-31 15:37:29.000000000 +0200
+++ 
new/sealed-secrets-0.17.5/pkg/client/clientset/versioned/typed/sealed-secrets/v1alpha1/sealedsecret.go
      2022-04-20 17:20:34.000000000 +0200
@@ -3,8 +3,8 @@
 package v1alpha1
 
 import (
-       "time"
        "context"
+       "time"
 
        v1alpha1 
"github.com/bitnami-labs/sealed-secrets/pkg/apis/sealed-secrets/v1alpha1"
        scheme 
"github.com/bitnami-labs/sealed-secrets/pkg/client/clientset/versioned/scheme"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sealed-secrets-0.17.4/pkg/multidocyaml/multidocyaml.go 
new/sealed-secrets-0.17.5/pkg/multidocyaml/multidocyaml.go
--- old/sealed-secrets-0.17.4/pkg/multidocyaml/multidocyaml.go  2022-03-31 
15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/pkg/multidocyaml/multidocyaml.go  2022-04-20 
17:20:34.000000000 +0200
@@ -20,4 +20,4 @@
                return fmt.Errorf("Multistream YAML not supported yet (see 
https://github.com/bitnami-labs/sealed-secrets/issues/114)")
        }
        return nil
-}
\ No newline at end of file
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sealed-secrets-0.17.4/pkg/multidocyaml/multidocyaml_test.go 
new/sealed-secrets-0.17.5/pkg/multidocyaml/multidocyaml_test.go
--- old/sealed-secrets-0.17.4/pkg/multidocyaml/multidocyaml_test.go     
2022-03-31 15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/pkg/multidocyaml/multidocyaml_test.go     
2022-04-20 17:20:34.000000000 +0200
@@ -20,4 +20,4 @@
                        t.Errorf("got: %v, want: %v (src: %q)", got, want, 
tc.src)
                }
        }
-}
\ No newline at end of file
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sealed-secrets-0.17.4/tools.go 
new/sealed-secrets-0.17.5/tools.go
--- old/sealed-secrets-0.17.4/tools.go  2022-03-31 15:37:29.000000000 +0200
+++ new/sealed-secrets-0.17.5/tools.go  2022-04-20 17:20:34.000000000 +0200
@@ -2,6 +2,7 @@
 // code generation tools.
 // The build tag below ensures this dep is not pulled during normal builds.
 
+//go:build tools
 // +build tools
 
 package sealedsecrets

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/kubeseal/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.kubeseal.new.1538/vendor.tar.gz differ: char 5, 
line 1

Reply via email to