SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
SQL SERVER 2016
ALWAYS ENCRYPTED
MIDLANDS UK SQL SERVER USER GROUP
NOVEMBER 2016
Duncan Greaves MSc, CISSP, MCSE
PhD Researcher Centre for Business in Society (CBiS)
WHY ENCRYPT? Increase in Data Breaches (Frequency & Size).
 The database is a single store with millions of rows.
 SQL Server is secure, but all databases are vulnerable to information
loss and leakage.
 Changes in Business Computing
 Adoption of cloud computing, IoT, and Services
 Collaboration with external enterprises.
 Internal Risk is lower
 Enforces Separation of Duties
 Prevents unauthorised browsing using privileges and data visibility.
 Audit Changes / Policy / DLP
 Take an Active Security Posture
 Assume a breach has happened.
 Decrease attack surface area.
ENCRYPTION OPTIONS USING SQL SERVER
Target SQL Server Feature Usage Scenario
Drive BitLocker Laptop / USB Security
Directory Folder NTFS Encryption
Connection SSL/TLS Encryption by Certificate
Database Backup Backup Encryption Backup file encryption
Database Files
Transparent Data Encryption
(TDE)
Database and Backup file
encryption
Data (Column/ Cell)
Encryption by Certificate ,
Symmetric key, Asymmetric key
or Passphrase
Sensitive data encryption
Data (Table/ Column/
Cell)
Always Encrypted End to End encryption.
Also Consider:
Row Level Security Department Data
HashBytes function Credit Card CVV
Data Masking Credit Card Number
SQL SERVER ALWAYS ENCRYPTED
 Data is ‘Always Encrypted’ , stored as encrypted cipher text in
the database.
 Allows client software to handle sensitive data without ever
revealing the Master key to SQL Server.
 Field Encryption and Decryption is performed by a security
layer on the client.
 Client Receives information from SQL Server with encrypted
results to allow it to decrypt – Column encryption key, Key
Store Location, Key Path, Encryption used.
 Encryption keys can be held in the Windows Certificate Store,
External Security module or the Azure key vault.
SQL SERVER ALWAYS ENCRYPTED CLIENT DATA ACCESS
SQL SERVER ALWAYS ENCRYPTED
 SQL Server Always Encrypted uses Symmetric key encryption.
 Involves configuring encryption on the server and performing
encryption or decryption on the client to protect the ‘data
objects’.
 Data Inserts MUST use a client application using ADO.net
parameterised queries.
 (Cannot use SSMS to insert or update)
 SQL client code must use version .Net 4.6 onwards.
 SSMS CAN be used to select encrypted fields using the Connection
Option
 Column Encryption Setting=Enabled
Deterministic
 Same plain text always gives the same cipher text
 Allows Equality / Exact search
 Allows Grouping
 Where data ranges are large and randomly
distributed.
 Data Type restrictions apply
Randomised
 Each value is assigned a different cipher text.
 No operations are carried out on the data, select
only.
 Does not support Indexes
COLUMN KEYS AND ENCRYPTION
MODES
Column Master Key - Key protecting keys used to protect the column encrypting keys.
Column Encryption Key(s) - The keys used to encrypt column data.
Types of Key:
Types of Encryption Mode:
Return Key Path & Details
COMPONENTS AT DESIGN & RUNTIME
SQL Server
Certificate
Store
Client
Application
Create Master key
Encrypt Columns
Select Encrypted Data
Decrypt and Display
Data
Returns CEK and Key Store
Details
Request Column
Master Key Return Column Master key
Request Encrypted
Data
CLIENT DEVELOPMENT
 Ensure that the client has access to a key store containing the
Column Master Key .
 Certificate is stored in the /CurrentUser or /Machine store, or
accessed via the Azure key store or Hardware Security Module.
 Azure key store access can be granted using PowerShell scripts.
 The Key store provider name must match the name registered with
the client application.
 Modify connection strings to add Column Encryption
Setting=enabled;
 Parameters that use encrypted columns must always use the
SqlParameter class, not free text.
IMPLEMENTATION CONSIDERATIONS
 Only certain data types are suitable for encryption.
 Keys, Indexes and statistics on encrypted Deterministic fields.
 Cannot use indexes or optimisation on Randomised Fields.
 Increase in storage volume required.
 Decrease in IO due to the Encryption/Decryption round trip
