DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chciałbyś przeczytać The Bell?
Bez spamu

Dzień dobry, drodzy czytelnicy! Ten artykuł skierowany jest do właścicieli firm, niezależnie od ich wielkości i forma organizacyjna i zwykłych obywateli naszego kraju. Będzie równie przydatna i ciekawa, zarówno dla prostych przedsiębiorców indywidualnych, jak i właścicieli dużych przedsiębiorstw. przedsiębiorstwa handlowe. Co oni mają ze sobą wspólnego? Odpowiedź jest prosta – przepływ dokumentów i konieczność interakcji z różnymi agencjami rządowymi! Dlatego porozmawiajmy o narzędziu, które znacznie uprości przepływ dokumentacji, zarówno wewnątrz przedsiębiorstwa, jak i poza nim! Dzisiaj szczegółowo zastanowimy się, jak uzyskać podpis elektroniczny (EDS)!

Zacznijmy od istoty podpisu elektronicznego i mechanizmu jego funkcjonowania, następnie rozważymy zakres i bezwarunkową użyteczność, po czym omówimy jak go uzyskać dla przedsiębiorców indywidualnych, przedsiębiorców indywidualnych i osób prawnych, a także porozmawiamy o potrzebne dokumenty. Zebraliśmy najbardziej kompletne informacje o tym, jak uzyskać EDS! Przy okazji, jeśli to konieczne, za jego pomocą możesz zamknąć adres IP. Artykuł opisuje, jak to zrobić!

Czym jest elektroniczny podpis cyfrowy: prosta esencja złożonej koncepcji!

Każdy dokument w przedsiębiorstwie musi być podpisany przez upoważnioną osobę. Podpis nadaje mu moc prawną. Nowoczesne technologie przekonwertować dokumenty do formatu elektronicznego. Co okazało się niezwykle wygodne! Po pierwsze, dokumenty elektroniczne uproszczona i przyspieszona wymiana danych w przedsiębiorstwie (zwłaszcza przy współpracy międzynarodowej). Po drugie, zmniejszono wydatki związane z ich obrotem. Po trzecie, znacznie poprawiono bezpieczeństwo informacji handlowych. Pomimo formatu elektronicznego każdy dokument musi być podpisany, dlatego opracowano EDS.

Co to jest elektroniczne? podpis cyfrowy? Jest to odpowiednik tradycyjnego malarstwa w formacie cyfrowym, który służy do nadania mocy prawnej dokumentom na nośnikach elektronicznych. Słowo „analog” należy rozumieć jako ciąg symboli kryptograficznych generowanych losowo za pomocą specjalnego oprogramowanie. Jest przechowywany w formie elektronicznej. Zwykle używane są dyski flash.

Z ES wiążą się dwa ważne pojęcia: certyfikat i klucz. Certyfikat to dokument potwierdzający przynależność podpisu elektronicznego do konkretnej osoby. Jest normalny i ulepszony. Ten ostatni jest wydawany tylko przez niektóre akredytowane centra certyfikacji lub bezpośrednio przez FSB.

Klucz podpisu elektronicznego to ta sama sekwencja znaków. Klawisze są używane parami. Pierwszy to podpis, a drugi to klucz weryfikacyjny, który poświadcza jego autentyczność. Dla każdego nowego podpisanego dokumentu generowany jest nowy unikalny klucz. Ważne jest, aby zrozumieć, że informacje otrzymane na dysku flash w centrum certyfikacji nie są ES, to tylko sposób ich tworzenia.

Podpis elektroniczny ma taką samą wagę prawną i skutek jak dokument papierowy. Oczywiście, jeśli podczas stosowania tego parametru nie było żadnych naruszeń. W przypadku wykrycia rozbieżności lub jakiegokolwiek odchylenia od normy dokument traci ważność. Korzystanie z EDS jest regulowane przez państwo za pomocą dwóch ustaw FZ-Nr 1 i FZ-Nr 63. Dotyczą one wszystkich obszarów stosowania podpisu: w stosunkach cywilnoprawnych, w kontaktach z organami miejskimi i państwowymi.

Jak narodził się pomysł wykorzystania EPC: pamiętajmy o przeszłości!

W 1976 roku dwóch amerykańskich kryptografów Diffie i Hellman zasugerowało, że można stworzyć elektroniczne podpisy cyfrowe. To była tylko teoria, ale przemawiała do opinii publicznej. W efekcie już w 1977 roku został wydany algorytm kryptograficzny RSA, który umożliwił tworzenie pierwszych podpisów elektronicznych. W porównaniu z teraźniejszością byli bardzo prymitywni, ale to właśnie w tym momencie położono podwaliny pod przyszły szybki rozwój branży i wszechobecność elektronicznego zarządzania dokumentami.

Tysiąclecie przyniosło znaczące zmiany. W Stanach Zjednoczonych uchwalono ustawę, zgodnie z którą podpis na papierze miał moc prawną z podpisem elektronicznym. Tym samym pojawił się nowy, dynamicznie rosnący segment rynku, którego wielkość według prognoz amerykańskich analityków do 2020 roku wyniesie 30 mld USD.

W Rosji pierwsze EP-ki zaczęły być używane dopiero w 1994 roku. Pierwsza ustawa regulująca ich stosowanie została przyjęta w 2002 roku. Wyróżniał ją jednak skrajna niejasność sformułowań i niejednoznaczność w interpretacji pojęć. Prawo nie dało jednoznacznej odpowiedzi na pytanie, jak uzyskać podpis elektroniczny i z niego korzystać.

W 2010 r. opracowano zakrojony na dużą skalę projekt stworzenia wirtualnego środowiska, aby zapewnić Usługi publiczne w formie elektronicznej, który w sierpniu tego samego roku został przekazany do rozpatrzenia Prezydentowi Federacji Rosyjskiej. Jednym z kluczowych obszarów projektu jest możliwość wykorzystania EDS. Regiony zostały zobowiązane do stworzenia warunków dla Darmowy dostęp fizyczne i osoby prawne do możliwości elektronicznego zarządzania dokumentami, aby każdy mógł otrzymać ES. Od tego czasu w Rosji aktywnie rozwija się „państwo elektroniczne”.

W 2011 roku Prezydent nakazał władzom wykonawczym przejście na elektroniczne zarządzanie dokumentami w strukturach. Do czerwca tego samego roku wszyscy urzędnicy otrzymali EDS. Program był finansowany z budżetu federalnego. W 2012 roku elektroniczne zarządzanie dokumentami zaczęło działać we wszystkich bez wyjątku organach wykonawczych Federacji Rosyjskiej.

Po tych przemianach pojawiły się dwa pytania. Po pierwsze, EP nie był uniwersalny. Dla każdego celu trzeba było uzyskać nowy podpis. Po drugie, niektórzy dostawcy kryptowalut nie byli kompatybilni z innymi, co stawiało ich klientów w trudnej sytuacji. Dlatego od 2012 roku rozpoczął się globalny proces unifikacji w zakresie elektronicznego zarządzania dokumentami. Dzięki temu dysponujemy nowoczesnymi podpisami uniwersalnymi oraz oprogramowaniem.

Podpis EDS: 5 korzyści i 6 zastosowań!

Wielu przedsiębiorców nie aplikuje jeszcze w swoich działalność gospodarcza EPC. Pod wieloma względami przyczyną tego jest elementarna nieznajomość wszystkich jego możliwości i zalet. Używanie formatu elektronicznego do podpisywania dokumentów, podmiotów działalność przedsiębiorcza(IP, LE) otrzymują następujące korzyści:

  1. Dokumenty są maksymalnie chronione przed fałszowaniem.

Ponieważ komputer jest bardzo trudny do oszukania. W tym przypadku jest to całkowicie wykluczone czynnik ludzki. W końcu po prostu nie można zauważyć, że podpis pod dokumentem różni się od oryginału. Podpis elektroniczny nie może być sfałszowany. Wymaga to bardzo dużej mocy obliczeniowej, która jest prawie niemożliwa do zrealizowania na obecnym poziomie rozwoju urządzeń i dużo czasu.

  1. Optymalizacja, przyspieszenie i uproszczenie przepływu pracy.

Całkowite wykluczenie możliwości wycieku danych lub utraty ważnych dokumentów. Każda kopia poświadczona identyfikatorem elektronicznym ma gwarancję otrzymania przez adresata w przesłanym formularzu: żadne nadzwyczajne okoliczności nie mogą jej uszkodzić.

  1. Redukcja kosztów z powodu odmowy nośników papierowych.

Do małe firmy prowadzenie ewidencji w formie papierowej nie było uciążliwe, czego nie można powiedzieć duże przedsiębiorstwa. Wielu z nich musiało wynająć osobne pomieszczenia, magazyny do przechowywania dokumentów przez 5 lat. Oprócz kosztów papieru, drukarek, tuszu, papeterii, doliczono czynsz! Dodatkowo, w zależności od dziedziny działalności, niektóre firmy mogły obniżyć koszty poprzez zmniejszenie liczby pracowników, którzy byli zaangażowani w dokumenty: przyjmowanie, przetwarzanie itp. Zniknęła też potrzeba recyklingu papieru: bo pewne rodzaje organizacji, których działalność związana jest z informacjami poufnymi, nawet ta linia wydatków okazała się znacząca. Proces niszczenia dokumentów w ramach EDS to kilka kliknięć myszką komputerową.

  1. Format dokumentów podpisanych przez ES jest w pełni zgodny z wymogami międzynarodowymi.
  2. Nie ma potrzeby uzyskiwania osobnego podpisu, aby wziąć udział w licytacji lub składać raporty do organów regulacyjnych.

Możesz zdobyć ES, który pozwoli Ci używać go we wszystkich niezbędnych witrynach.

Przed przystąpieniem do rozważania kwestii uzyskania podpisu elektronicznego wymieniamy wszystkie możliwe opcje jego zastosowanie:

  1. Wewnętrzny obieg dokumentów. Oznacza to przekazywanie informacji handlowych, zamówień, instrukcji itp. wewnątrz firmy.
  2. Zewnętrzny obieg dokumentów. Mówimy o wymianie dokumentów pomiędzy dwoma partnerami organizacji w systemie B2B lub pomiędzy przedsiębiorstwem a klientem B2C.
  3. Składanie raportów organom regulacyjnym:
  • Federalna Służba Podatkowa,
  • Fundusz emerytalny,
  • fundusz ubezpieczeń społecznych,
  • służba Celna,
  • Rosalkogolregulirovanie,
  • Rosfinmonitoring i inne.
  1. Aby uzyskać dostęp do systemu „Klient-Bank”.
  2. Uczestniczyć w aukcjach i licytacjach.
  3. W przypadku usług publicznych:
  • Strona internetowa Służby Państwowej,
  • RosPatent,
  • Rosreestr.

Jak uzyskać podpis elektroniczny: instrukcje krok po kroku!

Doceniając wszystkie zalety korzystania z podpisu elektronicznego, zdecydowałeś się go zdobyć. I oczywiście w obliczu naturalnego pytania: jak to zrobić? Na to pytanie odpowiemy szczegółowo instrukcje krok po kroku który pomoże Ci szybko i łatwo dostać Podpis EDS!

W sumie jest 6 kroków.

Krok 1. Wybór typu ES.

Krok 2. Wybór urzędu certyfikacji.

Krok 3. Wypełnienie wniosku.

Krok 4. Płatność faktury.

Krok 5. Odbiór paczki dokumentów.

Krok 6. Uzyskanie EDS.

Porozmawiajmy teraz o każdym kroku bardziej szczegółowo!

Krok 1. Wybór widoku: każdemu po swojemu!

Pierwszym krokiem do uzyskania podpisu elektronicznego jest wybór jego rodzaju. Według prawa federalne rozróżnić następujące rodzaje EDS:

  1. Prosty. Koduje dane o właścicielu podpisu, dzięki czemu odbiorca papieru ma pewność, kim jest nadawca. Nie chroni przed fałszerstwem.
  2. Wzmocniony:
  • bez zastrzeżeń – potwierdza nie tylko tożsamość nadawcy, ale również fakt, że po podpisaniu nie dokonano żadnych zmian w dokumencie.
  • kwalifikowany - najbezpieczniejszy podpis, którego moc prawna jest w 100% równoważna z podpisem zwykłym! Wydawany jest tylko w tych ośrodkach, które są akredytowane przez FSB.

Ostatnio coraz więcej klientów chce się wzbogacić podpis kwalifikowany, co jest całkiem rozsądne. Jak wszystkie inne „klucze”, które zapewniają dostęp do prywatnych informacji lub transakcji finansowych, oszuści różnych kategorii polują na EDS. Analitycy uważają, że w ciągu najbliższych 10 lat pierwsze dwa gatunki po prostu staną się przestarzałe. Wybór zależy od zastosowania EDS. Aby ułatwić podjęcie decyzji, zebraliśmy dane w tabeli, pomoże to w dokonaniu wyboru i zatrzymaniu się na konkretnej potrzebnej i wystarczającej formie.

Szereg zastosowań Prosty Niewykwalifikowany wykwalifikowany
Wewnętrzny obieg dokumentów + + +
Zewnętrzny obieg dokumentów + + +
Sąd Arbitrażowy + + +
Strona internetowa służb państwowych + - +
Organy nadzorcze - - +
Aukcje elektroniczne - - +

Jeśli zamierzasz uzyskać podpis EDS dla wygody zgłaszania, będziesz musiał ubiegać się o podpis kwalifikowany. Jeśli celem jest przepływ dokumentów w przedsiębiorstwie, wystarczy uzyskać prosty lub niekwalifikowany podpis.

Krok 2. Urząd Certyfikacji: TOP-7 największych i najbardziej wiarygodnych firm!

Urząd certyfikacji to organizacja, której celem funkcjonowania jest generowanie i wydawanie elektronicznych podpisów elektronicznych. CA to podmiot prawny, którego statut określa odpowiedni rodzaj działalności. Ich funkcje obejmują:

  • wydawanie EDS;
  • zapewnienie wszystkim klucza publicznego;
  • zablokowania podpisu elektronicznego, w przypadku podejrzenia jego nierzetelności;
  • potwierdzenie autentyczności podpisu;
  • mediacja w sytuacjach konfliktowych;
  • dostarczanie wszelkiego niezbędnego oprogramowania dla klientów;
  • pomoc techniczna.

Na ten moment na terytorium Federacja Rosyjska istnieje około stu takich ośrodków. Ale tylko siedmiu to liderzy branży:

  1. EETP jest liderem na rynku handel elektroniczny RF. Działalność firmy jest bardzo zróżnicowana, co nie przeszkadza jej w zajmowaniu czołowych pozycji w każdym segmencie. Oprócz organizowania i prowadzenia aukcji zajmuje się sprzedażą nieruchomości, która nie sprzedaje się dobrze, uczy cech uczestnictwa w aukcjach, formularzy i sprzedaży EDS.
  2. Electronic Express jest oficjalnym operatorem elektronicznego zarządzania dokumentami Federalnej Służby Podatkowej. Posiada pełen zestaw licencji (w tym licencję FSB).
  3. Taxnet - tworzy oprogramowanie do elektronicznego zarządzania dokumentami. W tym zajmuje się tworzeniem i wdrażaniem EDS.
  4. Sertum-Pro Kontur - firma zajmuje się certyfikatami podpisów elektronicznych. Ponadto oferuje swoim klientom wiele wygodnych usług dodatkowych, które znacznie rozszerzą możliwości ES.
  5. Taxcom - firma specjalizuje się w zewnętrznym i wewnętrznym zarządzaniu dokumentami firm oraz raportowaniu do różnych organów regulacyjnych. W tym celu opracowywane jest odpowiednie oprogramowanie i tworzone są podpisy elektroniczne. Znajduje się na liście oficjalnych operatorów danych z kas fiskalnych.
  6. Tenzor to gigant w świecie zarządzania dokumentami w sieciach telekomunikacyjnych. Świadczy pełen zakres usług: od opracowania kompleksów do automatyzacji przepływu pracy w przedsiębiorstwach po tworzenie i wdrażanie podpisów elektronicznych.
  7. Krajowe centrum certyfikacji - opracowuje i sprzedaje różne certyfikaty EDS, oferuje klientom oprogramowanie do generowania i przesyłania raportów wszystkim organy rządowe.

Wybierz urząd certyfikacji w zależności od swoich możliwości i lokalizacji. Ważne jest, aby sprawdzić, czy w Twoim mieście istnieje punkt wydawania gotowych podpisów elektronicznych. Łatwo się o tym przekonać, odwiedzając oficjalne strony internetowe firm.

Jeśli z jakiegoś powodu nie jesteś zadowolony z centrów z naszej listy TOP-7, możesz skorzystać z usług innych firm. Pełną listę akredytowanych urzędów można znaleźć na stronie internetowej www.minsvyaz.ru w sekcji „Ważne”.

Krok 3. Jak uzyskać podpis elektroniczny: wypełnij wniosek!

Wybór jest dokonany, teraz wiesz dokładnie, czego chcesz, więc czas złożyć wniosek do centrum certyfikacji. Można to zrobić na dwa sposoby: odwiedzając biuro firmy lub wypełniając wniosek na jej stronie internetowej.

Zdalne wysłanie aplikacji uchroni Cię przed osobistą wizytą. Aplikacja zawiera minimum informacji: imię i nazwisko, numer telefonu kontaktowego oraz e-mail. W ciągu godziny po wysłaniu pracownik CA oddzwoni i wyjaśni niezbędne dane. Ponadto odpowie na wszystkie pytania, które Cię interesują i doradzi, jaki rodzaj EDS wybrać do swojego przypadku.

Krok 4. Płacenie rachunku: pieniądze z góry!

Będziesz musiał zapłacić za usługę, zanim ją otrzymasz. Czyli natychmiast po zaakceptowaniu wniosku i uzgodnieniu szczegółów z klientem zostanie wystawiona faktura na jego nazwisko. Koszt EDS różni się w zależności od firmy, do której aplikujesz, regionu zamieszkania i rodzaju podpisu. Obejmuje:

  • generowanie certyfikatu klucza podpisu,
  • oprogramowanie niezbędne do tworzenia, podpisywania i przesyłania dokumentów,
  • wsparcie techniczne klienta.

Cena minimalna to około 1500 rubli. Średnia wynosi 5000 - 7000 rubli. Koszt jednego ES może być niższy niż 1500 rubli, tylko w przypadku zamówienia podpisów dla dużej liczby pracowników jednego przedsiębiorstwa.

Krok 5. Dokumenty do uzyskania EDS: tworzymy paczkę!

Tworząc pakiet dokumentów, istotne jest, który podmiot prawa cywilnego występuje jako klient: indywidualny, prawny lub indywidualny przedsiębiorca. Dlatego rozważymy dokumenty dotyczące uzyskania EDS osobno dla każdej kategorii.

Osoby fizyczne muszą dostarczyć:

  • oświadczenie,
  • paszport plus kopie
  • indywidualny numer podatnika,
  • SNILE.
  • Dowód wpłaty.

Upoważniony przedstawiciel odbiorcy podpisu elektronicznego może składać dokumenty do CA. Aby to zrobić, musisz wydać pełnomocnictwo.

Aby uzyskać EDS, osoba prawna będzie musiała przygotować:

  1. Oświadczenie.
  2. Dwa certyfikaty rejestracja państwowa: z OGRN i NIP.
  3. Wyciąg z rejestru osób prawnych. Ważny! Ekstrakt musi być „świeży”. Każdy urząd certyfikacji ma swoje własne wymagania w tym zakresie.
  4. Paszport plus kopia osoby, która będzie korzystać z ES.
  5. SNILS pracownika, który będzie korzystał z EDS.
  6. Jeśli podpis jest wystawiony za dyrektora, musisz dołączyć zarządzenie powołania.
  7. W przypadku pracowników znajdujących się niżej w hierarchii firmy będziesz musiał wystawić pełnomocnictwo do korzystania z EPC.
  8. Dowód wpłaty.

Dokumenty do uzyskania EDS przez indywidualnych przedsiębiorców:

  1. Oświadczenie.
  2. Dowód rejestracyjny z numerem OGRNIP.
  3. Certyfikat z NIP.
  4. Wypis z rejestru przedsiębiorców wystawiony nie wcześniej niż 6 miesięcy temu lub odpis poświadczony notarialnie.
  5. Paszport.
  6. SNILE.
  7. Dowód wpłaty.

Powiernik przedsiębiorca indywidualny może odebrać elektroniczny podpis cyfrowy w obecności pełnomocnictwa i paszportu. Przy składaniu wniosku w formie elektronicznej dokumenty przesyłane są do CA pocztą, a podczas osobistej wizyty składane są jednocześnie z wnioskiem.

Krok 6. Uzyskanie podpisu cyfrowego: linia mety!

