Criptografia e Segurança
das Comunicações
Políticas de segurança :
Confidencialidade
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:1/20
BLP - introdução (1)
• O modelo Bell-La Padula, desenvolvido por David Elliott
Bell e Leonard J. La Padula, é baseado na máquina de
estados, e impõe o controlo de acesso a informação
classificada militar/governamental.
• BLP é destinado a sistemas com níveis estáticos de
segurança.
As permissões de acesso são estabelecidas através de
– uma matrix de controlo de acesso, e
– uma ordem parcial dos níveis de segurança.
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:2/20
BLP - introdução (2)
• A segurança do sistema é garantida pela satisfação de 3
regras de segurança em cada um dos estados por onde o
sistema passa.
• BLP revela vários inconvenientes
– impede apenas o acesso ao conteúdo, quando por vezes há
interesse em mascarar a inexistência do objecto.
– Não cobre as políticas de alterações nos acesso e criação /
eliminação de sujeitos e de objectos.
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:3/20
BLP - níveis de segurança (1)
• O modelo BLP envolve 2 conjuntos para além do
{S,O,A}
1. (H,<) é uma ordem total de classificações
Exemplo: H={UC,C,S,TS}
– UC-”Unclassified” para distribuição ilimitada, sem controlo.
– C-”Confidential” para distribuição limitada dentro da organização.
– S-”Secret” para pessoas de confiança, controlada de acesso
rotineiro
– TS-”Top Secret” para círculo muito restrito de pessoas, controlo de
acesso muito apertado.
UC < C < S < TS
TS
S
C
UC
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade: 4/20
BLP - níveis de segurança (2)
2. (SC,⊆) é uma ordem parcial de segurança sobre
compartimentos.
{EUR,US,NATO}
Exemplo: SC={EUR,NATO,US}
{EUR,US} {US,NATO} {EUR,NATO}
{US}
{EUR}
{NATO}
∅
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:5/20
BLP - níveis de segurança (3)
[Def]: O nível de segurança é um reticulado (H×C,≤ ) em
que (h1,ca) ≤ (h2,cb) sse h1 < h2 e ca ⊆ cb.
[Def]: Dados dois elementos a,b∈H×C, dizemos que b
domina a se a≤ b.
• Num reticulado,
– O mínimo é dominado por todos os outros membros. O máximo
domina todos os outros membros.
– Para dois objectos a,b um sujeito necessita de se encontrar no
nível de segurança a∨b para aceder aos dois objectos.
– Para dois sujeitos a,b poderem aceder a um objecto o é necessário
que o objecto seja posicionado no nível de segurança a∧b.
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:6/20
BLP - ordens
Exemplo: Seja H={Public,Private} e C={Personnel, Engineering}
– (Public,∅) dominado por todos os outros, (Private,{Public, Engineering}) domina
todos os outros.
– (Public,{Engineering})≰ (Private,{Engineering}).
(Private,{Public, Engineering})
(Private, {Engineering})
(Private, {Personnel})
(Public, {Personnel})
(Private, ∅)
(Public, {Engineering})
(Public, ∅)
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:7/20
BLP - estados
[Def]: Dados os conjuntos S-sujeitos, A-modos de acesso,
M-matrizes de acesso, O-objectos e L-níveis de
segurança, um estado é um quádruplo (o,b,M,f) em que:
–
–
–
–
o ⊆ O : objectos do estado corrente
b ⊆ S × O × A : acessos correntes
M ∈ M = ℙ (S × O × A) : conjunto das matrizes de acessos
f ∈ F = (fS,fO,fc) : funções de níveis de segurança
• fS : S→L (nível máximo de segurança do objecto)
• fO : O→L (nível de segurança do objecto)
• fS : S→L (nível de segurança corrente do sujeito)
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:8/20
BLP - propriedades (1)
1. Propriedade Segurança Simples (ss-security): Um
sujeito s∈S pode ler um objecto o∈O, sse lo ≤ls.
Exemplo: um sujeito de nível desclassificado não pode ler
documentos confidenciais.
Read
Read
Read
Níveis segurança
Sujeito
Objecto
Nota: ss-security também designada por NRU-no read up
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:9/20
BLP - propriedades (2)
2. Propriedade Segurança * (*-security): Um sujeito s∈S
pode escrever um objecto o∈O, sse ls ≤lo.
Exemplo: um sujeito de nível secreto não pode escrever
documentos desclassificados.
Write
Write
Write
Níveis segurança
Sujeito
Objecto
Nota: *-security também designada por NWD-no write down
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:10/20
BLP - propriedades (3)
Problema : NWD impede sujeitos de nível superior de
enviar mensagens aos sujeitos posicionados num nível
inferior.
–
–
Solução1: baixar temporariamente o nível do sujeito (“nível
corrente de segurança).
Solução2: determinar que sujeitos podem violar a segurança *.
3. Propriedade Segurança ds (ds-security): Um sujeito s∈S
efectua um acesso a∈A ao objecto o∈O, sse a∈M[s,o].
Nota: ds-security afirma que os controlos discricionários de
acesso são respeitados.
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:11/20
BLP - propriedades (4)
[Def]: Um estado é seguro se verificar as propriedades *,ss e
ds.
• Uma transição entre dois estados v1 e v2 é segura se os
estados forem seguros.
Teorema básico de segurança: se o estado inicial for seguro e
todas as transições forem seguras, então todos os estados
por onde o sistema passa são seguros!
– Demonstração por indução.
– Interesse do teorema: basta partir de um estado seguro e garantir a
segurança em todas as transições!
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:12/20
BLP - aplicação ao Multics (1)
• O sistema operativo Multics, do qual o Unix é uma versão
simplificada, incorporou o modelo de segurança BLP.
– Processos são considerados sujeitos
– Dispositivos e segmentos de memória são considerados objectos.
Cada objecto contém um SDW-segment descriptor word.
– b é armazenado no SDW.
– M armazenado por ACLs na directoria pai do objecto.
– f: para os sujeitos armazenados nas tabelas dos processos
correntes, para os objectos armazenados na directoria pai do
objecto.
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:13/20
BLP - aplicação ao Multics (2)
Descriptor segment
Parent
Current-Process
segment-id ptr
r: off e: - - w: on
Current process
Seg-id
Lo
Lc
Segment-id
Current level table
Current level Lc is dominated by level Lo
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:14/20
BLP - aplicação ao Multics (3)
• Os direitos no sistema operativo são geridos por 11 regras,
nas quais as propriedades do modelo BLP são verificadas:
1.
2.
3.
4.
5.
•
Regras de requisição e cedência de acessos: get-read, getexecute, ..., release-read, release-execute,...
Regras de requisição e cedência de acessos a sujeito distinto:
give-read,...
Regras de criação e reclassificação de objectos: create-object e
change-object-security-level.
Regra de remoção de objectos: delete-object-group
Rega de alteração do nível de segurança do sujeito: changesubject-current-security-level.
Multics inclui noção de utilizador confiável, que pode
violar a segurança-*
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:15/20
HRU – introdução (1)
• O modelo HRU de política de segurança na
confidencialidade tem por objectivo resolver a falha do
BLP na definição de alterações de acesso e na criação /
eliminação de sujeitos e objectos.
• O modelo HRU definido por duas partes
A. Componentes (mesmos do BLP)
•
•
•
•
S - sujeitos
O - objectos
A - modos de acesso
M - matrizes de acesso
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:16/20
HRU – introdução (2)
B. 6 primitivas de manipulação da matriz de acessos.
• Inserir e Retirar acesso de M.
• Criar e Eliminar sujeito.
• Criar e Eliminar objecto.
• As primitivas são definidas na forma
c(x1,... ,xk) {
if (r1 in Ms1,o1 and r2 in Ms2,o2 and rm in Msm,om) {
Op1;
...
Opn;
}
/* si e oj retirados de x1,... ,xk */
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:17/20
HRU – introdução (3)
Exemplo 1: comando de criação de um ficheiro f
Command create-file (p,f) {
create object f ;
M[p,f] = union(M[p,f],{own}); /* sujeito passa a ser dono */
M[p,f] = union(M[p,f],{r});
/* sujeito pode ler */
M[p,f] = union(M[p,f],{w});
/* sujeito pode escrever */
}
Exemplo 2: comando de permissão do process p ao processo q de ler f a
Command grant-read-file (p,f,q) {
if ( member(own,M[p,f]) )
M[q,f] = union(M[q,f],{r});
}
Só o dono do objecto pode conceder a outros sujeitos o acesso a esse
objecto!
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:18/20
HRU – propriedades (1)
[Def]: A matriz de acessos M vaza (“leak”) o direito de
acesso r, se existir um comando que adicione r numa
célula onde era inexistente.
[Def]: A matriz de acessos M diz-se segura para o direito de
acesso r, se não existir uma sequência de comandos que
transforme M num estado que vaza r.
[Teorema]: Dada a matriz de acessos M, o direito de acesso
r e um conjunto de comandos, a determinação da
segurança não é decidível.
Apenas se pode decidir a segurança de M se:
– Em cada comando só há uma operação.
– O número de sujeitos é finito.
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:19/20
HRU – propriedades (2)
Exemplo de uma política não segura para os comandos para
Alice, que pretende Bruno execute aplicação sem a alterar
Command grant-execute (p,f,q) {
if ( member(own,M[p,f]) )
M[q,f] = union(M[q,f],{x});
}
Command modify-own-right (s,f) {
if ( member(x,M[s,f]) )
M[s,f] = union(M[s,f],{w});
}
– create-file( Alice, f );
– grant-execute( Alice, f, Bruno );
– modify-own-right( Bruno, f );
Prof RG Crespo Criptografia e Segurança das Comunicações Políticas confidencialiade:20/20
Download

Acetatos