ODRL Policy Comparison Through Normalisation

O artigo propõe uma abordagem de normalização parametrizada baseada em semântica formal para transformar políticas ODRL complexas em uma forma normal mínima e exclusiva de permissões, permitindo a comparação direta de políticas através da verificação de identidade sintática enquanto preserva a semântica original.

Jaime Osvaldo Salas, Paolo Pareti, George Konstantinidis

Publicado 2026-03-16
📖 4 min de leitura☕ Leitura rápida

Each language version is independently generated for its own context, not a direct translation.

Imagine que o ODRL (Open Digital Rights Language) é como uma linguagem universal para escrever as "regras do jogo" da internet. É o que define quem pode ver o que, quem pode baixar um arquivo, quem pode editar um documento e sob quais condições.

O problema é que essa linguagem é muito complexa. É como se cada pessoa escrevesse uma regra de trânsito de um jeito diferente:

  • Um diz: "Pode passar se for segunda-feira e o carro for vermelho."
  • Outro diz: "Pode passar se o carro for vermelho, desde que não seja terça-feira, ou se for segunda-feira e o carro for azul."

Embora essas regras possam significar a mesma coisa na prática, para um computador, elas parecem totalmente diferentes. Isso torna difícil comparar regras, verificar se duas são iguais ou se uma está dentro da outra. É como tentar comparar dois mapas desenhados à mão de formas diferentes para ver se eles mostram o mesmo lugar.

Os autores deste artigo, Jaime, Paolo e George, propuseram uma solução genial: Normalização.

A Metáfora do "Desmontar e Organizar"

Pense na normalização como um processo de desmontar um brinquedo complexo em suas peças básicas e depois reorganizá-lo de um jeito padronizado.

O processo deles tem dois passos principais:

1. Traduzir para "Linguagem Simples" (Regularização)

Imagine que você tem uma regra confusa com muitas "se", "e" e "ou".

  • Regra original: "Se você tiver mais de 18 anos E pagar 10 euros, OU se tiver menos de 18 anos E pagar 5 euros, pode entrar."
  • O que o algoritmo faz: Ele quebra essa regra complexa em duas regras simples e separadas:
    1. "Se você tem mais de 18 anos E paga 10 euros, pode entrar."
    2. "Se você tem menos de 18 anos E paga 5 euros, pode entrar."

Agora, em vez de uma lógica complicada, temos uma lista de regras diretas. É como transformar um parágrafo cheio de vírgulas em uma lista de compras clara.

2. Cortar o "Bolo" em Fatias Exatas (Divisão de Intervalos)

Aqui entra a parte mais inteligente. Imagine que as regras são faixas de tempo ou faixas de idade.

  • Regra A: "Permitido para idade entre 18 e 65 anos."
  • Regra B: "Permitido para idade entre 21 e 45 anos."

Para um computador, comparar "18 a 65" com "21 a 45" é chato. Mas o algoritmo olha para os números que aparecem nas regras (18, 21, 45, 65) e corta o "bolo" em fatias minúsculas baseadas nesses números.
A Regra A deixa de ser "18 a 65" e vira uma lista de fatias: "18 a 21", "21 a 45", "45 a 65".
A Regra B vira: "21 a 45".

Agora, a comparação é fácil! Você só precisa olhar para as fatias. Se a Regra B tem a fatia "21 a 45", e a Regra A também tem essa fatia exata, você sabe que elas se sobrepõem. Se a Regra B fosse inteiramente composta por fatias que a Regra A também tem, então a Regra B está "dentro" da Regra A.

Por que isso é um superpoder?

  1. Igualdade Perfeita: Antes, comparar duas regras era como tentar adivinhar se dois quebra-cabeças montados de formas diferentes eram iguais. Agora, o algoritmo desmonta os dois em peças soltas. Se as peças soltas forem as mesmas, as regras são iguais.
  2. Fim das Proibições Confusas: O artigo mostra que, com essa técnica, você pode transformar regras que dizem "Pode fazer X, MAS não se for Y" em apenas regras de "Pode fazer X" (com condições específicas). É como transformar uma lista de "O que NÃO fazer" em uma lista clara de "O que PODE fazer". Isso simplifica muito a vida dos sistemas de segurança.
  3. Interoperabilidade: Ferramentas diferentes de software podem conversar entre si. Uma ferramenta que só entende regras simples pode agora trabalhar com regras complexas, porque o algoritmo traduziu tudo para a "língua simples" antes de passar para a ferramenta.

O Resumo da Ópera

Os autores criaram um "tradutor universal" e um "organizador de caixas" para as regras digitais. Eles pegam regras complexas, cheias de lógica e intervalos confusos, e as transformam em uma lista de regras simples, pequenas e não sobrepostas.

Isso permite que computadores verifiquem instantaneamente se duas regras são iguais, se uma é mais restritiva que a outra, ou se elas entram em conflito, sem precisar de supercomputadores ou horas de processamento. É como transformar um labirinto de regras em uma linha reta onde você só precisa olhar para frente para ver se o caminho está livre.

Receba artigos como este na sua caixa de entrada

Digests diários ou semanais personalizados de acordo com seus interesses. Gists ou resumos técnicos, no seu idioma.

Experimentar Digest →