overhead.
 Implement a Key Rotation and Cleansing Policy.
 Use different keys for Development, Test and Production.
STRETCH DATABASE
 Always Encrypted works with Stretch Database without
modification.
 The key used for encryption is the same in both databases.
OTHER SQL TOOLS
 Always Encrypted can be utilised by any client written
using the .Net 4.6 library.
 ODBC Clients now available
 SQL Server Reporting Services
 Master Key must be installed on Report Server machine
 SQL Server Integration Services
 Set Connection property Column Encryption Setting = Enabled
 Use parameterised insert using ADO.net connection type
 Can be used to move data between tables
 Always Encrypted is NOT currently supported in Power BI
KEY MANAGEMENT
 Cycle Keys on a frequent basis as part of security policy.
 Rotation creates a second encryption key and uses this to encrypt data
into a second column.
 The keys used by the client application are retired / replaced with the
new encryption key.
 When all clients are using the new key the old encryption column is
removed.
 SSMS Wizard assists in key rotation.
CONCLUSION
 Sensitive data leakage continues to present significant and growing business
challenges.
 Encryption is a major tool in countering this threat when used as part of a
defence in depth approach to information security:
 SQL always encrypted protects data in transit, at rest and in memory by holding
data values as cipher text (non readable).
 The ADO.net 4.6 library works with SQL server to manage the complexity of
implementing the protection of data in use and in transit.
 Can be used in SSIS packages.
 SSMS is already implemented as an Always Encrypted enabled client, aiding
the protection of data from administrators.
 Existing client apps require minor code changes to enable this functionality.
FURTHER READING & CONTACT DETAILS
https://msdn.microsoft.com/en-us/library/mt163865.aspx Database
engine
https://msdn.microsoft.com/library/mt147923.aspx Client
Development
https://blogs.msdn.microsoft.com/sqlsecurity/tag/always-encrypted/
Microsoft Security Blog
greavesd@uni.coventry.ac.uk
@duncan_greaves
InformationWithInsight.com

Mais conteúdo relacionado

Mais procurados

Network security Encryption
Network security EncryptionNetwork security Encryption
Network security EncryptionJoel Briza
 
Cyber Security and Data Science
Cyber Security and Data Science Cyber Security and Data Science
Cyber Security and Data Science Ania Wieczorek
 
An introduction to X.509 certificates
An introduction to X.509 certificatesAn introduction to X.509 certificates
An introduction to X.509 certificatesStephane Potier
 
Public Key Cryptography
Public Key CryptographyPublic Key Cryptography
Public Key Cryptographyanusachu .
 
Research Paper on Digital Forensic
Research Paper on Digital ForensicResearch Paper on Digital Forensic
Research Paper on Digital ForensicThomas Roccia
 
Memory forensics
Memory forensicsMemory forensics
Memory forensicsSunil Kumar
 
Row-level security and Dynamic Data Masking
Row-level security and Dynamic Data MaskingRow-level security and Dynamic Data Masking
Row-level security and Dynamic Data MaskingSolidQ
 
PowerShell for Practical Purple Teaming
PowerShell for Practical Purple TeamingPowerShell for Practical Purple Teaming
PowerShell for Practical Purple TeamingNikhil Mittal
 
It's just a jump to the left (of boom): Prioritizing detection implementation...
It's just a jump to the left (of boom): Prioritizing detection implementation...It's just a jump to the left (of boom): Prioritizing detection implementation...
It's just a jump to the left (of boom): Prioritizing detection implementation...MITRE ATT&CK
 
CISSP - Chapter 4 - Intranet and extranets
CISSP - Chapter 4 - Intranet and extranetsCISSP - Chapter 4 - Intranet and extranets
CISSP - Chapter 4 - Intranet and extranetsKarthikeyan Dhayalan
 
Information Security Cryptography ( L02- Types Cryptography)
Information Security Cryptography ( L02- Types Cryptography)Information Security Cryptography ( L02- Types Cryptography)
Information Security Cryptography ( L02- Types Cryptography)Anas Rock
 
7 Software Development Security
7 Software Development Security7 Software Development Security
7 Software Development SecurityAlfred Ouyang
 

Mais procurados (20)

Database security
Database securityDatabase security
Database security
 
Network security Encryption
Network security EncryptionNetwork security Encryption
Network security Encryption
 
AES Cryptosystem
AES CryptosystemAES Cryptosystem
AES Cryptosystem
 
Cyber Security and Data Science
Cyber Security and Data Science Cyber Security and Data Science
Cyber Security and Data Science
 
Memory Forensics
Memory ForensicsMemory Forensics
Memory Forensics
 
An introduction to X.509 certificates
An introduction to X.509 certificatesAn introduction to X.509 certificates
An introduction to X.509 certificates
 
Public Key Cryptography
Public Key CryptographyPublic Key Cryptography
Public Key Cryptography
 
Research Paper on Digital Forensic
Research Paper on Digital ForensicResearch Paper on Digital Forensic
Research Paper on Digital Forensic
 
Memory forensics
Memory forensicsMemory forensics
Memory forensics
 
DLP
DLPDLP
DLP
 
Row-level security and Dynamic Data Masking
Row-level security and Dynamic Data MaskingRow-level security and Dynamic Data Masking
Row-level security and Dynamic Data Masking
 
Windowsforensics
WindowsforensicsWindowsforensics
Windowsforensics
 
Zero Trust and Data Security
Zero Trust and Data SecurityZero Trust and Data Security
Zero Trust and Data Security
 
Memory Forensics
Memory ForensicsMemory Forensics
Memory Forensics
 
PowerShell for Practical Purple Teaming
PowerShell for Practical Purple TeamingPowerShell for Practical Purple Teaming
PowerShell for Practical Purple Teaming
 
It's just a jump to the left (of boom): Prioritizing detection implementation...
It's just a jump to the left (of boom): Prioritizing detection implementation...It's just a jump to the left (of boom): Prioritizing detection implementation...
It's just a jump to the left (of boom): Prioritizing detection implementation...
 
CISSP - Chapter 4 - Intranet and extranets
CISSP - Chapter 4 - Intranet and extranetsCISSP - Chapter 4 - Intranet and extranets
CISSP - Chapter 4 - Intranet and extranets
 
Cryptography
CryptographyCryptography
Cryptography
 
Information Security Cryptography ( L02- Types Cryptography)
Information Security Cryptography ( L02- Types Cryptography)Information Security Cryptography ( L02- Types Cryptography)
Information Security Cryptography ( L02- Types Cryptography)
 
7 Software Development Security
7 Software Development Security7 Software Development Security
7 Software Development Security
 

Destaque

Gamma Soft. L'entreprise Temps-Réel
Gamma Soft. L'entreprise Temps-RéelGamma Soft. L'entreprise Temps-Réel
Gamma Soft. L'entreprise Temps-RéelGamma Soft
 
SQL Server AlwaysOn for Dummies SQLSaturday #202 Edition
SQL Server AlwaysOn for Dummies SQLSaturday #202 EditionSQL Server AlwaysOn for Dummies SQLSaturday #202 Edition
SQL Server AlwaysOn for Dummies SQLSaturday #202 EditionMark Broadbent
 
What is in it for a dba sql server 2012
What is in it for a dba   sql server 2012What is in it for a dba   sql server 2012
What is in it for a dba sql server 2012Deepthi Anantharam
 
SQL Server 2012 High Availability with AlwaysOn Availability Groups
SQL Server 2012 High Availability with AlwaysOn Availability GroupsSQL Server 2012 High Availability with AlwaysOn Availability Groups
SQL Server 2012 High Availability with AlwaysOn Availability GroupsEdwin M Sarmiento
 
SQL Server 2016 RC3 Always Encryption
SQL Server 2016 RC3 Always Encryption SQL Server 2016 RC3 Always Encryption
SQL Server 2016 RC3 Always Encryption sultankhan
 
SQL Server 2016 - Stretch DB
SQL Server 2016 - Stretch DB SQL Server 2016 - Stretch DB
SQL Server 2016 - Stretch DB Shy Engelberg
 
