Exforsys

SQL Server 2005 Training

  1. SQL Server 2005 - Configuring Replication
  2. SQL Server 2005 Replication Enhancements
  3. SQL Server 2005 - Mirror Server
  4. SQL Server 2005 - Introduction to Data Availability
  5. SQL Server 2005 - Backing up a Database
  6. SQL Server 2005 - Using Database Snapshots
  7. SQL Server 2005 - Disaster Recovery
  8. SQL Server 2005 - Managing Certificates
  9. SQL Server 2005 - Managing Permissions
  10. Managing SQL Server 2005 Security
  11. SQL Server 2005 - Using the Database Tuning Advisor
  12. SQL Server 2005 - Tuning a Database
  13. Maintain indexes in a SQL Server 2005 database
  14. SQL Server 2005 - Defining Indexes
  15. SQL Server 2005 - Database Backup
  16. SQL Server 2005 - Populating the Database
  17. SQL Server 2005 Configuration Manager
  18. SQL Server 2005 - Using the Sqlcmd Utility
  19. Using the SQL Management Objects
  20. Using SQL Sever Management Studio - Part 2
  21. Using SQL Sever Management Studio - Part 1
  22. SQL Server 2005 - Using Event Notifications
  23. SQL Server 2005 - Using DDL Triggers
  24. SQL Server Monitoring Tools - Server Profiler
  25. SQL Server 2005 - Testing Troubleshooting
  26. SQL Server 2005 - Upgrading from earlier versions of SQL Server
  27. SQL Server 2005 Installation - Maintenance Plan Without Using Wizard
  28. SQL Server 2005 - Unattended Installations
  29. SQL Server 2005 Installation - Maintenance Plan Using Wizard
  30. Installing a Second Copy of SQL Server 2005
  31. Planning to Install SQL Server 2005
  32. SQL Server 2005 Installation
  33. SQL server 2005 Editions
  34. SQL Server 2005 Architecture Overview
  35. SQL Server 2005 - Management studio interface Summary Page
  36. SQL Server 2005 - Server Groups
  37. SQL Server 2005 - Registered Servers
  38. SQL Server 2005 Administrative Tools
  39. Developing Client applications in SQL Server 2005
  40. SQL Server Management Objects
  41. NET CLR in SQL Server 2005
  42. Native HTTP Support in SQL Server 2005
  43. XML Data Types in SQL Server 2005
  44. Using XML in SQL Server 2005
  45. Using Notification Services in SQL Server 2005
  46. SQL Server 2005 - Service Broker
  47. Data Manipulation Language (DML) in SQL Server 2005
  48. T-SQL Enhancements in SQL Server 2005
  49. Security Features in SQL Server 2005 for the Developer
  50. SQL Server Architecture and Components
  51. SQL Server 2005 Management Studio
  52. Overview of SQL Server 2005 for the Database Developer
  53. Getting started with SQL Server 2005

Ads


Home arrow Technical Training arrow SQL Server 2005 Training

Security Features in SQL Server 2005 for the Developer Page - 2

Page 2 of 2
Author : Exforsys Inc.     Published on: 15th Oct 2005    |   Last Updated on: 22nd Dec 2005

Security Features in SQL Server 2005 for the Developer

Ads

Native Data Encryption

Encryption is a mechanism for protecting data by obfuscating its content by a kind of masking or encoding. This process can be reversed by unmasking or decoding the content. This process can be symmetric or asymmetric depending on the key used to encrypt and decrypt. Of the two, asymmetric encryption is more complex and performance impact is better. Users can use both methods to doubly protect data.

There are two keys used in asymmetric encryption known as a public key and a private key. Access to the private one is available to the owner while the public key does not have this umbrella of protection. When data is encrypted using the public key, decryption can be done only with the private key. Users receiving a encrypted message can ensure that content has not be tampered with, by using the public key but they cannot access the content.

Closely associated with the process described above, is the Digital certificate. The digital certificate is a digitally signed piece of software that associates a public key with the identity of the private key owner. The signature of the certificate is created by an algorithm using the private key of the Certificate Authority and the corresponding public key is available with the recipient. A number of trusted certifying authorities have been included in the operating system known as Trusted Root Certification Authorities. This list can be added to or modified by the user. Each certificate has a number of properties that reflect the purpose and the subject’s public key and digital signature of the issuer. The application must verify the certificate validity by referencing revocation lists. SQL Server  has built in encryption functions to perform such checks.

All required encryption components are available natively. Each SQL server instance has its Service Master Key and is created during the setup. This is encrypted with a Data Protection API provided by the Windows Operating system. The system data is secured using passwords at instance-level settings. Service Master keys secure each Database Master key and within each database, its master key is used to create certificates or asymmetric keys. These can be finally applied to protect data directly or further extend the encryption hierarchy. All certificate management tasks are handled internally by SQL Server 2005. Encryption and decryption are done by function pairs—EncryptByCert() and DecryptByCert() for instance.

