eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaEmbedded Linux z szyfrowanym RFS
Ilość wypowiedzi w tym wątku: 15

  • 11. Data: 2012-11-24 22:47:16
    Temat: Re: Embedded Linux z szyfrowanym RFS
    Od: Bool <n...@n...com>

    W dniu 2012-11-24 16:22, Michoo pisze:
    > On 24.11.2012 16:03, Bool wrote:
    >> Dla mnie idealne byłoby
    >> gdyby procesor miał wbudowaną pamięć flash w której umieszczałbym
    >> bootloader z obsługą szyfrowanego kernela i blokował był dostęp do tej
    >> pamięci.
    >
    > Dokładnie. Większość procesorów ma coś takiego

    Większość? Ja z ARMów z MMU znam tylko AT91SAM9X z wbudowanym flashem. Niestety w tym
    projekcie
    odpada ze względu na brak sterownika grafiki.

    Możesz podać jakieś inne?


  • 12. Data: 2012-11-24 23:12:05
    Temat: Re: Embedded Linux z szyfrowanym RFS
    Od: Michoo <m...@v...pl>

    On 24.11.2012 22:47, Bool wrote:

    > Możesz podać jakieś inne?
    AM335x

    --
    Pozdrawiam
    Michoo


  • 13. Data: 2012-11-24 23:18:28
    Temat: Re: Embedded Linux z szyfrowanym RFS
    Od: Jacek Radzikowski <j...@s...die.die.die.piranet.org>

    On 11/24/2012 04:47 PM, Bool wrote:
    > W dniu 2012-11-24 16:22, Michoo pisze:
    >> On 24.11.2012 16:03, Bool wrote:
    >>> Dla mnie idealne byłoby
    >>> gdyby procesor miał wbudowaną pamięć flash w której umieszczałbym
    >>> bootloader z obsługą szyfrowanego kernela i blokował był dostęp do tej
    >>> pamięci.
    >>
    >> Dokładnie. Większość procesorów ma coś takiego
    >
    > Większość? Ja z ARMów z MMU znam tylko AT91SAM9X z wbudowanym flashem.
    > Niestety w tym projekcie odpada ze względu na brak sterownika grafiki.
    >
    > Możesz podać jakieś inne?

    Poszukaj jakiegoś procesora z wbudowaną TrustZone. To jest mały kawałek
    procesora, który wykonuje swój zabezpieczony program, który może
    odszyfrować bootloader przed uruchomieniem, albo wykonywać fragmenty
    kodu które są krytyczne ze względu na bezpieczeństwo. Być może będziesz
    musiał podpisać NDA żeby dostać dokumentację, ale to będzie chyba
    najprostsze i najbezpieczniejsze rozwiązanie.

    pzdr.
    j.


  • 14. Data: 2012-11-25 01:01:21
    Temat: Re: Embedded Linux z szyfrowanym RFS
    Od: ZeNek <p...@p...pl>

    W dniu 2012-11-24 22:47, Bool pisze:
    > W dniu 2012-11-24 16:22, Michoo pisze:
    >> On 24.11.2012 16:03, Bool wrote:
    >>> Dla mnie idealne byłoby
    >>> gdyby procesor miał wbudowaną pamięć flash w której umieszczałbym
    >>> bootloader z obsługą szyfrowanego kernela i blokował był dostęp do tej
    >>> pamięci.
    >>
    >> Dokładnie. Większość procesorów ma coś takiego
    >
    > Większość? Ja z ARMów z MMU znam tylko AT91SAM9X z wbudowanym flashem.
    > Niestety w tym projekcie odpada ze względu na brak sterownika grafiki.
    >
    > Możesz podać jakieś inne?

    To wszystko zalezy co ty chcesz zrobic i czy to jest oplacalne dla
    potencjalnego łamacza. Bo wiesz ze wszelkie kodowanie np TV cyfrowej
    jest łamane w ciagu kilku max kilkunastu miesiecy. Połamanie np
    zabezpieczeń TV-n zajęło ponad poł roku i sukces. Fakt trzeba było
    lutować procesory i pamieci ale udało sie tak wiec zastanow sie czy warto.


    Jesli komus sie oplaci dostac sie do twojego wynalazku to zrobi to
    chocbys nawet umieścił to na słońcu.


  • 15. Data: 2012-11-27 19:11:01
    Temat: Re: Embedded Linux z szyfrowanym RFS
    Od: m...@b...org.pl

    W dniu środa, 21 listopada 2012 19:24:41 UTC+1 użytkownik Bool napisał:
    > Mam SBC z ARM, na którym pracuje Linux. Poszukuję rozwiązania, które umożliwi
    zablokowanie dostępu
    (...)
    > W uproszczeniu chodzi o to, że jeśli ktoś dostanie się do karty SD lub do NAND
    flasha, to mimo że
    > odczyta dane to i tak będę one bezwartościowe.

    W Linuksie można zrealizować szyfrowanie na kilka sposobów, na różnych warstwach.

    Od "dołu":
    - Procesor, który uruchamia tylko podpisany cyfrowo/zaszyfrowany kod. Z tego, co
    wiem, np. Freescale i.MX coś takiego potrafią (nazywa się chyba secure boot).
    Procesor (Bootloader w procesorze) ładuje do RAM-u z karty SD lub NAND-a tzw. Boot
    Stream - może to być kernel + ramdysk - odszyfrowuje go i uruchamia (to nie jest
    reklama tej firmy :-).

    - Bootloader (np.: u-boot) zmodyfikowany tak, żeby przed załadowaniem jądra i
    ramdysku do pamięci odszyfrowywał je. Wymaga zmodyfikowania bootloadera i ogranicza
    zastosowanie tylko do zaszyfrowania obrazu filesystemu.

    - Szyfrowanie urządzeń blokowych na poziomie jądra: wspomniany w tej dyskusji
    dm-crypt (z lub bez LUKS) lub cryptsetup. W ten sposób można zaszyfrować tylko
    urządzenie blokowe (czyli takie, które obsługuje swobodne zapisy/odczyty), czyli np.
    kartę SD. Rozwiązanie nie nadaje się do szyfrowania NANDa (który wymaga kasowania
    przed zapisem, ma bad-sectory i się zużywa w miarę kasowań). Istnieją wprawdzie
    sterowniki implementujące mapowanie NAND-a na urządzenie blokowe (FTL, gluebi), ale w
    Linuksie powszechnie stosuje się specjalizowane filesystemy dla NAND (jffs2, ubifs).

    - Szyfrowanie plików na poziomie filesystemu. Linux wspiera coś takiego, jak
    ecryptfs: http://lxr.linux.no/#linux+v3.6.8/Documentation/file
    systems/ecryptfs.txt. W dowolnym systemie plików (na karcie SD lub np. ubifs na NAND)
    tworzony jest katalog (źródło), który następnie montujemy w innym katalogu (cel) pod
    kontrolą ecryptfs-a: mount -t ecryptfs źródło/ cel/ . Plik umieszczony w katalogu
    cel/ jest automatycznie szyfrowany i przechowywany w źródło/. Mogą być też szyfrowane
    nazwy plików (wsztsko zależy od opcji montowania). Oczywiście żeby to działało,
    konieczne jest wsparcie ze strony kernela i odpowiednie narzędzia pomocnicze.

    Pozostaje jeszcze problem dostarczenia do systemu klucza do odszyfrowania (poza
    pierwszym przypadkiem):
    - użytkownik może wprowadzać PIN podczas uruchamiania
    - można użyć jakiegoś wbudowanego w urządzenie tokenu (smartcard), jakiś dedykowany
    chip itp. (ale to niestety podnosi koszty)
    - można zastosować security-by-obscurity i w jakiś nieoczywisty sposób zaszyć klucz w
    kodzie: bootloadera, Linuksa lub jakiejś usługi - ale to jest najprostsze do złamania
    jak się ktoś uprze.

    W praktyce:
    W jednym z projektów zastosowałem ecryptfs do szyfrowania plików na NAND-zie -
    działał bez problemów na 200MHz ARM9. Zaszyfrowane (AES) było kilkanaście megabajtów
    danych (aplikacja, ustawienia). Narzut na czas startu był niewielki, tak samo zapisy,
    czas pracy na baterii itp. Widać było spowolnienie jedynie w przypadku zapisywania
    tam dużej ilości danych.

    Pozdrawiam
    --
    Marcin Bis
    http://bis.org.pl

strony : 1 . [ 2 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: