Aspectos do controle de acesso ao sistema de banco de dados

1. Introdução ao contexto

A segurança do sistema de informação consiste em proteger vários tipos de recursos de dados nos sistemas de informação contra acesso não autorizado (incluindo visualização, adição, modificação, exclusão) e garantir a integridade, confidencialidade e disponibilidade dos dados. No atual contexto de desenvolvimento da Internet de Todas as Coisas, a segurança da informação é particularmente importante. Como uma parte importante da segurança da informação, o controlo de acesso pode não só autenticar as identidades dos utilizadores quando acedem aos sistemas de informação, mas também controlar os direitos de acesso dos utilizadores à informação de uma forma detalhada. Por ser o software básico do sistema de informação, o banco de dados é responsável pelo armazenamento dos dados. Para garantir a integridade, confidencialidade e disponibilidade das informações, é necessário um rigoroso controle de acesso.

A seguir está um trecho de parte do conteúdo. Clique no vídeo para ver a versão completa.

2. Introdução ao modelo de controle de acesso

Funções e elementos principais de controle de acesso

As funções principais do controle de acesso: autenticação de identidade e controle de acesso a recursos, que estão incorporadas nos quatro aspectos a seguir: permitir que sujeitos legítimos entrem no sistema protegido; proibir que sujeitos ilegais entrem no sistema protegido; permitir que sujeitos legítimos acessem recursos protegidos; acesso; proibir o acesso não autorizado por sujeitos legítimos a recursos protegidos.

Os três elementos do controle de acesso são: sujeito, objeto e política de controle:

  • Sujeito, a entidade que solicita acesso aos recursos, que pode ser um usuário do sistema, processo ou dispositivo, etc.;
  • Objeto, a entidade de recurso que está sendo acessada, pode ser um arquivo ou objeto de banco de dados, etc.;
  • Uma estratégia de controle é uma coleção de atributos que podem ser lidos, escritos ou executados.

Autenticação de identidade

1. A autenticação de identidade baseada em senha usa nome de usuário e senha para autenticação de identidade.

2. A autenticação de identidade baseada em certificado usa certificados assinados para autenticação de identidade. O mais comumente usado é o certificado TLS (Transport Layer Security, Transport Layer Security Protocol). Este método pode não apenas verificar a legalidade do certificado, mas também verificar as informações que combinam o certificado e o sistema. A verificação da legalidade de um certificado geralmente requer a verificação da validade do certificado (o certificado está dentro do período de validade) e da credibilidade (a cadeia de certificados é confiável). As informações combinadas com o sistema geralmente são Nome Comum e estão relacionadas às informações do usuário do sistema.

3. Autenticação de identidade baseada em centro de autenticação de três partes Em sistemas de informação com negócios complexos ou muitos subsistemas, é necessário usar um centro de autenticação unificado para autenticação de identidade. As arquiteturas de autenticação de identidade unificada comumente usadas incluem LDAP, Radius, GSSAPI, etc. Existem muitas implementações específicas de GSSAPI, como KerberosV5, NTLM e SPNEGO.

4. A autenticação de identidade baseada em biometria é baseada nas características biométricas exclusivas de cada usuário, incluindo impressões digitais, voz, reconhecimento facial, íris, caligrafia, formato da mão, impressões palmares, etc.

5. A autenticação de identidade baseada em dispositivos de hardware utiliza dispositivos de hardware vinculados à identidade, como cartões de identificação, cartões IC, etc.

6. OTP (One-Time-Password) é uma senha usada apenas uma vez durante o processo de autenticação de identidade. Depois que uma senha é usada, ela se torna inválida imediatamente e não pode ser reutilizada. OTP geralmente não é usado de forma independente e precisa ser combinado com outros métodos de autenticação e usado em cenários 2FA ou MFA para aumentar a segurança da autenticação de identidade.

7. A configuração de autenticação de identidade baseada em HBA (Autenticação Baseada em Host) configura o método de autenticação de identidade e parâmetros de autenticação do tipo de acesso especificado, recursos de acesso especificados, fontes especificadas, usuários especificados, alcançando assim uma configuração flexível do método de autenticação de identidade.

3. Controle de acesso a recursos

Histórico de desenvolvimento do modelo de controle de acesso

Segurança da informação Com o desenvolvimento da informatização, os modelos de controle de acesso também estão em constante evolução. Os primeiros foram MAC (controle de acesso obrigatório, controle de acesso obrigatório) e DAC (controle de acesso discricionário, controle de acesso discricionário), e mais tarde IBAC (controle de acesso baseado em identidade, controle de acesso baseado em identidade) e ACL (listas de controle de acesso, acesso listas de controle) apareceram).

Com o desenvolvimento dos sistemas de informação, surgiu o popular RBAC (Role-Based Access Control, controle de acesso baseado em funções) e, com base nisso, foi desenvolvido o ABAC (Attribute-Based Access Control, controle de acesso baseado em atributos). Em alguns campos, especialmente no campo de banco de dados, o LBAC (Label-Based Access Control) foi desenvolvido e utilizado.

Introdução ao modelo de controle de acesso

