deterministic or randomized encryption in SQL Server 2019 “Always Encrypted”How to enable encrypted connections to a SQL Server instance?SQL Server 2000 Encryption CertificatesSQl server 2008 permission and encryptionSQL Server encryption/decryptionSQL Server Column Level Encryption - Rotating KeysSQL server EncryptionIs data always encrypted in IPv6 communications?SQL Server encryption - rotate keys for PCI complianceSql Server - Error attaching mdf file encrypted via Encrypted File System (EFS)Encrypted offsite backups - where to store the encryption key?

What aircraft was used as Air Force One for the flight between Southampton and Shannon?

Why does ''cat "$1:-/dev/stdin | ... &>/dev/null'' work in bash but not dash?

Has there been a multiethnic Star Trek character?

Is it possible to have 2 different but equal size real number sets that have the same mean and standard deviation?

Is there a set of positive integers of density 1 which contains no infinite arithmetic progression?

How to you show a 3-center 2-electron bond in a Lewis structure?

Extreme flexible working hours: how to get to know people and activities?

Ability To Change Root User Password (Vulnerability?)

How come the nude protesters were not arrested?

What would be the way to say "just saying" in German? (Not the literal translation)

How to trick the reader into thinking they're following a redshirt instead of the protagonist?

Fermat's statement about the ancients: How serious was he?

Why are MBA programs closing?

Why Does Mama Coco Look Old After Going to the Other World?

Should I put programming books I wrote a few years ago on my resume?

Is it possible to have a wealthy country without a middle class?

If there's something that implicates the president why is there then a national security issue? (John Dowd)

Discarding ox heart fat

Are there any normal animals in Pokemon universe?

What is the purpose of bonds within an investment portfolio?

Does putting salt first make it easier for attacker to bruteforce the hash?

Can a human be transformed into a Mind Flayer?

My boss want to get rid of me - what should I do?

Why can I traceroute to this IP address, but not ping?



deterministic or randomized encryption in SQL Server 2019 “Always Encrypted”


How to enable encrypted connections to a SQL Server instance?SQL Server 2000 Encryption CertificatesSQl server 2008 permission and encryptionSQL Server encryption/decryptionSQL Server Column Level Encryption - Rotating KeysSQL server EncryptionIs data always encrypted in IPv6 communications?SQL Server encryption - rotate keys for PCI complianceSql Server - Error attaching mdf file encrypted via Encrypted File System (EFS)Encrypted offsite backups - where to store the encryption key?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















Example use case: We want to protect the privacy of potential patients, that is, keep their medical procedures, if any, from being divulged. Here is a simplistic schema to illuminate the issues that I have questions about relating to Microsoft SQL Server encryption options. The questions are at the bottom.



Table1: POTENTIALPATIENTS
This is a set of people who are authorized to use the medical services. About 250,000 rows. NOTE: We need to do (rapid response) full-text searching on patientname. We also want to prevent duplicates as best we can in the absence of something like a "unique patient number".



ppid uniqueidentifier primary key
patientname nvarchar(100)
birthdate date
last4digitsOfSSN char(4)

-- prevent duplicates as best we can
CREATE UNIQUE INDEX UX_POTENTIALPATIENTS on
POTENTIALPATIENTS(patientname, birthdate, last4digitsOfSSN)

-- for lookups using `like` or `contains` operators
(pseudo) CREATE FULLTEXT INDEX ON PATIENTNAME


Table2: MEDICALPROCEDURES
This is the table showing the medical procedure(s) a potential (now actual) patient has had.



id identity(1,1) primary key
ppid uniqueidentifier
procedurecode varchar(10)
proceduredate date

ALTER TABLE MEDICALPROCEDURES ADD CONSTRAINT
FK_MEDICALPROCEDURES_POTENTIALPATIENTS
FOREIGN KEY(ppid) REFERENCES POTENTIALPATIENTS(ppid)

-- to quickly find all procedures for a given patient
CREATE INDEX IX_MEDICALPROCEDURES_PPID on MEDICALPROCEDURES(ppid)


Forgetting for a moment about our other application requirements (duplicate prevention, fast name lookups, fast gathering of a specified patient's procedures) we can protect patient privacy (that is, keep hidden what procedures they have had, if any) by doing either of these things:



a) encrypt column patientname, which would obscure the patient name



or



b) encrypt columns POTENTIALPATIENT.ppid and MEDICALPROCEDURES.ppid, the columns involved in the foreign-key constraint, which would obscure which patients have had which procedures



QUESTIONS:



If we encrypt patientname can we do quick patient-name lookups using LIKE/CONTAINS operators? Can patientname participate in a unique composite index?



If we encrypt the uniqueidentifier columns in the foreign-key relationship, can we quickly find all procedures a specified patient has had, avoiding a full table scan?










share|improve this question




























    0















    Example use case: We want to protect the privacy of potential patients, that is, keep their medical procedures, if any, from being divulged. Here is a simplistic schema to illuminate the issues that I have questions about relating to Microsoft SQL Server encryption options. The questions are at the bottom.



    Table1: POTENTIALPATIENTS
    This is a set of people who are authorized to use the medical services. About 250,000 rows. NOTE: We need to do (rapid response) full-text searching on patientname. We also want to prevent duplicates as best we can in the absence of something like a "unique patient number".



    ppid uniqueidentifier primary key
    patientname nvarchar(100)
    birthdate date
    last4digitsOfSSN char(4)

    -- prevent duplicates as best we can
    CREATE UNIQUE INDEX UX_POTENTIALPATIENTS on
    POTENTIALPATIENTS(patientname, birthdate, last4digitsOfSSN)

    -- for lookups using `like` or `contains` operators
    (pseudo) CREATE FULLTEXT INDEX ON PATIENTNAME


    Table2: MEDICALPROCEDURES
    This is the table showing the medical procedure(s) a potential (now actual) patient has had.



    id identity(1,1) primary key
    ppid uniqueidentifier
    procedurecode varchar(10)
    proceduredate date

    ALTER TABLE MEDICALPROCEDURES ADD CONSTRAINT
    FK_MEDICALPROCEDURES_POTENTIALPATIENTS
    FOREIGN KEY(ppid) REFERENCES POTENTIALPATIENTS(ppid)

    -- to quickly find all procedures for a given patient
    CREATE INDEX IX_MEDICALPROCEDURES_PPID on MEDICALPROCEDURES(ppid)


    Forgetting for a moment about our other application requirements (duplicate prevention, fast name lookups, fast gathering of a specified patient's procedures) we can protect patient privacy (that is, keep hidden what procedures they have had, if any) by doing either of these things:



    a) encrypt column patientname, which would obscure the patient name



    or



    b) encrypt columns POTENTIALPATIENT.ppid and MEDICALPROCEDURES.ppid, the columns involved in the foreign-key constraint, which would obscure which patients have had which procedures



    QUESTIONS:



    If we encrypt patientname can we do quick patient-name lookups using LIKE/CONTAINS operators? Can patientname participate in a unique composite index?



    If we encrypt the uniqueidentifier columns in the foreign-key relationship, can we quickly find all procedures a specified patient has had, avoiding a full table scan?










    share|improve this question
























      0












      0








      0








      Example use case: We want to protect the privacy of potential patients, that is, keep their medical procedures, if any, from being divulged. Here is a simplistic schema to illuminate the issues that I have questions about relating to Microsoft SQL Server encryption options. The questions are at the bottom.



      Table1: POTENTIALPATIENTS
      This is a set of people who are authorized to use the medical services. About 250,000 rows. NOTE: We need to do (rapid response) full-text searching on patientname. We also want to prevent duplicates as best we can in the absence of something like a "unique patient number".



      ppid uniqueidentifier primary key
      patientname nvarchar(100)
      birthdate date
      last4digitsOfSSN char(4)

      -- prevent duplicates as best we can
      CREATE UNIQUE INDEX UX_POTENTIALPATIENTS on
      POTENTIALPATIENTS(patientname, birthdate, last4digitsOfSSN)

      -- for lookups using `like` or `contains` operators
      (pseudo) CREATE FULLTEXT INDEX ON PATIENTNAME


      Table2: MEDICALPROCEDURES
      This is the table showing the medical procedure(s) a potential (now actual) patient has had.



      id identity(1,1) primary key
      ppid uniqueidentifier
      procedurecode varchar(10)
      proceduredate date

      ALTER TABLE MEDICALPROCEDURES ADD CONSTRAINT
      FK_MEDICALPROCEDURES_POTENTIALPATIENTS
      FOREIGN KEY(ppid) REFERENCES POTENTIALPATIENTS(ppid)

      -- to quickly find all procedures for a given patient
      CREATE INDEX IX_MEDICALPROCEDURES_PPID on MEDICALPROCEDURES(ppid)


      Forgetting for a moment about our other application requirements (duplicate prevention, fast name lookups, fast gathering of a specified patient's procedures) we can protect patient privacy (that is, keep hidden what procedures they have had, if any) by doing either of these things:



      a) encrypt column patientname, which would obscure the patient name



      or



      b) encrypt columns POTENTIALPATIENT.ppid and MEDICALPROCEDURES.ppid, the columns involved in the foreign-key constraint, which would obscure which patients have had which procedures



      QUESTIONS:



      If we encrypt patientname can we do quick patient-name lookups using LIKE/CONTAINS operators? Can patientname participate in a unique composite index?



      If we encrypt the uniqueidentifier columns in the foreign-key relationship, can we quickly find all procedures a specified patient has had, avoiding a full table scan?










      share|improve this question














      Example use case: We want to protect the privacy of potential patients, that is, keep their medical procedures, if any, from being divulged. Here is a simplistic schema to illuminate the issues that I have questions about relating to Microsoft SQL Server encryption options. The questions are at the bottom.



      Table1: POTENTIALPATIENTS
      This is a set of people who are authorized to use the medical services. About 250,000 rows. NOTE: We need to do (rapid response) full-text searching on patientname. We also want to prevent duplicates as best we can in the absence of something like a "unique patient number".



      ppid uniqueidentifier primary key
      patientname nvarchar(100)
      birthdate date
      last4digitsOfSSN char(4)

      -- prevent duplicates as best we can
      CREATE UNIQUE INDEX UX_POTENTIALPATIENTS on
      POTENTIALPATIENTS(patientname, birthdate, last4digitsOfSSN)

      -- for lookups using `like` or `contains` operators
      (pseudo) CREATE FULLTEXT INDEX ON PATIENTNAME


      Table2: MEDICALPROCEDURES
      This is the table showing the medical procedure(s) a potential (now actual) patient has had.



      id identity(1,1) primary key
      ppid uniqueidentifier
      procedurecode varchar(10)
      proceduredate date

      ALTER TABLE MEDICALPROCEDURES ADD CONSTRAINT
      FK_MEDICALPROCEDURES_POTENTIALPATIENTS
      FOREIGN KEY(ppid) REFERENCES POTENTIALPATIENTS(ppid)

      -- to quickly find all procedures for a given patient
      CREATE INDEX IX_MEDICALPROCEDURES_PPID on MEDICALPROCEDURES(ppid)


      Forgetting for a moment about our other application requirements (duplicate prevention, fast name lookups, fast gathering of a specified patient's procedures) we can protect patient privacy (that is, keep hidden what procedures they have had, if any) by doing either of these things:



      a) encrypt column patientname, which would obscure the patient name



      or



      b) encrypt columns POTENTIALPATIENT.ppid and MEDICALPROCEDURES.ppid, the columns involved in the foreign-key constraint, which would obscure which patients have had which procedures



      QUESTIONS:



      If we encrypt patientname can we do quick patient-name lookups using LIKE/CONTAINS operators? Can patientname participate in a unique composite index?



      If we encrypt the uniqueidentifier columns in the foreign-key relationship, can we quickly find all procedures a specified patient has had, avoiding a full table scan?







      sql-server encryption






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked May 24 at 14:50









      TimTim

      135129




      135129




















          0






          active

          oldest

          votes












          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%2f968728%2fdeterministic-or-randomized-encryption-in-sql-server-2019-always-encrypted%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          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%2f968728%2fdeterministic-or-randomized-encryption-in-sql-server-2019-always-encrypted%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

          How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

          What if the end-user didn't have the required library?What is setup.py?What is a clean, pythonic way to have multiple constructors in Python?What does Ruby have that Python doesn't, and vice versa?What is the reason for having '//' in Python?How do I create a namespace package in Python?How to package shared objects that python modules depend on?setuptools vs. distutils: why is distutils still a thing?Navigation in Windows 10 vs code not going to virtualenv library when the same library is installed at user levelPython create package for local usePackaging a project that uses multiple python versionsWhy is permission denied on pip install except for when “--user” is included at end of command?

          Why did Thanos need his ship to help him in the battle scene?Which actor plays Thanos in the Avengers mid-credits scene?Are there economic implications portrayed in comics where the buildings and cities are ruined almost daily?Old X-Men comic where team travels to alien world with a ring-like sun that needs recharging?Why does Ego need help sleeping?Is there an objective answer to who “the strongest Avenger” is?How did Banner get unstuck?Why did Thanos get hit?How did Thanos (or anyone) know the Infinity Stones would give him this power?Did Thanos leave Eitri alive for his after-sales service?In Avengers 1, why does Thanos need Loki?