RTV forum PL | NewsGroups PL

Koszt produkcji programowalnego klucza USB z przełącznikiem i hasłami jak Yubikey?

taki klucz usb

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Koszt produkcji programowalnego klucza USB z przełącznikiem i hasłami jak Yubikey?

Goto page Previous  1, 2, 3  Next

Jeremiasz Kafelski
Guest

Thu Jun 18, 2009 8:57 pm   



Adam Dybkowski wrote:

Quote:
Paweł pisze:

Fajne, ale zamkniete. A musi byc otwarte. Do tego nie moge zmienic
funkcjonalnosci.

Używasz pojęć, które nie dla wszystkich mogą mieć jednakowe znaczenie.
Określ dokładnie co rozumiesz pod pojęciem "otwarte".

Na przykład:
http://code.google.com/p/opencryptotoken/

Czyli jest ogólnie znany schemat urządzenia i dostępny pełny kod
źródłowy firmware.


Tak to byl przyklad, ktory podalem. Innym przykladem moze byc telefon neo.

Paweł
Guest

Thu Jun 18, 2009 9:00 pm   



Quote:
Fajne, ale zamkniete. A musi byc otwarte. Do tego nie moge zmienic
funkcjonalnosci.

Używasz pojęć, które nie dla wszystkich mogą mieć jednakowe znaczenie.
Określ dokładnie co rozumiesz pod pojęciem "otwarte".

Na przykład:
http://code.google.com/p/opencryptotoken/

Czyli jest ogólnie znany schemat urządzenia i dostępny pełny kod
źródłowy firmware.


Myślę, że pytający rozumie to jako procesor bez żadnego oprogramowania
podłączany do USB.

Paweł

Adam Dybkowski
Guest

Thu Jun 18, 2009 9:16 pm   



Jeremiasz Kafelski pisze:

Quote:
Określ dokładnie co rozumiesz pod pojęciem "otwarte".
Na przykład:
http://code.google.com/p/opencryptotoken/

Czyli jest ogólnie znany schemat urządzenia i dostępny pełny kod
źródłowy firmware.

Tak to byl przyklad, ktory podalem. Innym przykladem moze byc telefon neo.

Neo o ile dobrze pamiętam miał jakąś starą Nokię (8110?) z dodatkową
sprężynką rozsuwającą telefon po naciśnięciu przycisku.
http://www.retrobrick.com/81102.html

Open hardware ani software to on raczej nie był.

--
Adam Dybkowski
http://dybkowski.net/

Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

Jeremiasz Kafelski
Guest

Thu Jun 18, 2009 10:24 pm   



Adam Dybkowski wrote:

Quote:
Jeremiasz Kafelski pisze:

Określ dokładnie co rozumiesz pod pojęciem "otwarte".
Na przykład:
http://code.google.com/p/opencryptotoken/

Czyli jest ogólnie znany schemat urządzenia i dostępny pełny kod
źródłowy firmware.

Tak to byl przyklad, ktory podalem. Innym przykladem moze byc telefon
neo.

Neo o ile dobrze pamiętam miał jakąś starą Nokię (8110?) z dodatkową
sprężynką rozsuwającą telefon po naciśnięciu przycisku.
http://www.retrobrick.com/81102.html

Open hardware ani software to on raczej nie był.

Przepraszam, nieprecyzyjnie sie wyrażam

http://wiki.openmoko.org/wiki/Neo1973

Adam Dybkowski
Guest

Thu Jun 18, 2009 10:33 pm   



Jeremiasz Kafelski pisze:

Quote:
Tak to byl przyklad, ktory podalem. Innym przykladem moze byc telefon
neo.

Neo o ile dobrze pamiętam miał jakąś starą Nokię (8110?)

Przepraszam, nieprecyzyjnie sie wyrażam
http://wiki.openmoko.org/wiki/Neo1973

Trzeba było od razu pisać, że chodzi o OpenMoko.

Pomysł niezły, ale niestety wyszedł znacznie droższy, niż nawet
wypasione komórki innych producentów. 300-450 USD to dużo za dużo za
telefon, który nie ma ani 3G (UMTS), ani nawet EDGE.
http://www.mgsm.pl/katalog/fic/neo1973/

Proponuję spojrzeć jednak w stronę komórek na Androidzie (czyli
Linux+JAVA) - kod źródłowy także dostępny:
http://source.android.com/download
a gotowe komórki cenowo wypadają całkiem nieźle, dodatkowo można je
znaleźć w promocjach operatorów (w Polsce Era G1).