1. MAC MAC, controle de acesso obrigatório. O aspecto obrigatório do MAC é que as permissões sejam gerenciadas por administradores dedicados. No campo da confidencialidade com requisitos de segurança relativamente elevados, o MAC construiu um modelo de controle de acesso em torno do MLS (Segurança Multinível, segurança multinível). O MLS foi originalmente concebido como um círculo concêntrico com múltiplas camadas de controle de acesso, com níveis mais elevados de segurança em direção ao centro.

2. DAC DAC, controle de acesso autônomo. A autonomia do DAC reflecte-se no facto de os utilizadores poderem partilhar selectivamente os seus recursos com outros utilizadores de acordo com os seus próprios desejos.

3. ACL/IBAC ACL, lista de controle de acesso. Uma ACL é uma estrutura de dados, geralmente associada diretamente a um recurso (como um arquivo, registro de banco de dados ou recurso de rede), que lista os usuários com direitos de acesso e suas permissões de acesso (como leitura, gravação, execução, etc.). . Uma ACL geralmente consiste em um conjunto de regras (ou seja, entradas de ACL). Cada entrada de ACL define uma política de controle de acesso, incluindo permitir ou negar tipos específicos de solicitações de acesso.

IBAC, controle de acesso baseado em identidade. O IBAC autoriza os usuários a acessar recursos com base em sua identidade (como nome de usuário ou ID de usuário). Associar diretamente os direitos de acesso à identidade de um indivíduo é um dos métodos mais intuitivos de controle de acesso. O IBAC dá mais ênfase ao papel da identidade do usuário e controla os direitos de acesso através de informações de identidade. O modelo IBAC realiza a associação entre usuários e permissões associando as informações de identidade do usuário às permissões de acesso aos recursos. O núcleo do IBAC é o uso de ACLs para definir quais usuários podem acessar quais recursos.

4. RBAC RBAC, controle de acesso baseado em funções. O RBAC é o modelo de controle de acesso mais utilizado nos sistemas de informação atuais. O conceito central do RBAC é que as permissões sejam associadas a funções e os usuários sejam atribuídos às funções apropriadas. Uma função é uma coleção de usuários de um lado e uma coleção de permissões do outro. Ela atua como um intermediário que combina coleções de usuários e coleções de permissões. No campo do código aberto, as famosas estruturas de código aberto do RBAC incluem Spring Security e Apache Shiro.

Na prática, o RBAC desenvolveu gradualmente quatro modelos de referência baseados em diferentes cenários de aplicação: • RBAC0: modelo básico, o requisito mínimo para qualquer sistema que pretenda suportar RBAC; • RBAC1: modelo avançado, baseado no RBAC0, adicionando funções hierárquicas; Uma função pode ser membro de uma função ou pode herdar permissões de seu pai; • RBAC2: Modelo avançado, baseado em RBAC0, adiciona a função de separação de funções para evitar conflitos de interesse causados ​​por usuários com muitas permissões. A separação comum de funções inclui funções estáticas mutuamente exclusivas, funções mutuamente exclusivas em tempo de execução, restrições de cardinalidade (número total de funções), restrições de pré-requisitos, etc. • RBAC3: modelo avançado, baseado em RBAC0, combina as vantagens de RBAC1 e RBAC2;

5. ABAC ABAC, controle de acesso baseado em atributos. ABAC utiliza os atributos de entidades relacionadas como base para autorização e faz julgamentos de autorização calculando dinamicamente se um ou um grupo de atributos satisfaz determinadas condições.

Política de controle de acesso do ABAC: Usuários com atributos u são permitidos/proibidos de realizar operações com atributos o em recursos com atributos de objeto d sob condições de atributos c (u, c, d, o são exemplos aleatórios). Portanto, o núcleo do ABAC são 4 tipos de atributos de entidade: Atributos do usuário, atributos possuídos pelos usuários, como idade, departamento, cargo, etc .; acesso e subclasses permitidas para acesso à rede, etc.; atributos de recursos, atributos possuídos por recursos, como tipo de arquivo, sensibilidade de dados, etc.;

O ABAC pode alcançar um controle de permissão muito flexível e, teoricamente, atender a quase todos os tipos de necessidades de controle de acesso.

6. LBAC LBAC, controle de acesso baseado em rótulos. No LBAC, os usuários e os dados recebem rótulos e as comparações são feitas com base nos rótulos para determinar se o usuário pode acessar os dados. O relacionamento entre usuários, dados e tags pode ser descrito pelo diagrama a seguir. Rótulos de dados: especificam a sensibilidade das linhas de dados; Rótulos de usuário: fornecem autorização apropriada para usuários;

4. Requisitos dos padrões de banco de dados sobre controle de acesso

"GB/T 20273-2019 Tecnologia de Segurança da Informação - Requisitos Técnicos de Segurança para Sistemas de Gerenciamento de Banco de Dados", os requisitos para controle de acesso envolvem principalmente 27 componentes funcionais em três categorias funcionais principais.

Proteção de dados do usuário

Identificação e identificação

Gerenciamento de segurança

5. Controle de acesso KaiwuDB

O controle de acesso KaiwuDB também inclui duas partes: autenticação de identidade e controle de acesso.

