Changes between Version 26 and Version 27 of Studio


Ignore:
Timestamp:
May 2, 2007, 12:39:29 PM (18 years ago)
Author:
soujak
Comment:

Aggiornamento dell'indice della relazione.

Legend:

Unmodified
Added
Removed
Modified
  • Studio

    v26 v27  
    4949--------------------------------------------------------------------------------
    5050
     51== Consigli da Ghini ==
     52Relazione sintetica
     53 Obiettivi
     54 Analisi
     55  Specifiche IEEE 802.11 (solo quelle strettamente necessarie)
     56 Soluzioni
     57  Soluzione a basso livello
     58 NonAncora Soluzioni e Idee
     59  Analisi tempistiche
     60 Bibliografia per approfondimenti
     61
     62--------------------------------------------------------------------------------
     63
    5164== Indice ==
    5265
    53 ,,20070404-1310 gnappo & SoujaK ''Cio' che segue scritto in `caratteri monospaziati` e' una proposta della struttura e dei contenuti dello studio di fattibilita'.,,''
    54 
    55  * abstract
    56    * scopo, motivazione
    57      * connessione a differenti reti wireless
    58      * incremento affidabilita` tramite ridondanza
    59      * sfruttamento ottimale delle risorse disponibili migliorando il throughput
    60      * interconnessione di differenti reti wireless
     66{{{
     67 * Abstract
     68 * Introduzione
     69   * scopo, motivazione 
     70.    * connessione a differenti reti wireless
     71.    * incremento affidabilita` tramite ridondanza
     72.    * sfruttamento ottimale delle risorse disponibili migliorando il throughput
     73.    * interconnessione di differenti reti wireless
    6174   * oggetto
    62      * client singolo connesso a diversi BSS (anche independent?)
    63  * introduzione
    64    * obiettivi supplementari: basso overhead (costo intrinseco per il mantenimento) e
    65      portabilita'
    66    * livello a cui operare: pro/contro e trade-off tra efficienza
    67    * breve excursus delle soluzioni analizzate
    68  * livello di sistema operativo, sopra il firmware
    69    * descrizione
    70      * idea: il firmware offre primitive piu' elementari (anche legate a PHY)
    71        sfruttiamo il firmware a nostro piacimento!
    72      * il driver sara' in grado di gestire in un unico punto d'entrata le
    73        interfacce multiple offerte dal SO
    74      * rivisitazione di MAC, smanettandolo per i nostri sporchi fini
    75        (cambiamenti vigliacchi di BSSID mask, stato d'associazione, tipi di
    76        auth)
    77      * componente scheduler (-> interfacce virtuali) che pianifica le
    78        trasmissioni
    79      * -> riscrittura / patching del driver
    80      * all'esterno (-> idee generali)
    81      * lo sgamo del power-saving
    82    * pro
    83      * nessuna perdita di dati
    84        * power-saving e bufferizzazione dei dati da parte degli AP
    85      * buone prestazioni
    86        * reale associazione multipla -> nessun overhead per
    87          riautenticazione/riassociazione
    88      * si puo' non partire da zero (madwifi)
    89    * contro
    90      * grosso sforzo per l'implementazione
    91        * parziale :'-( reimplementazione di MAC per occuparsi di beghe causate
    92          dalla molteplicita' dei BSS (coordinamento, beacon persi, sottotipi di
    93          autenticazione/crittografia eventualmente differenti)
    94        * complessita' intrinseca dovuta al livello
    95          * firmware spesso solo binari
    96      * prestazioni non eccellenti
    97        * power-saving e obblighi temporali (TIM...)
    98      * troppo specifico
    99        * dipendenza dalla piattaforma -> portabilita' minima
    100        * necessita' di power saving
    101        * scarsa programmabilita' di parecchie implementazioni
    102 {{{
    103  * livello utente, sopra il driver livello driver
    104    * portabilita' dovuta alle interfacce unificate
    105      * wext + wpasupplicant
    106      * ndis
    107    * overhead di questa soluzione
    108      * associazione (analisi costi)
    109      * sincronizzazione (analisi costi)
    110      * autenticazione (analisi costi)
    111        * autenticazione multipla - possibilita' e vantaggi effettivi (wext
    112          e wpa_supplicant)
    113      * ricezioni mancate ma comunque gestibili dai livelli di rete
    114        superiori (TCP)
    115      * conclusione sui costi
    116        * influenza della frequenza di swing sul troughput effettivo
    117  * idee implementative generali
    118    * virtualizzazione delle interfacce di rete (MAC address multipli)
    119    * gestione in maniera ottimale le scelte di swinging (QoS - priorita'
    120      delle comunicazioni, sincronizzazione, qualita' dei BSS ...)
     75|    * client singolo connesso a diversi BSS (anche independent?)
     76   * obiettivi supplementari
     77.    * basso overhead (costo intrinseco per il mantenimento)
     78.    * minimizzare la perdita di dati
     79.    * portabilita'
     80.    * facilita` implementativa
     81:    * virtualizzazione delle interfacce di rete (-> massima trasparenza):
     82       compliant a wext, con MAC address multipli, bridging/routing triviale,
     83       wpa_supplicant autentica agile
     84
     85 * Scenario
     86:    * mezzo fisico partizionato in canali -> necessita` di sfruttarne
     87:      "contemporaneamente" + di 1 (spesso BSS differenti -> canali differenti)
     88     * standard
     89|      * introduzione ai concetti di autenticazione e associazione e alla loro
     90|        interrelazione (molteplicita` si/no ...)
     91       * imposizioni temporali
     92:        * sincronizzazione: beacon, timestamping, CFP ...
     93:        * mantenimento dell'autenticazione
     94       * powersaving
     95:        * notifica dello stato del CLI al AP (power-saving o no)
     96:        * bufferizzazione
     97:        * trasmissioni on-demand (PS-poll, TIM ...)
     98     * Linux Wireless Extensions
     99.      * interfacce unificate per i driver delle piattaforme GNU/Linux
     100.      * wireless tools a livello utente
     101     * implementazioni
     102       * architettura
     103|        livello di implementazione dello strato MAC, quasi tutto
     104|        e` nel firmware, a causa delle esigenze real-time precedentemente
     105|        menzionate, eccezion fatta per 802.11i (stato dell'autenticazione
     106|        mantenuto internamente).
     107       * distanza dallo standard
     108|        * preautenticazione non implementata da alcuno, probabile assenza di
     109|          strutture per supportare autenticazione multipla
     110.        * powersaving opzionale
     111:      * scarsa programmabilita` dei fw (ed eccezioni: atheros, forse broadcom)
     112
     113     * caso reale
     114       * Atheros
     115.        * il chipset
     116.        * fw molto permissivo
     117.        * HAL (binarieta` e brevissima descrizione)
     118       * MADWiFi
     119:        * possibilita` offerte (modalita` multipla eterogenea)
     120.        * interfaccia verso l'alto
     121
     122 * Soluzioni
     123   * trattasi di idee e non di SOLUZIONI FINALI
     124:  * introduzione sul livello a cui operare: pro/contro e trade-off tra
     125:    efficienza e portabilita`/facilita` implementativa
     126
     127   * livello di sistema operativo, sopra il firmware
     128     * descrizione
     129|      * il firmware offre primitive piu' elementari (anche legate a PHY)
     130|        sfruttiamo il firmware a nostro piacimento! e riscriviamo/pacciamo un
     131|        driver
     132:      * il driver sara' in grado di gestire in un unico punto d'entrata le
     133:        interfacce multiple offerte dal SO
     134|      * rivisitazione di MAC, smanettandolo per i nostri sporchi fini
     135|        (cambiamenti vigliacchi di BSSID mask, stato d'associazione, tipi di
     136|        auth)
     137|      * lo sgamo del power-saving, la vigliaccheria, i buffer
     138.      * componente scheduler (-> interfacce virtuali wext compliant) che
     139.        pianifica le trasmissioni
     140     * pro
     141:      * nessuna perdita di dati
     142.        * power-saving e bufferizzazione dei dati da parte degli AP
     143       * buone prestazioni
     144.        * reale associazione multipla -> nessun overhead per
     145.          riautenticazione/riassociazione
     146.      * totale trasparenza grazie alle interfacce wext compliant
     147.      * si puo' non partire da zero (-> madwifi)
     148     * contro
     149       * grosso sforzo per l'implementazione
     150.        * parziale reimplementazione di MAC per occuparsi di beghe causate
     151           dalla molteplicita' dei BSS:
     152.          * tempistiche: sincronizzazione, rilevamento beacon persi ed eventuale
     153.            sfruttamento dei CFP. (beacon interval noti e mantenimento di informazioni
     154.            necessarie per ogni BSS)
     155.          * sottotipi di autenticazione/crittografia: mantenimento chiavi
     156.            (|di sessione), stato della crittografia e dell'autenticazione.
     157.            (getter e setter sugli attributi MIB relativi)
     158.        * complessita' intrinseca dovuta al livello implementativo
     159.        * firmware spesso solo binari, quindi probabile reverse engineering
     160.      * prestazioni non eccellenti, perche` limitate da power-saving e relativi
     161.        obblighi temporali (TIM...) {non posso proprio fare i miei comodi al 100%}
     162       * troppo specifico
     163.        * dipendenza dalla piattaforma fw -> portabilita' minima
     164.        * necessita' di power saving
     165.        * la soluzione dipende fortemente dal firmware di riferimento, scarsa
     166.          programmabilita' di parecchie implementazioni
     167
     168   * livello utente, sopra il driver livello driver
     169     * descrizione
     170:      * idea: cheppalle riscriversi un driver, chissenefrega degli overhead,
     171:              lavoriamo pure a livello alto
     172.      * riassociazione ad ogni cambio di BSS
     173.      * GNU/Linux e Wireless Extensions come riferimento
     174:      * forse autenticazione multipla
     175.      * interfacce virtuali wext compliant (->)
     176.      * autenticazioni multiple a livelli superiori 802.1x (con wpa_supplicant)
     177     * pro
     178.      * facilita` implementativa
     179.      * totale trasparenza grazie alle interfacce wext compliant (in questo
     180.        la cosa e` non banale, per il livello implementativo e permette il
     181.        comodo uso di wpa_supplicant)
     182.      * portabilita' dovuta alle interfacce unificate
     183     * contro
     184       * dataloss [ma si puo` risolvere a livelli superiori (TCP, ATM)]
     185:      * latenze (|assai) ingenti (con|senza) autenticazione multipla
     186         * analisi costi vago in termini di ordini di grandezza:
     187           * associazione
     188           * sincronizzazione ~ 100 ms
     189           * autenticazione (PSK)
     190
     191:  * Ottimizzazioni ulteriori (scelte di swinging)
     192       * obblighi temporali da rispettare [sincronizzazione]
     193       * costi dello switch
     194       * qualita' dei BSS (carico di lavoro, segnale)
     195       * caratteristiche delle comunicazioni (esigenze di interattivita` o meno,
     196         priorita' ...) -> politiche di QoS di 802.11e
     197
     198 * Bibliografia
     199   * standard vari
     200   * la guida definitiva
     201   * madwifi
     202   * cisco (che fa figo)
     203
     204 * Ringraziamenti
     205   * Vittorio Ghini, mentore
     206   * Luciano Bononi
     207   * Sam Leffler, autore di HAL (-> Atheros)
     208   * Jouni Malinen, autore di hostap e wpa_supplicant
     209
     210
     211                              8===D         - - -
     212
     213                        "Non siamo mica dei tecnici"
     214
    121215}}}
     216
     217== Da fare ==
     218 * Sniffing
     219   * analisi dello stato del fw / driver in seguito ad un cambiamento di
     220     indirizzo MAC
     221      * MAC spoof con [ifconfig <iface> hw ether <address>]:
     222        dissoc, auth, assoc
     223      * MAC spoof via wext?
     224   * analisi della autenticazione ripetuta
     225      * auth, assoc, MAC spoof, MAC despoof, ...
     226      * auth, assoc, MAC spoof (dissoc, auth, assoc), MAC despoof (dissoc, auth,
     227        assoc) -> il processo di autenticazione viene ripetuto
     228 * Tempistiche
     229    * rilevamento del timeout di associazione/autenticazione (auth, assoc,
     230      poweroff ...)
     231    * tempi di auth (open|psk), assoc
     232 * Indagine sulle implementazioni: strutture dati dedicate alle autenticazioni e
     233   relative modalita` di manipolazione, meccanismi interni vincolanti
     234   (riassociazione):
     235   * wext
     236   * MADWiFi
     237 * Mantenimento esterno dell'autenticazione (forse con wpa_supplicant) e
     238   problemi derivanti dai meccanismi interni vincolanti (dissociazione che causa
     239   deauth) (-> sniffing, cisco guide)