Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
OWNERD4 [R/W] R/W* R/W
Il diritto controllo consente di rimuovere ogni diritto all'interno di una riga: se (i,j) contiene "control" allora un processo attivo in D può rimuovere () diritti da ogni colonna della riga relativa a D ...i sotto, in parentesi quadre j
Matrice degli accessi modificata con diritti di controllo
Dominio\Oggetto | F1 | F2 | F3 | Printer | |
---|---|---|---|---|---|
D1 | Read | [Read] | - | Switch | |
D2 | - | Switch | |||
D3 | Read | Execute | - | ||
D4 | Read/Write | Read/Write | Switch | Switch | - |
In generale una matrice degli accessi si presenta come una matrice sparsa e ammette due alternative rappresentazioni in forma compatta, la lista degli accessi (ACL) e la capability list (CL). La ACL è una rappresentazione per colonne, ovvero per ogni oggetto la lista contiene le coppie ordinate
La soluzione più comune per revocare i diritti di accesso è l'utilizzo di una combinazione dei due metodi. In UNIX è disponibile un meccanismo per la creazione di un dominio di protezione, che consente all'utente (o) di definire per ciascun file 3 bit di read, write e execute, impostati in modo diverso a seconda che l'operatore amministratore sia il proprietario del file, il gruppo o tutti gli altri. Si noti che ogni dominio è associato a un utente e il cambio di dominio corrisponde allo scambio temporaneo di identità tra utenti: ad ogni file sono associati l'identificazione del proprietario (user-id) ed un bit di dominio (set-uid); quando un utente A () inizia l'esecuzione di un file di cui è proprietario B (), allora - solo se il file ha set-uid=1 - l'user-id di A viene temporaneamente impostato uguale a B (user-id=B simulando). Se un processo tenta di eseguire un accesso del tipo si in tal modo lo switch.
fd=open(<nome file>, <diritti d'accesso>)
cerca nell'ACL corrispondente e si verifica che l'accesso sia consentito, in caso affermativo nella tabella dei file aperti viene creata una nuova entry, identificata da fd, alla quale vengono associati tutti i diritti d'accesso contenuti nella corrispondente capability list ( ).
ogni successiva operazione viene eseguita previa verifica che il diritto d'accesso sia tra quelli consentiti.
Si parla di sicurezza in presenza di meccanismi che consentano la limitazione dell'accesso alle risorse di un sistema da parte di utenti non espressamente autorizzati (in tal caso non è in discussione la semplice correttezza del tipo di accesso, bensì la sua liceità stabilita d'autorità per motivi di sicurezza). La maggior parte dei SO permette a singoli utenti di determinare chi possa leggere/scrivere i propri file/oggetti (controllo discrezionale degli accessi), tuttavia in alcuni ambienti ( )
privata ( ). La chiave pubblica viene utilizzata per crittare il messaggio, mentre la chiave privata viene utilizzata per decrittare il messaggio. In questo modo, solo il destinatario che possiede la chiave privata corrispondente può leggere il messaggio.
La crittografia asimmetrica offre un livello di sicurezza maggiore rispetto alla crittografia simmetrica, ma è anche più complessa da implementare. È necessario gestire in modo sicuro le chiavi pubbliche e private e garantire che siano autentiche.
Inoltre, è importante tenere conto delle normative sulla privacy e della protezione dei dati personali. Le informazioni sensibili devono essere protette adeguatamente per evitare accessi non autorizzati e possibili violazioni della privacy.
In conclusione, la sicurezza nell'accesso ai dati è un aspetto fondamentale da considerare in diversi contesti, come quello militare, ospedaliero e aziendale. L'utilizzo di metodi di autenticazione sicuri, come la crittografia asimmetrica e la firma elettronica, può contribuire a garantire la protezione dei dati e la privacy degli utenti.chiave privatada diffondere( ): la proprietà fondamentale di questa coppia di chiavi è che un messaggio cifrato usando una delle due da tenere segretapuò essere decrittato soltanto usando l'altra chiave. La coppia di chiavi viene generata (chiavi a 1024 o più bit sono considerate) usando algoritmi basati su funzioni unidirezionali in modo tale che la conoscenza della chiave pubblica emolto sicuredell'algoritmo stesso non siano sufficienti per risalire alla chiave privata ( per esempio è sufficiente un piccolo computer e qualchemillesimo di secondo per moltiplicare due numeri primi da 150 cifre, ma occorre il lavoro di decine di migliaia di computer per un anno per trovare i). Ogni utilizzatore si crea la propria coppia di chiavi, la chiave privata viene tenuta segreta e maifattori primi di quel numerorivelata a nessuno, viceversa la chiave pubblica viene diffusa in vari modi: può essere aggiunta automaticamente in codaa ciascunproprio messaggio nelle varie conferenze elettroniche cui si partecipa, o può essere depositata in archivi pubblici (keyserver) a disposizione di chi la desideri, l'importante è che sia liberamente accessibile. Tipicamente il messaggio cifrato viene codificato con la chiave pubblica dal mittente e decrittato con quella privata dal destinatario: è come se il messaggio fosse una cassaforte con due chiavi distinte, una usata per aprirla (chiave pubblica) e una per chiuderla (chiave privata).
Un altro possibile utilizzo dell'algoritmo di crittografia asimmetrica consente (firma digitale) la creazione di una come detto all'inizio firma digitale, a fini di autenticazione: in soldoni un messaggio viene crittato con la chiave privata e i destinatari possono decrittarlo usando la chiave pubblica, dacché possono risalire con certezza alla sua identità. Un utente che vuole creare una firma per un documento, ricorre quindi ad una funzione hash e
ricava l'impronta digitale del documento (messagedigest), un file di dimensioni relativamente piccole che contiene una sorta di codice di controllo relativo al documento stesso (la funzione hash è fatta in modo da rendere minima la probabilità che da testi diversi si possa ottenere il medesimo valore dell'impronta), dopodiché utilizza la propria chiave privata per codificare l'impronta digitale ottenendo la firma (che dipende dall'impronta digitale del documento e quindi dal documento), che viene infine allegata al documento: qualunque destinatario del documento stesso, oltre che dalla chiave privata dell'utente chiaro può verificarne l'autenticità decodificando la firma con la chiave pubblica del mittente, ottenendo l'impronta digitale del documento, e confrontando quest'ultima
con quella che si ottiene applicando la funzionehash()
al documento pubblicaricevuto(). Se le due impronte sono uguali, l'autenticità del documento è garantita.
Ricapitolando, se A vuole inviare un documento a B garantendo la segretezza, l'integrità e la propria identità (cioè) procede in questo modo: codifica il documento con la sua chiave privata() e poi con la chiave pubblica di B(); chiaramente quando B riceve il messaggio lo decodifica con la sua chiave privata segretezza() e poi con la chiave pubblica di A().
Un certificato digitale è un documento elettronico che attesta, con una firma digitale, l'associazione tra una chiave pubblica e l'identità di un soggetto() e tipicamente include una chiave pubblica, i dati identificativi persona, società, computer, ... del soggetto, un periodo divalidità e un URL alla lista dei certificati revocati (CRL), il tutto firmato da una terza parte fidata: un certificato ha solitamente un intervallo temporale di validità al di fuori del quale deve essere considerato non valido; un certificato può essere revocato se si scopre che la relativa chiave privata è stata compromessa, oppure se la relazione tra soggetto e chiave pubblica specificata nello stesso è incorretta o cambiata (un utente, oltre a controllare che il certificato sia fidato e non sia scaduto, dovrebbe controllare anche che non sia stato revocato, consultando il CRL). I certificati digitali sono utilizzati per l'accesso ai siti web via HTTPS, ovvero HTTP su protocollo sicuro SSL (attraverso un certificato ci si può accertare che il server cui ci si è connessi è autentico, ovvero è effettivamente quello che dichiara di essere) durante la connessione, il server.faccia, possiamo identificare un settore con il numero di blocco logico (LBA) dato dalla formula:
LBA = (f * T + t) * S + s
dove f è il numero di faccia, t è il numero di traccia sulla faccia e s è il numero di settore.
Per ottimizzare le operazioni di I/O, è possibile utilizzare tecniche come la prefetching, che consiste nel caricare in anticipo i dati che potrebbero essere richiesti successivamente, e la caching, che consiste nel memorizzare temporaneamente i dati più frequentemente utilizzati per ridurre i tempi di accesso al disco.
Inoltre, è possibile utilizzare algoritmi di scheduling per gestire in maniera efficiente le richieste di I/O, ad esempio utilizzando l'algoritmo SCAN che sposta il braccio di lettura/scrittura del disco in modo da minimizzare i tempi di accesso.
Infine, è importante considerare la dimensione dei blocchi di dati utilizzati per le operazioni di I/O. Blocchi di dimensioni troppo piccole possono causare un overhead elevato a causa delle operazioni di lettura/scrittura, mentre blocchi di dimensioni troppo grandi possono causare uno spreco di spazio sul disco. È quindi necessario trovare un compromesso tra le dimensioni dei blocchi e le esigenze specifiche del sistema.Traccia: numero di settore entro la traccia
L'intero insieme dei settori fisici che compongono un drive