Dokumenty można uzyskać w wielu punktach wydawania, które znajdują się na terenie całego kraju. Informacje o nich można znaleźć na oficjalnej stronie UC. Zazwyczaj termin uzyskania podpisu nie przekracza dwóch do trzech dni.

Opóźnienie jest możliwe tylko po stronie klienta, który nie zapłacił w terminie za usługi centrum certyfikacji lub nie odebrał wszystkich Wymagane dokumenty. Pamiętaj, że musisz uzyskać wyciąg z ujednoliconego rejestru państwowego indywidualnych przedsiębiorców lub osób prawnych na czas, ponieważ proces ten trwa 5 dni roboczych! Niektóre CA świadczą usługę pilnego wydawania EDS. Wtedy cała procedura trwa około godziny. Teraz wiesz, jak uzyskać podpis elektroniczny.

Ważny! PE jest ważny przez rok od daty jego otrzymania. Po tym okresie będzie trzeba go odnowić lub uzyskać nowy.

Zrób to sam podpis cyfrowy: niemożliwe jest możliwe!

W rzeczywistości samodzielne tworzenie podpisu elektronicznego jest całkiem realistyczne. Jeśli masz odpowiednie wykształcenie, możesz dokładnie zrozumieć, czym jest elektroniczny podpis elektroniczny i zaopatrzyć się w niezwyciężony entuzjazm. Co prawda nie powinniśmy zapominać, że będziemy musieli nie tylko wygenerować sekwencję kryptograficzną, ale także opracować i napisać odpowiednie oprogramowanie. Powstaje naturalne pytanie: dlaczego to robisz? Co więcej, rynek jest pełen gotowych rozwiązań! Do duże firmy nie opłaca się również „zadzierać” z samodzielnym opracowaniem podpisu elektronicznego, ponieważ będziesz musiał zatrudnić personel nowych pracowników w dziale IT. A w artykule

01 sierpnia 2001 Ten materiał jest poświęcony ochronie oprogramowania hakerskiego. Aby być bardziej precyzyjnym, skupi się na kluczach elektronicznych - jednym z najczęstszych obecnie sposobów ochrony oprogramowania.

Klucze elektroniczne- w zasadzie jedyne rozwiązanie techniczne, które zapewnia akceptowalny poziom zapewnia ochronę, a jednocześnie zapewnia najmniej niedogodności dla użytkowników końcowych.

Metody ochrony aplikacji

Wśród rozwiązań technicznych proponowanych do ochrony replikowanego oprogramowania można wyróżnić kilka głównych grup.

Korzystanie z dyskietek z kluczami i specjalnie powlekanych płyt CD, haseł i numerów rejestracyjnych

Te metody ochrony nie wymagają dużych wydatki finansowe w trakcie realizacji mają jednak niską odporność na pękanie. W efekcie zastosowanie takiej ochrony jest uzasadnione tylko w przypadku oprogramowania z niższej kategorii cenowej. W przypadku takich programów ważna jest popularność i duże nakłady (czasem ze względu na pirackie kopie). Zastosowanie bardziej niezawodnego, ale i drogiego systemu ochrony w tym przypadku nie będzie miało sensu (będzie nawet miało negatywny wpływ).

Wiązanie z unikalnymi cechami komputera

Odporność na włamanie tej metody zabezpieczenia jest znacznie wyższa niż poprzednich, przy czym: niska cena do realizacji. Jednak ze względu na specyfikę implementacji mechanizmu ochrony jest on najbardziej niewygodny dla użytkowników końcowych i powoduje liczne reklamacje. Przecież tak zabezpieczonego programu nie można przenieść na inny komputer, pojawiają się trudności z aktualizacjami itp. Stosowanie takiej ochrony jest wskazane w przypadkach, gdy producent ma pewność, że nie odstraszy klientów.

Ostatnim zastosowaniem tej metody jest wbudowana ochrona przed kopiowaniem nowych produktów oprogramowania firmy Microsoft.

Ochrona oprogramowania i sprzętu za pomocą kluczy elektronicznych

Dziś jest to najbardziej niezawodna i wygodna metoda ochrony replikowanego oprogramowania ze średniej i najwyższej kategorii cenowej. Jest wysoce odporny na włamania i nie ogranicza korzystania z legalnej kopii programu. Zastosowanie tej metody jest ekonomicznie uzasadnione w przypadku programów kosztujących powyżej 80 dolarów, ponieważ użycie nawet najtańszych kluczy sprzętowych zwiększa koszt oprogramowania o 10-15 dolarów. Dlatego każdy kluczowy producent stara się opracowywać nowe, tańsze modele, aby chronić tanie produkty o dużej cyrkulacji bez uszczerbku dla ich skuteczności.

Klucze elektroniczne chronią przede wszystkim tzw. oprogramowanie „biznesowe”: programy księgowo-magazynowe, systemy prawne i korporacyjne, kosztorysy budowlane, CAD, katalogi elektroniczne, oprogramowanie analityczne, programy środowiskowe i medyczne itp. Koszty rozwoju takich programów są wysokie, a ich koszt jest odpowiednio wysoki, więc szkody wyrządzone przez piractwo będą znaczne. Tutaj klucze elektroniczne są optymalną ochroną.

Jak widać, przy wyborze środka ochrony deweloper musi kierować się zasadą opłacalności ekonomicznej. Ochrona powinna spełniać swój główny cel - znacznie ograniczyć, a najlepiej zatrzymać, straty spowodowane piractwem, jednocześnie nie zwiększając znacząco kosztów programu, co może negatywnie wpłynąć na sprzedaż. Producent jest również zobowiązany do uwzględnienia interesów użytkowników. Idealnie ochrona nie powinna powodować żadnych niedogodności.

Co to jest klucz elektroniczny

Klucz elektroniczny zapobiega nielegalnemu używaniu (wyzyskiwaniu) programu. Często mówi się, że klucz chroni przed kopiowaniem, ale to nie do końca prawda. Chroniony program można skopiować, ale kopia bez klucza nie zadziała. To. kopiowanie po prostu nie ma sensu.

W rzeczywistości klucz elektroniczny to urządzenie wielkości, jak mówią, „z pudełkiem zapałek”, które jest podłączone do jednego z portów komputera. Klucz składa się z płytki z mikroukładami (elementy pomocnicze, mikrokontroler i pamięć) zamkniętej w plastikowej obudowie. Mikrokontroler zawiera tak zwaną „matematykę” - zestaw poleceń realizujących określoną funkcję lub funkcje, które służą do generowania bloków informacji o wymianie kluczy i chronionego programu. W przeciwnym razie bloki te nazywane są „pytaniami i odpowiedziami”. Pamięć klucza elektronicznego zawiera informacje o jego charakterystyce, a także dane użytkownika. Klucz posiada dwa gniazda. Za pomocą jednego podłącza się go do portu LPT (port równoległy) komputera, drugi służy do podłączenia urządzenia peryferyjnego. Przy prawidłowym użytkowaniu nowoczesny klucz sprzętowy zwykle nie zakłóca pracy drukarek, skanerów i innych urządzeń peryferyjnych, które są przez niego podłączane do portu równoległego.

Czym są klucze elektroniczne

Klucze elektroniczne są niezwykle zróżnicowane pod względem konstrukcji (wewnętrznej i zewnętrznej), przeznaczenia, wygląd zewnętrzny itp. Można je również klasyfikować według kompatybilności ze środowiskami programowymi i typami komputerów, według sposobu połączenia i stopnia złożoności (funkcjonalności) itp. Jednak opowieść o wszystkich typach kluczy zajęłaby dużo czasu, więc powinieneś skupić się na najczęściej stosowanych rozwiązaniach.

Tak więc klucze sprzętowe są najczęściej używane do ochrony lokalnych i sieciowych aplikacji Windows i DOS. Obecnie większość kluczy to urządzenia dla portu równoległego. Jednak klucze USB zyskują coraz większą popularność i jest prawdopodobne, że w niedalekiej przyszłości będą poważnie konkurować z kluczami LPT.

Złożone (wielofunkcyjne) klucze są używane do ochrony drogiego oprogramowania, prostsze klucze są używane do ochrony tańszych programów.

W zależności od urządzenia klucze elektroniczne dzielą się na

  • Klawisze bez wbudowanej pamięci
    Takie klucze nie zapewniają odpowiedniego stopnia bezpieczeństwa aplikacji. W końcu tylko obecność pamięci oprócz logicznego bloku klucza pozwala zbudować system ochrony o dowolnej złożoności. Pamięć klucza może przechowywać informacje niezbędne do działania programu, listy haseł (zasadniczo do identyfikacji można użyć klucza elektronicznego) itp. Pojemność pamięci większości nowoczesnych kluczy sięga zwykle kilkuset bajtów. Stosowanie kluczy sprzętowych bez wbudowanej pamięci może być uzasadnione jedynie ochroną tanich programów o dużym natężeniu.
  • Klucze zawierające tylko pamięć
    Ta klasa kluczy jest przestarzała. Takie klucze nie są już wydawane, ale dość duża ich liczba jest nadal utrzymywana przez użytkowników końcowych oprogramowania.
  • Klawisze na niestandardowym układzie ASIC
    Dziś jest to najczęstsza klasa kluczy. Ich funkcjonalność zależy od konkretnego typu układu ASIC. Wadą takich kluczy jest niejako „kompletność” projektu. Zakres ich właściwości jest ograniczony przez ramy określone podczas tworzenia mikroukładu. Wszystkie klucze tego samego modelu działają według tego samego algorytmu lub algorytmów (tzn. zawierają funkcje tego samego typu). Ta cecha może niekorzystnie wpłynąć na stopień odporności systemu ochrony. W końcu często powtarzany model ochrony ułatwia crackerowi.
  • Klucze mikroprocesorowe
    Ten typ kluczy, w przeciwieństwie do poprzedniego, ma znacznie bardziej elastyczne urządzenie. W sterowniku klucza mikroprocesorowego można „flashować” program realizujący funkcje, które są różne dla każdego klienta. W zasadzie każdy klucz mikroprocesorowy można łatwo zaprogramować tak, aby działał zgodnie z własnym, unikalnym algorytmem.

Klucz elektroniczny to sprzętowa część ochrony. Część oprogramowania składa się ze specjalnego oprogramowania do pracy z kluczami. Zawiera narzędzia do programowania kluczy, narzędzia do instalacji ochrony i diagnostyki, kluczowe sterowniki itp.

Ochrona aplikacji za pomocą klucza

W celu zainstalowania systemu bezpieczeństwa konieczne jest zaprogramowanie klucza elektronicznego w wymagany sposób, czyli wprowadzenie do jego pamięci informacji, dzięki której chroniony program zidentyfikuje klucz i „powiąże” program z kluczem poprzez ustawienie automatycznej ochrony i/lub ochrona za pomocą funkcji API.

Do programowania pamięci klucza używa się głównie specjalnych narzędzi, za pomocą których zawartość pól pamięci jest odczytywana i nadpisywana, same pola są edytowane, zmieniane lub usuwane, a klucz jest programowany zdalnie. Narzędzia programistyczne są również używane do debugowania schematu ochrony. Za ich pomocą sprawdzają poprawność wykonania funkcji API, tworzą tablice pytań i odpowiedzi klucza itp.

Metody ochrony

Istnieją systemy ochrony zainstalowane na pliku wykonywalnym moduły oprogramowania(zabezpieczenie na zawiasach lub automatyczne) oraz systemy ochrony wbudowane w kod źródłowy programu (zabezpieczenie za pomocą funkcji API).

Automatyczna ochrona

Plik wykonywalny programu jest przetwarzany przez odpowiednie narzędzie zawarte w pakiecie oprogramowania do pracy z kluczami sprzętowymi. Z reguły ta metoda ochrony jest prawie całkowicie zautomatyzowana, proces instalacji zajmuje tylko kilka minut i nie wymaga specjalnej wiedzy. Następnie program okazuje się „dostrojony” do klucza elektronicznego o określonych parametrach.

Narzędzia automatycznej ochrony zwykle mają wiele funkcji serwisowych, które pozwalają wybrać różne tryby „powiązania” programu z kluczem i zaimplementować dodatkowe funkcje. Na przykład takie jak ochrona przed wirusami, ograniczenie czasu działania i liczby uruchomień programu itp.

Należy jednak pamiętać, że ta metoda nie może zapewnić wystarczającej niezawodności. Ponieważ moduł automatycznej ochrony jest dołączony do gotowego programu, jest prawdopodobne, że doświadczony haker będzie w stanie znaleźć „punkt połączenia” i „odpiąć” taką ochronę. Dobre narzędzie do automatycznej ochrony powinno mieć opcje, które utrudniają debugowanie i deasemblację chronionego programu.

Ochrona za pomocą funkcji API

Ta metoda ochrony opiera się na wykorzystaniu funkcji API zgromadzonych w modułach obiektowych. Funkcje API umożliwiają wykonywanie dowolnych operacji na kluczu (wyszukiwanie klucza o określonej charakterystyce, odczytywanie i zapisywanie danych, obliczanie sum kontrolnych, konwertowanie informacji itp.). Pozwala to na tworzenie niestandardowych schematów ochrony odpowiednich na każdą okazję. Generalnie można powiedzieć, że możliwości ochrony API są ograniczone jedynie bogactwem wyobraźni dewelopera.

Biblioteki specjalnych funkcji API i przykłady ich użycia, napisane w różnych językach programowania, powinny być zawarte w pakiecie oprogramowania do pracy z kluczami sprzętowymi. Aby zainstalować ochronę, musisz napisać wywołania niezbędnych funkcji API, wstawić je do kodu źródłowego programu i skompilować je za pomocą modułów obiektowych. W rezultacie ochrona zostanie osadzona głęboko w ciele programu. Korzystanie z funkcji API zapewnia znacznie wyższy stopień bezpieczeństwa niż ochrona automatyczna

Niemal jedyną „wadą” tej metody ochrony, według niektórych producentów oprogramowania, jest dodatkowy koszt szkolenia personelu do pracy z funkcjami API. Jednak bez użycia API nie można liczyć na akceptowalną odporność systemu ochrony. Dlatego, aby ułatwić życie programistom, producenci systemów ochrony pracują nad programami, które upraszczają instalację ochrony API.

W W ogólnych warunkach Pracę systemu ochrony można przedstawić w następujący sposób:

Podczas pracy chroniony program przesyła informacje, tzw. „pytanie”, do klucza elektronicznego. Klucz elektroniczny przetwarza je i zwraca z powrotem - „odpowiedzi”. Program identyfikuje klucz na podstawie zwróconych danych. Jeśli ma prawidłowe parametry, program kontynuuje działanie. Jeśli kluczowe parametry nie pasują lub nie jest podłączony, program przerywa pracę lub przechodzi w tryb demo.

Konfrontacja między twórcami systemów bezpieczeństwa a crackerami (hakerami lub crackerami) to wyścig zbrojeń. Ciągłe doskonalenie środków i metod hakowania zmusza twórców zabezpieczeń do ciągłego aktualizowania lub wymyślania nowych środków i metod ochrony, aby być o krok do przodu. W końcu schemat, który obowiązywał wczoraj, dziś może być nieodpowiedni.

Metody łamania zabezpieczeń

Wykonanie sprzętowej kopii klucza

Metoda ta polega na odczytaniu zawartości chipu pamięci klucza przez specjalne oprogramowanie i sprzęt. Następnie dane są przesyłane do chipa innego klucza („pusty”). Metoda ta jest dość pracochłonna i może być stosowana, jeśli pamięć klucza nie jest zabezpieczona przed odczytem informacji (co było typowe dla kluczy zawierających tylko pamięć). Ponadto stworzenie sprzętowej kopii klucza nie rozwiązuje problemu replikacji programu, ponieważ nadal pozostaje on „podłączony”, a jedynie do innego klucza. Z tych powodów produkcja sprzętowych kopii kluczy nie jest powszechnie stosowana.

Wykonanie emulatora (kopii oprogramowania) klucza

Najczęstsze i skuteczna metoda hacking, który polega na stworzeniu modułu oprogramowania (w postaci sterownika, biblioteki lub programu rezydentnego) odtwarzającego (emulującego) działanie klucza elektronicznego. Dzięki temu chroniony program nie potrzebuje już klucza.

Emulatory mogą odtwarzać działanie klawiszy określonego modelu, klawiszy dostarczonych z jakimś programem lub jednego konkretnego klawisza.

Według organizacji można je podzielić na emulatory struktury i emulatory odpowiedzi. Te pierwsze szczegółowo odtwarzają strukturę klucza (zazwyczaj są to uniwersalne emulatory), drugie działają na podstawie tabeli pytań i odpowiedzi dla konkretnego klucza.

W najprostszym przypadku, aby stworzyć emulator, haker musi znaleźć wszystkie możliwe poprawne pytania do klucza i dopasować do nich odpowiedzi, czyli uzyskać wszystkie informacje wymieniane między kluczem a programem.

Nowoczesne klawisze posiadają cały zestaw narzędzi, które uniemożliwiają emulację. Przede wszystkim są to różne opcje komplikowania protokołu wymiany kluczy i chronionego programu, a także kodowania przesyłanych danych. Stosowane są następujące główne typy bezpiecznych protokołów wymiany lub ich kombinacje:

  • protokół pływający - "śmieci" przesyłane są wraz z danymi rzeczywistymi, a z biegiem czasu kolejność naprzemienna i charakter zarówno danych rzeczywistych, jak i niepotrzebnych zmienia się chaotycznie
  • protokół szyfrowany - wszystkie przesyłane dane są szyfrowane
  • z automatyczną weryfikacją - każdej operacji zapisu do pamięci klucza towarzyszy automatyczne sprawdzenie poprawności danych

Dodatkową komplikację protokołu wymiany uzyskuje się poprzez zwiększenie ilości przesyłanych informacji oraz liczby pytań do klucza. Nowoczesne klucze mają wystarczająco dużo pamięci, aby obsłużyć duże ilości danych. Na przykład klucz z pamięcią 256 bajtów może przetwarzać do 200 bajtów informacji w jednej sesji. Stworzenie tabeli pytań do takiego klucza wydaje się dziś bardzo pracochłonnym zadaniem.

Komora automatycznego modułu ochronnego

Jak wspomniano wcześniej, automatyczna ochrona nie ma wystarczającego stopnia odporności, ponieważ nie tworzy jednej całości z chronionym programem. W rezultacie „ochronę koperty” można z pewnym wysiłkiem usunąć. Hakerzy wykorzystują w tym celu szereg narzędzi: specjalne programy do automatycznego łamania, debugery i deasemblery. Jednym ze sposobów obejścia ochrony jest określenie punktu, w którym kończy się „obwiednia” ochrony, a kontrola jest przekazywana do chronionego programu. Następnie przymusowo zapisz program w niezabezpieczonej formie.

Jednak w arsenale producentów systemów ochrony istnieje kilka sztuczek, które pozwalają maksymalnie utrudnić proces usuwania ochrony. Dobre narzędzie automatycznej ochrony z pewnością będzie zawierało opcje, które zapewniają

  • przeciwdziałanie automatycznym programom hakerskim,
  • przeciwdziałanie debuggerom i deasemblerom (blokowanie standardowych narzędzi debugowania, dynamiczne kodowanie modułu zabezpieczającego, obliczanie sum kontrolnych sekcji kodu programu, technologia „crazy code” itp.),
  • kodowanie chronionego korpusu i nakładek programu za pomocą algorytmów (funkcji) konwersji.

Usuwanie wywołań funkcji API

Aby usunąć wywołania funkcji API z kodu źródłowego programu, hakerzy używają debugerów i deasemblerów, aby znaleźć miejsce pochodzenia wywołań lub punkty wejścia funkcji i odpowiednio załatać kod. Jednak przy odpowiedniej organizacji ochrony API metoda ta staje się bardzo pracochłonna. Ponadto cracker nigdy nie może być całkowicie pewien, że poprawnie i całkowicie usunął ochronę, a program będzie działał bezawaryjnie.

Istnieje kilka skutecznych sposobów przeciwdziałania próbom usunięcia lub obejścia wywołań API:

  • użycie „szalony kod”: podczas tworzenia funkcji API ich polecenia są mieszane z „śmieciami” - niepotrzebnymi poleceniami, tj. kod jest bardzo głośny, co utrudnia badanie logiki funkcji
  • używanie wielu punktów wejścia API: przy dobrej ochronie API każda funkcja ma swój własny punkt wejścia. Aby całkowicie zneutralizować ochronę, atakujący musi znaleźć wszystkie punkty

Ochrona oprogramowania i sprzętu zapewnia osobie, która ją wdraża, wystarczająco dużą swobodę działania. Nawet przy automatycznej ochronie możesz wybierać spośród dostępnych opcji i odpowiednio definiować właściwości chronionego programu. A korzystając z funkcji API, możesz wdrożyć dowolny, nawet najbardziej wyrafinowany model ochrony. To. Nie ma jednego i szczegółowego schematu ochrony budynku. Istnieje jednak wiele sposobów na zwiększenie wytrzymałości twojej obrony (poniżej wymieniono tylko kilka).

