«Підводні камені» простий електронного підпису

Приводом для написання цієї статті стали численні обговорення, що відбувалися між зацікавленими особами при реалізації проектів, що включають функціональність простий електронного підпису (ПЕП). Поняття ПЕП виявилося розмитим, кількість інтерпретацій про те, як підписувати документи ПЕП, було кратно кількості зацікавлених осіб. Стаття переслідує мета систематизації рішень, що застосовуються в інформаційних системах для підписання документів ПЕП, з точки зору чинного законодавства.

Читати далі →

Чому традиційна захист від крадіжки грошових коштів у системах ДБО вразлива

Банківські електронні сервіси безпосередньо чи опосередковано оперують грошима. А там, де є гроші, завжди знайдуться ті, хто захоче їх вкрасти. Особливий інтерес у кіберзлочинців викликають системи дистанційного банківського обслуговування для юридичних осіб, так як на рахунках останніх акумулюються значні суми грошових коштів.
Для захисту від крадіжки грошових коштів у таких системах, як правило, потрібно вирішити наступні основні завдання: перевірити справжність користувача, а також автентичність та цілісність електронного документа, що виражає намір користувача. На практиці, таким документом є платіжне доручення, в числі реквізитів якого задаються сума грошових коштів і рахунок одержувача.

Читати далі →

«Швець в своїх чоботях»: як ми писали модуль управління фінансовими ресурсами для внутрішньої СЕД

image

Не секрет, що ми в Хоулмонт самі використовуємо СЕД ТЕЗУ. Дивно було б, маючи в руках сучасний і надійний інструмент для зберігання та погодження документів, користуватися чимось ще. Не дивно і те, що для будь-досить великій компанії штатної функціональності СЕД часом не вистачає. У цій статті ми розповімо, як створювався додатковий модуль до нашої внутрішньої СЕД ТЕЗА — модуль управління фінансовими ресурсами, або просто модуль фінансових заявок, як ми його називаємо. А заодно скористаємося нагодою і трохи покажемо, як проводиться проектне впровадження системи на прикладі окремо взятої організації.

Читати далі →

Криптографія на Python: шифрування інформації і створення електронних цифрових підписів з допомогою пакета PyCrypto



Довго мучився з PyCryptoв результаті вийшла ця стаття і повна реалізація наступного протоколу:

Етап відправки:

1. Аліса підписує повідомлення своєї цифровим підписом і шифрує її відкритим ключем Боба (асиметричним алгоритмом).
2. Аліса генерує випадковий сеансовий ключ шифрування цим ключем повідомлення (з допомогою симетричного алгоритму).
3. Сеансовий ключ шифрується відкритим ключем Боба (асиметричним алгоритмом).
Аліса посилає Бобу зашифроване повідомлення, підпис і зашифрований сеансовий ключ.

Етап прийому:

Боб отримує зашифроване повідомлення Аліси, підпис і зашифрований сеансовий ключ.
4. Боб розшифровує сеансовий ключ своїм закритим ключем.
5. За допомогою отриманого таким чином, сеансового ключа Боб розшифровує зашифроване повідомлення Аліси.
6. Боб розшифровує і перевіряє підпис Аліси.

Читати далі →

Електронний підпис SAP – це просто

Все частіше отримую запити від замовників про використання електронного підпису в їх рішеннях. Часто сама ідея впровадження електронного підпису вже викликає безліч питань, як технічного характеру, так і загального – у зв'язку із зіткненням з вельми специфічною областю інформаційної безпеки, що має безліч нюансів і відсилань до законодавства. Цією статтею я хочу показати, що застосування ЕП – це просто.

image


Читати далі →

Бібліотека для вбудовування електронного підпису в додатку С++



Наша компанія продовжує розвивати лінійку бібліотек, які дозволяють вбудовувати електронний підпис з використанням російських криптоалгоритмов в інформаційні системи різного типу.

Деякий час тому ми підтримали Рутокен ЕЦП в openssl, потім випустили багатоплатформовий плагін для браузера, а тепер зробили високорівневу криптобиблиотеку для вбудовування в С++ програми.

Концептуально ці рішення виконані ідентично: використовується апаратна реалізація російських криптоалгоритмов на чіпі Рутокен ЕЦП, забезпечується підтримка цифрових сертифікатів X. 509, запитів на сертифікати PKCS#10, підписаних і зашифрованих повідомлень CMS.

Нова бібліотека стане в нагоді тим, хто пише «товсті клієнти», десктопні програми, свої браузерні плагіни і т. п.

Підтримувані пристрої:
  • USB-токен Рутокен ЕЦП
  • Смарт-карта Рутокен ЕЦП
  • Bluetooth-токен Рутокен ЕЦП
  • Trustscreen-пристрій Рутокен PINPad
  • USB-токен Рутокен WEB (HID)


Основні сценарії застосування бібліотеки з прикладами коду під катом.

Читати далі →

Просте рішення для використання ЕЦП

imageКілька років тому ми започаткували проект «Відкриті голосування», покликаний створити систему для зручного проведення надійних і перевірених голосувань. На жаль, справа обмежилася лише теоретичними розробками, а в плані конкретних реалізацій ми так і не просунулися вперед. Не так давно я почав роздумувати — чому так? Я сам розробник. У команді також є кілька розробників. Так що ж нам заважає? І прийшов до висновку, що головна перешкода — занадто великі початкові плани. Тому я вирішив почати з малого — з інструменту для простого використання електронного підпису звичайними людьми. Причому, не тільки для нашого проекту, а для будь-якого сайту, який визнає це необхідним.

На даний момент це рішення готове і я хочу поділитися ним з громадськістю. Вихідні коди поширюються під відкритою ліцензією (посилання в кінці статті).

Читати далі →

Компактна реалізація RSA для вбудованих застосувань

RSA є широковідомим алгоритмом шифрування з відкритим ключем. На його основі, крім асиметричного шифрування, можна також реалізувати електронний підпис (ЕЦП). Ці можливості привабливі для вбудованих систем, мікроконтролерів. Сам метод шифрування з вигляду надзвичайно простий:
C = (Me) mod n (1)
де C,M,e,n — цілі числа, M — відкритий текст, числа e і n є відкритий ключ, C — шифротекст. mod — залишок від ділення.

Расширование виглядає настільки ж просто:
M = (Cd) mod n (2)
де C,M,n грають ту ж роль, що і при шифруванні, d — закритий ключ.

При цьому n=p*q, де p та q — прості числа (секретні), e зазвичай одно 65537, d обчислюється на основі e, p і q. Криптостійкість заснована на тому, що для достатньо великих p і q задача розкладання n на множники або звернення формули шифрування без знання p і q не вирішується за прийнятний час.

Але ця простота оманлива. За нею ховається величезна кількість деталей та складнощів реалізації. Особливо якщо стоїть мета отримати ефективну по швидкодії і пам'яті реалізацію, придатну для застосування в мікроконтролерах. Я не знайшов в інтернеті відповідних бібліотек, а спроби вивчення джерел libgcrypt заводять в такі нетрі, з яких не виберешся. Тому я написав свою компактну бібліотеку, якою і ділюся з шановними читачами.

Читати далі →

Реєстрація РЕЗ через портал Держпослуг

У продовження статті Інструкція з отримання радиолюбительского позивного і свидетельсва про реєстрацію РЕЗ хочу розповісти як зареєструвати трансивер через портал Держпослуг. Для реєстрації потрібно електронна підпис, якщо ви її вже отримали чи готові отримати, ласкаво просимо під кат.

Читати далі →

Деякі математичні проблеми інформаційної безпеки

    Поряд з політичними, соціально-економічними, організаційними, військовими, правовими, спеціальними та інформаційними проблемами, вирішення яких передбачається на державному, федеральному рівні, в інформаційній сфері існують проблеми математичного характеру, про які в роботі і піде мова. У роботі наводяться і конкретизуються деякі важливі поняття і основні положення інформаційної безпеки та захисту інформації. Основними нормативними документами в цій сфері є Конституція РФ — основний закон, ФЗ Про безпеку, Військова доктрина і Доктрина інформаційної безпеки, а також керівні документи Федеральної служби з технічного та експортного контролю (РД ФСТЕК)
Читати далі →