eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPKI a weryfikacja krótkiego podpisu (3 bajty) › PKI a weryfikacja krótkiego podpisu (3 bajty)
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.pi.v.chmurka.n
    et!not-for-mail
    From: g...@s...invalid (Adam Wysocki)
    Newsgroups: pl.comp.programming
    Subject: PKI a weryfikacja krótkiego podpisu (3 bajty)
    Date: Tue, 13 Mar 2018 16:11:51 +0000 (UTC)
    Organization: news.chmurka.net
    Message-ID: <p88t87$34n$1$gof@news.chmurka.net>
    NNTP-Posting-Host: pi.v.chmurka.net
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    Injection-Date: Tue, 13 Mar 2018 16:11:51 +0000 (UTC)
    Injection-Info: news.chmurka.net; posting-account="gof";
    posting-host="pi.v.chmurka.net:172.24.44.20"; logging-data="3223";
    mail-complaints-to="abuse-news.(at).chmurka.net"
    User-Agent: tin/2.4.1-20161224 ("Daill") (UNIX) (Linux/4.4.50-v7+ (armv7l))
    Cancel-Lock: sha1:jswJvCm9EDqN/gG9EXKLtt+18pM=
    Xref: news-archive.icm.edu.pl pl.comp.programming:212297
    [ ukryj nagłówki ]

    Cześć,

    Może Wy mnie naprowadzicie.

    Potrzebuję w określonej sytuacji wygenerować użytkownikowi 8-cyfrowy kod
    (ostatecznie cyfr może być więcej, ale raczej nie więcej niż 10), który
    zostanie zweryfikowany przez urządzenie i zostanie wykonana określona
    akcja. Ten kod musi być przeznaczony tylko dla tego urządzenia i ważny
    tylko przez określony czas (założyłem, że dwa dni wystarczą; użytkownik
    nie ma możliwości manipulacji datą na urządzeniu).

    Wymyśliłem, żeby podczas generacji złożyć do kupy nr seryjny urządzenia,
    aktualną datę, dorzucić do tego sekretny klucz, zrobić skrót SHA-256,
    wziąć pierwsze cztery bajty, zamienić je do postaci dziesiętnej i
    ewentualnie obciąć lub dopełnić zerami. Urządzenie podczas weryfikacji
    zrobiłoby to samo (a jak weryfikacja się nie uda, to dla daty dnia
    poprzedniego).

    Problem jest tylko taki, że sekretny klucz musi być również na urządzeniu,
    czyli potencjalnie do wyciągnięcia z urządzenia lub np. z plików update'u
    (zaszycie go gdzieś mi się nie podoba, bo on nadal tam będzie). Chciałbym,
    żeby go nie było.

    Pierwsze, o czym pomyślałem, to użycie kryptografii asymetrycznej i
    wrzucanie na urządzenia kluczy publicznych, a do generacji używanie klucza
    prywatnego. Wtedy podpisywałbym wspomniane dane tym kluczem (wtedy już bez
    sekretnego klucza symetrycznego), a urządzenie mogłoby sobie ten podpis
    zweryfikować.

    Tylko czy jest jakiś sposób, żeby przesłać sygnaturę w postaci niecałych
    czterech bajtów (8 cyfr 0-9), ewentualnie całych (jak zwiększę liczbę cyfr
    do 10)? Przecież urządzenie jej nie wygeneruje i nie obetnie sobie, żeby
    ręcznie porównać zgodność, tak jak w przypadku wspomnianego wcześniej
    skrótu.

    Macie jakiś pomysł, jak to inaczej zrealizować, żeby klucz, który może
    zostać użyty do generacji nowych kodów, nie znajdował się na urządzeniu?

    To nie jest bardzo krytyczne i jeśli nie uda się znaleźć rozwiązania, to
    zostanę przy tym pierwszym. Po prostu chciałbym to zrobić dobrze i zgodnie
    ze sztuką.

    Pozdr.

    --
    [ Email: a@b a=grp b=chmurka.net ]
    [ Web: http://www.chmurka.net/ ]

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: