AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 24991
Accepted
Royi Namir
Royi Namir
Asked: 2012-09-27 12:03:36 +0800 CST2012-09-27 12:03:36 +0800 CST 2012-09-27 12:03:36 +0800 CST

Noções básicas sobre criptografia e backups do MS SQL Server

  • 772

Então, eu estava perguntando no chat sobre a segurança dos arquivos de backup do SQL Server.

Disseram-me que, se um invasor tiver acesso ao arquivo .bak não criptografado, poderá ter acesso aos dados.

Então, vamos olhar para este cenário:

OPEN SYMMETRIC KEY MySymetricKey DECRYPTION
BY CERTIFICATE MyCertificate

aviso - não há senha aqui.

e então criptografamos nossas tabelas por:

UPDATE tbl1
 SET namePAss = ENCRYPTBYKEY(KEY_GUID('MySymetricKey'),name)
GO

Agora digamos que um hacker pegou meu bakarquivo. Tudo o que ele precisa fazer para visualizar os dados (em seu próprio computador e sql-server) é:

SELECT  
       convert( NVARCHAR(max), decryptbykey(namePAss)) 
FROM tbl1

Ele ainda seria capaz de acessar os dados?

sql-server security
  • 2 2 respostas
  • 1087 Views

2 respostas

  • Voted
  1. Best Answer
    Remus Rusanu
    2012-09-27T12:34:19+08:002012-09-27T12:34:19+08:00
    OPEN SYMMETRIC KEY MySymetricKey DECRYPTION`  
     BY CERTIFICATE MyCertificate`
    

    aviso - não há senha aqui.

    Sim existe. Você abriu o certificado de MyCertificate alguma forma , não foi? Pode haver vários casos, mas qualquer um deles acaba com uma senha:

    • você abriu o certificado usando uma senha (obviamente, há uma senha neste caso)
    • o certificado é criptografado com a chave mestra do banco de dados e você abriu a chave mestra do banco de dados usando a senha do DBMK -> essa é a senha
    • o certificado é criptografado com a chave mestra do banco de dados e o DBMK é criptografado com a chave mestra do serviço. A chave mestra do serviço, por sua vez, foi aberta usando a chave de armazenamento DPAPI da conta de serviço, que é criptografada com a senha da conta -> e essa é a senha

    Na última chave parece não haver senha, mas existe uma: a senha da conta de serviço. O backup, quando restaurado em um host diferente, não terá a criptografia da chave mestra de serviço da chave mestra do banco de dados e isso tornará os dados inacessíveis.

    Consulte a hierarquia de criptografia

    • 9
  2. Eric Humphrey - lotsahelp
    2012-09-27T12:29:24+08:002012-09-27T12:29:24+08:00

    A resposta curta é não, pois eles precisariam da chave mestra do banco de dados e sua senha.

    Aqui está uma boa visão geral da criptografia de certificados: http://www.mssqltips.com/sqlservertip/1319/sql-server-2005-encryption-certificates-overview/

    E um para chaves mestras: http://www.mssqltips.com/sqlservertip/1312/managing-sql-server-2005-master-keys-for-encryption/

    • 4

relate perguntas

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Os procedimentos armazenados impedem a injeção de SQL?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Protegendo senhas de banco de dados

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como ver a lista de bancos de dados no Oracle?

    • 8 respostas
  • Marko Smith

    Quão grande deve ser o mysql innodb_buffer_pool_size?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    restaurar a tabela do arquivo .frm e .ibd?

    • 10 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve