Do I need to back up the SQL Server Encryption Password and Symmetric Key?SQL- Encryption DatabaseWhat does...

how to write formula in word in latex

Professor being mistaken for a grad student

How to use deus ex machina safely?

Instead of Universal Basic Income, why not Universal Basic NEEDS?

What approach do we need to follow for projects without a test environment?

Employee lack of ownership

Why one should not leave fingerprints on bulbs and plugs?

Why is the President allowed to veto a cancellation of emergency powers?

Why doesn't the EU now just force the UK to choose between referendum and no-deal?

Why do passenger jet manufacturers design their planes with stall prevention systems?

Did Ender ever learn that he killed Stilson and/or Bonzo?

In a future war, an old lady is trying to raise a boy but one of the weapons has made everyone deaf

If I can solve Sudoku can I solve Travelling Salesman Problem(TSP)? If yes, how?

Are ETF trackers fundamentally better than individual stocks?

How to explain that I do not want to visit a country due to personal safety concern?

Gravity magic - How does it work?

What's the meaning of “spike” in the context of “adrenaline spike”?

Is it possible to upcast ritual spells?

My Graph Theory Students

Look at your watch and tell me what time is it. vs Look at your watch and tell me what time it is

How do anti-virus programs start at Windows boot?

Why doesn't using two cd commands in bash script execute the second command?

Are there other languages, besides English, where the indefinite (or definite) article varies based on sound?

What did Alexander Pope mean by "Expletives their feeble Aid do join"?



Do I need to back up the SQL Server Encryption Password and Symmetric Key?


SQL- Encryption DatabaseWhat does CONTROL mean in the context of the CertificateWhat happenes to Data when Certificated expires in SQL Server 2005Backup security: Why same keys to backup and restore?SQL Server encryption/decryptionSQL Server Column Level Encryption - Rotating KeysSQL server EncryptionSQL Server encryption - rotate keys for PCI complianceDoes MS SQL 2005 encryption protect data in the case of physical server access?Sharing keys and certificates between SQL Server 2014 server for encrypted backup and restorationHow can encrypting the key increase security level in MariaDB data at rest encryption?













3















I'm trying to setup SQL Server to use Cell-Level Encryption on some sensitive data. It seems straightforward per this example on the MSDN:




  1. Create the Master Key with a strong password.

  2. Create a Certificate.

  3. Create a Symmetric Key with the Certificate.

  4. Encrypt data as needed by using the EncryptByKey function like this: EncryptByKey(Key_GUID('SensitiveData_Key_01'), MySensitiveDataColumn)

  5. Decrypt data as needed by using the DecryptByKey function like this: CONVERT(varchar, DecryptByKeyAutoCert(cert_ID('MyCertName'), NULL, MySensitiveDataColumn))


So given the above usage, let's say my server dies. I need to reinstall SQL Server on a completely new Windows machine (or VM), and restore my database from backup. If I restore the database backup will the encryption/decryption continue to work correctly?



If not, what data do I need to save/backup in order for me to be able to recover my data in the case of a catastrophic failure?



Judging from the diagrams on this other MSDN article about the Encryption Hierarchy, my guess is that I need to backup some or all of the following:




  1. Password for the Master Key

  2. Master Key?

  3. Certificate?

  4. Symmetrical Key?










share|improve this question