SQL Server 2016 Query store
SQL Server 2016 Query storeSQL Server 2016 Query store
SQL Server 2016 Query storeVitaliy Popovych
 
SQL Server 2016 AlwaysOn Availability Groups New Features
SQL Server 2016 AlwaysOn Availability Groups New FeaturesSQL Server 2016 AlwaysOn Availability Groups New Features
SQL Server 2016 AlwaysOn Availability Groups New FeaturesJohn Martin
 
Stretch Database
Stretch DatabaseStretch Database
Stretch DatabaseSolidQ
 
Always encrypted overview
Always encrypted overviewAlways encrypted overview
Always encrypted overviewSolidQ
 
Always on in SQL Server 2012
Always on in SQL Server 2012Always on in SQL Server 2012
Always on in SQL Server 2012Fadi Abdulwahab
 
SQL Saturday 510 Paris 2016 - Query Store session - final
SQL Saturday 510 Paris 2016 - Query Store session - finalSQL Saturday 510 Paris 2016 - Query Store session - final
SQL Saturday 510 Paris 2016 - Query Store session - finalPhilippe Geiger
 

Destaque (13)

Gamma Soft. L'entreprise Temps-Réel
Gamma Soft. L'entreprise Temps-RéelGamma Soft. L'entreprise Temps-Réel
Gamma Soft. L'entreprise Temps-Réel
 
SQL Server AlwaysOn for Dummies SQLSaturday #202 Edition
SQL Server AlwaysOn for Dummies SQLSaturday #202 EditionSQL Server AlwaysOn for Dummies SQLSaturday #202 Edition
SQL Server AlwaysOn for Dummies SQLSaturday #202 Edition
 
What is in it for a dba sql server 2012
What is in it for a dba   sql server 2012What is in it for a dba   sql server 2012
What is in it for a dba sql server 2012
 
SQL Server 2012 High Availability with AlwaysOn Availability Groups
SQL Server 2012 High Availability with AlwaysOn Availability GroupsSQL Server 2012 High Availability with AlwaysOn Availability Groups
SQL Server 2012 High Availability with AlwaysOn Availability Groups
 
SQL Server 2016 RC3 Always Encryption
SQL Server 2016 RC3 Always Encryption SQL Server 2016 RC3 Always Encryption
SQL Server 2016 RC3 Always Encryption
 
SQL Server 2016 - Stretch DB
SQL Server 2016 - Stretch DB SQL Server 2016 - Stretch DB
SQL Server 2016 - Stretch DB
 
SQL Server 2016 Query store
SQL Server 2016 Query storeSQL Server 2016 Query store
SQL Server 2016 Query store
 
SQL Server 2016 AlwaysOn Availability Groups New Features
SQL Server 2016 AlwaysOn Availability Groups New FeaturesSQL Server 2016 AlwaysOn Availability Groups New Features
SQL Server 2016 AlwaysOn Availability Groups New Features
 
Data juice
Data juiceData juice
Data juice
 
Stretch Database
Stretch DatabaseStretch Database
Stretch Database
 
Always encrypted overview
Always encrypted overviewAlways encrypted overview
Always encrypted overview
 
Always on in SQL Server 2012
Always on in SQL Server 2012Always on in SQL Server 2012
Always on in SQL Server 2012
 
SQL Saturday 510 Paris 2016 - Query Store session - final
SQL Saturday 510 Paris 2016 - Query Store session - finalSQL Saturday 510 Paris 2016 - Query Store session - final
SQL Saturday 510 Paris 2016 - Query Store session - final
 

Semelhante a Sql Server 2016 Always Encrypted

Organizational compliance and security in Microsoft SQL 2012-2016
Organizational compliance and security in Microsoft SQL 2012-2016Organizational compliance and security in Microsoft SQL 2012-2016
Organizational compliance and security in Microsoft SQL 2012-2016George Walters
 
SQL Server Encryption - Adi Cohn
SQL Server Encryption - Adi CohnSQL Server Encryption - Adi Cohn
SQL Server Encryption - Adi Cohnsqlserver.co.il
 
SQL Server 2016 New Security Features
SQL Server 2016 New Security FeaturesSQL Server 2016 New Security Features
SQL Server 2016 New Security FeaturesGianluca Sartori
 
Oracle Key Vault Data Subsetting and Masking
Oracle Key Vault Data Subsetting and MaskingOracle Key Vault Data Subsetting and Masking
Oracle Key Vault Data Subsetting and MaskingDLT Solutions
 
SQL Server Column Based Encryption
SQL Server Column Based EncryptionSQL Server Column Based Encryption
SQL Server Column Based EncryptionDavid Dye
 
Seguridad en sql server 2016 y 2017
Seguridad en sql server 2016 y 2017Seguridad en sql server 2016 y 2017
Seguridad en sql server 2016 y 2017Maximiliano Accotto
 
Seguridad en sql server 2016 y 2017
Seguridad en sql server 2016 y 2017Seguridad en sql server 2016 y 2017
Seguridad en sql server 2016 y 2017Maximiliano Accotto
 
Maintaining Trust & Control of your Data in the Cloud
Maintaining Trust & Control of your Data in the CloudMaintaining Trust & Control of your Data in the Cloud
Maintaining Trust & Control of your Data in the CloudAmazon Web Services
 
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft CloudEuropean Collaboration Summit
 
SQL Server 2008 Security Overview
SQL Server 2008 Security OverviewSQL Server 2008 Security Overview
SQL Server 2008 Security Overviewukdpe
 
Enterprise-class security with PostgreSQL - 1
Enterprise-class security with PostgreSQL - 1Enterprise-class security with PostgreSQL - 1
Enterprise-class security with PostgreSQL - 1Ashnikbiz
 
A robust and verifiable threshold multi authority access control system in pu...
A robust and verifiable threshold multi authority access control system in pu...A robust and verifiable threshold multi authority access control system in pu...
A robust and verifiable threshold multi authority access control system in pu...IJARIIT
 
What's new in SQL Server 2016
What's new in SQL Server 2016What's new in SQL Server 2016
What's new in SQL Server 2016James Serra
 
IRJET - Multi Authority based Integrity Auditing and Proof of Storage wit...
IRJET -  	  Multi Authority based Integrity Auditing and Proof of Storage wit...IRJET -  	  Multi Authority based Integrity Auditing and Proof of Storage wit...
IRJET - Multi Authority based Integrity Auditing and Proof of Storage wit...IRJET Journal
 
Platform Deep Dive
Platform Deep DivePlatform Deep Dive
Platform Deep DiveConrad23
 
Concurrent And Independent Access To Encrypted Cloud Databases
Concurrent And Independent Access To Encrypted Cloud DatabasesConcurrent And Independent Access To Encrypted Cloud Databases
Concurrent And Independent Access To Encrypted Cloud DatabasesEditor IJMTER
 

Semelhante a Sql Server 2016 Always Encrypted (20)

Organizational compliance and security in Microsoft SQL 2012-2016
Organizational compliance and security in Microsoft SQL 2012-2016Organizational compliance and security in Microsoft SQL 2012-2016
Organizational compliance and security in Microsoft SQL 2012-2016
 
SQL Server Encryption - Adi Cohn
SQL Server Encryption - Adi CohnSQL Server Encryption - Adi Cohn
SQL Server Encryption - Adi Cohn
 
Presentation
PresentationPresentation
Presentation
 
SQL Server 2016 New Security Features
SQL Server 2016 New Security FeaturesSQL Server 2016 New Security Features
SQL Server 2016 New Security Features
 
Oracle Key Vault Data Subsetting and Masking
Oracle Key Vault Data Subsetting and MaskingOracle Key Vault Data Subsetting and Masking
Oracle Key Vault Data Subsetting and Masking
 
SQL Server Column Based Encryption
SQL Server Column Based EncryptionSQL Server Column Based Encryption
SQL Server Column Based Encryption
 
Seguridad en sql server 2016 y 2017
Seguridad en sql server 2016 y 2017Seguridad en sql server 2016 y 2017
Seguridad en sql server 2016 y 2017
 
Seguridad en sql server 2016 y 2017
Seguridad en sql server 2016 y 2017Seguridad en sql server 2016 y 2017
Seguridad en sql server 2016 y 2017
 
AcceleTest
AcceleTestAcceleTest
AcceleTest
 
AcceleTest
AcceleTestAcceleTest
AcceleTest
 
Maintaining Trust & Control of your Data in the Cloud
Maintaining Trust & Control of your Data in the CloudMaintaining Trust & Control of your Data in the Cloud
Maintaining Trust & Control of your Data in the Cloud
 
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
 
SQL Server 2008 Security Overview
SQL Server 2008 Security OverviewSQL Server 2008 Security Overview
SQL Server 2008 Security Overview
 
Enterprise-class security with PostgreSQL - 1
Enterprise-class security with PostgreSQL - 1Enterprise-class security with PostgreSQL - 1
Enterprise-class security with PostgreSQL - 1
 
Securing your data with Azure SQL DB
Securing your data with Azure SQL DBSecuring your data with Azure SQL DB
Securing your data with Azure SQL DB
 
A robust and verifiable threshold multi authority access control system in pu...
A robust and verifiable threshold multi authority access control system in pu...A robust and verifiable threshold multi authority access control system in pu...
A robust and verifiable threshold multi authority access control system in pu...
 
What's new in SQL Server 2016
What's new in SQL Server 2016What's new in SQL Server 2016
What's new in SQL Server 2016
 
IRJET - Multi Authority based Integrity Auditing and Proof of Storage wit...
IRJET -  	  Multi Authority based Integrity Auditing and Proof of Storage wit...IRJET -  	  Multi Authority based Integrity Auditing and Proof of Storage wit...
IRJET - Multi Authority based Integrity Auditing and Proof of Storage wit...
 
Platform Deep Dive
Platform Deep DivePlatform Deep Dive
Platform Deep Dive
 
Concurrent And Independent Access To Encrypted Cloud Databases
Concurrent And Independent Access To Encrypted Cloud DatabasesConcurrent And Independent Access To Encrypted Cloud Databases
Concurrent And Independent Access To Encrypted Cloud Databases
 

Último

(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAroojKhan71
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramMoniSankarHazra
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightDelhi Call girls
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Delhi Call girls
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...amitlee9823
 

Último (20)

(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics Program
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 

Sql Server 2016 Always Encrypted

  • 1. SQL SERVER 2016 ALWAYS ENCRYPTED MIDLANDS UK SQL SERVER USER GROUP NOVEMBER 2016 Duncan Greaves MSc, CISSP, MCSE PhD Researcher Centre for Business in Society (CBiS)
  • 2. WHY ENCRYPT? Increase in Data Breaches (Frequency & Size).  The database is a single store with millions of rows.  SQL Server is secure, but all databases are vulnerable to information loss and leakage.  Changes in Business Computing  Adoption of cloud computing, IoT, and Services  Collaboration with external enterprises.  Internal Risk is lower  Enforces Separation of Duties  Prevents unauthorised browsing using privileges and data visibility.  Audit Changes / Policy / DLP  Take an Active Security Posture  Assume a breach has happened.  Decrease attack surface area.
  • 3. ENCRYPTION OPTIONS USING SQL SERVER Target SQL Server Feature Usage Scenario Drive BitLocker Laptop / USB Security Directory Folder NTFS Encryption Connection SSL/TLS Encryption by Certificate Database Backup Backup Encryption Backup file encryption Database Files Transparent Data Encryption (TDE) Database and Backup file encryption Data (Column/ Cell) Encryption by Certificate , Symmetric key, Asymmetric key or Passphrase Sensitive data encryption Data (Table/ Column/ Cell) Always Encrypted End to End encryption. Also Consider: Row Level Security Department Data HashBytes function Credit Card CVV Data Masking Credit Card Number
  • 4. SQL SERVER ALWAYS ENCRYPTED  Data is ‘Always Encrypted’ , stored as encrypted cipher text in the database.  Allows client software to handle sensitive data without ever revealing the Master key to SQL Server.  Field Encryption and Decryption is performed by a security layer on the client.  Client Receives information from SQL Server with encrypted results to allow it to decrypt – Column encryption key, Key Store Location, Key Path, Encryption used.  Encryption keys can be held in the Windows Certificate Store, External Security module or the Azure key vault.
  • 5. SQL SERVER ALWAYS ENCRYPTED CLIENT DATA ACCESS
  • 6. SQL SERVER ALWAYS ENCRYPTED  SQL Server Always Encrypted uses Symmetric key encryption.  Involves configuring encryption on the server and performing encryption or decryption on the client to protect the ‘data objects’.  Data Inserts MUST use a client application using ADO.net parameterised queries.  (Cannot use SSMS to insert or update)  SQL client code must use version .Net 4.6 onwards.  SSMS CAN be used to select encrypted fields using the Connection Option  Column Encryption Setting=Enabled
  • 7. Deterministic  Same plain text always gives the same cipher text  Allows Equality / Exact search  Allows Grouping  Where data ranges are large and randomly distributed.  Data Type restrictions apply Randomised  Each value is assigned a different cipher text.  No operations are carried out on the data, select only.  Does not support Indexes COLUMN KEYS AND ENCRYPTION MODES Column Master Key - Key protecting keys used to protect the column encrypting keys. Column Encryption Key(s) - The keys used to encrypt column data. Types of Key: Types of Encryption Mode:
  • 8. Return Key Path & Details COMPONENTS AT DESIGN & RUNTIME SQL Server Certificate Store Client Application Create Master key Encrypt Columns Select Encrypted Data Decrypt and Display Data Returns CEK and Key Store Details Request Column Master Key Return Column Master key Request Encrypted Data
  • 9. CLIENT DEVELOPMENT  Ensure that the client has access to a key store containing the Column Master Key .  Certificate is stored in the /CurrentUser or /Machine store, or accessed via the Azure key store or Hardware Security Module.  Azure key store access can be granted using PowerShell scripts.  The Key store provider name must match the name registered with the client application.  Modify connection strings to add Column Encryption Setting=enabled;  Parameters that use encrypted columns must always use the SqlParameter class, not free text.
  • 10. IMPLEMENTATION CONSIDERATIONS  Only certain data types are suitable for encryption.  Keys, Indexes and statistics on encrypted Deterministic fields.  Cannot use indexes or optimisation on Randomised Fields.  Increase in storage volume required.  Decrease in IO due to the Encryption/Decryption round trip overhead.  Implement a Key Rotation and Cleansing Policy.  Use different keys for Development, Test and Production.
  • 11. STRETCH DATABASE  Always Encrypted works with Stretch Database without modification.  The key used for encryption is the same in both databases.
  • 12. OTHER SQL TOOLS  Always Encrypted can be utilised by any client written using the .Net 4.6 library.  ODBC Clients now available  SQL Server Reporting Services  Master Key must be installed on Report Server machine  SQL Server Integration Services  Set Connection property Column Encryption Setting = Enabled  Use parameterised insert using ADO.net connection type  Can be used to move data between tables  Always Encrypted is NOT currently supported in Power BI
  • 13. KEY MANAGEMENT  Cycle Keys on a frequent basis as part of security policy.  Rotation creates a second encryption key and uses this to encrypt data into a second column.  The keys used by the client application are retired / replaced with the new encryption key.  When all clients are using the new key the old encryption column is removed.  SSMS Wizard assists in key rotation.
  • 14. CONCLUSION  Sensitive data leakage continues to present significant and growing business challenges.  Encryption is a major tool in countering this threat when used as part of a defence in depth approach to information security:  SQL always encrypted protects data in transit, at rest and in memory by holding data values as cipher text (non readable).  The ADO.net 4.6 library works with SQL server to manage the complexity of implementing the protection of data in use and in transit.  Can be used in SSIS packages.  SSMS is already implemented as an Always Encrypted enabled client, aiding the protection of data from administrators.  Existing client apps require minor code changes to enable this functionality.
  • 15. FURTHER READING & CONTACT DETAILS https://msdn.microsoft.com/en-us/library/mt163865.aspx Database engine https://msdn.microsoft.com/library/mt147923.aspx Client Development https://blogs.msdn.microsoft.com/sqlsecurity/tag/always-encrypted/ Microsoft Security Blog greavesd@uni.coventry.ac.uk @duncan_greaves InformationWithInsight.com