DataSunrise is sponsoring AWS re:Invent 2024 in Las Vegas, please visit us in DataSunrise's booth #2158

Snowflake Encryption

Snowflake Encryption

In today’s data-driven world, protecting sensitive information is paramount. When it comes to cloud-based data storage, Snowflake encryption stands out as a robust solution. This article explains Snowflake encryption principles to keep your data safe when stored or transferred.

Understanding Encryption: At Rest vs. In Transit

Snowflake employs a two-pronged encryption approach:

  • At-rest encryption safeguards data within Snowflake’s cloud infrastructure. Imagine a filing cabinet in a secure vault. Data at rest is like the documents safely locked away.
  • In-transit encryption protects data during the transfer between your environment and Snowflake’s servers. Think of an armored truck transporting those documents.

By encrypting data at rest and in transit, Snowflake offers a comprehensive security shield.

In-Depth Look: At-Rest Encryption with Snowflake

Snowflake utilizes the industry-standard Advanced Encryption Standard (AES) 256-bit encryption algorithm for data at rest. This translates to complex mathematical transformations, rendering data unreadable without the proper decryption key.

Snowflake’s key management system meets the strict security standards outlined in NIST Special Publication 800-53. Snowflake’s key management system meets strict security standards from NIST Special Publication 800-53.

The National Institute of Standards and Technology created this publication. It provides detailed security controls and guidelines for federal agencies and organizations. These help safeguard their information systems and data. The publication covers a wide range of security topics, including access control, incident response, risk management, and security assessment and authorization.

The controls in SP 800-53 are based on best practices and standards from NIST, the Department of Defense, and ISO. These controls help organizations create strong security and manage risks to their information systems effectively.

SP 800-53 is frequently updated to address new threats and technologies. This provides federal agencies and organizations with the most up-to-date guidance on securing their information systems. It is a valuable resource for security professionals, IT managers, and policymakers looking to improve the security of their organizations’ information assets. Encryption keys used to protect your data are kept safe, changed often, and never combined with your data.

By following these guidelines, Snowflake ensures that your data remains safe and protected from unauthorized access or breaches. This high level of security ensures that your sensitive information is handled carefully and with great attention to detail. This gives you peace of mind.

In-Transit Encryption: Securing Data on the Move

Snowflake takes data security seriously by utilizing Transport Layer Security (TLS) 1.2 or higher for in-transit encryption. TLS functions as a secure tunnel that encrypts data communication between your environment and Snowflake’s servers. This means that any unauthorized parties cannot intercept data.

Even if someone tries to steal the data, they cannot understand it. This added layer of security ensures that sensitive data remains confidential and secure during transit.

Example: Utilizing a Proxy Server with Snowflake

A common scenario where a proxy server comes into play with Snowflake involves establishing a secure connection through a firewall. The proxy helps transfer data between your system and Snowflake while keeping it secure with encryption protocols.

For example, if your company has a strict firewall, it may only allow connections to certain IP addresses. You can securely connect to Snowflake by setting up a proxy server within your network and following your organization’s security rules.

Using a proxy server may cause issues with SSL certificate exchange, which is important for TLS encryption. This can happen if the proxy server is not configured to properly handle SSL certificates.

Here’s what might occur:

  • Certificate validation errors: The proxy server might not validate the SSL certificate presented by Snowflake, leading to connection errors.
  • A hacker could alter the communication between the proxy and Snowflake if the SSL certificate exchange is not secure.

To mitigate these risks, make sure you configure your proxy server to:

  • Trust the root certificate authority (CA) used by Snowflake.
  • Pass through the original SSL certificates without modification.

If you encounter SSL certificate issues when using a proxy server with Snowflake, consult your network administrator or Snowflake’s documentation for troubleshooting steps.

Beyond Encryption: Additional Security Measures in Snowflake

While encryption is a cornerstone of data security, Snowflake offers a broader security suite. Here are some additional features:

  • Role-based access control (RBAC): Granular control over user permissions ensures only authorized individuals can access specific data.
  • Network policies: Define network traffic rules to restrict access to Snowflake based on IP addresses or virtual private clouds (VPCs).
  • Dynamic data masking: Obscure sensitive data within Snowflake, minimizing the risk of exposure even if unauthorized access occurs.

Snowflake Encryption Controls

Snowflake provides several controls and options for managing its encryption mechanisms. While encryption is enabled by default in Snowflake, there are additional features and configurations available to customize and strengthen your encryption setup.

Key Rotation

Snowflake allows you to rotate the encryption keys used for encrypting your data at rest. Key rotation is an important security practice that helps limit the potential impact of a compromised encryption key.

Example:

To rotate the encryption key for a specific database, you can use the following SQL command:

ALTER DATABASE my_database RENAME ENCRYPTION KEY;

This command generates a new encryption key and re-encrypts all the data in the specified database with the new key.

Customer-Managed Keys (CMK)

Snowflake offers the option to use customer-managed keys (CMK) for encrypting your data. With CMK, you have control over the encryption keys used to encrypt your data in Snowflake. You can use your own key management system (KMS) or a cloud provider’s KMS to manage the encryption keys.

Example:

To enable CMK for a Snowflake account, you need to configure the integration with your chosen KMS provider. Here’s an example of creating an encryption key in AWS Key Management Service (KMS) and associating it with a Snowflake database:

1.Create a new CMK in AWS KMS:

aws kms create-key --description "Snowflake CMK"

2.Grant Snowflake access to the CMK:

aws kms create-grant --key-id <key-id> --grantee-principal <snowflake-aws-account> --operations "Encrypt" "Decrypt" "GenerateDataKey"

3.Configure Snowflake to use the CMK:

ALTER ACCOUNT SET ENCRYPTION_KEY = '<key-arn>';

By using CMK, you have greater control and visibility over the encryption keys used to protect your data in Snowflake.

Tri-Secret Secure

Snowflake’s Tri-Secret Secure feature adds an extra layer of protection for sensitive data, such as personally identifiable information (PII) or protected health information (PHI). Tri-Secret Secure combines a customer-provided encryption key with Snowflake’s internal encryption key and a secure key from a hardware security module (HSM) to encrypt the data.

Example:

To enable Tri-Secret Secure for a specific column in a table, you can use the following SQL command:

ALTER TABLE my_table MODIFY COLUMN sensitive_column SET MASKING POLICY tri_secret_secure USING (my_encryption_key);

This command encrypts the data in the sensitive_column using the Tri-Secret Secure feature, providing an additional level of security.

Summary and Conclusion

Snowflake itself doesn’t provide direct control over the encryption mechanisms. However,  it manages the encryption process to ensure the highest level of security and compliance. By employing strong encryption algorithms, secure key management practices, and a comprehensive suite of security features, Snowflake empowers you to confidently store and manage sensitive information in the cloud.

DataSunrise: Enhancing Database Security

DataSunrise offers user-friendly and adaptable tools to bolster your database security posture beyond encryption. Our solutions encompass data masking, access control, and compliance automation, ensuring all-around data protection.

Visit our team for an online demo and discover how DataSunrise can elevate your database security to the next level!

Next

Zero Trust Data Security

Zero Trust Data Security

Learn More

Need Our Support Team Help?

Our experts will be glad to answer your questions.

General information:
[email protected]
Customer Service and Technical Support:
support.datasunrise.com
Partnership and Alliance Inquiries:
[email protected]