Środki zaradcze hakerskie

Łączenie ochrony automatycznej i API

Jak wspomniano powyżej, każdy z tych rodzajów ochrony ma swoje wąskie gardła. Ale razem doskonale się uzupełniają i stanowią barierę nie do pokonania nawet dla doświadczonego włamywacza. Jednocześnie automatyczna ochrona pełni rolę pewnego rodzaju powłoki, zewnętrznej granicy, a ochrona API jest rdzeniem.

Ochrona API

Zaleca się korzystanie z kilku funkcji w ochronie API. Ich wywołania muszą być rozproszone w kodzie aplikacji i mieszać zmienne funkcji ze zmiennymi aplikacji. W ten sposób ochrona API jest głęboko zakorzeniona w programie, a cracker będzie musiał ciężko pracować, aby określić i wybrać wszystkie funkcje ochrony.

Użycie algorytmów (lub funkcji) do transformacji danych jest obowiązkowe. Zakodowanie informacji sprawia, że ​​usuwanie wywołań funkcji API nie ma sensu, ponieważ dane nie zostaną zdekodowane.

Skutecznym sposobem na skomplikowanie logiki bezpieczeństwa jest opóźnienie reakcji programu na kody powrotu funkcji API. W takim przypadku program decyduje o dalszej pracy po pewnym czasie od otrzymania kodów zwrotnych. Co zmusza crackera do śledzenia złożonych relacji przyczynowo-skutkowych i badania zbyt dużych fragmentów kodu w debugerze.

Automatyczna ochrona

Przy automatycznej ochronie konieczne jest włączenie opcji ochrony przed narzędziami do debugowania i demontażu, opcji kodowania i sprawdzania kluczy w czasie. Przydatne jest również korzystanie z ochrony antywirusowej. Jednocześnie sprawdzane jest CRC sekcji kodu, co oznacza, że ​​plik jest również chroniony przed modyfikacją.

Aktualizacja ochrony

Po wdrożeniu systemu ochrony ważne jest, aby nie zapomnieć o terminowej aktualizacji oprogramowania do pracy z kluczami. Każdy nowe wydanie- są to naprawione błędy, zamknięte "dziury" i nowe zabezpieczenia. Niezbędne jest również stałe monitorowanie sytuacji na rynku systemów zabezpieczeń oraz, w razie potrzeby, terminowa zmiana systemu zabezpieczeń na bardziej zaawansowany i niezawodny.

Możliwości klucza elektronicznego

Oczywiście przede wszystkim klucz jest przeznaczony do ochrony programów. Potencjał nowoczesnej ochrony oprogramowania i sprzętu jest jednak tak duży, że pozwala na wykorzystanie kluczy elektronicznych do realizacji strategia marketingowa i optymalizacja sprzedaży. Oto kilka opcji takiego „niewłaściwego” użycia.

Prezentacje

Korzystając z kluczy sprzętowych, możesz łatwo tworzyć wersje demonstracyjne oprogramowania bez pisania wersji demonstracyjnej programu. Możesz swobodnie rozpowszechniać kopie, blokując lub ograniczając niektóre funkcje programu, które są aktywowane tylko za pomocą klucza sprzętowego. Lub udostępnij klientom w pełni funkcjonalny program w wersji próbnej („próbnej”), ograniczając liczbę uruchomień. A po dokonaniu płatności wydłuż okres korzystania z programu lub całkowicie usuń ograniczenie.

Wynajem i leasing

Jeśli program jest drogi, często wygodnie i opłaca się sprzedać go w częściach lub wynająć. W tym przypadku klucze również będą bardzo przydatne. Jak to się stało? Klient otrzymuje pełną, ograniczoną w czasie kopię roboczą programu. Po dokonaniu przez klienta kolejnej wpłaty, okres użytkowania programu wydłuża się poprzez zdalne przeprogramowanie pamięci klucza.

Sprzedaż programu w częściach

Jeśli program składa się z kilku komponentów (na przykład zestawu tłumaczy elektronicznych - angielsko-rosyjskiego, francusko-rosyjskiego itp.), to możesz dołączyć wszystkie moduły do ​​pakietu dystrybucyjnego, ale aktywować tylko te, za które zapłaciłeś. W razie potrzeby klient zawsze może zapłacić za interesujący go komponent programu, który zostanie aktywowany za pomocą programowania kluczyka zdalnego.

Aktualizacja chronionej aplikacji

Wydany przez producenta Nowa wersja programy. Teraz staje przed problemem aktualizacji programu dla zarejestrowanych użytkowników. Programowanie kluczyka zdalnego sprawia, że ​​procedura ta jest szybka i łatwa. Po wydaniu nowej wersji aplikacji użytkownicy poprzednich wersji nie muszą wydawać ani sprzedawać nowego klucza. Wystarczy przeprogramować sekcję pamięci istniejącego klucza i wysłać nową wersję do klienta (bezpłatnie lub za niewielką dopłatą - w zależności od polityki marketingowej firmy).

Licencjonowanie w sieciach lokalnych

Licencjonowanie w tym przypadku oznacza kontrolę nad liczbą kopii używanego programu. Producenci oprogramowania sieciowego doskonale zdają sobie sprawę z sytuacji, w której kupowany jest jeden licencjonowany program, a dziesiątki jego kopii pracują w sieci LAN. W tych warunkach klucz elektroniczny staje się skuteczne narzędzie, zapobiegając uruchamianiu „nadmiernych” kopii programu.

Jak przebiega licencjonowanie? Załóżmy, że użytkownik zamierza zainstalować w sieci jakiś program (księgowość, magazyn itp.). Przy zakupie określa liczbę egzemplarzy programu, których potrzebuje i otrzymuje odpowiednią licencję. Producent przekazuje klientowi zestaw dystrybucyjny oraz odpowiednio zaprogramowany klucz. Teraz użytkownik będzie mógł pracować tylko z taką liczbą egzemplarzy, za jaką zapłacił. W razie potrzeby zawsze może dokupić brakujące egzemplarze, a producent przeprogramuje mu elektroniczny klucz bez wychodzenia z biura.

Nietrudno zauważyć, że nowoczesny system ochrony sprzętu i oprogramowania zapewnia wiele funkcji serwisowych, które pozwalają zorganizować skuteczną polityka marketingowa i oczywiście uzyskać dodatkowe (i bardzo namacalne) korzyści.

Przyszłość klucza elektronicznego

Dopóki istnieje oprogramowanie, a problem piractwa komputerowego będzie się utrzymywał, ochrona oprogramowania i sprzętu pozostanie aktualna. Trudno powiedzieć, co dokładnie będzie za dziesięć lat. Ale już teraz można zauważyć pewne trendy, które stają się oczywiste.

Klucze sprzętowe USB zyskują na popularności i prawdopodobnie będą stopniowo zastępować klucze sprzętowe portu równoległego. W kluczach zostaną zaimplementowane bardziej złożone i stabilne algorytmy, a ilość pamięci wzrośnie.

Klucze elektroniczne (nieco inaczej ułożone) zaczynają być wykorzystywane do identyfikacji użytkowników komputerów. Takie klucze identyfikacyjne, w połączeniu ze specjalnymi programami, mogą chronić strony internetowe.

Możliwości kluczy elektronicznych będą coraz częściej wykorzystywane do kształtowania strategii marketingowej producentów oprogramowania, do promocji produktów programowych.

Informacje ogólne. Klucz elektroniczny to urządzenie, które może znajdować się w jednym z dwóch stanów stabilnych: zamkniętym lub otwartym. Przejście z jednego stanu do drugiego w idealnym kluczu elektronicznym następuje nagle pod wpływem napięcia lub prądu sterującego.

W nowoczesnej technologii elektronicznej najczęściej stosowane są przełączniki tranzystorowe.

Klucze na tranzystorach bipolarnych. Najprostszy obwód przełącznika tranzystora (ryc. 5.2, a) jest podobny do obwodu wzmacniacza tranzystora, ale różni się trybem pracy tranzystora. Podczas pracy w trybie klucza punkt pracy tranzystora może znajdować się tylko w dwóch pozycjach: in obszary odcięcia(tranzystor zamknięty) i in regiony nasycenia(tranzystor otwarty i nasycony). Takie klucze nazywają się bogaty klucze tranzystorowe. Czasami stosuje się przełączniki, w których punkt pracy z otwartym tranzystorem znajduje się w obszarze aktywnym (zwykle w pobliżu obszaru nasycenia, ale go nie osiąga). Takie klucze nazywają się nienasycony. Częściej stosowane są przełączniki nasycone tranzystorami, ponieważ w stanie włączonym napięcie wyjściowe ma niższy poziom i jest bardziej stabilne.

Ryż. 5.2. Obwody przełącznika tranzystorowego (a) i charakterystyki (b) ilustrujące zmianę trybu przy przełączeniu kluczyka ze stanu zamkniętego (punkt A) do stanu otwartego (punkt B)

Aby zapewnić tryb odcięcia, do wejścia klawisza musi być doprowadzone napięcie ujemne
(lub dodatni dla tranzystora p-n-p).

Dla niezawodnego blokowania tranzystora bezwzględna wartość ujemnego napięcia
musi być co najmniej pewną wartością napięcia progowego
, a warunek zapewnienia trybu odcięcia ma postać

Aby przełączyć tranzystor w tryb nasycenia, konieczne jest podanie takiego dodatniego napięcia na wejście klucza , przy której w obwodzie podstawowym powstaje prąd

gdzie
- prąd bazowy na granicy między trybem aktywnym a trybem nasycenia (punkt B na rys. 5.2, b).

Prąd kolektora w trybie nasycenia

.

W trybie nasycenia napięcie kolektora
pozostaje dodatni w stosunku do emitera, ale ma bardzo małą wartość (dziesiąte części wolta dla tranzystorów germanowych i 1 ... 1,5 V dla tranzystorów krzemowych). Dlatego napięcie na kolektorze EAF okazuje się ujemne:

i włącza się w kierunku do przodu.

Działanie klucza elektronicznego zależy od czasu włączenia i wyłączenia.

Czas włączenia jest określony przez czas opóźnienia spowodowany bezwładnością ruchu dyfuzyjnego nośników ładunku mniejszościowego w podstawie BT oraz czas formowania czoła (czas ustalania) napięcia wyjściowego. Czas wyłączenia jest sumą czasu resorpcji pomniejszych nośników ładunku zgromadzonych w bazie i czasu powstania odcięcia napięcia wyjściowego.

