Autenticação e Controle de Acesso - Informática | Tuco-Tuco
Aula de Informática (Segurança da Informação): Autenticação e Controle de Acesso. Métodos de autenticação e políticas de controle de acesso para proteger sistemas. Estude gratuitamente para concursos públicos e OAB no Tuco-Tuco.
Autenticação e Controle de Acesso
Fundamentos da Autenticação e Autorização
A segurança da informação depende de dois processos complementares, porém distintos: autenticação (verificação da identidade) e autorização (concessão de permissões). O controle de acesso é o mecanismo que implementa a autorização, determinando quem pode acessar quais recursos (arquivos, sistemas, dados, funções) e sob quais condições.
Autenticação: Responde à pergunta “Você é quem diz ser?”. É o processo de verificar a identidade de um usuário, sistema ou dispositivo com base em credenciais fornecidas (senha, biometria, token, etc.).
Autorização: Responde à pergunta “O que você pode fazer?”. Após a autenticação, o sistema consulta políticas de controle de acesso para determinar quais ações o sujeito autenticado pode executar sobre os objetos (leitura, escrita, execução, exclusão, etc.).
É importante distinguir também identificação (o ato de declarar quem se é, ex.: digitar um nome de usuário) da autenticação (provar a identidade). Um sistema pode ter identificação sem autenticação (ex.: sites que mostram mensagens personalizadas sem exigir senha), mas para acesso a dados sensíveis, a autenticação é obrigatória.
Métodos de Autenticação (Fatores)
Os métodos de autenticação são classificados em três categorias (fatores) e suas combinações (autenticação multifator – MFA).
2.1. Fator 1: Algo que Você Sabe (Knowledge Factor)
São informações memorizadas pelo usuário. Exemplos:
Senhas (passwords)
PIN (Personal Identification Number)
Frases secretas (passphrases)
Respostas a perguntas de segurança (menos seguras, pois podem ser descobertas ou forçadas)
Vantagens: Baixo custo, fácil implementação, familiaridade.
Desvantagens: Vulnerável a ataques de força bruta, phishing, reutilização, anotação insegura, keylogging.
2.2. Fator 2: Algo que Você Tem (Possession Factor)
Objetos físicos ou digitais que o usuário possui. Exemplos:
Smartphone com aplicativo autenticador (TOTP – Time-based One-Time Password)
Token hardware (YubiKey, RSA SecurID, Google Titan)
Cartão inteligente (smart card) com chip criptográfico
Cartão de banda magnética (menos seguro)
Dispositivo Bluetooth (ex.: carro que autentica chave)
Vantagens: Não pode ser adivinhado remotamente; requer posse física para ataque.
Desvantagens: Pode ser perdido, roubado ou clonado (em alguns casos). Exige infraestrutura adicional (leitor de cartão, app, etc.).
2.3. Fator 3: Algo que Você É (Inherence Factor)
Características biométricas únicas do indivíduo. Exemplos:
Impressão digital (Touch ID, leitores capacitivos)
Reconhecimento facial (Face ID, Windows Hello)
Íris ou retina
Geometria da mão
Reconhecimento de voz (menos preciso, suscetível a gravação)
Assinatura dinâmica (padrão de movimento)
Vantagens: Difícil de falsificar (em sistemas bem implementados), não pode ser esquecido ou perdido.
Desvantagens: Falso positivo/negativo, privacidade (dados biométricos são imutáveis e sensíveis), custo do sensor, possibilidade de cópia (ex.: impressão digital pode ser capturada de superfície).
2.4. Autenticação Multifator (MFA)
MFA exige dois ou mais fatores de categorias diferentes. Exemplos comuns:
Senha (sabe) + Código TOTP (tem) – usado por Google Authenticator, Microsoft Authenticator.
Senha (sabe) + Chave de segurança USB (tem) – WebAuthn/U2F.
Cartão inteligente (tem) + PIN (sabe) – acesso a prédios ou computadores.
Impressão digital (é) + senha (sabe) – desbloqueio de celular com biometria após senha.
A MFA reduz drasticamente o risco de comprometimento de credenciais, pois mesmo que a senha seja roubada (por phishing, vazamento ou keylogger), o atacante ainda precisa do segundo fator físico (token) ou biométrico.
Importante: Códigos enviados por SMS são considerados MFA, mas são mais fracos devido a ataques de SIM swap (transferência fraudulenta do número de telefone) e interceptação SS7. Recomenda-se TOTP (aplicativo) ou chave de segurança em vez de SMS.
Protocolos e Padrões de Autenticação
3.1. TOTP (Time-based One-Time Password)
Padrão RFC 6238. Gera códigos numéricos de 6 ou 8 dígitos que mudam a cada 30 segundos. Baseia-se em uma chave secreta compartilhada (geralmente codificada em QR Code) e o tempo atual. O servidor e o cliente (aplicativo) calculam o mesmo código. Exemplos: Google Authenticator, Authy, Microsoft Authenticator.
3.2. HOTP (HMAC-based One-Time Password)
RFC 4226. Semelhante ao TOTP, mas baseado em contador (evento) em vez de tempo. Cada vez que o código é usado, o contador incrementa. Menos comum que TOTP.
3.3. WebAuthn / FIDO2
Padrão moderno da W3C para autenticação sem senha (passwordless) e MFA. Usa criptografia de chave pública. O usuário registra uma chave de segurança (dispositivo USB/NFC/Bluetooth ou biometria do dispositivo) no site. Durante o login, o site envia um desafio; o dispositivo assina o desafio com a chave privada, que nunca sai do dispositivo. Protege contra phishing porque a assinatura é vinculada ao domínio do site. Exemplos: YubiKey, Windows Hello, Face ID com WebAuthn.
3.4. SAML, OAuth e OpenID Connect
São protocolos para autenticação e autorização federadas (Single Sign-On – SSO), não diretamente para autenticação local, mas relevantes no contexto de controle de acesso em sistemas distribuídos.
SAML (Security Assertion Markup Language): Usado em ambientes corporativos para SSO baseado em XML.
OAuth 2.0: Protocolo de autorização (delegação de acesso) – permite que um aplicativo acesse recursos em nome do usuário sem saber sua senha.
OpenID Connect: Camada de autenticação sobre OAuth 2.0, usada por Google, Microsoft, Facebook para “Login com ...”.
Modelos de Controle de Acesso
Após autenticar o usuário, o sistema deve decidir se ele pode executar determinada ação sobre um objeto (arquivo, registro de banco de dados, função do sistema). Os principais modelos são:
4.1. DAC – Controle de Acesso Discricionário (Discretionary Access Control)
No DAC, o proprietário do recurso (quem o criou) tem a discrição de conceder ou revogar permissões a outros usuários. É o modelo padrão em sistemas de arquivos como Windows (NTFS) e Unix/Linux (permissões tradicionais e ACLs).
Características:
Flexibilidade: o proprietário decide.
Risco: um usuário pode (por engano ou malícia) dar acesso indevido.
Exemplo: No Linux, dá permissão de leitura/execução para grupo e outros. O proprietário pode alterar a qualquer momento.
Implementações:
Permissões Unix/Linux tradicionais: 3 conjuntos (owner, group, others) com bits de leitura (r), escrita (w), execução (x).
ACLs (Access Control Lists): Extensão que permite listar múltiplos usuários e grupos com permissões específicas. No Linux, e . No Windows, ACLs são nativas no NTFS (cada arquivo/pasta tem uma DACL – Discretionary Access Control List).
4.2. MAC – Controle de Acesso Obrigatório (Mandatory Access Control)
No MAC, o sistema operacional impõe uma política global de segurança que não pode ser alterada pelos usuários (nem pelo proprietário do recurso). As decisões de acesso baseiam-se em rótulos de segurança atribuídos a sujeitos (processos) e objetos (arquivos, dispositivos). É comum em ambientes militares e de governo com níveis de classificação (público, sigiloso, secreto, ultrassecreto).
Características:
Alta segurança, adequado para sistemas que processam informações com diferentes níveis de confidencialidade.
Exige administração centralizada.
Exemplos: SELinux (Security-Enhanced Linux) no Linux, AppArmor (também MAC, mas baseado em caminhos), Windows Mandatory Integrity Control (MIC – parte do UAC).
Funcionamento no SELinux: Cada processo tem um domínio (domain), cada arquivo tem um tipo (type). Regras definem quais domínios podem acessar quais tipos. Mesmo o usuário root pode ter ações restritas pela política MAC.
4.3. RBAC – Controle de Acesso Baseado em Papéis (Role-Based Access Control)
No RBAC, as permissões são associadas a papéis (roles), e os usuários são atribuídos a papéis. Um papel representa uma função organizacional (gerente, analista, supervisor, auditor). O usuário herda todas as permissões do papel.
Características:
Facilita a administração: ao contratar um novo funcionário, atribui-se um papel (ex.: “analista financeiro”), e ele automaticamente ganha todas as permissões necessárias.
Permite segregação de funções (SoD – Separation of Duties): um mesmo usuário não pode ter papéis conflitantes (ex.: quem autoriza pagamento não pode ser quem executa o pagamento).
Muito utilizado em sistemas empresariais (ERP, CRM), bancos de dados (Oracle, SQL Server), sistemas web.
Exemplo: Em um sistema hospitalar, papéis: médico (acesso a prontuários, prescrições), enfermeiro (acesso a administração de medicamentos, sinais vitais), recepcionista (agendamento, cadastro de pacientes). Um médico pode ser promovido a “chefe da clínica” – basta adicionar o novo papel, mantendo o antigo.
4.4. ABAC – Controle de Acesso Baseado em Atributos (Attribute-Based Access Control)
Modelo mais flexível e fino, onde as decisões de acesso usam atributos do sujeito (cargo, departamento, localização, horário), do objeto (classificação, tipo, data de criação) e do ambiente (rede, nível de risco, horário). As políticas são expressas em linguagens como XACML (eXtensible Access Control Markup Language).
Exemplo: Permitir acesso a documentos financeiros apenas se:
Sujeito.departamento = “Financeiro” OU (Sujeito.cargo = “Diretor” E Sujeito.localização = “Matriz”)
E Horário atual ENTRE 09:00 E 18:00 (dias úteis)
E Objeto.classificação ≤ “Confidencial”
O ABAC é usado em sistemas de nuvem (AWS IAM, Azure RBAC com condições), sistemas de arquivos distribuídos e aplicações de alta granularidade.
Implementação de Controle de Acesso em Sistemas Operacionais
5.1. Windows NTFS
DACLs (Discretionary Access Control Lists): Cada arquivo/pasta possui uma lista de entradas ACE (Access Control Entry). Cada ACE contém um SID (Security Identifier) do usuário ou grupo e permissões (leitura, escrita, execução, exclusão, controle total, etc.).
Herança: Permissões podem ser herdadas de pastas pai.
Effective Access: Ferramenta que calcula as permissões efetivas considerando permissões explícitas, herdadas e negações (deny override allow).
Integrity Levels (Mandatory Integrity Control): Parte do UAC no Windows, define níveis de integridade (Baixo, Médio, Alto, Sistema). Processos com nível baixo não podem modificar objetos com nível médio (ex.: navegador protegido).
5.2. Linux/Unix (Permissões Tradicionais)
rwx (leitura, escrita, execução) para owner, group, others.
Bits especiais: SUID (executa com permissões do proprietário), SGID (executa com permissões do grupo), sticky bit (em diretórios, impede que usuários excluam arquivos de outros).
ACLs (POSIX ACLs): Estendem as permissões tradicionais com .
Capabilities (Linux): Fragmenta os privilégios root em capacidades individuais (ex.: CAPNETADMIN, CAPSYSADMIN). Permite executar processos com privilégios reduzidos.
Single Sign-On (SSO) e Federação de Identidade
SSO permite que um usuário autentique-se uma única vez e obtenha acesso a múltiplos sistemas ou aplicações sem precisar inserir credenciais novamente. Exemplos: Login com Google/Microsoft em sites de terceiros, ambiente corporativo com Active Directory.
Benefícios:
Redução de fadiga de senhas (menos senhas para lembrar).
Centralização da autenticação e políticas (ex.: MFA única para todos os sistemas).
Melhoria da experiência do usuário.
Riscos: A conta SSO torna-se um alvo de alto valor. Se comprometida, o atacante ganha acesso a todos os sistemas vinculados. Por isso, MFA é obrigatória em contas SSO.
Protocolos comuns de SSO:
Kerberos: Protocolo de autenticação de rede (padrão em Active Directory). Usa tickets (TGT) para acesso a serviços.
SAML: Baseado em XML, muito usado em empresas (ex.: Okta, ADFS).
OAuth 2.0 + OpenID Connect: Padrão para SSO em aplicações web e móveis modernas.
Exemplos Práticos
Exemplo 1: Autenticação e Controle de Acesso em um Banco Online
Identificação: Usuário digita o número da conta (identificador).
Autenticação (MFA):
- Senha (algo que sabe).
- Código TOTP gerado por aplicativo (algo que tem).
- (Opcional) reconhecimento facial via smartphone (algo que é).
Autorização (RBAC): Após autenticado, o sistema consulta os papéis do usuário:
- Papel “cliente comum”: pode consultar saldo, transferir até R$ 1.000/dia.
- Papel “cliente premium”: pode transferir até R$ 10.000/dia, acessar investimentos.
- Papel “gerente de conta”: pode ver dados de múltiplos clientes, aprovar transferências acima do limite.
Controle de acesso granular: A API bancária verifica, a cada requisição, se o papel do usuário tem permissão para a operação e se o valor não excede o limite.
Exemplo 2: Controle de Acesso em um Sistema de Arquivos Linux
Arquivo (armazena senhas hasheadas) tem permissões (640): owner root (leitura/escrita), group shadow (leitura), others nenhum acesso. Isso impede que usuários comuns leiam o arquivo.
Diretório tem permissões (700): apenas o proprietário pode entrar, listar e modificar.
Para compartilhar um arquivo com um colega, o proprietário pode usar ACL: . O usuário joao ganha permissão de leitura, sem que o grupo precise ser alterado.
Quadro Comparativo: Fatores de Autenticação
| Fator | Categoria | Exemplos | Vantagens | Desvantagens |
|-------|-----------|----------|-----------|---------------|
| Sabe | Conhecimento | Senha, PIN, frase secreta | Baixo custo, fácil de mudar | Vulnerável a phishing, força bruta, keylogger |
| Tem | Posse | Token USB, smartphone TOTP, cartão | Não pode ser adivinhado remotamente | Pode ser perdido, roubado; exige infraestrutura |
| É | Inerência | Impressão digital, Face ID, íris | Difícil de falsificar, não se esquece | Privacidade, custo, falsos positivos/negativos |
Quadro Comparativo: Modelos de Controle de Acesso
| Modelo | Base da decisão | Quem define permissões | Exemplo de uso | Segurança |
|--------|----------------|------------------------|----------------|-----------|
| DAC | Proprietário do recurso | Proprietário | Arquivos NTFS/Unix | Média (dependente do usuário) |
| MAC | Rótulos de segurança (sujeito/objeto) | Política central do sistema | SELinux, ambientes militares | Alta (usuário não pode alterar) |
| RBAC | Papéis do usuário | Administrador (atribui papéis) | Sistemas ERP, bancos de dados | Alta (se papéis bem definidos) |
| ABAC | Atributos (usuário, objeto, ambiente) | Políticas baseadas em atributos | Nuvem (AWS IAM), sistemas complexos | Muito alta (granularidade fina) |
Considerações Finais
Autenticação e controle de acesso são componentes críticos de qualquer sistema seguro. A autenticação verifica a identidade; o controle de acesso determina o que o autenticado pode fazer. Para sistemas modernos, recomenda-se:
Sempre utilizar MFA em contas críticas (e-mail, bancos, administração).
Adotar RBAC ou ABAC para facilitar a administração e garantir o princípio do menor privilégio.
Em sistemas operacionais, entender e aplicar permissões (DAC) e considerar o uso de MAC (SELinux/AppArmor) para maior segurança.
Utilizar protocolos padrão como WebAuthn para autenticação resistente a phishing.
Para concursos e vestibulares, o candidato deve saber diferenciar autenticação de autorização, classificar os fatores de autenticação, conhecer os modelos de controle de acesso (DAC, MAC, RBAC, ABAC) e identificar exemplos práticos de cada um. Questões podem apresentar cenários de violação de controle de acesso ou solicitar a escolha do modelo mais adequado para determinado contexto.
Exercícios:
Analise as afirmações abaixo:
I. Autenticação verifica quem você é.
II. Autorização define o que você pode fazer.
Assinale a alternativa correta de acordo com o conteúdo da aula.
Com base no conteúdo estudado, o Controle de Acesso Discricionário (DAC) caracteriza-se:
Qual dos exemplos abaixo corresponde a autenticação por 'algo que você tem', conforme os métodos apresentados?
Considere um sistema que utiliza senha, impressão digital e código enviado por SMS para liberar o acesso ao usuário. Qual o nome dado a esse tipo de autenticação segundo o conteúdo da aula?
Complete a frase: Enquanto a autenticação verifica a identidade do usuário, a _____ é o processo subsequente que consulta as políticas do sistema para conceder ou negar permissões de acesso a recursos específicos.
Complete a frase: Na autenticação multifator (MFA), o uso de um Smart Card com chip ou de um token USB do padrão FIDO2 é tecnicamente classificado como o fator de segurança baseado em _____.
Complete a frase: O modelo de controle de acesso _____, é caracterizado por uma política centralizada e rígida que utiliza rótulos de sensibilidade em objetos e sujeitos, não podendo ser alterado pelos usuários comuns.
Complete a frase: Em sistemas empresariais, utiliza-se o modelo _____, no qual as permissões são associadas a funções organizacionais e os usuários herdam esses acessos ao serem vinculados a tais funções.
Complete a frase: O padrão moderno de autenticação _____, desenvolvido pela W3C, permite logins resistentes a phishing ao utilizar chaves criptográficas privadas armazenadas em dispositivos de hardware ou biometria local.
Complete a frase: No sistema operacional Linux, o esquema tradicional de permissões (rwx) para dono, grupo e outros usuários é um exemplo clássico do modelo de controle de acesso _____.
Complete a frase: O protocolo de autenticação _____, é o pilar do Active Directory da Microsoft, funcionando através de um sistema de tickets criptografados que permite o Single Sign-On (SSO) em redes Windows.
Complete a frase: Na gestão de identidades, o processo de _____ permite que um usuário utilize credenciais de um provedor confiável (como o Google ou Microsoft) para acessar aplicações de terceiros sem criar novas contas.
Complete a frase: O modelo de controle de acesso _____, é o mais dinâmico e granular, decidindo sobre o acesso com base em variáveis contextuais como localização, horário, departamento e nível de risco.
Complete a frase: Na implementação de MFA via software, o protocolo _____, gera códigos numéricos temporários (OTP) baseados na sincronização de tempo entre o dispositivo do usuário e o servidor.
Em um sistema escolar, os professores podem acessar somente as notas de suas turmas, o diretor pode ver todas as informações e os alunos apenas seus próprios dados. Qual modelo de controle de acesso está sendo usado nesse exemplo?