Autenticação de identidade KaiwuDB

1. Autenticação de identidade baseada em senha KaiwuDB suporta autenticação de identidade baseada em senha. Medidas de segurança da senha do usuário:

  • Método de criptografia de armazenamento de senha (algoritmo internacional e algoritmo de segredo comercial)
  • A senha não pode conter o nome de usuário e sua sequência inversa
  • Limite mínimo de comprimento da senha
  • Limite máximo de comprimento de senha
  • Número de letras maiúsculas
  • Número de letras minúsculas
  • Número de dígitos
  • Dígitos de símbolos especiais
  • Limite no número de categorias de caracteres incluídos (letras maiúsculas, letras minúsculas, números, símbolos especiais)

2. Autenticação de identidade baseada em certificado KaiwuDB suporta autenticação de identidade baseada em certificados TLS. O tempo de expiração e a cadeia de certificados do certificado podem ser verificados, e o nome comum no certificado e o nome de usuário no sistema de banco de dados podem ser verificados.

3. Autenticação de identidade baseada em autenticação unificada de três partes KaiwuDB suporta autenticação de identidade baseada em autenticação unificada de três partes e suporta a estrutura de autenticação GSSAPI. A implementação específica é a autenticação unificada Kerberos V5.

4. 2FAK aiwuDB suporta 2FA com base em certificado TLS e senha.

5. HBAK aiwuDB suporta a configuração de tipos de acesso especificados, recursos de acesso especificados, fontes especificadas, métodos de autenticação de identidade de usuário especificados e seus parâmetros de autenticação, permitindo assim uma configuração flexível de métodos de autenticação de identidade.

Controle de acesso KaiwuDB

1. Lista de controle de acesso KaiwuDB oferece suporte a listas de controle de acesso para gerenciar diretamente permissões de controle de acesso para usuários e objetos de banco de dados.

2. RBACKaiwuDB oferece suporte ao modelo RBAC1, pode realizar controle de acesso com base em funções e oferece suporte ao gerenciamento hierárquico de funções e herança de permissão.

3. LBACKaiwuDB suporta controle de acesso LBAC e pode realizar controle de acesso com base em tags. Atualmente, os rótulos suportam o componente Level, que marca o nível de acesso permitido do usuário e o nível de confidencialidade dos dados. Os usuários só podem acessar dados com um nível de sensibilidade inferior ao nível de acesso permitido.

4. ABACKaiwuDB suporta ABAC e pode realizar controle de acesso baseado em atributos. Os atributos de usuário suportados pelo ABAC são:

  • CREATEDB/NOCREATEDB: Habilita/desabilita a operação CREATE DATABASE do usuário.
  • CREATEROLE/NOCREATEROLE: permite/desativa as operações CREATE ROLE e CREATE USER do usuário.
  • LOGIN/NOLOGIN: Permite/desativa o login do usuário.
  • FAILED_LOGIN_ATTEMPTS: o número máximo de tentativas de login com falha permitidas para um usuário. LIMITE DE CONEXÃO: O número máximo de conexões de login simultâneas permitidas para usuários.
  • VALID UNTIL: Período de validade da senha do usuário. Após o período de validade, o login não é permitido.

6. Planejamento futuro do controle de acesso KaiwuDB

1. Planejamento futuro para autenticação de identidade

O planejamento futuro da autenticação de identidade planeja principalmente implementar as seguintes funções:

  • 2FA/MFA: Além do 2FA de senha e certificado do usuário, ele suporta mais autenticação de identidade 2FA e MFA, como adição de código de verificação, OTP, etc.
  • Autenticação unificada de três partes e autenticação de identidade: além do Kerberos V5, ele suporta autenticação unificada de três partes, como LDAP e Radius.

2. Planeamento futuro do controlo de acessos

O planejamento futuro do controle de acesso planeja principalmente implementar as seguintes funções: restrições de funções de segurança:

  • Apoia o modelo RBAC3, incluindo separação de funções de deveres, como separação de três poderes ou separação de mais funções e responsabilidades.
  • Aprimoramento da função LBAC: Do componente de nível atual ao LBAC, incluindo componentes de nível, compartimento e grupo, e com base nisso, um controle de acesso mais refinado, como nível de coluna e nível de linha, pode ser implementado.
Decidi desistir do software industrial de código aberto . Grandes eventos - OGG 1.0 foi lançado, a Huawei contribuiu com todo o código-fonte do Ubuntu 24.04 LTS foi oficialmente demitido . ". O Fedora Linux 40 foi lançado oficialmente. Uma conhecida empresa de jogos lançou novos regulamentos: os presentes de casamento dos funcionários não devem exceder 100.000 yuans. A China Unicom lança a primeira versão chinesa Llama3 8B do mundo do modelo de código aberto. Pinduoduo é condenado a compensar 5 milhões de yuans por concorrência desleal Método de entrada na nuvem doméstica - apenas a Huawei não tem problemas de segurança de upload de dados na nuvem.
{{o.nome}}
{{m.nome}}

Acho que você gosta

Origin my.oschina.net/u/5148943/blog/11048561
Recomendado
Clasificación