Zwiększenie prędkości przełącznika tranzystorowego jest ułatwione dzięki zastosowaniu tranzystorów wysokiej częstotliwości, wzrostowi prądów odblokowujących i wstecznych bazy, a także zmniejszeniu prądu bazy w trybie nasycenia.

Aby zmniejszyć prąd bazy w trybie nasycenia, stosuje się nienasycone przełączniki, w których dioda Schottky'ego jest podłączona między podstawą a kolektorem (ryc. 5.3). Dioda Schottky'ego ma napięcie wyzwalające o 0,1 ... 0,2 V mniejsze niż napięcie nasycenia złącza kolektora, więc otwiera się przed wystąpieniem nasycenia, a część prądu bazy przechodzi przez otwartą diodę do obwodu kolektora tranzystora, zapobiegając w ten sposób akumulacji w bazie ładunkowej przewoźników mniejszościowych. Nienasycone przełączniki z diodą Schottky'ego są szeroko stosowane w układach scalonych. Wynika to z faktu, że wykonanie diod Schottky'ego w oparciu o strukturę tranzystorową z wykorzystaniem technologii zintegrowanej nie wymaga żadnych dodatkowych operacji i nie zwiększa powierzchni kryształu zajmowanej przez elementy przełączające.

Ryż. 5.3. Schemat klucza z diodą Schottky'ego

Klawisze na tranzystorach MIS. W kluczach na tranzystorach polowych (rys. 5.4) nie ma takiej wady, jak akumulacja i resorpcja nośników mniejszościowych, dlatego czas przełączania jest określony przez ładowanie i ładowanie pojemności międzyelektrodowych. Rola rezystora może wykonywać tranzystory polowe. To znacznie ułatwia technologię produkcji zintegrowanych przełączników opartych na tranzystorach polowych.

Ryż. 5.4. Schematy kluczy elektronicznych na FET z bramką p-n (a) i typu MIS (b).

W kluczach na tranzystorach MIS z kanałem indukowanym (rys. 5.5) rola rezystora działają tranzystory VT1, a rolą elementu aktywnego są tranzystory VT2. Tranzystory VT2 mają kanał typu p, a tranzystory VT1 mają kanał typu n (ryc. 5.5, a) lub typu n (ryc. 5.5, b). Ich charakterystykę przenoszenia pokazano na ryc. 5.6, a oraz 5.6, b odpowiednio. Wykresy napięć wyjaśniające działanie klawiszy pokazano na ryc. 5.7.

Ryż. 5.5. Schematy przełączników elektronicznych opartych na tranzystorach MIS z indukowanymi kanałami o tych samych (a) i przeciwnych (b) typach przewodności elektrycznej

Ryż. 5.6. Charakterystyki przenoszenia tranzystorów MIS z indukowanymi kanałami o różnych typach przewodności elektrycznej

Ryż. 5.7. Wykresy zmian napięć wejściowych (a) i wyjściowych (b) przełączników elektronicznych na tranzystorach MIS

Gdy do wejścia zostanie doprowadzone napięcie dodatnie tranzystory VT2, mające kanał typu p, są zamknięte. Tranzystor VT1 pierwszego klucza (ryc. 5.5, a) jest otwarty z powodu ujemnego napięcia polaryzacji przyłożonego do jego bramki
. Tranzystor VT1 drugiego klucza, który ma kanał typu n (ryc. 5.5, b), również okazuje się otwarty, ponieważ jego bramka jest podłączona do wejścia, które ma napięcie dodatnie
. Rezystancja otwartych tranzystorów VT1 jest niewielka w porównaniu z rezystancją zamkniętych tranzystorów VT2 i
.

Po otrzymaniu ujemnego napięcia na wejściu klawiszy
tranzystory VT2 otwarte, a tranzystory VT1 zamknięte. Prawie cały stres spada na wysoką rezystancję kanału tranzystora VT1 i
.

5.4. Podstawowe elementy logiczne na strukturach bipolarnych. W zależności od komponentów, które są wykorzystywane przy budowie LE oraz sposobu łączenia komponentów w ramach jednego LE, rozróżnia się następujące typy LE lub typy logiki:

logika diodowo-tranzystorowa (DTL);

logika tranzystor-tranzystor (TTL);

logika sprzężona z emiterem (ECL);

logika zintegrowana z wtryskiem (I 2 L, IIL);

elementy logiczne na tranzystorach MOS (KMDP).

Istnieją inne rodzaje LE. Niektóre z nich są przestarzałe i nie są obecnie używane, podczas gdy inne są w trakcie opracowywania.

Elementy logiczne TTL. Tranzystor-tranzystor nazywany takimi elementami logicznymi, w obwodzie wejściowym, w którym używany jest tranzystor z wieloma emiterami (MET). Zgodnie z zasadą budowy i działania obwody TTL są zbliżone do obwodów DTL. Złącza emiterowe MET działają jako diody wejściowe, a złącze kolektora działa jako dioda polaryzująca. Elementy TTL są bardziej kompaktowe niż elementy DTL, co zwiększa stopień integracji chipów TTL. Układy scalone oparte na TTL w porównaniu z mikroukładami DTL charakteryzują się większą szybkością, odpornością na zakłócenia i niezawodnością, większą obciążalnością i niższym zużyciem energii.

Na ryc. 5.8, a pokazuje obwód 3I - NE LE TTL z prostym falownikiem. Jeśli napięcia są podawane na wszystkie wejścia MET
odpowiadające poziomowi 1, wtedy wszystkie złącza emiterów МЭТВТ1 są spolaryzowane w kierunku odwrotnym, a złącza kolektora są spolaryzowane w kierunku przewodzenia. Prąd kolektora MET przepływa przez podstawę tranzystora VT2, który otwiera się i przechodzi w tryb nasycenia. Na wyjściu LE . ustawiany jest niski poziom napięcia
.

Jeśli co najmniej jedno wejście MET jest zasilane
odpowiadający poziomowi 0, to odpowiednie złącze nadajnika MET jest przesuwane w kierunku do przodu. Prąd emitera tego przejścia przepływa przez rezystor R1, w wyniku czego zmniejsza się prąd kolektora MET i zamyka się tranzystor VT2. Napięcie jest ustawiane na wyjściu LE wysoki poziom
.

Aby zwiększyć prędkość LE, wprowadza się do niego nieliniowe sprzężenie zwrotne, wykonywane za pomocą diody Schottky'ego (dioda VD na ryc. 5.10, a). Dioda Schottky'ego VD ze zintegrowanym tranzystorem VT2 tworzy pojedynczą strukturę, która jest czasami nazywana tranzystorem Schottky'ego.

Ryż. 5.8. Układy logiczne AND - NOT TTL z prostymi (a) i złożonymi (b) falownikami

Na ryc. 5.8, b przedstawia schemat elementu logicznego 2I - NOT TTL ze złożonym falownikiem. Działanie takiego falownika zostało omówione wcześniej.

Cechą złożonego falownika jest bezwładność procesu przełączania tranzystorów VT2, VТЗ i VT4. Dlatego wydajność złożonego falownika jest gorsza niż prostego. Aby zwiększyć prędkość złożonego falownika, wprowadza się do niego dodatkowy tranzystor, który jest podłączony równolegle do złącza emitera VT4.

Obecnie produkowanych jest kilka odmian serii mikroukładów z elementami TTL: standardowa (seria 133; K155), szybka (seria 130; K131), mikromoc (seria 134), z diodami Schottky'ego (seria 530; K531) i mikrozasilanie z Diody Schottky'ego ( seria K555). Charakteryzują się wysokim procentem wydajności, niskimi kosztami, mają szeroki zestaw funkcjonalny i są wygodne w praktycznym użytkowaniu.

Elementy logiki ESL. Bazą elementów logiki sprzężonej z emiterem są urządzenia oparte na przełącznikach prądowych.

Najprostszy obwód przełącznika prądu pokazano na ryc. 5.9, a.

Ryż. 5.9. Uproszczony schemat wyłącznika prądowego (a) i wykresy napięcia (b) wyjaśniające jego działanie

Całkowity prąd tranzystorów VT1 i VT2 jest ustawiany przez generator prądu I zawarty w obwodzie emitera tranzystorów. Jeśli wejście (baza VT1) otrzymuje napięcie o niskim poziomie
(logiczne 0), wtedy tranzystor VT1 jest zamknięty i cały prąd przepływa przez tranzystor VT2, którego baza jest zasilana napięciem odniesienia
, przekraczając dolny poziom napięcia bazowego VT1.

Na kolektorze zamkniętego tranzystora VT1 jest generowane napięcie wysokiego poziomu (logika 1), a na kolektorze otwartego tranzystora VT2 powstaje napięcie niskiego poziomu (logiczne 0), jak pokazano na ryc. 5.9, b. Jeśli
, wtedy tranzystor VT1 otworzy się. Dlatego
, wtedy tranzystor VT2 zostanie zamknięty i cały prąd przepłynie przez tranzystor VT1. Na kolektorze VT1 powstaje napięcie niskiego poziomu, a na kolektorze VT2 powstaje wysoki poziom.

Parametry generatora prądu są takie, że tranzystory VT1 i VT2 nie przechodzą w tryb nasycenia. Osiąga to wysoką wydajność elementów ESL.

Schemat ideowy podstawowego elementu logicznego ESL pokazano na ryc. 5.10. Ten LE wykonuje jednocześnie dwie operacje logiczne: OR - NOT na wyjściu 1 i OR na wyjściu 2.

Ryż. 5.10. Schemat podstawowego elementu logicznego ESL

Na tranzystorach VT1, VT2 i VTZ wykonywany jest przełącznik prądu, który zapewnia funkcje logiczne OR - NOT (na kolektorze VT2) i OR (na kolektorze VТЗ). Jako generator prądu stosowany jest rezystor R5 o wysokiej rezystancji, który jest zawarty w połączonym obwodzie emitera tranzystorów VT1, VT2 i VТЗ. Źródło napięcia odniesienia jest wykonane na tranzystorze VT4 i diodach VD1 i VD2. Napięcie odniesienia, którego poziom znajduje się w przybliżeniu pośrodku między poziomami odpowiadającymi 0 i 1, jest przyłożone do bazy tranzystora VТ, więc tranzystor VТ zostanie zamknięty, jeśli zostanie przyłożone napięcie o wyższym poziomie (logika 1) do co najmniej jednego z wejść i otworzyć, jeśli wszystkie wejścia mają niski poziom napięcia (logiczne 0). Logiczne informacje z kolektorów VT2 i VТЗ są dostarczane do baz popychaczy emiterów wyjściowych wykonanych na tranzystorach VT5 i VT6. Wtórniki emiterowe służą do zwiększenia obciążalności LE i przesunięcia poziomów napięcia wyjściowego w celu kompatybilności LE tej serii pod względem wejścia i wyjścia.