bumped to the homepage by Community 13 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.




















    3















    I'm trying to setup SQL Server to use Cell-Level Encryption on some sensitive data. It seems straightforward per this example on the MSDN:




    1. Create the Master Key with a strong password.

    2. Create a Certificate.

    3. Create a Symmetric Key with the Certificate.

    4. Encrypt data as needed by using the EncryptByKey function like this: EncryptByKey(Key_GUID('SensitiveData_Key_01'), MySensitiveDataColumn)

    5. Decrypt data as needed by using the DecryptByKey function like this: CONVERT(varchar, DecryptByKeyAutoCert(cert_ID('MyCertName'), NULL, MySensitiveDataColumn))


    So given the above usage, let's say my server dies. I need to reinstall SQL Server on a completely new Windows machine (or VM), and restore my database from backup. If I restore the database backup will the encryption/decryption continue to work correctly?



    If not, what data do I need to save/backup in order for me to be able to recover my data in the case of a catastrophic failure?



    Judging from the diagrams on this other MSDN article about the Encryption Hierarchy, my guess is that I need to backup some or all of the following:




    1. Password for the Master Key

    2. Master Key?

    3. Certificate?

    4. Symmetrical Key?










    share|improve this question














    bumped to the homepage by Community 13 mins ago


    This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.


















      3












      3








      3








      I'm trying to setup SQL Server to use Cell-Level Encryption on some sensitive data. It seems straightforward per this example on the MSDN:




      1. Create the Master Key with a strong password.

      2. Create a Certificate.

      3. Create a Symmetric Key with the Certificate.

      4. Encrypt data as needed by using the EncryptByKey function like this: EncryptByKey(Key_GUID('SensitiveData_Key_01'), MySensitiveDataColumn)

      5. Decrypt data as needed by using the DecryptByKey function like this: CONVERT(varchar, DecryptByKeyAutoCert(cert_ID('MyCertName'), NULL, MySensitiveDataColumn))


      So given the above usage, let's say my server dies. I need to reinstall SQL Server on a completely new Windows machine (or VM), and restore my database from backup. If I restore the database backup will the encryption/decryption continue to work correctly?



      If not, what data do I need to save/backup in order for me to be able to recover my data in the case of a catastrophic failure?



      Judging from the diagrams on this other MSDN article about the Encryption Hierarchy, my guess is that I need to backup some or all of the following:




      1. Password for the Master Key

      2. Master Key?

      3. Certificate?

      4. Symmetrical Key?










      share|improve this question














      I'm trying to setup SQL Server to use Cell-Level Encryption on some sensitive data. It seems straightforward per this example on the MSDN:




      1. Create the Master Key with a strong password.

      2. Create a Certificate.

      3. Create a Symmetric Key with the Certificate.

      4. Encrypt data as needed by using the EncryptByKey function like this: EncryptByKey(Key_GUID('SensitiveData_Key_01'), MySensitiveDataColumn)

      5. Decrypt data as needed by using the DecryptByKey function like this: CONVERT(varchar, DecryptByKeyAutoCert(cert_ID('MyCertName'), NULL, MySensitiveDataColumn))


      So given the above usage, let's say my server dies. I need to reinstall SQL Server on a completely new Windows machine (or VM), and restore my database from backup. If I restore the database backup will the encryption/decryption continue to work correctly?



      If not, what data do I need to save/backup in order for me to be able to recover my data in the case of a catastrophic failure?



      Judging from the diagrams on this other MSDN article about the Encryption Hierarchy, my guess is that I need to backup some or all of the following:




      1. Password for the Master Key

      2. Master Key?

      3. Certificate?

      4. Symmetrical Key?







      sql-server sql-server-2008 certificate encryption keys






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Feb 2 '12 at 16:30









      John BubriskiJohn Bubriski

      13119




      13119





      bumped to the homepage by Community 13 mins ago


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







      bumped to the homepage by Community 13 mins ago


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
























          2 Answers
          2






          active

          oldest

          votes


















          0














          After doing some more research I found this article on "Cloning" Symmetric Keys.



          You can instruct the CREATE SYMMETRIC KEY function to generate the Symmetric Key using a KEY_SOURCE and IDENTITY_VALUE. You can regenerate the same key later on by passing the same values for the KEY_SOURCE and IDENTITY_VALUE.



          Here is a quick example:



          CREATE CERTIFICATE CreditCards
          WITH SUBJECT = 'Customer Credit Card Numbers';
          GO

          CREATE SYMMETRIC KEY CreditCards_Key_01
          WITH KEY_SOURCE = 'A pass phrase from which to derive the key.',
          IDENTITY_VALUE = 'An identity phrase from which to generate a GUID for tagging data that is encrypted with a temporary key',
          ALGORITHM = AES_256
          ENCRYPTION BY CERTIFICATE CreditCards;
          GO

          OPEN SYMMETRIC KEY CreditCards_Key_01
          DECRYPTION BY CERTIFICATE CreditCards

          UPDATE MyTable
          SET EncryptedCreditCardNumber = EncryptByKey(Key_GUID('CreditCards_Key_01'), CreditCardNumber);
          GO


          To quote Michael Coles from his article




          "For my tastes, it would make more sense to require IDENTITY_VALUE and KEY_SOURCE options by default."




          Not sure why they didn't do it that way, or at least highlight that in the example they have out there on the MSDN!






          share|improve this answer































            0














            You should simulate your proposed disaster and confirm you can recover on a test machine. Whatever you need should become apparent pretty quickly during the restore process.






            share|improve this answer























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "2"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f356237%2fdo-i-need-to-back-up-the-sql-server-encryption-password-and-symmetric-key%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              0














              After doing some more research I found this article on "Cloning" Symmetric Keys.



              You can instruct the CREATE SYMMETRIC KEY function to generate the Symmetric Key using a KEY_SOURCE and IDENTITY_VALUE. You can regenerate the same key later on by passing the same values for the KEY_SOURCE and IDENTITY_VALUE.



              Here is a quick example:



              CREATE CERTIFICATE CreditCards
              WITH SUBJECT = 'Customer Credit Card Numbers';
              GO

              CREATE SYMMETRIC KEY CreditCards_Key_01
              WITH KEY_SOURCE = 'A pass phrase from which to derive the key.',
              IDENTITY_VALUE = 'An identity phrase from which to generate a GUID for tagging data that is encrypted with a temporary key',
              ALGORITHM = AES_256
              ENCRYPTION BY CERTIFICATE CreditCards;
              GO

              OPEN SYMMETRIC KEY CreditCards_Key_01
              DECRYPTION BY CERTIFICATE CreditCards

              UPDATE MyTable
              SET EncryptedCreditCardNumber = EncryptByKey(Key_GUID('CreditCards_Key_01'), CreditCardNumber);
              GO


              To quote Michael Coles from his article




              "For my tastes, it would make more sense to require IDENTITY_VALUE and KEY_SOURCE options by default."




              Not sure why they didn't do it that way, or at least highlight that in the example they have out there on the MSDN!






              share|improve this answer




























                0














                After doing some more research I found this article on "Cloning" Symmetric Keys.



                You can instruct the CREATE SYMMETRIC KEY function to generate the Symmetric Key using a KEY_SOURCE and IDENTITY_VALUE. You can regenerate the same key later on by passing the same values for the KEY_SOURCE and IDENTITY_VALUE.



                Here is a quick example:



                CREATE CERTIFICATE CreditCards
                WITH SUBJECT = 'Customer Credit Card Numbers';
                GO

                CREATE SYMMETRIC KEY CreditCards_Key_01
                WITH KEY_SOURCE = 'A pass phrase from which to derive the key.',
                IDENTITY_VALUE = 'An identity phrase from which to generate a GUID for tagging data that is encrypted with a temporary key',
                ALGORITHM = AES_256
                ENCRYPTION BY CERTIFICATE CreditCards;
                GO

                OPEN SYMMETRIC KEY CreditCards_Key_01
                DECRYPTION BY CERTIFICATE CreditCards

                UPDATE MyTable
                SET EncryptedCreditCardNumber = EncryptByKey(Key_GUID('CreditCards_Key_01'), CreditCardNumber);
                GO


                To quote Michael Coles from his article




                "For my tastes, it would make more sense to require IDENTITY_VALUE and KEY_SOURCE options by default."




                Not sure why they didn't do it that way, or at least highlight that in the example they have out there on the MSDN!






                share|improve this answer


























                  0












                  0








                  0







                  After doing some more research I found this article on "Cloning" Symmetric Keys.



                  You can instruct the CREATE SYMMETRIC KEY function to generate the Symmetric Key using a KEY_SOURCE and IDENTITY_VALUE. You can regenerate the same key later on by passing the same values for the KEY_SOURCE and IDENTITY_VALUE.



                  Here is a quick example:



                  CREATE CERTIFICATE CreditCards
                  WITH SUBJECT = 'Customer Credit Card Numbers';
                  GO

                  CREATE SYMMETRIC KEY CreditCards_Key_01
                  WITH KEY_SOURCE = 'A pass phrase from which to derive the key.',
                  IDENTITY_VALUE = 'An identity phrase from which to generate a GUID for tagging data that is encrypted with a temporary key',
                  ALGORITHM = AES_256
                  ENCRYPTION BY CERTIFICATE CreditCards;
                  GO

                  OPEN SYMMETRIC KEY CreditCards_Key_01
                  DECRYPTION BY CERTIFICATE CreditCards

                  UPDATE MyTable
                  SET EncryptedCreditCardNumber = EncryptByKey(Key_GUID('CreditCards_Key_01'), CreditCardNumber);
                  GO


                  To quote Michael Coles from his article




                  "For my tastes, it would make more sense to require IDENTITY_VALUE and KEY_SOURCE options by default."




                  Not sure why they didn't do it that way, or at least highlight that in the example they have out there on the MSDN!






                  share|improve this answer













                  After doing some more research I found this article on "Cloning" Symmetric Keys.



                  You can instruct the CREATE SYMMETRIC KEY function to generate the Symmetric Key using a KEY_SOURCE and IDENTITY_VALUE. You can regenerate the same key later on by passing the same values for the KEY_SOURCE and IDENTITY_VALUE.



                  Here is a quick example:



                  CREATE CERTIFICATE CreditCards
                  WITH SUBJECT = 'Customer Credit Card Numbers';
                  GO

                  CREATE SYMMETRIC KEY CreditCards_Key_01
                  WITH KEY_SOURCE = 'A pass phrase from which to derive the key.',
                  IDENTITY_VALUE = 'An identity phrase from which to generate a GUID for tagging data that is encrypted with a temporary key',
                  ALGORITHM = AES_256
                  ENCRYPTION BY CERTIFICATE CreditCards;
                  GO

                  OPEN SYMMETRIC KEY CreditCards_Key_01
                  DECRYPTION BY CERTIFICATE CreditCards

                  UPDATE MyTable
                  SET EncryptedCreditCardNumber = EncryptByKey(Key_GUID('CreditCards_Key_01'), CreditCardNumber);
                  GO


                  To quote Michael Coles from his article




                  "For my tastes, it would make more sense to require IDENTITY_VALUE and KEY_SOURCE options by default."




                  Not sure why they didn't do it that way, or at least highlight that in the example they have out there on the MSDN!







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Feb 2 '12 at 20:06









                  John BubriskiJohn Bubriski

                  13119




                  13119

























                      0














                      You should simulate your proposed disaster and confirm you can recover on a test machine. Whatever you need should become apparent pretty quickly during the restore process.






                      share|improve this answer




























                        0














                        You should simulate your proposed disaster and confirm you can recover on a test machine. Whatever you need should become apparent pretty quickly during the restore process.






                        share|improve this answer


























                          0












                          0








                          0







                          You should simulate your proposed disaster and confirm you can recover on a test machine. Whatever you need should become apparent pretty quickly during the restore process.






                          share|improve this answer













                          You should simulate your proposed disaster and confirm you can recover on a test machine. Whatever you need should become apparent pretty quickly during the restore process.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Feb 15 '12 at 19:58









                          mike42mike42

                          717




                          717






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Server Fault!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f356237%2fdo-i-need-to-back-up-the-sql-server-encryption-password-and-symmetric-key%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              As a Security Precaution, the user account has been locked The Next CEO of Stack OverflowMS...

                              Список ссавців Італії Природоохоронні статуси | Список |...

                              Українські прізвища Зміст Історичні відомості |...