420 likes | 597 Views
Бизнес в Интернет. доц. д-р Станимир Стоянов ПУ “ Паисий Хилендарски ” , Катедра “ Компютърни систми ”. Модул “ Технологични основи ”. 9. Електронни карти. Съдържание. Видове карти Архитектура на смарт-картите Стандарти за смарт-карти Java смарт-карти Четящи устройства за смарт-карти
E N D
Бизнес в Интернет доц. д-р Станимир Стоянов ПУ “Паисий Хилендарски”, Катедра “Компютърни систми” Станимир Стоянов
Модул “Технологични основи” Станимир Стоянов
9. Електронни карти Станимир Стоянов
Съдържание • Видове карти • Архитектура на смарт-картите • Стандарти за смарт-карти • Java смарт-карти • Четящи устройства за смарт-карти • Проблеми на сигурността Станимир Стоянов
Видове карти Станимир Стоянов
Всичките функции, които ни доставят електронните карти, могат да бъдат реализирани и по други начини: • Напр. върху персонален компютър; • Кои са предимствата на електронните карти (ЕК)? • Възможности за вмешателство в работата на компютърните системи: • При ЕК тези възможности са по-малко; • При ЕК само през един обозрим и еднозначно определен интерфейс: • Може да се използва протоколът за обмен на данни. Станимир Стоянов
Чип-карти • Електронни карти, които: • Притежават оперативна памет със свободно избираем достъп; • Така всеки, който притежава необходимото четящо устройство, може да извлича информация и да я обработва: • Без това да може да се разбере впоследствие. • Пример за такава карта: • Електронна карта за болнично осигуряване. Станимир Стоянов
Единственият шанс за осигуряване на определено ниво на сигурност е кодиране на данните с един симетричен ключ: • DES; • IDEA. • Чип-картите разрешават капацитет на паметта до 32 KB; • Четящите устройства за тях са сравнително евтини. Станимир Стоянов
Магнитни карти • Още по-малки са възможностите за защита: • Могат да бъдат също така свободно четени. • Възможно е повторно писане в тях; • Освен това те могат да бъдат лесно изваждани от употреба: • С помощта на магнитно въздействие. • Единственото им предимство е тяхната евтина цена: • По-малко от 0.5 евро. Станимир Стоянов
Чип-карти с възможност за съзнателно разпушаване на клетките на паметта • Телефонните карти са изградени на този принцип; • При вмъкване на картата в четящото устройство се показва броят на неразрушените клетки; • При всеки времеви такт целево се разрушават съответните микроосигуровки. Станимир Стоянов
Архитектура на електронните карти Станимир Стоянов
Свойства на картите • Една карта разполага със собствен компютър, който има: • CPU; • ROM; • RAM; • входно-изходни устройства; • допълнителни модули: • Могат да се използват за криптографски методи (криптографски копроцесор). Станимир Стоянов
Обикновено параметрите на тези процесори са следните: • 2-4 KB RAM; • 24-36 KB ROM; • до 2 MIPS изчислителна мощност. Станимир Стоянов
Архитектура на смарт-карти Операционна с-ма Работна памет RAM CPU ROM I/O EEPROM CLK RST Vcc GND Памет за данни Станимир Стоянов
Смарт-картите комуникират със заобикалящата ги среда посредством техните серийни интерфейси: • Допускат скорост на предаване до 9 600 бита/сек. • Новите разработки предвиждат дори снабдяване на картите с числена клавиатура. Станимир Стоянов
Една смарт-карта притежава собствена операционна система, с помощта на която могат: • да се изпълняват програми; • да се съхраняват постоянно данни и софтуер в някаква директория; • да се осъществява комуникация с околната среда. • Обикновено картите притежават йерархични файлови системи: • Могат да се обслужват файлове както в аналогичните системи на персоналните компютри. Станимир Стоянов
Една смарт-карта е защитена физически срещу хакери: • Съдържанието на паметта й не може да бъде прочетено нито през контактните повърхности, нито през повърхноста на чипа; • Най-същественото свойство на една смарт-карта е нейният секретен ключ, с който тя се доставя; • Той се генерира в смарт-картата и до него никой няма достъп; • Криптографският копроцесор на картата позволява при това да се генерират RSA-ключове с дължина до 1024 бита. Станимир Стоянов
По съвремените стандарти ключове с такава дължина се приемат за сигурни против фалшификации; • Противно на това кореспондиращите публични ключове се доставят на заобикалящия свят; • С това съществуват следните възможности: • Данните и програмите могат да бъдат кодирани с публичния ключ на дадена смарт-карта и да се предадат към нея • Така се осигурява, че информацията ще може да се обработи само от картата, за която тя е предназначена. • Обратно на това, данните, които картата изпраща на комуникационния партьор, могат да бъдат автоидентифицирани, при което картата ги подписва със секретния си ключ. Станимир Стоянов
Освен това когато искаме да осигурим, че дадена карта е еднозначно свързана с един потребител: • Тогава съществува едно сигурно и лесно за използване средство за автоидентификация. • Понеже съответствието между личността и съответния ключ може да бъде осигурено посредством сертификационни авторитети: • В този случай кръгът, който е необходим за извършване на електронен подпис, се затваря. Станимир Стоянов
Понеже подписването не може да стане извън смарт-картата (тогава секретният ключ би бил видим за известно време), тогава данните, които ще се подписват, трябва да се изпратят на картата; • Това става като се генерира хеш-стойността също така извън картата - така че само тя се предава за кодиране; • Извън картата по всяко време може да се верифицира автоидентичността на подписа. Станимир Стоянов
За кодираното предаване на данни към една карта съществуват също така интересни приложения: • Нека допуснем, че един Least-Cost-рутер трябва постоянно да снабдява един доставчик на телекомуникационни услуги с информация за най-благоприятните такси; • Тази информация трябва да стига до потребителите и предавана от тях по-нататък. Станимир Стоянов
Предлагащият услуги може да се защити срещу злоупотреби, като кодира данните и кореспондиращата програма за оценка с публичния ключ на картата и ги прехвърли на нея; • Тогава информацията може да се използва само в защитената среда на картата; • При използването се предава в крайна сметка часът и телефонния код: • Отново без да може да има директен достъп до паметта. • Като отговор картата изпраща една протоколна информационна единица, която съдържа телефонния код на доставчика; • Нито данните, нито алгоритъмът ще бъдат видими за някого извън картата. Станимир Стоянов
Стандарти за смарт-карти Станимир Стоянов
При стандартизирането на смарт-картите се различават различни нива, които се стандартизират в течение на времето; • Физическо ниво – определят се размерите, местонахождението и големината на контактите, работните напрежения и т.н.: • Тези конвенции са залегнали в стандарта ISO/IEC 7816. Станимир Стоянов
Следващото ниво засяга: • Протоколи за предаване; • Цифрова система; • Представяне на данни; • Команди; • Логически по-високи конструкции - напр. SCQL – Structured Card Query Language. • Част от този стандарт е също така архитектурата за сигурност на картите; • Всичко това е дадено също така в стандарта ISO/IEC 7816. Станимир Стоянов
Стандартни APIs – дефинират независими от устройствата API: • Така може да се постигне една интероперативност между различните карти в различните операционни системи; • Тези дефиниции на API не се отнасят толкова към един програмен интерфейс за софтуер, който трябва да се поддържа в картата, колкото преди всичко към интеграцията на четящото устройство на картата в операционната система на персоналните компютри или на работните станции. Станимир Стоянов
Java смарт-карти Станимир Стоянов
Java-смарт-карти • JavaCard е една версия на Java за Smart-Card-операционни системи; • Операционните системи на тези карти съдържат като своя част една JVM; • С това имаме на разположение един общ, стандартизиран интерфейс за изпълнение на Java-приложения; • Различните фирми разработват собствени стандарти за тези карти: • Така напр.: • Visa (заедно с други фирми) – Java Card Forum; • Master-Card – платформата MultOS; • MicroSoft – SCSDK (Smart Card software Development Kit). Станимир Стоянов
JavaCard представлява една силно редуцирана среда за изпълнение на Java програми; • Не се предлагат функции, като напр.: • Multithreading; • Изчистване на паметта; • Обработка на изключения. Станимир Стоянов
Cardlets • Java-програма, която може да бъде изпълнявана вурху смарт-карти; • Картлетите се създават с помощта на един постпроцесор за Java-файлове за класове; • При това се използва един така наречен In-Card-Bytecode-Translator, който от Java файла за класове генерира един JCBC-файл (JavaCard-Byte-Code) Станимир Стоянов
На фигурата е дадена архитектурата на Cyberflex-картата на фирмата GemPlus: • Картата разполага със собствена виртуална машина за Java, която транслира картлетите от JCBC формат в машинния език на смарт-картата; • Виртуалната машина се подпомага от една операционна система, която поддържа управление на съобщения, файлова система и функции за сигурност. Станимир Стоянов
Cyberflex-карта 1 2 3 Картлети Виртуална машина Операционна система Микропроцесор Станимир Стоянов
Четящи устройства за смарт-карти Станимир Стоянов
Съществуват различни четящи устройства; • Най-простите могат да четат само оставащите импулсите на картите; • Най-съществените разработки са свързани с интеграцията на четящите устройства с персоналните компютри; Станимир Стоянов
Подходи за интеграция • Интеграция с флопи-дисково устройство: • Картата се поставя в специална обвивка и може да се чете от дисковото устройство. • Външно четящо устройство: • През последователен интерфейс, универсална последователна шина или платка. • Интеграция на четящото устройство с клавиатура: • Позволяват кодиране на данните, като пароли или PIN, преди да се стигне до операционната система. • Персонални устройства и мобилни телефони Станимир Стоянов
Актуални проекти са свързани с разработване на сензори, които могат да реагират на отпечатъци на пръстите; • При тях не е необходимо да се използват скенери или камери; • Шаблоните на линиите на пръстите се обхващат по тактилни методи и се генерира една електро-магнитна картина на отпечатъците; • Една такава система може да бъде инсталирана заедно с разпознаващ софтуер напр. върху лаптоп и да извършва автоидентификация за не повече от една секунда; • Такива решения могат да заместят тягосните методи, които използват пароли и PIN. Станимир Стоянов
Проблеми на сигурността Станимир Стоянов
Смарт-картите са специално разработени за чувствителни към сигурността приложения; • Те разполагат с различни мерки за сигурност на различни нива: • Достъп само през APIs; • Използване на комуникационни протоколи, които са сигурни към подслушване и позволяват криптиране; • Определяне на валидиращи комуникационни модели между смарт-картите и отсрещната страна; • Осигуряване на картите срещу физически атаки. Станимир Стоянов
PC/SC стандартът определя някои API-функции, с помощта на които могат да се използват сигурни механизми; • Ще разгледаме най-съществените от тях. Станимир Стоянов
Verify • Позволява да се сравняват получени в картите данни със съдържащите се в тях; • Тази функция може да се използва напр. за верификация на PIN или пароли; • Един брояч на грешните опити може да предпазва картите от многобройни опите, при които е възможността за откриване на паролите нараства. Станимир Стоянов
External Authenticate съответно Internal Authenticate • Използват се за автоидентификация на картите по Challenge-Response-метода; • При този метод паролите не се предават в явен текст от клиентите към сървъра; • Вместо това сървърът изпраща на клиентите един случаен код (Challenge), който клиентът кодира локално с помощта на своята парола и го връща обратно на сървъра; • Понеже сървъра притежава също така паролата на клиента, той може да го идентифицира. Станимир Стоянов