Przedstawiciele LE ESL to układy scalone serii 500.

Zaletą LE ESL jest ugruntowana technologia ich produkcji, która zapewnia dość wysoki procent wydajności odpowiednich mikroukładów i ich stosunkowo niski koszt. Elementy ESL mają wyższą prędkość w porównaniu do LE TTL. Z tego powodu są szeroko stosowane w szybkich i wydajnych obliczeniach. Kaskady różnicowe LE ESL zapewniają wysoką odporność na zakłócenia, stabilność parametrów dynamicznych przy zmianach temperatury i napięcia źródeł zasilania, stały pobór prądu niezależny od częstotliwości przełączania.

Wadą LE ESL jest wysoki pobór mocy.

Elementy logiczne AND 2 L. LE AND 2 L są wykonane w postaci łańcucha zasilanych wtryskowo tranzystorów. Charakterystyczną cechą takich tranzystorów w porównaniu z BT jest obecność dodatkowej elektrody - wtryskiwacza. W tej strukturze można wyróżnić dwa tranzystory: poziome zasilanie prądem oraz przełączanie w pionie podłączony jak pokazano na ryc. 5.11, b. Rolę klucza elektronicznego S pełni zazwyczaj struktura BT, połączona z OE i działająca w trybie klucza.

Ryż. 5.11. Schemat ideowy falownika z napędem wtryskowym

Przemieszczenie złącza wtryskiwacza w kierunku do przodu uzyskuje się poprzez przyłożenie dodatniego napięcia równego 1 ... Jeśli klucz jest otwarty (w tym przypadku napięcie wejściowe jest wysokie), wówczas prawie cały prąd generatora wchodzi do podstawy tranzystora VT2. Tranzystor jest otwarty i nasycony, a jego napięcie wyjściowe wynosi jednostki lub dziesiątki miliwoltów (przy założeniu, że obciążenie jest podłączone do kolektora). Przy zamkniętym kluczu S prawie cały prąd generatora prądu przepływa przez klucz i tylko niewielka jego część wchodzi do podstawy tranzystora VT2. Tranzystor jest w trybie aktywnym w pobliżu obszaru odcięcia. Napięcie kolektora tranzystora w tym trybie odpowiada wysokiemu poziomowi - około 0,8 V.

Tak więc tranzystor zasilany wtryskiem może być uważany za falownik lub LE, który wykonuje operację NIE.

Na ryc. 5.12 pokazuje obwód LE OR - NOT dla dwóch wejść. Gdy na obu wejściach pojawią się logiczne zera, tranzystory VT1 i VT2 są zamknięte, a na wyjściu powstaje logiczna 1. Jeśli co najmniej jedno z wejść otrzyma logiczną 1, odpowiedni tranzystor jest otwarty i nasycony, a wyjście, które jest połączenie wszystkich kolektorów jest ustawione na logiczne 0.

Ryż. 5.12. Uproszczony schemat logiki LE 2OR - NOT wtrysku

Zalety LE i 2 L to wysoki stopień integracja, duża prędkość, zdolność do pracy przy bardzo niskich prądach (jednostki nanoamperów) i niskich napięciach zasilania.

5.5. Podstawowe elementy logiczne na strukturach MIS i CMIS. Podstawowym elementem układów logicznych na tranzystorach MIS jest falownik (element NOT). Na ryc. 5.13 pokazuje obwody falownika na tranzystorach MIS z kanałem typu p z jednym (a) i dwoma (b) zasilaczami.

Ryż. 5.13. Schematy falowników na tranzystorach MIS (a, b) oraz wykresy napięć wejściowych i wyjściowych (c)

Tranzystory VT1 obu obwodów mają węższe i dłuższe kanały w porównaniu do tranzystorów VT2. Dlatego, jeśli oba tranzystory VT1 i VT2 są otwarte, to
. Jeśli
, tj.
, to tranzystory VT2 są otwarte. Ponieważ w tym samym czasie
, wtedy napięcie wyjściowe jest bliskie zeru (ryc. 5.13, c).

Jeśli
, tj.
, wtedy tranzystory VT2 są zamknięte, a tranzystory VT1 są na granicy zablokowania. W którym
a wyjście jest ustawione na niski poziom ujemny odpowiadający logice 1.

Włączenie w obwód bramki tranzystora VT1 dodatkowego źródła napięcia
zwiększa odporność na hałas LE.

Na ryc. 5.14, a przedstawia schemat dwuwejściowego LE OR - NOT, wykonanego na komplementarnych tranzystorach MIS. Tranzystory VТЗ i VT4 połączone równolegle z kanałem typu n są tranzystorami sterującymi, a tranzystory VT1 i VT2 z kanałem typu p są tranzystorami obciążonymi. Tranzystory sterujące tworzą dolne, a obciążeniowe tworzą górne ramię dzielnika, z którego usuwane jest napięcie wyjściowe.

Ryż. 5.14. Schematy elementów logicznych OR - NOT (a) i AND - NOT (b) na tranzystorach KMDP

Jeśli dane wejściowe oraz niski poziom napięcia:
, wtedy tranzystory VТЗ i VT4 są zamknięte. Źródło tranzystora VT1 z kanałem typu p jest podłączone do plusa źródła , więc jego napięcie bramki
i przekracza napięcie progowe w wartości bezwzględnej. Tranzystor VT1 jest otwarty, rezystancja jego kanału jest niewielka, a napięcie źródła tranzystora VT2 jest zbliżone do napięcia
. W konsekwencji tranzystor VT2 jest również otwarty, a rezystancja ramienia jest znacznie mniejsza niż rezystancja ramienia dolnego. Wyjście jest ustawione na wysoki poziom napięcia zbliżony do napięcia zasilania.

Jeśli co najmniej jedno wejście lub dostarczane jest napięcie wysokiego poziomu, następnie odpowiedni tranzystor dolnego ramienia otwiera się, a górne ramię zamyka się. Wyjście wytwarza napięcie o niskim poziomie bliskim zeru.

W elementach logicznych I - NIE KMDP-TL (ryc. 5.14, b) tranzystory sterujące MOS z kanałem typu n VTZ i VT4 są połączone szeregowo, a obciążenia z kanałami typu p są połączone równolegle. Rezystancja dolnego ramienia będzie mała, jeśli oba tranzystory VТЗ i VT4 będą otwarte, tj. kiedy przy wejściach oraz napięcia odpowiadające aktom jednostek logicznych. W którym
i odpowiada zerowi logicznemu. Jeśli na jednym z wejść występuje niskie napięcie, jeden z tranzystorów VT1 lub VT2 jest otwarty, a jeden z tranzystorów VT3 lub VT4 jest zamknięty. W tym przypadku rezystancja ramienia jest znacznie mniejsza niż rezystancja ramienia dolnego, a poziom napięcia wyjściowego odpowiada jednostce logicznej.

Elementy logiczne KMDP-TL charakteryzują się niskim poborem mocy (dziesiątki nanowatów), odpowiednio dużą szybkością (do 10 MHz lub więcej), wysoką odpornością na zakłócenia oraz współczynnikiem wykorzystania napięcia zasilania (
). Ich wadą jest większa złożoność produkcji w porównaniu z LE MDP-TL.

(Oprogramowanie) oraz dane pochodzące z kopiowania, nielegalnego użytkowania i nieautoryzowanej dystrybucji.

Nowoczesne klucze elektroniczne

Zasada działania kluczy elektronicznych. Klucz jest dołączony do określonego interfejsu komputera. Ponadto chroniony program wysyła do niego informacje za pośrednictwem specjalnego sterownika, który jest przetwarzany zgodnie z określonym algorytmem i zwracany. Jeśli odpowiedź na klucz jest poprawna, program kontynuuje pracę. W przeciwnym razie może wykonywać czynności zdefiniowane przez programistę, takie jak przełączanie w tryb demonstracyjny, blokowanie dostępu do niektórych funkcji.

Istnieją specjalne klucze umożliwiające licencjonowanie (ograniczenie liczby kopii programu działającego w sieci) chronionej aplikacji przez sieć. W takim przypadku wystarczy jeden klucz dla całej sieci lokalnej. Klucz jest instalowany na dowolnej stacji roboczej lub serwerze sieciowym. Chronione aplikacje uzyskują dostęp do klucza przez lokalna sieć. Zaletą jest to, że aby pracować z aplikacją w sieci lokalnej, nie muszą nosić przy sobie klucza sprzętowego.

Na rynku rosyjskim najbardziej znane są następujące linie produktów (w kolejności alfabetycznej): CodeMeter firmy WIBU-SYSTEMS, Guardant firmy Aktiv, HASP firmy Aladdin, LOCK firmy Astroma Ltd., Rockey firmy Feitian, SenseLock firmy Seculab itp.

Fabuła

Ochrona oprogramowania przed nielicencjonowanym użytkowaniem zwiększa zysk dewelopera. Do chwili obecnej istnieje kilka podejść do rozwiązania tego problemu. Zdecydowana większość twórców oprogramowania korzysta z różnych modułów oprogramowania, które kontrolują dostęp użytkowników za pomocą kluczy aktywacyjnych, numerów seryjnych itp. Taka ochrona jest tanim rozwiązaniem i nie może twierdzić, że jest niezawodna. Internet jest pełen programów, które pozwalają nielegalnie wygenerować klucz aktywacyjny (generatory kluczy) lub zablokować żądanie numeru seryjnego/klucza aktywacyjnego (łatki, cracki). Ponadto nie zaniedbuj faktu, że legalny użytkownik sam może upublicznić swój numer seryjny.

Te oczywiste niedociągnięcia doprowadziły do ​​stworzenia sprzętowej ochrony oprogramowania w postaci klucza elektronicznego. Wiadomo, że pierwsze klucze elektroniczne (czyli sprzętowe urządzenia zabezpieczające oprogramowanie przed nielegalnym kopiowaniem) pojawiły się już na początku lat 80., jednak z oczywistych względów bardzo trudno jest ustalić prymat idei i bezpośrednie tworzenie urządzenia.

Ochrona oprogramowania kluczem elektronicznym

Zestaw programistyczny

Klucze sprzętowe są klasyfikowane jako sprzętowe metody ochrony oprogramowania, ale nowoczesne klucze są często definiowane jako wieloplatformowe systemy narzędzi sprzętowo-programowych do ochrony oprogramowania. Faktem jest, że oprócz samego klucza firmy wydające klucze elektroniczne udostępniają zestaw SDK (Software Developer Kit - zestaw do tworzenia oprogramowania). SDK zawiera wszystko, czego potrzebujesz, aby zacząć korzystać z prezentowanej technologii we własnym zakresie produkty oprogramowania- narzędzia programistyczne, kompletna dokumentacja techniczna, wsparcie dla różnych systemów operacyjnych, szczegółowe przykłady, fragmenty kodu, automatyczne narzędzia ochrony. SDK może również zawierać klucze demonstracyjne do tworzenia projektów testowych.

Technologia ochrony

Technologia ochrony przed nieautoryzowanym użyciem oprogramowania opiera się na implementacji żądań z pliku wykonywalnego lub biblioteki dynamicznej do klucza z późniejszym odbiorem i, w razie potrzeby, analizą odpowiedzi. Oto kilka typowych zapytań:

  • sprawdzenie obecności kluczowego połączenia;
  • odczytanie z klucza danych niezbędnych dla programu jako parametr startowy (stosowany głównie przy wyszukiwaniu odpowiedniego klucza, ale nie do ochrony);
  • żądanie odszyfrowania danych lub kodu wykonywalnego niezbędnego do działania programu, zaszyfrowanego podczas ochrony programu (pozwala na „porównanie ze standardem”; w przypadku szyfrowania kodu wykonanie kodu nieodszyfrowanego prowadzi do błędu);
  • żądanie odszyfrowania danych wcześniej zaszyfrowanych przez sam program (pozwala za każdym razem wysyłać różne żądania do klucza, a tym samym uchronić się przed emulacją bibliotek API / samego klucza)
  • weryfikacja integralności kodu wykonywalnego poprzez porównanie jego aktualnej sumy kontrolnej z oryginalną sumą kontrolną odczytaną z klucza (na przykład poprzez wykonanie podpisu cyfrowego kodu lub innych przesyłanych danych przez algorytm klucza i sprawdzenie tego podpisu cyfrowego w aplikacji; ponieważ podpis cyfrowy jest zawsze inny – cecha algorytmu kryptograficznego – pomaga to również chronić przed emulacją API/klucza);
  • żądanie do zegara czasu rzeczywistego wbudowanego w klucz (jeśli istnieje; może być wykonane automatycznie, gdy czas działania algorytmów sprzętowych klucza jest ograniczony przez jego wewnętrzny zegar);
  • itp.

Warto zauważyć, że niektóre współczesne klucze (Guardant Code firmy Aktiv, LOCK firmy Astroma Ltd., Rockey6 Smart firmy Feitian, Senselock firmy Seculab) pozwalają programiście na przechowywanie własnych algorytmów lub nawet oddzielnych części kodu aplikacji (np. algorytmy specyficzne dla deweloperów, które otrzymują dane wejściowe dużą liczbę parametrów) i wykonaj je w tonacji na własnym mikroprocesorze. Oprócz ochrony oprogramowania przed nielegalnym użyciem, takie podejście pozwala chronić algorytm używany w programie przed badaniem, klonowaniem i wykorzystywaniem go w aplikacjach przez konkurencję. Jednak w przypadku prostego algorytmu (a programiści często popełniają błąd wybierając niewystarczająco złożony algorytm do załadowania), kryptoanalizę można przeprowadzić przy użyciu metody analizy „czarnej skrzynki”.

Jak wynika z powyższego, „sercem” klucza elektronicznego jest algorytm konwersji (kryptograficzny lub inny). W nowoczesnych kluczach sprzętowych jest to implementowane sprzętowo - praktycznie wyklucza to tworzenie pełnego emulatora klucza, ponieważ klucz szyfrujący nigdy nie jest przesyłany na wyjście klucza, co wyklucza możliwość jego przechwycenia.

Algorytm szyfrowania może być tajny lub publiczny. Tajne algorytmy są opracowywane przez producenta sprzętu ochronnego, w tym indywidualnie dla każdego klienta. Główną wadą stosowania takich algorytmów jest niemożność oceny siły kryptograficznej. Tylko po fakcie można było powiedzieć z całą pewnością, jak niezawodny jest algorytm: czy został zhakowany, czy nie. Algorytm publiczny lub „open source” ma nieporównywalnie większą siłę kryptograficzną. Takie algorytmy nie są testowane przez przypadkowe osoby, ale przez szereg ekspertów specjalizujących się w analizie kryptografii. Przykładami takich algorytmów są szeroko stosowane GOST 28147-89, AES, RSA, Elgamal itp.

Ochrona za pomocą środków automatycznych

Dla większości rodzin kluczy sprzętowych opracowano automatyczne narzędzia (zawarte w SDK), które pozwalają chronić program „za pomocą kilku kliknięć myszką”. W takim przypadku plik aplikacji jest „opakowany” we własny kod programisty. Funkcjonalność realizowana przez ten kod różni się w zależności od producenta, ale najczęściej kod sprawdza obecność klucza, kontroluje politykę licencyjną (ustawioną przez dostawcę oprogramowania), implementuje mechanizm ochrony pliku wykonywalnego przed debugowaniem i dekompilacją ( na przykład kompresowanie pliku wykonywalnego) itp.

Ważne jest to, że nie potrzebujesz dostępu do kodu źródłowego aplikacji, aby korzystać z narzędzia do automatycznej ochrony. Na przykład przy lokalizacji produktów zagranicznych (gdy nie ma możliwości ingerencji w kod źródłowy oprogramowania) taki mechanizm ochrony jest niezbędny, ale nie zezwala realizować i wykorzystywać pełen potencjał kluczy elektronicznych oraz wdrażać elastyczną i indywidualną ochronę.

Wdrażanie bezpieczeństwa z funkcjami API

Oprócz korzystania z automatycznej ochrony twórca oprogramowania ma możliwość samodzielnego opracowania ochrony poprzez zintegrowanie systemu ochrony z aplikacją na poziomie kodu źródłowego. W tym celu SDK zawiera biblioteki dla różnych języków programowania, które zawierają opis funkcjonalności API dla tego klucza. API to zestaw funkcji przeznaczonych do wymiany danych między aplikacją, sterownikiem systemu (i serwerem w przypadku kluczy sieciowych) oraz samym kluczem. Funkcje API zapewniają wykonanie różne operacje z kluczem: wyszukiwanie, odczyt i zapis pamięci, szyfrowanie i deszyfrowanie danych za pomocą algorytmów sprzętowych, licencjonowanie oprogramowania sieciowego itp.

Umiejętne zastosowanie tej metody zapewnia wysoki poziom bezpieczeństwa aplikacji. Trudno jest zneutralizować ochronę wbudowaną w aplikację ze względu na jej wyjątkowość i „rozmycie” w treści programu. Sama w sobie konieczność przestudiowania i zmodyfikowania kodu wykonywalnego chronionej aplikacji w celu obejścia ochrony jest poważną przeszkodą w jej złamaniu. Dlatego zadaniem twórcy zabezpieczeń jest przede wszystkim ochrona przed ewentualnymi automatycznymi metodami hakerskimi poprzez wdrożenie własnej ochrony za pomocą API do zarządzania kluczami.

Obejście bezpieczeństwa

Nie było informacji o pełnej emulacji nowoczesnych kluczy Guardant. Istniejące emulatory tabel są implementowane tylko dla określonych aplikacji. Możliwość ich powstania wynikała z niestosowania (lub niepiśmiennego używania) głównej funkcjonalności kluczy elektronicznych przez twórców zabezpieczeń.

Nie ma też informacji o pełnej lub przynajmniej częściowej emulacji klawiszy LOCK, ani o jakichkolwiek innych sposobach obejścia tego zabezpieczenia.

Hakowanie modułu oprogramowania

Atakujący bada logikę samego programu, aby po przeanalizowaniu całego kodu aplikacji wyizolować blok ochronny i go dezaktywować. Łamanie programów odbywa się poprzez debugowanie (lub stepping), dekompilację i zrzucanie pamięci głównej. Te metody analizy kodu wykonywalnego programu są najczęściej używane przez osoby atakujące w połączeniu.

Debugowanie odbywa się za pomocą specjalnego programu - debuggera, który pozwala na wykonanie dowolnej aplikacji krok po kroku, emulując dla niej środowisko operacyjne. Ważną funkcją debugera jest możliwość ustawienia punkty zatrzymania (lub warunki) wykonanie kodu. Za ich pomocą hakerowi łatwiej jest śledzić miejsca w kodzie, w których zaimplementowano dostęp do klucza (na przykład wykonanie zatrzymuje się na komunikacie typu „Brak klucza! Sprawdź obecność klucza w interfejsie USB” ).

Demontaż- sposób na konwersję kodu wykonywalnych modułów na czytelny dla człowieka język programowania - Assembler. W takim przypadku atakujący otrzymuje wydruk (listę) tego, co robi aplikacja.

Dekompilacja- konwersja modułu wykonywalnego aplikacji na kod programu w języku wysokiego poziomu i uzyskanie reprezentacji aplikacji zbliżonej do kodu źródłowego. Można to zrobić tylko dla niektórych języków programowania (w szczególności dla aplikacji .NET tworzonych w C# i dystrybuowanych w kodzie bajtowym, czyli języku interpretowanym na stosunkowo wysokim poziomie).

Istota ataku zrzut pamięci jest odczytanie zawartości pamięci RAM w momencie, gdy aplikacja zaczęła działać normalnie. W rezultacie atakujący otrzymuje działający kod (lub interesującą go część) w „czystej formie” (jeśli na przykład kod aplikacji został zaszyfrowany i zostanie tylko częściowo odszyfrowany podczas wykonywania tej lub innej sekcji). Najważniejsze dla atakującego jest wybranie odpowiedniego momentu.

Zwróć uwagę, że istnieje wiele sposobów przeciwdziałania debugowaniu, a twórcy zabezpieczeń z nich korzystają: kod nieliniowy (wielowątkowość), niedeterministyczna sekwencja wykonywania, „zaśmiecanie” kodu (bezużyteczne funkcje wykonujące złożone operacje w celu zmylenia atakującego), wykorzystując niedoskonałości samych debuggerów i innych

DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chciałbyś przeczytać The Bell?
Bez spamu