O conteúdo deste artigo são as notas de revisão do curso de autoaprendizagem "Introdução ao Sistema de Banco de Dados" pelo Professor Wang Shan e Sa Shixuan da Universidade Renmin da China. O vídeo de aprendizagem vem da Estação Xiaopo ( portal ), correspondente ao vídeo P28- P31, que pertence ao livro "[Fundamentos do primeiro capítulo]" "[Capítulo 4 Segurança do banco de dados]".
Artigo Diretório
![Insira a descrição da imagem aqui](https://img-blog.csdnimg.cn/20210114092131713.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQyMTc5OA==,size_16,color_FFFFFF,t_70)
Visão geral da segurança do banco de dados P28
28.1 Fatores inseguros de banco de dados
- Acesso malicioso e destruição do banco de dados por usuários não autorizados (usuários ilegais se fazem passar por usuários legítimos)
- Dados importantes ou confidenciais no banco de dados vazam (destruídos diretamente por usuários ilegais)
após o outono ser resolvido - auditoria - A vulnerabilidade do ambiente de segurança (o pano de fundo é a segurança do sistema do computador)
28.2 Padrões de segurança
- Padrão TCSEC
- Padrão CC
P29 controle de segurança de banco de dados 1
29.1 Autenticação de identidade do usuário
- Medidas de proteção de segurança externa
- Métodos:
① Autenticação de senha estática (fácil de ser atacado)
② Autenticação de senha dinâmica (uma senha por vez)
③ Autenticação de cartão inteligente
④ Autenticação biométrica
29.2 Controle de acesso
- Defina as permissões do usuário
- Verificação de autoridade legal
29.3 Controle de acesso autônomo
- Os usuários têm diferentes direitos de acesso a diferentes objetos de dados
- Diferentes usuários têm diferentes permissões no mesmo objeto
- O usuário pode sublicenciar o limite
29.4 Autorização: Concessão e Revogação
- Conceda permissões a GRANT (a autorização de ciclo não é permitida)
GRANT <权限> [,<权限>]……
ON <对象类型> <对象名> [,<对象类型> <对象名>]……
TO <用户> [,<用户>]……
[WITH GRANT OPTION];
// 【一种权限授予一个用户】把查询Student表权限授给用户U1
GRANT SELECT
ON TABLE Student
TO U1;
// 【多种权限授予多个用户】把对Student表和Course表的全部权限授给用户U2和U3
GRANT ALL PRIVILEGES
ON TABLE Student, Course
TO U2, U3;
// 【授予所有用户】把对SC表的查询权限授给所有用户
GRANT SELECT
ON TABLE SC
TO PUBLIC;
// 【对基本表和属性列不同对象的授权】把查询Student表和修改学生学号的权限授给用户U4
GRANT UPDATE(Sno), SELECT
ON TABLE Student
TO U4;
// 【授权】把对表SC的INSERT权限授给用户U5,并允许其再将此权限授予其他用户
GRANT INSERT // 授给用户U5,并允许其再将此权限授予其他用户
ON TABLE SC
TO U5
WITH GRANT OPTION;
GRANT INSERT // 授给用户U6,并允许其再将此权限授予其他用户
ON TABLE SC
TO U6
WITH GRANT OPTION;
GRANT INSERT // 授给用户U7,不允许再授予其他用户
ON TABLE SC
TO U7;
- Revogação de autoridade (REVOKE)
REVOKE <权限> [,<权限>]……
ON <对象类型> <对象名> [,<对象类型> <对象名>]……
FROM <用户> [,<用户>]……[CASCADE | RESTRICT];
// 把用户U4修改学生学号的权限收回
REVOKE UPDATE(Sno)
ON TABLE Student
FROM U4;
// 收回所有用户对表SC的查询权限
REVOKE SELECT
ON TABLE SC
FROM PUBLIC;
// 把用户U5对SC表的INSERT权限收回
REVOKE INSERT
ON TABLE SC
FROM U5 CASCADE; // 级联收回U6和U7从U5这里获得的INSERT权限
P30 banco de dados de controle de segurança 2
30.1 Função de banco de dados
- Função é uma coleção de permissões: uma função de banco de dados é um conjunto nomeado de permissões relacionadas às operações do banco de dados. Evite a duplicação de declarações
- Criação de uma função
CREATE ROLE <角色名>
- Autorizar a função
GRANT <权限> [,<权限>]……
ON <对象类型>对象名
TO <角色>[,<角色>]……
- Autorizar uma função para outras funções ou usuários
GRANT <角色1> [,<角色2>]……
TO <角色3>[,<用户1>]……
[WITH ADMIN OPTION]
- Revogação de permissões de função
REVOKE <权限> [,<权限>]……
ON <对象类型>对象名
FROM <角色>[,<角色>]……
- Exemplo
// (1)创建角色R1
CREATE ROLE R1;
// (2)给角色R1授权拥有Student表的SELECT、UPDATE、INSERT权限
GRANT SELECT, UPDATE, INSERT
ON TABLE Student
TO R1;
// (3)将角色R1授予三个用户:王平,张明,赵玲
GRANT R1
TO 王平, 张明, 赵玲;
// (4)一次性地通过R1来收回王平的这三个权限
REVOKE R1
FROM 王平
30.2 Método de controle de acesso obrigatório
- O Controle de Acesso Autônomo (MAC) pode controlar efetivamente o acesso a dados confidenciais por meio de um mecanismo de autorização, mas haverá "divulgação não intencional".
- Controle de armazenamento obrigatório
P31 Visualização, auditoria, criptografia de dados e outras proteções de segurança
31.1 Visualizar mecanismo
- O mecanismo de visualização absorve indiretamente as definições de autoridade do usuário que suportam o acesso a ela.
// 建立计算机系学生的视图
CREATE VIEW CS_Student
AS
SELECT *
FROM Student
WHERE Sdept='CS';
// 授予王平老师查询权限
GRANT SELECT
ON CS_Student
TO 王平;
// 授予张明系主任查询以及增删改权限
GRANT ALL PRIVILEGES
ON CS_Student
TO 张明;
31.2 Mecanismo de auditoria
- Habilite um registro de auditoria dedicado (após a queda: tudo feito foi registrado)
- No entanto, a auditoria consome muito tempo e espaço, e precisa ser adotada de acordo com a situação real.
// 对修改SC表结构或修改SC表数据的操作进行审计
AUDIT ALTER, UPDATE
ON SC;
// 取消对SC表的一切审计
NOAUDIT ALTER, UPDATE
ON SC;
31.3 Criptografia de dados
- Evitar que os dados do banco de dados no armazenamento e transporte sejam comprometidos durante
- Criptografia de
armazenamento① Criptografia de armazenamento transparente② Criptografia de armazenamento
não transparente - Criptografia de transmissão
① Criptografia de link (cabeçalho + mensagem são criptografados)
② Criptografia ponta a ponta (apenas a mensagem é criptografada, o cabeçalho não é criptografado)
31.4 Outra proteção de segurança
- Controle de inferência
- Canal secreto
notas:
- O que pode identificar exclusivamente uma tupla em relação a R é o seu (código principal, código candidato, código completo).
- O modelo de relacionamento é estático e estável, enquanto o relacionamento é dinâmico e muda com o tempo.
- A estrutura de dados básica do modelo de dados relacional é (relação).