De bevalling Probleem


  Share  
|


Overweeg een client en een server. Wanneer de klant problemen een verzoek naar de server, de client stuurt de server enkele gegevens. De server gebruikt vervolgens de gegevens uit te voeren wat de functie en geeft een resultaat (of geen resultaat) aan de klant. Toegangscontrole invloed op de functie van de server op twee manieren.

  1. De server moet ervoor zorgen dat de middelen die zij maal namens de cliënt omvatten alleen die middelen die de cliënt gemachtigd is om toegang te krijgen.

  2. De server moet ervoor zorgen dat het niet de gegevens van de klant openbaren aan een andere entiteit niet gemachtigd om de gegevens van de klant.

De eerste voorwaarde is het doel van de dienstverlener. Dat doel is om de cliënt te voorkomen van het versturen van berichten naar de server die ervoor zorgen dat het om toegang te krijgen, te wijzigen, verzenden, of consumeren middelen dat de cliënt niet is toegestaan om toegang te krijgen, te wijzigen, verzenden of te consumeren. De tweede vereiste is het doel van de gebruiker. Dat doel is om de server te voorkomen van het toezenden van vertrouwelijke informatie aan de dienstverlener. In beide gevallen moet de server worden beperkt tot slechts toegang tot een specifieke set van middelen.

VOORBEELD: Een server saldi rekeningen voor abonnees. De abonnees gebruik maken van een cliënt te zenden in het register entries, de huidige banksaldo, en die uit de markt nemen en deposito's die zijn goedgekeurd de bank naar de server. De server geeft de lijst van de controles en de uitstaande deposito's en een discrepantie tussen het register balans en de bank balans. Abonnees betalen een vergoeding voor elk gebruik.

De dienstverlener vereist dat de server correct registreren wie de dienst gebruikt, elke keer dat het wordt gebruikt. Anders kan de dienstverlener geen rekening voor het gebruik van de dienst. De dreiging is dat iemand de dienst kan gebruiken zonder te worden ontdekt (en dus zonder rekening worden gebracht) of dat de gebruiker kan zich uitgeven voor een andere abonnee (resulterend in de verkeerde abonnee in rekening worden gebracht). De dienstverlener ook niet willen dat de server met de facturering van registers of andere ongeoorloofde informatie aan de klant doorgeven. De server moet sturen alleen de informatie die zij uit de gegevens die de klant verzonden. Dus de server moet worden beperkt tot die alleen op de gegevens die het wordt verzonden.

De abonnee verwacht dat bepaalde beveiliging van de server. De server moet correct loggen aanroeping van de gebruiker, zodat de gebruiker niet is onjuist in rekening gebracht. (Dit komt overeen met de behoefte van de dienstverlener.) De server moet niet opnemen of de gegevens te verzenden dat de abonnee zendt omdat de gegevens van de abonnee is vertrouwelijk aan de abonnee en is niet relevant voor de dienstverlener. Dus de server moet worden beperkt tot het bijhouden van de gegevens zelf en voor het verzenden van de resultaten alleen aan de abonnee.


Lampson noemt dit de bevalling probleem.

De bevalling probleem is het probleem van het voorkomen van een server van lekken informatie die de gebruiker van de dienst vertrouwelijk.

Een kenmerk van processen die niet lekken informatie komt uit de waarneming dat een proces moet gegevens opslaan voor later ophalen (het lekken). Een proces dat niet slaan informatie kan niet lekken het. Echter, in het extreme, dergelijke processen ook niet kunnen uitvoeren van alle berekeningen, omdat een analist van de stroom van de controle kon waarnemen (of toestand van het proces) en uit afleiden dat de stroom informatie over de ingangen. Dit leidt tot de constatering dat een proces dat niet kan worden waargenomen en kan niet communiceren met andere processen kunnen niet lekken informatie. Lampson noemt dit totaal isolement.

In de praktijk is het bereiken van een totaal isolement moeilijk. De processen die doorgaans worden beperkt aandeel hulpbronnen zoals CPU's, netwerken en opslag op schijf met andere, onbegrensde processen. De onbegrensde processen kunnen doorgeven van gegevens over die gedeelde bronnen.

Een geheime zender is een pad van communicatie die niet is ontworpen om gebruikt te worden voor communicatie.

VOORBEELD: Proces p wordt beperkt zodanig dat het niet kan communiceren met proces q. Echter, processen p en q delen een bestandssysteem. Om voor proces-p om een bericht te sturen voor het verwerken van q, creëert een bestand genaamd verzenden in een directory dat beide processen kan lezen. Net voordat proces q is om de informatie te lezen, q verwijdert het bestand te verzenden. Proces p stuurt dan een beetje door het creëren van een bestand met de naam 0bit of 1bit, naargelang het geval. Wanneer q detecteert ofwel bestand, registreert hij het bit en verwijdert het bestand. Dit gaat door totdat p een bestand genaamd einde, op welk punt de communicatie creëert ophoudt.


Opsluiting is transitief. Stel dat een proces p beperkt is om lekkage te voorkomen. Als het zich beroept op een tweede proces q, q dan dezelfde wijze moet worden beperkt of Q zou kunnen lekken van de informatie die p passeert.

De regel van transitieve bevalling bepaalt dat indien een gesloten proces een tweede proces, het tweede proces als beroept moet worden beperkt als de beller.

Opsluiting is een mechanisme voor de handhaving van het beginsel van de minste privilege. Een goed beperkt proces kan geen gegevens doorgeven aan een tweede proces, tenzij de overdracht nodig is om hun taak te voltooien. Het probleem is dat het proces moet beperkt toegang tot de gegevens in te dienen en zo de bevalling moet worden op de transmissie, niet op de toegang tot de gegevens. Om de zaken nog ingewikkelder te maken, kan het proces om wat informatie te zenden aan het tweede proces. In dit geval moet de bevalling mechanisme onderscheid te maken tussen de overbrenging van diens gegevens en verzending van ongeoorloofde gegevens.

De combinatie van deze problemen illustreert de moeilijkheid van het voorkomen van lekkage. Het dilemma is dat moderne computers zijn ontworpen om middelen te delen, en toch door de handeling van het delen van ze creëren communicatiekanalen waarlangs informatie kan worden gelekt.

Lipner onderzoekt het probleem vanuit een beleid en modellering aspect. Hij is van mening twee soorten van geheime kanalen. De eerste betreft het gebruik van de opslag van informatie te verzenden. Als een model beschrijft juist alle mogelijke manieren waarop informatie kan worden opgeslagen en gelezen, dan is het model zowel samenvattingen legitieme en geheime kanalen waarlangs informatie kan stromen. Het model bedwingt alle toegangen tot opslag. De enige toegestane toegangen zijn die met toestemming van het beleid, zodat de stromen van informatie zijn legitiem. Echter, als het model niet vangen al die stromen, dan onbevoegde stromen, of geheime kanalen, ontstaan.

Lipner merkt vervolgens dat alle processen kunnen krijgen op zijn minst een globaal idee van de tijd. Dit maakt tijd een communicatiekanaal. Een programma kan 'lezen' tijd door het controleren van de systeemklok of (subsidiair) door het tellen van het aantal instructies heeft uitgevoerd gedurende een periode van wandklok tijd. Een programma kan "schrijven" tijd door het uitvoeren van een bepaald aantal instructies en stoppen, waardoor een ander proces uit te voeren. Deze gedeelde kanaal kan niet worden exclusief gemaakt, tenzij een proces niet in de computer met een ander proces, dat zichzelf als oplossing suggereert aandeel.

Timing Kocher's aanvallen op cryptosystemen illustreren dit probleem. Kocher merkt op dat de instructies uitgevoerd door implementaties van cryptosystemen afhankelijk van de vaststelling van de bits in de sleutel. Bijvoorbeeld, het algoritme implementeert hieronder een snelle modulaire machtsverheffing functie. Als een bit is 1, twee vermenigvuldigingen komen, anders een vermenigvuldiging optreedt. De extra vermenigvuldiging neemt extra tijd. Kocher bepaalt bits van het vertrouwelijke exponent door meting rekentijd.

Een snelle modulaire machtsverheffing routine. Deze routine berekent x = az mod n. De bits van z zijn zk1,. . . , z0.
x: = 1; atmp: = a; voor i: = 0 tot k-1 do begin if zi = 1 dan x: = (x * atmp) mod n; atmp: = (atmp * atmp) mod n; einde; resultaat: = x;

We onderzoeken het mechanisme van isolement eerste. Dan kunnen we onderzoeken geheime zenders in meer detail te bespreken en andere benaderingen voor het analyseren van hen, met inbegrip van technieken voor het identificeren van geheime kanalen en het isoleren van hen.

een artikel afkomstig van Bill Kuriko


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions