Take-Grant-modellen (fra engelsk tage "take", grant "give") er en formel model, der bruges inden for computersikkerhed til at analysere diskretionære adgangskontrolsystemer ; bekræfter eller afkræfter graden af sikkerhed i dette automatiserede system , som skal opfylde de regulerede krav. Modellen repræsenterer hele systemet som en rettet graf , hvor noder enten er objekter eller subjekter [1] . Buerne mellem dem er mærket, og deres værdier angiver de rettigheder, som et objekt eller subjekt ( node ) har. Modellen er domineret af to regler: "tag" og "giv". De spiller en særlig rolle i det og omskriver reglerne, der beskriver de acceptable måder at ændre grafen på. Der er i alt 4 transformationsregler:
Ved hjælp af disse regler kan du gengive de tilstande, som systemet vil være i afhængigt af fordelingen og ændringen af adgangsrettigheder. Derfor kan mulige trusler mod et givet system analyseres.
Transform G til graf G' = regel og er angivet:
Tag = tag(r, x, y, s), r ∈ R. Lad s ∈ S, x,y ∈ O være toppunkter på grafen G.
Så graf G:
Det vil sige, at subjektet S tager fra objektet X rettighederne r til objektet Y.
Giv = bevilge(r, x, y, s), r ∈ R. Lad s ∈ S, x,y ∈ O være hjørner af G.
Så graf G:
Det vil sige, at subjektet S giver objektet X rettighederne r til objektet Y.
Create = create(p, x, s), r ∈ R. Lad s ∈ S, x,y ∈ O være hjørner af G.
Så graf G:
Det vil sige, at subjektet S skaber et p-tilgængeligt objekt X.
Fjern = fjern(r, x, s), r ∈ R. Lad s ∈ S, x,y ∈ O være hjørner af G.
Så graf G:
Det vil sige, at subjektet S fjerner adgangsrettighederne r til objektet X.
1. Figuren nedenfor viser en grafisk repræsentation af biblioteksstrukturen. I denne kolonne udgør P1 og P2 subjekter (mulige brugere), og D'er og F'er repræsenterer henholdsvis objekter, mapper og filer. "Læse"-retten er blevet ændret til en "tag"-regel for alle niveauer undtagen for faktiske filniveauer i mapper. Retten til at "optage" blev også ændret af reglen "at give". Det bliver tydeligt af denne graf: hvis subjektet har ret til at læse (tage) et objekt, så kan det have ret til at læse alle andre objekter, som dette første objekt har nogle rettigheder til. Tilsvarende, hvis et emne har skrive (tildele) adgang til et objekt, kan det give enhver af dets adgangsrettigheder til det objekt.
2. Nedenstående figur viser, at gennem en kombination af ovenstående fire regler, kan en ny fil tilføjes til biblioteksstrukturen i eksempel 1. Og læse/skrivetilladelser vil blive tildelt i henhold til reglerne, der bruges af det bibliotek, hvori denne fil er skrevet. De følgende fire trin er nødvendige for at tilføje en fil og tilladelsesrettigheder:
Tallene på listen ovenfor svarer til de cirklede tal, der er afbildet på grafen, efterhånden som grafens bue skabes.