Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add security benefits #283

Merged
merged 11 commits into from
Apr 24, 2024
Merged

docs: add security benefits #283

merged 11 commits into from
Apr 24, 2024

Conversation

m1ghtym0
Copy link
Member

Please let me know what you think and give feedback:

  • Overall structure
  • Graphics
  • Attacks and mitigations: Feel free to add cases to the tables

@m1ghtym0 m1ghtym0 requested review from burgerdev and 3u13r March 27, 2024 16:49
@m1ghtym0 m1ghtym0 added the documentation Improvements for user docs label Mar 28, 2024
@katexochen
Copy link
Member

@m1ghtym0 could you fix the broken link so the preview renderes?
https://github.com/edgelesssys/contrast/actions/runs/8455529991/job/23163219491?pr=283#step:6:2313

Copy link

github-actions bot commented Mar 28, 2024

PR Preview Action v1.4.7
🚀 Deployed preview to https://edgelesssys.github.io/contrast/pr-preview/pr-283/
on branch gh-pages at 2024-04-18 07:10 UTC

Copy link
Member

@katexochen katexochen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only reviewed the first section.

docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved

This document outlines the security measures of Contrast and its capability to counter various threats effectively. Contrast is designed to shield entire Kubernetes deployments from the infrastructure, enabling entities to manage sensitive information (such as regulated or personally identifiable information (PII)) in the public cloud, while maintaining data confidentiality and ownership. It ensures data isolation, making it accessible solely to the workload and the data's initial owners.

Contrast is applicable in situations where establishing trust with the workload manager or the underlying infrastructure is challenging. This is particularly beneficial for regulated sectors looking to transition sensitive activities to the cloud, without sacrificing security or compliance. It allows for cloud adoption by maintaining a separation from the cloud service provider in terms of trust.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Contrast is applicable in situations where establishing trust with the workload manager or the underlying infrastructure is challenging. This is particularly beneficial for regulated sectors looking to transition sensitive activities to the cloud, without sacrificing security or compliance. It allows for cloud adoption by maintaining a separation from the cloud service provider in terms of trust.
Contrast is applicable in situations where establishing trust with the workload operator or the underlying infrastructure is challenging. This is particularly beneficial for regulated sectors looking to transition sensitive activities to the cloud, without sacrificing security or compliance. It allows for cloud adoption by maintaining a separation from the cloud service provider in terms of trust.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where establishing trust with the workload manager or the underlying infrastructure is challenging

In general, we don't shield against the infrastructure but the infrastructure operator. Parts of the infrastructure (CPU) are explicitly trusted.

docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved

* **The data owners**, who own the protected data. A data owner can verify the deployment using the Coordinator attestatioin service. The verification includes the identity, integrity, and confidentiality of the workloads, the runtime environment and the access permissions. The data owners don't have access to the workload.

Contrast supports a trust model where the workload owner, workload operator, and data owners are separate, mutually distrusting parties.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we are there yet regarding workload owner and data owner - at least not without handing over all relevant infra yaml to the data owner. See also https://cloud-native.slack.com/archives/C05HD8JDY79/p1707255871825719

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which part of the commented section states that handing over infra YAML isn't needed?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair point. However, I think we'll need to decide at some point which trust model we want to support (could be both mutual-distrust and some-trust) and document the corresponding requirements and trade-offs. We might want to add a reminder for ourselves to https://github.com/edgelesssys/contrast/blob/main/README.md#verify-the-coordinator.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but isn't this mainly a use-case perspective? We want to support the mutual-distrust model, which implicitly supports weaker models?
I agree we need to document in detail how the mutual-distrust model can be achieved.

docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know what best practices for illustrations are, but to avoid confusion e.g. if "operator" is the K8s operator or a persona, maybe we should switch the icons to persons and put the current icon next to the arrow (for data owner and container image provider) and just to the K8s logo for the workload operator?
Not sure if it makes things more complicated though because of the amounts of icon..

docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
docs/docs/basics/security-benefits.md Outdated Show resolved Hide resolved
@m1ghtym0 m1ghtym0 marked this pull request as ready for review April 15, 2024 08:12
Copy link
Member

@katexochen katexochen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good from my side

Copy link
Contributor

@burgerdev burgerdev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@m1ghtym0 m1ghtym0 requested a review from 3u13r April 19, 2024 11:21
Copy link
Member

@3u13r 3u13r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@m1ghtym0 m1ghtym0 merged commit 8245a16 into main Apr 24, 2024
9 checks passed
@m1ghtym0 m1ghtym0 deleted the m/threat-model branch April 24, 2024 06:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements for user docs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants