-
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/ ]
Następne wpisy z tego wątku
- 13.03.18 19:39 M.M.
- 13.03.18 19:50 Roman Tyczka
- 13.03.18 20:09 M.M.
- 13.03.18 20:22 Roman Tyczka
- 14.03.18 09:40 Adam Wysocki
- 14.03.18 10:52 Roman Tyczka
- 14.03.18 12:12 M.M.
- 14.03.18 12:19 M.M.
- 14.03.18 12:29 Roman Tyczka
- 14.03.18 12:38 Adam Wysocki
- 14.03.18 12:45 Adam Wysocki
- 14.03.18 13:03 Adam Wysocki
- 14.03.18 13:07 Adam Wysocki
- 14.03.18 14:47 M.M.
- 14.03.18 14:53 Adam M
Najnowsze wątki z tej grupy
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-23 Dostałem nową kartę
- 2024-04-23 Re: Głośniki
- 2024-04-23 Re: Głośniki
- 2024-04-23 Fwd: Re: Głośniki
- 2024-04-23 Re: Głośniki
- 2024-04-23 Białystok => Senior Rust Software Engineer <=
- 2024-04-23 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-04-23 Czy prawo okresli granice chamstwa Jońskiego?
- 2024-04-23 Warszawa => Manager Sprzedaży <=
- 2024-04-23 Kraków => Service Leader/PLC Programmer with German <=
- 2024-04-23 Białystok => Senior Software Engineer PHP (BillPro) Kontraktor <=
- 2024-04-23 Kraków => Mid/Senior QA Engineer <=
- 2024-04-23 Kraków => Lider Serwisu/Programista PLC z językiem niemieckim <=
- 2024-04-23 Marki => Senior DevOps Engineer <=
- 2024-04-23 Odkrywanie ameryki - auta gnija.