The master key is created using the CREATE MASTER KEY ENCRYPTION BY PASSWORD= ‘password’. The administrator defined password is encrypted and stored in the sys.symmetric_keys catalog if CONTROL permissions to the database are available. Simultaneously the database master key is encrypted with the Service Master Key and stored separately in the sys.databases which facilitates automatic opening. The creation of certificates and asymmetric keys can now be done using the CREATE CERTIFICATE DDL T-SQL statement.

A certificate can be new or existing. It will be stored in a file as a signed executable or an assembly. It can be protected using a previously defined database master key or password. If password is used, it must be included in the certificate. The EncryptByCert function takes the certificate identifier and a string of characters as parameters for encryption purposes. It follows that the DecryptByCert function also takes the same parameters to retrieve and decrypt the data.

Certificates are also useful in securing the Service Broker authentication and messaging mechanisms or protecting SQL server authentication, signing of modules or encryption of data. Similar capacities are offered by asymmetric keys though the process is more complex.

In addition to the above functionalities the .NET Framework also allows the creation of user defined functions for encryption.

Code and Module Signing

Signing is the process of verifying authenticity of origin of data and its integrity. Like encryption it relies on certificates for functionality. Verification of integrity involves applying a public key to it and comparing the outcomes with the digital signature. Additionally SQL Server ensures that a particular resource can be accessed only via a module(such as a stored procedure). This functionality has been enhanced with the potential to use T_SQL statements. The digital signatures provide the mapping of user with digital certificate without recourse to ownership chaining.

SQL Server Agent Operations

SQL server no longer requires the Agent to be a member of the local administrators group. It is possible to create multiple proxy accounts and assign separate accounts to individual steps of the Agents jobs. Permissions on SQL Server Agent jobs has also been changed. The user must be a member of the SQLAgentUserRole in the msdb.Management for the purpose of creating roles. Proxy accounts can be created by Sysadmin fixed server roles.

Monitoring and Auditing

SQL profiler can be run without granting membership in the SysAdmin fixed server role. Auditing includes SQL Server 2005 activities and events generated by SQL Server 2005 Analysis services. Enhanced auditing is possible by assigning triggers to Data Definition language operations.

In this lesson we have attempted to provide the reader with a broad overview of the new features of SQL Server 2005. No attempt has been made to demonstrate the usage of these various components since the same was beyond the scope of this tutorial.



 
This tutorial is part of a SQL Server 2005 Training tutorial series. Read it from the beginning and learn yourself.

SQL Server 2005 Training

  1. SQL Server 2005 - Configuring Replication
  2. SQL Server 2005 Replication Enhancements
  3. SQL Server 2005 - Mirror Server
  4. SQL Server 2005 - Introduction to Data Availability
  5. SQL Server 2005 - Backing up a Database
  6. SQL Server 2005 - Using Database Snapshots
  7. SQL Server 2005 - Disaster Recovery
  8. SQL Server 2005 - Managing Certificates
  9. SQL Server 2005 - Managing Permissions
  10. Managing SQL Server 2005 Security
  11. SQL Server 2005 - Using the Database Tuning Advisor
  12. SQL Server 2005 - Tuning a Database
  13. Maintain indexes in a SQL Server 2005 database
  14. SQL Server 2005 - Defining Indexes
  15. SQL Server 2005 - Database Backup
  16. SQL Server 2005 - Populating the Database
  17. SQL Server 2005 Configuration Manager
  18. SQL Server 2005 - Using the Sqlcmd Utility
  19. Using the SQL Management Objects
  20. Using SQL Sever Management Studio - Part 2
  21. Using SQL Sever Management Studio - Part 1
  22. SQL Server 2005 - Using Event Notifications
  23. SQL Server 2005 - Using DDL Triggers
  24. SQL Server Monitoring Tools - Server Profiler
  25. SQL Server 2005 - Testing Troubleshooting
  26. SQL Server 2005 - Upgrading from earlier versions of SQL Server
  27. SQL Server 2005 Installation - Maintenance Plan Without Using Wizard
  28. SQL Server 2005 - Unattended Installations
  29. SQL Server 2005 Installation - Maintenance Plan Using Wizard
  30. Installing a Second Copy of SQL Server 2005
  31. Planning to Install SQL Server 2005
  32. SQL Server 2005 Installation
  33. SQL server 2005 Editions
  34. SQL Server 2005 Architecture Overview
  35. SQL Server 2005 - Management studio interface Summary Page
  36. SQL Server 2005 - Server Groups
  37. SQL Server 2005 - Registered Servers
  38. SQL Server 2005 Administrative Tools
  39. Developing Client applications in SQL Server 2005
  40. SQL Server Management Objects
  41. NET CLR in SQL Server 2005
  42. Native HTTP Support in SQL Server 2005
  43. XML Data Types in SQL Server 2005
  44. Using XML in SQL Server 2005
  45. Using Notification Services in SQL Server 2005
  46. SQL Server 2005 - Service Broker
  47. Data Manipulation Language (DML) in SQL Server 2005
  48. T-SQL Enhancements in SQL Server 2005
  49. Security Features in SQL Server 2005 for the Developer
  50. SQL Server Architecture and Components
  51. SQL Server 2005 Management Studio
  52. Overview of SQL Server 2005 for the Database Developer
  53. Getting started with SQL Server 2005
 

Comments