--
Adam Dybkowski
http://dybkowski.net/

Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

MKi
Guest

Sun Jun 21, 2009 12:10 pm   



Quote:
Tak tajny firmware i tajny klucz prywatny bylby 'jakos' wgrywany do
urzadzenia. Jak ? Nie wiem. Moze przez system plikow, moze przez karte
(czyli czytnik kart dodatkowo), moze jakos inaczej.

Nie, mam inną wizję. Specjalizowany program na peceta,
napisany i udostępniony użytkownikowi. Ten program, przez
to samo złącze USB by wgrywał część firmware - bo druga część,
odpowiedzialna za odbiór danych z peceta przez USB byłaby
nieruszana. Ta druga część by tylko nasłuchiwała na USB,
czy ktoś (czyli ów specjalizowany program) nie chce czegoś
wgrywać. I nie wtrącała by się w "rzeczywistą" pracę klucza.

Pozdrowienia,
MKi

Jeremiasz Kafelski
Guest

Mon Jun 22, 2009 7:14 am   



MKi wrote:

Quote:
Tak tajny firmware i tajny klucz prywatny bylby 'jakos' wgrywany do
urzadzenia. Jak ? Nie wiem. Moze przez system plikow, moze przez karte
(czyli czytnik kart dodatkowo), moze jakos inaczej.

Nie, mam inną wizję. Specjalizowany program na peceta,
napisany i udostępniony użytkownikowi. Ten program, przez
to samo złącze USB by wgrywał część firmware - bo druga część,
odpowiedzialna za odbiór danych z peceta przez USB byłaby
nieruszana. Ta druga część by tylko nasłuchiwała na USB,
czy ktoś (czyli ów specjalizowany program) nie chce czegoś
wgrywać. I nie wtrącała by się w "rzeczywistą" pracę klucza.

To nawet lepsze (dodałbym tylko jednak switch/przełącznik hardwerowy by nie
wgrac bez wyraźnej mojej wiedzy)

Trudno taki klucz by bylo zrobić?

MKi
Guest

Mon Jun 22, 2009 3:50 pm   



Quote:
Tak tajny firmware i tajny klucz prywatny bylby 'jakos' wgrywany do
urzadzenia. Jak ? Nie wiem. Moze przez system plikow, moze przez karte
(czyli czytnik kart dodatkowo), moze jakos inaczej.
Nie, mam inną wizję. Specjalizowany program na peceta,
napisany i udostępniony użytkownikowi. Ten program, przez
to samo złącze USB by wgrywał część firmware - bo druga część,
odpowiedzialna za odbiór danych z peceta przez USB byłaby
nieruszana. Ta druga część by tylko nasłuchiwała na USB,
czy ktoś (czyli ów specjalizowany program) nie chce czegoś
wgrywać. I nie wtrącała by się w "rzeczywistą" pracę klucza.

To nawet lepsze (dodałbym tylko jednak switch/przełącznik hardwerowy by nie
wgrac bez wyraźnej mojej wiedzy)

Że niby użytkownik bez Twojej wiedzy nie przełączy tego switcha?
Jak chcesz kontrolować zmiany, możesz razem z firmwarem
do wgrania dawać użytkownikowi sumę kontrolną - program
by ją weryfikował i nie wgrał nic bez poprawnej sumy.

Quote:

Trudno taki klucz by bylo zrobić?

Nie. Albo tak.

Jakie pytanie, taka odpowiedź - ja bym takie programy
(dwa, na peceta i na procesor) napisał w tydzień, w
przerwach obiadowych. Ale nie znam poziomu wiedzy
potencjalnego twórcy.

Pozdrowienia,
MKi

Adam Dybkowski
Guest

Mon Jun 22, 2009 8:17 pm   



MKi pisze:

Quote:
To nawet lepsze (dodałbym tylko jednak switch/przełącznik hardwerowy
by nie wgrac bez wyraźnej mojej wiedzy)

Że niby użytkownik bez Twojej wiedzy nie przełączy tego switcha?
Jak chcesz kontrolować zmiany, możesz razem z firmwarem
do wgrania dawać użytkownikowi sumę kontrolną - program
by ją weryfikował i nie wgrał nic bez poprawnej sumy.

Za proste do obejścia.

Zdecydowanie lepszym rozwiązaniem jest wysyłanie z peceta zaszyfrowanego
apgrejdu (wystarczy do tego choćby AES-128), a klucz deszyfrowania
będzie zaszyty w bootloaderze "klucza" USB. W zależności od potrzeb
można albo generować jeden klucz szyfrowania dla całej serii urządzeń,
albo - ale to już hardcore - indywidualne klucze dla każdego urządzenia,
co wymaga oznaczenia urządzeń np. numerami seryjnymi i generowania
oddzielnego apgrejdu dla każdego egzemplarza.

--
Adam Dybkowski
http://dybkowski.net/

Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

Jeremiasz Kafelski
Guest

Tue Jun 23, 2009 9:30 am   



MKi wrote:

Quote:
Tak tajny firmware i tajny klucz prywatny bylby 'jakos' wgrywany do
urzadzenia. Jak ? Nie wiem. Moze przez system plikow, moze przez karte
(czyli czytnik kart dodatkowo), moze jakos inaczej.
Nie, mam inną wizję. Specjalizowany program na peceta,
napisany i udostępniony użytkownikowi. Ten program, przez
to samo złącze USB by wgrywał część firmware - bo druga część,
odpowiedzialna za odbiór danych z peceta przez USB byłaby
nieruszana. Ta druga część by tylko nasłuchiwała na USB,
czy ktoś (czyli ów specjalizowany program) nie chce czegoś
wgrywać. I nie wtrącała by się w "rzeczywistą" pracę klucza.

To nawet lepsze (dodałbym tylko jednak switch/przełącznik hardwerowy by
nie wgrac bez wyraźnej mojej wiedzy)

Że niby użytkownik bez Twojej wiedzy nie przełączy tego switcha?

Raczej ze program bez wiedzy uzytkownika nie przelaczy tego przelacznika.
Uzytkownik to wie co robi a jak nie wie niech nie uzywa.

Quote:
Jak chcesz kontrolować zmiany, możesz razem z firmwarem
do wgrania dawać użytkownikowi sumę kontrolną - program
by ją weryfikował i nie wgrał nic bez poprawnej sumy.

A jak bedziesz zmienial firmware na nowszy ;)



Quote:
Trudno taki klucz by bylo zrobić?

Nie. Albo tak.
Jakie pytanie, taka odpowiedź - ja bym takie programy
(dwa, na peceta i na procesor) napisał w tydzień, w
przerwach obiadowych. Ale nie znam poziomu wiedzy
potencjalnego twórcy.

No cóż to jest odpowiedź Wink

Jeremiasz Kafelski
Guest

Tue Jun 23, 2009 9:34 am   



Adam Dybkowski wrote:

Quote:
MKi pisze:

To nawet lepsze (dodałbym tylko jednak switch/przełącznik hardwerowy
by nie wgrac bez wyraźnej mojej wiedzy)

Że niby użytkownik bez Twojej wiedzy nie przełączy tego switcha?
Jak chcesz kontrolować zmiany, możesz razem z firmwarem
do wgrania dawać użytkownikowi sumę kontrolną - program
by ją weryfikował i nie wgrał nic bez poprawnej sumy.

Za proste do obejścia.

Zdecydowanie lepszym rozwiązaniem jest wysyłanie z peceta zaszyfrowanego
apgrejdu (wystarczy do tego choćby AES-128), a klucz deszyfrowania
będzie zaszyty w bootloaderze "klucza" USB. W zależności od potrzeb
można albo generować jeden klucz szyfrowania dla całej serii urządzeń,
albo - ale to już hardcore - indywidualne klucze dla każdego urządzenia,
co wymaga oznaczenia urządzeń np. numerami seryjnymi i generowania
oddzielnego apgrejdu dla każdego egzemplarza.


Ale to ma byc open source haker friendly etc.
;)

Wszystko wiem. Dziekuje wszystkim odpowiadającym za odpowiedź.
Jeśli ktoś będzie ten tydzień miał wolny chętnie zajme się programem na
Linux-a lub skryptowe (ruby,php,perl etc.) Jesli bede umial to moze bym
poprawil i ten w kluczu. Zaplace tez za egz. testowy by moc samodzielnie cos
robic.
To taki pomysl oczywiście. Nic więcej.

MKi
Guest

Tue Jun 23, 2009 5:09 pm   



Quote:

Raczej ze program bez wiedzy uzytkownika nie przelaczy tego przelacznika.
Uzytkownik to wie co robi a jak nie wie niech nie uzywa.

Czy jesteś pewien?
Ale czy jesteś pewien, że jesteś pewien?
Czy na pewno jesteś pewien?

(Z życia, widziałem taki program)


Quote:
Jak chcesz kontrolować zmiany, możesz razem z firmwarem
do wgrania dawać użytkownikowi sumę kontrolną - program
by ją weryfikował i nie wgrał nic bez poprawnej sumy.

A jak bedziesz zmienial firmware na nowszy Wink

Bootloader by się wgrywało tylko w fabryce.
Reszta, wykonująca właściwe zadanie, wgrywana
byłaby przez bootloader. Gdy ta właściwa "reszta"
dostałaby odpowiednie polecenie z komputera,
przekazywałaby sterowanie do bootlodera
i odchodziła w niebyt.

Quote:
No cóż to jest odpowiedź Wink

;P

Pozdrowienia,
MKi

Adam Dybkowski
Guest

Tue Jun 23, 2009 7:25 pm   



MKi pisze:

Quote:
Bootloader by się wgrywało tylko w fabryce.
Reszta, wykonująca właściwe zadanie, wgrywana
byłaby przez bootloader. Gdy ta właściwa "reszta"
dostałaby odpowiednie polecenie z komputera,
przekazywałaby sterowanie do bootlodera
i odchodziła w niebyt.

Dobry pomysł. Należałoby również po każdym włączeniu zasilania/resecie
jeszcze w bootloaderze sprawdzać integralność właściwego programu
(chociażby sumę kontrolną CRC32) i przechodzić w tryb "aktualizacji
firmware" jeżeli coś się pokwasi w pamięci Flash. To przy okazji zapewni
automatyczne wejście do pierwszego programowania podczas produkcji
(wystarczy tylko wgrać na początku goły bootloader).

--
Adam Dybkowski
http://dybkowski.net/

Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

MKi
Guest

Tue Jun 23, 2009 7:34 pm   



Quote:
Dobry pomysł. Należałoby również po każdym włączeniu zasilania/resecie
jeszcze w bootloaderze sprawdzać integralność właściwego programu
(chociażby sumę kontrolną CRC32) i przechodzić w tryb "aktualizacji
firmware" jeżeli coś się pokwasi w pamięci Flash. To przy okazji zapewni
automatyczne wejście do pierwszego programowania podczas produkcji
(wystarczy tylko wgrać na początku goły bootloader).


Dodam jeszcze, że ratuje też w przypadku przerwy
(np. zanik napięcia) podczas wgrywania firmware.

Jeden z moich projektów dokładnie tak działa,
jak opisałeś. Szpiegostwo przemysłowe?

;)

Pozdrowienia,
MKi

Adam Dybkowski
Guest

Tue Jun 23, 2009 9:22 pm   



MKi pisze:

Quote:
Dobry pomysł. Należałoby również po każdym włączeniu zasilania/resecie
jeszcze w bootloaderze sprawdzać integralność właściwego programu
(chociażby sumę kontrolną CRC32) i przechodzić w tryb "aktualizacji
firmware" jeżeli coś się pokwasi w pamięci Flash.

Dodam jeszcze, że ratuje też w przypadku przerwy
(np. zanik napięcia) podczas wgrywania firmware.

Jeden z moich projektów dokładnie tak działa,
jak opisałeś. Szpiegostwo przemysłowe?

Nie, raczej standard absolutny w takich przypadkach.

Inny pomysł (jeżeli jest do dyspozycji więcej Flasha) to trzymanie dwóch
kopii firmware (ostatnio wgranej i przedostatniej) i stwierdzanie w
bootloaderze, którą uruchomić. Na podstawie np. sprawdzenia
integralności, numeru wersji czy daty apgrejdowania. To umożliwia
prawidłowe pełne działanie urządzenia nawet gdy podczas apgrejdowania
coś się pokwasi. A przy kolejnym apgrejdzie wybrać do nadpisania właśnie
ten popsuty obszar (ew. starszą wersję firmware jeżeli obie są integralne).

--
Adam Dybkowski
http://dybkowski.net/

Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

Goto page Previous  1, 2, 3  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Koszt produkcji programowalnego klucza USB z przełącznikiem i hasłami jak Yubikey?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map