Автор Тема: защо ползването на "електронен подпис" е толкова сложно?  (Прочетена 4694 пъти)

vstoykov

  • Напреднали
  • *****
  • Публикации: 1286
  • Distribution: Ubuntu
  • Window Manager: Fluxbox
    • Профил
    • WWW
Гледам по сайтовете инструкции как се ползва електронен подпис (от тези, с които удостоверявате самоличността си при комуникация с държавните институции).

Всичко е кошмарно сложно!

Защо не е взето решение да се ползва някоя проста програма OpenPGP (работата с графичните интерфейси на GnuPG е елементарна).

Ето така си представям нещата:

1) Потребителят си инсталира съответния софтуер (GnuPG плюс някакъв удобен интерфейс - според ОС, която ползва).

2) Потребителят генерира двойка частен/публичен ключ (а не удостоверителят - така е сигурно, че частният ключ не се притежава от удостоверителя).

3) Потребителят носи публичния ключ на удостоверителя.

4) Удостоверителят проверява самоличността на потребителя, вкарва публичния му ключ в един файл заедно с данните от личната карта (на потребителя) и подписва този файл с частния си ключ. Разбира се този файл се предава на потребителя. Потребителят го предоставя на съответната институция заедно с подписаните документи.

Разбира се всички трябва да имат публичния ключ на удостоверителя от сигурен източник за да работи всичко точно. Например сайтът на удостоверителя трябва да е конфигуриран така, че потребителят да е сигурен, че посещава именно сайта на удостоверителя:



Защо е толкова сложно като може да е просто? GnuPG се инсталира лесно както на Linux, така и на Windows (последното го проверих с Wine - нямаше проблеми).

Връзки:
http://www.gnupg.org/gpa.html
http://www.gpg4win.org/
http://utils.kde.org/projects/kgpg/
Активен

dvasilev

  • Напреднали
  • *****
  • Публикации: 200
  • Distribution: Kubuntu, Debian
  • Window Manager: KDE
    • Профил
    • WWW
@vstoykov: Не знам защо всичко ти се струва кошмарно сложно (подкарването на УЕП е сравнително лесно). Но не ми стана ясно защо OpenPGP го прави по-просто. Представи си всичко е направено както смяташ че трябва да бъде и искаш да преведеш пари от банковата си сметка си по електронен път. Какво точно трябва да се разпише според твоите виждания и как става комуникацията?
Активен

ochinko

  • Напреднали
  • *****
  • Публикации: 125
    • Профил
...
2) Потребителят генерира двойка частен/публичен ключ (а не удостоверителят - така е сигурно, че частният ключ не се притежава от удостоверителя).
...
Дори само това да беше, задачата щеше наистина да е непоносимо сложна за средния потребител.

Освен това и при сегашната практика удостоверителят не генерира ключовете. Те се генерират на смарт картата и частният ключ никога не я напуска. Файл, от друга страна, прекалено лесно се копира, като може и никога да не разбереш, че някой си е направил копие. Ако ти изчезне картата, ще се сетиш по-лесно да си анулираш удостоверението.
Активен

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
vstoykov, на снимката която си дал не ти ли прави впечатление че сайта ползва X509 сертификат, а не PGP.

За универсалните сертификати има законово изискване ключовете да се генерират на смарт карта или еквивалентно устройтво от което не може да бъде копиран частният ключ. В случай че сертификата не е универсален (еквивалиентен на саморъчен подпис според българското законодателство) даже няма нужда да е издаден на смарт карта. Например сертификатите и ключовете за сайтове се генерират/издават на файлове.

Лично аз не мога да разбера хората които предпочитат сертификата на файл вместо на карта защото ги мързи да отделят 10 минути за настройка.
Активен

vstoykov

  • Напреднали
  • *****
  • Публикации: 1286
  • Distribution: Ubuntu
  • Window Manager: Fluxbox
    • Профил
    • WWW
vstoykov, на снимката която си дал не ти ли прави впечатление че сайта ползва X509 сертификат, а не PGP.

Разпространението на публичния ключ може изобщо да не става чрез сайт.

За универсалните сертификати има законово изискване ключовете да се генерират на смарт карта или еквивалентно устройтво от което не може да бъде копиран частният ключ.

Освен това и при сегашната практика удостоверителят не генерира ключовете. Те се генерират на смарт картата и частният ключ никога не я напуска. Файл, от друга страна, прекалено лесно се копира, като може и никога да не разбереш, че някой си е направил копие. Ако ти изчезне картата, ще се сетиш по-лесно да си анулираш удостоверението.

Тъй  като частният ключ никога не напуска картата, кражбата на пари от банката съвсем леко се усложнява. Крадецът ще трябва да си инсталира троянец на компютъра на жертвата.

Това, че ключът не може да бъде копират не усложнява много кражбата. Нали все пак е възможно да се ползва от потребителя. А след като потребителят може да го ползва и крадецът ще може.

Ако на компютъра има троянец потребителят как ще разбере това?

Представи си всичко е направено както смяташ че трябва да бъде и искаш да преведеш пари от банковата си сметка си по електронен път. Какво точно трябва да се разпише според твоите виждания и как става комуникацията?

При варианта с "умните" карти не ми е известно как точно става (многото софтуер, който се инсталира се грижи всичко да работи без потребителят да знае твърде много).

При варианта с OpenPGP си представям нещата така:

Потребителят се логва в сайта на банката с името и паролата си. Разбира се ползва се "https" връзка. Само с тях не може да прави преводи или други по-особени операции. Когато иска да направи някаква операция въвежда съответните данни, натиска големия бутон и софтуерът на банката му връща едни данни (форматирани подходящо за да може после да се обработят автоматично), които трябва да подпише. Потребителят ги подписва и ги връща обратно (ще трябва малко copy/paste). Може да се напише и плъгин за браузъра, който да прави това copy/paste. А може и вече браузърите да имат подобна функционалност - не съм ровил из документациите.

Възможно е даже този метод да се ползва и за логването в сайта - така се удостоверява, че логващият се е притежателят на частния ключ.

Разбира се частният ключ е криптиран с дълга парола, която може да се научи само с троянец или други специални разузнавателни средства (видеозапис, звукозапис (да, наистина има и такива, които по звука от клавиатурата разшифроват написаното), keylogger на кабела на клавиатурата).
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Тъй  като частният ключ никога не напуска картата, кражбата на пари от банката съвсем леко се усложнява. Крадецът ще трябва да си инсталира троянец на компютъра на жертвата.

Това, че ключът не може да бъде копират не усложнява много кражбата. Нали все пак е възможно да се ползва от потребителя. А след като потребителят може да го ползва и крадецът ще може.

Ако на компютъра има троянец потребителят как ще разбере това?
До колкото знам, за да се подслуша частния ключ, който е в картата, се правят хардуерни устройства, които подслушват процесора в картата (картата не е само памет). Т.е. троянецът в компютъра ти не може да ти навреди хич.

Обаче избягвам да обсъждам неща, които не знам.
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

vstoykov

  • Напреднали
  • *****
  • Публикации: 1286
  • Distribution: Ubuntu
  • Window Manager: Fluxbox
    • Профил
    • WWW
Аз говоря не за кражба на частния ключ, а за кражба на пари от банката. За това ключът не трябва да се "краде" в класическият смисъл, а само да се използва (т.е. може и да не напуска картата).

Щом потребителят може да ползва ключа, защо крадецът да не може?
Активен

ochinko

  • Напреднали
  • *****
  • Публикации: 125
    • Профил
Троянци, които подслушват клавиатурата и могат да ти прихванат ПИН-а, има масово и в общия случай са трудно уловими, но е далеч по-сложно да се направи такъв, който да автоматизира цяла сесия на онлайн банкиране или дори само да подпише файл.

Ако аз проектирах програма за подписване, щях да настоявам за директен достъп до клавиатурата и да отказвам да приема ПИН, който не е дошъл оттам. Вярно че и програмата може да бъде хакната (или клавиатурата симулирана), но все пак си е още една бариера за преодоляване.

Самата карта наистина е цял компютър, затова и е в състояние да генерира ключове. Наскоро обаче имаше статия как можеш да се сдобиеш с частния ключ само като си играеш със захранването на картата, така че да го държиш на минимума.

Та циклите на разбиване и укрепване на криптосистемите са непрестанни, затова връщането към файл, съдържащ частния ключ, ми се вижда сериозно деградиране на сигурността.
Активен

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
По принцип за универсален електронен подпис се ползват карти които са сертифицирани по FIPS или EAL, че не могат да се измъкнат частните ключове с подслушване. А за феновете на троянците има има такива устройства. При него пина въобще не отива до компютъра.

@ochinko - ти изобщо чете ли статията или само заглавието? Там въобще не става дума за смарт карти.

При всички случаи при PGP подпис е по-лесно да се открадне ключа и/или паролата за него чрез троянец. Разбира се освен ако не ползваш OpenPGP смарт карта, но тогава получаваш същата система като сегашната само че с много повече custom софтуер.

И малко за дългата парола - http://xkcd.com/538/ :)
« Последна редакция: Mar 25, 2010, 14:24 от v_badev »
Активен

ochinko

  • Напреднали
  • *****
  • Публикации: 125
    • Профил
@ochinko - ти изобщо чете ли статията или само заглавието? Там въобще не става дума за смарт карти.
Хвана ме, явно не съм се зачел сериозно.  :)

Спете спокойно, смарткартите все още са сигурни.
Активен

koleto

  • Напреднали
  • *****
  • Публикации: 52
  • Distribution: Ubuntu
  • Window Manager: Gnome
    • Профил
    • WWW
Всички говорите за разни троянци, кейлогъри и подобни. Тези запахи съществуват ли при Линукс потребителите? Знам, че нямаме вируси, но за другия вреден софтуер как стоят нещата?

Извинете за offtopic-а.
Активен

Поражение не съществува, докато човек не се признае за победен!

aaaaaa

  • Напреднали
  • *****
  • Публикации: 971
    • Профил
Ако УЕП-а е прекалено сложен не е ли вариант, да се използва сертификат, издаден от банката? Така клиента може да си го експортира и да си го запази като файлче някъде. Не е толкова сигурно, но с малко повече внимание пак е доста сигурно.
« Последна редакция: Apr 04, 2010, 08:50 от aaaaaa »
Активен

...to boldly go where no one has gone before...

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Да, какъв е проблема да има malware за линукс? И keylogger-и могат да се пишат, и троянци.
Активен

"Knowledge is power" - France is Bacon

stealth01

  • Гост
...не е ли вариант, да се използва сертификат, издаден от банката?
аз в момента ползвам точно това и ме устройва перфектно. проблемът е, че от следващия месец, всеки, който иска да продължи да ползва И-нет банкиране, ще трябва да си вземе УЕП. за повече сигурност, уж. за повече пари, със сигурност. това най-вероятно ще се случи с повечето банки рано или късно...

за троянците... ами не, че linux е защитен, но потребителите му имат малко или много по-добра И-нет култура от win юзерите. тук обичайните .exe файлове, които не се знае какво правят нямат почва, а почти всичко се инсталира от официални източници, което дава доста по-голяма сигурност.
Активен