СИСТЕМА ЗА УПРАВЛЕНИЕ НА ИДЕНТИФИКАЦИЯТА В БЕУ
Практикум 3Отбор 2 - Ягодка
2
ЕКИПЧлен на екипа РолиНикодим Маринов Project Manager, Designer,
ImplementerВенцислав Русев Software Architect, Database
Designer, Designer, System Administrator, Implementer
Михаела Стоянова Business Analyst, Database Designer, Implementer
Владимир Коцев Business Analyst, Test Manager, Test Designer, Test Analyst, Tester
Калин Димитров User-Interface Designer, GUI Implementer, Technical Writer
Ивелин Стефанов Tester, Reviewer, Course Developer
3
УПРАВЛЕНИЕ НА ПРОЕКТА План на проекта Skype срещи Система за контрол на задачите (JIRA) Помощен документ за работа със
системата за контрол на задачите
4
ИЗГОТВЕНИ ДОКУМЕНТИ Венцислав: Data Model, Design Model, Risk
List, Software Architecture Владимир: Vision; Software Requirements
Specification; Quality Assurance Plan; Master Test Plan
Ивелин: User Manual Калин: JIRA Manual Михаела: Requirements; Business Model;
Site Map Никодим: Project Plan, Software
Development Plan, Deployment Plan
5
ГЛАВНИ ФУНКЦИОНАЛНОСТИ НА СИСТЕМАТА
Доставяне на удостоверителна услуга идентификация удостоверение на самоличността (aвтентикация) проверка на правата за достъп (оторизация)
Издаване и управление на електронни белези за идентификация за граждани (Собственик на еИ) за юридически лица (Потребител еИ) за системни потребители
Възможност за изграждане на организационна структура (услуги, функции, права, роли) от доставчиците на услуги
Възможност за добавяне на допълнителни данни за гражданите в три различни нива на достъп
6
БИЗНЕС РОЛИ Граждани (СеИ) Юридически лица (ПеИ) Служители на Регистриращия орган (РО) Служители на Сертифициращия орган
(СО)
7
USE-CASE МОДЕЛ – ОБЩ ИЗГЛЕД
8
USE-CASE МОДЕЛ – АДМИНИСТРИРАНЕ НА СЕИ
9
USE-CASE МОДЕЛ – АДМИНИСТРИРАНЕ НА ПЕИ
10
USE-CASE МОДЕЛ – АДМИНИСТРИРАНЕ НА УСЛУГИ
11
USE-CASE МОДЕЛ – АДМИНИСТРИРАНЕ НА ФУНКЦИИ
12
USE-CASE МОДЕЛ – АДМИНИСТРИРАНЕ НА РОЛИ
13
USE-CASE МОДЕЛ – АДМИНИСТРИРАНЕ НА ДОПЪЛНИТЕЛНИ ДАННИ
14
USE-CASE МОДЕЛ – АДМИНИСТРИРАНЕ НА СИСТЕМАТА
15
БИЗНЕС ПРОЦЕСИ (1) Вход в системата Бизнес процеси за СеИ
Издаване на еИ Издаване на нова еИ от СО
Активиране на еИ Деактивиране на еИ Закриване на еИ Закриване на еИ при
изтичане на давност
16
БИЗНЕС ПРОЦЕСИ (2) Бизнес процеси за ПеИ
Добавяне на доставчик на услуги Добавяне на нов
доставчик на услуги Получаване на ПеИ от
доставчик Активиране на
доставчик на услуги Деактивиране на ПеИ Закриване на ПеИ Закриване на ПеИ при
изтичане на давност Определяне на достъп
до ЛД Добавяне на роля
Актуализиране на роля Изтриване на роля Добавяне на функция Преглед и изтриване
на функция Добавяне на услуга Актуализиране на
услуга Изтриване на услуга Добавяне на
допълнителни данни Актуализиране на
допълнителни данни Изтриване на
допълнителни данни
17
БИЗНЕС ПРОЦЕС „ВХОД В СИСТЕМАТА“
BPMN Вход в системата
«Lane» Система«Lane» Потребител на системата
Въвеждане напотребителско име
и парола
Извеждане на съобщение загрешно въведени потребителско
име и/или парола
Проверка застатуса на
потребителя
Извеждане насъобщение зазакрито eID
Отваряне наначална страница
за СеИ
Отваряне наначална страница
за ПеИ
Проверка за видапотребител
Отваряненаначална страница
за СО
Отваряне наначална страница
за РО
Отваряне наначална страница
за администриранена системата
грешно въведени потребиелскоиме и/или парола
коректно въведенипотребителско име и парола
статус - закрит
стаус: нов,активен,неактивен
вход на ПеИ
служител на РО
СеИ или ПеИ
вход на СеИ
администратор
служител на СО
18
БИЗНЕС ПРОЦЕС „ИЗДАВАНЕ НА ЕИ“BPMN Издаване на eID
«Pool» С
истема ЕИ
«Lane» Служител на СО«Lane» Система
«Pool» С
еИ
Заявка за издаванена eID
Извеждане насъобщение за нужнитедокументи и начинът
на попълване
Извеждане насъобщение за вече
издадено eID налицето
Издаване на новоeID от СО
Извеждане на съобщениеза причините порадикоито не може да се
издаде eID
Закриване насъществуващо eID
За изпълнение на чиновническите операции се изисква успешен вход от страна на чиновника в системата.
Пускане на 5 годишен таймер за давност
Проверка надокументи
не пълни документинужни за издаването
има издаеноeID на лицето
няма здадено eID и имаправа за издаване
няма права заиздавне на eID отказ от
преиздаванена eID
искане запреиздаванена eID
19
БИЗНЕС ПРОЦЕС „ЗАКРИВАНЕ НА ЕИ“ BPMN Закриване на eID
«Pool» Система ЕИ
«Lane» Система
«Pool» СеИ
«Lane» Служител на СО«Lane» С
еИ браузър
Промяна настатуса на закритоeID и извеждане на
съобщение
Извеждане насъобщение, че не еоткрито търсеното
eID
Избор на eID зазакриване
Описване напричините за
закриване на eID
Искане за закриване eID от правоимащ орган
Проверка засъществуащо eID
Отнемане на правана собственика заиздаване на ново
eID
Закриване при преиздаване на eID
Подаване назаявление за
закриване на eID
Закриване от собственика на ЕИ през браузъра
Закриване на ЕИ
eID еоткрито
не е открито eIDили вече е билозакрито
20
БИЗНЕС ПРОЦЕС „ОПРЕДЕЛЯНЕ НА ДОСТЪП ДО ЛД“
BPMN Определяне на достъп до ЛД
«Lane» ПеИ
браузър
«Pool» Систем
а за електронна идентификация
«Lane» Систем
а
«Pool» ПеИ
«Lane» Служ
ител на РО
Подаване наискане за достъпдо лични данни
Разглеждане наискането за достъп
до ЛД от РО
Изпращане на съобщениес причините за отказ на
достъп до ЛД от искането
Изпращане на съобщениес информация за
ползването на исканитеЛД
Даване на права задостъп на
доставчика доисканите ЛД
Отхвърляне наискането
Искане за достъпдо лични данни
одобряванена искането
отказ наискането
21
БИЗНЕС ПРОЦЕС “ДОБАВЯНЕ НА РОЛЯ”
BPMN Добавяне на роля
Актуализиране направо за функция
Актуализиране народтелска роля«Lane» ПеИ
Добавяне на имена ролята
Добавяне наролята
Добавяне наописание на
ролята
добавяне наописание
няма да се променят прават по функциите
няма да се добавят род. роли
определяне надостъп до функция
ще се добавирод.роля
няма да се добавя описание
22
БИЗНЕС ПРОЦЕС „ИЗТРИВАНЕ НА РОЛЯ“
BPMN Изтриване на роля
«Lane» ПеИ браузър«Lane» Система
Избор на роля заизтриване
Извеждане насъобщене за
грешно избранароля
Изтриване наролята
Извеждане насъобщение че
ролята не може дабъде изтрита
ролят енаследена
ролята не сенаследява
изтрии ако несе ползва
изтриинавсякъде
не енамеренаролята
намеренароля
23
СОФТУЕРНА АРХИТЕКТУРА Стандартно трислойно приложение на базата на JavaEE Разположено върху Google App Engine (servlet 2.5
container) Нерелационно хранилище за бази данни Google Data
Store Service Достъп на потребителите на системата се осъществява
чрез HTTPS, WSDL, SOAP, SAML протокилите Java Server Faces (JSF) – Mojarra (Sun JSF RI) Unified Expression Language (EL) – JBoss EL 2.0 Web Service Security (WSS) – Apache WSS4J 1.6.9 Security Assertion Markup Language (SAML) – Shibboleth
opensaml 2.5.1 Система за контрол на версиите – SVN Интегрирана среда за разработка – Eclipse Juno
24
МОДЕЛ НА РАЗПОЛАГАНЕТО
25
КОМПОНЕНТЕН МОДЕЛ
26
БАЗА ДАННИ Анотации за класовете и полетата в тях,
показващи начина на съхранение в базата данни и начина на валидация
Единен интерфейс за валидиране на полета по време на JSF фазата Validation, както и по време на запис на данните в базата данни
21 унифицирани и специализирани валидатори
27
РЕАЛИЗАЦИЯ (1) Криптирана комуникация (HTTPS) login, loginSAML, невъзможност за логин с
повече от две сесии, CAPTCHA Права за достъп на отделните типове
потребители до отделните страници Меню според типа на потребителя Комуникация между уеб страниците Външен конфигурационен файл Уеб услуги Access Person Data, Manage Structure
Username, SAML Artifact Resolver
28
РЕАЛИЗАЦИЯ (2) SAML
29
РЕАЛИЗАЦИЯ (3)
stm SecurityToken
NEW
ACTIVE
INACTIVE
CLOSEDЗакриване по исканена собственика
Не променяне на паролатав срок от 1 година
Промяна напаролата
Издаване Получаване от собственика
Неполучаванеот собственика
Закриване по исканеот собственика
• Диаграма на състоянията за белег на идентификация
30
РЕАЛИЗАЦИЯ (4) Сетртифициращ орган
Администриране на СеИ Преглед на СеИ
Регистриращ орган Администриране на ПеИ Преглед на ПеИ Промяна на достъпа на ПеИ до лични данни на
СеИ
31
РЕАЛИЗАЦИЯ (5) Организационна стуктура и данни за ПеИ
Добавяне, администриране и преглед на услуги Добавяне, администриране и преглед на финкции Добавяне, администриране и преглед на роли Добавяне, администриране и преглед на допълнителни
данни Искане за добавяне на глобални данни Преглед на направени искания за глобални данни Заявяване на достъп до глобални данни
Администриране на системата Управление на системен потребител Преглед на системен потебител Управление на полета с глобални данни Изготвяне на справки
32
РЕАЛИЗАЦИЯ (6) Изготвяне на страниците - XHTML Изготвяне на дизайна – цветова палитра на
сайта:
JavaScript, jQuery Ajax
33
НЕСВЪРШЕНА РАБОТА ПО РЕАЛИЗАЦИЯТА Модул за Изготвяне на справки не е описан
и реализиран На някои страници Ajax не работи CSS и JavaScript не е минифициран Следните контролери не са реализирани:
Преглед на заявки за глобални данни Управление на достъп до полета с глобални
данни
34
ТЕСТВАНЕ (1) администриране на
функции администриране на
роли администриране на
допълнителни данни администриране на
услуги преглед на функции преглед на роли преглед на
допълнителни данни
преглед на услуги добавяне на функция добавяне на роли добавяне на
допълнителни данни добавяне на услуги заявяване на достъп
до глобални данни искане за добавяне
на глобални данни
35
USE CASE – АДМИНИСТРИРАНЕ НА РОЛИ
36
BUSINESS PROCESS MODEL – ДОБАВЯНЕ НА РОЛЯ
37
Обект на тестване: Администриране на роля / Добавяне на роля ТСл №: 09P/01
Тип на тестване: Функционално Начин на тестване:
Ръчно
Начални изисквания: Потребителят трябва да е влязал в профила сиНасоченост на тестването: Позитивен
№ Действие Очаквван резултат Реален резултат
1 Натискане на бутон „Добавяне на роля”
Отваря се диалогов прозорец с празни полета
2 ТСл №: 09/02ТСл №: 09/03ТСл №: 09/04ТСл №: 09/05
Системата маркира коректно въведени данни
3 Потребителят на еИ натиска бутона „добавяне на нови роли”
Новата роля е добавена успешно
Очакван краен резултат: Успешно добавена роляРеален краен резултат: Изготвил и изпълнил: Ивелин Стефанов
38
Обект на тестване: Администриране на роля / Добавяне на описание на роля
ТСл №: 09P/02
Тип на тестване:
Функционално Начин на тестване:
Ръчно
Начални изисквания: Потребителят трябва да е влязал в профила си
Насоченост на тестването: Позитивен№ Действие Очаквван резултат Реален резултат
1 Потребителят на еИ добавя описание на ролята в полето
Описанието е коректно въведено въведено
Очакван краен резултат: Успешно е добавено уписание на ролята
Реален краен резултат: Изготвил и изпълнил: Ивелин Стефанов
39
Обект на тестване: Администриране на роля / Добавяне на име на роля ТСл №: 09P/03
Тип на тестване:
Функционално
Начин на тестване: Ръчно
Начални изисквания: Потребителят трябва да е влязал в профила сиНасоченост на тестването: Позитивен
№ Действие Очаквван резултат
Реален резултат
1 Потребителят на еИ добавя име на ролята в празното поле
Името е въведено коректно
Очакван краен резултат: Успешно е добавено име на ролятаРеален краен резултат: Изготвил и изпълнил: Ивелин Стефанов
40
Обект на тестване: Администриране на роля/ Актуализиране на права за функции
ТСл №: 09P/04
Тип на тестване: Функционално
Начин на тестване: Ръчно
Начални изисквания: Потребителят на еИ да е влязъл в профила сиНасоченост на тестването: Позитивен
№ Действие Очаквван резултат Реален резултат
1 Потребителят натиска бутона „Ибор на роля за промяна”
Ролята е коректна и се отваря нов прозорец с данните на ролята
2 Потребителят променя правата за функциите
Системата проверява дали промяната е коректна
3 Натиска бутона „Запази промените”
правата за функции са коректно актоализирани
Очакван краен резултат: Коректно е актуализирани права за функцииРеален краен резултат: Изготвил и изпълнил: Ивлин Стеданов
41
Обект на тестване: Администриране на роля/ Актуализиране на родителски роли ТСл №: 09P/05
Тип на тестване: Функционално
Начин на тестване: Ръчно
Начални изисквания: Потребителят на еИ да е влязъл в профила сиНасоченост на тестването: Позитивен
№ Действие Очаквван резултат Реален резултат
1 Потребителят натиска бутона „Ибор на роля за промяна”
Ролята е коректна и се отваря нов прозорец с данните на ролята
2 Потребителят променя родителската ролята
Системата проверява дали промяната е коректна
3 Натиска бутона „Запази промените”
Род. роля е коректно актоализирана
Очакван краен резултат: Коректно е актуализирана род. роляРеален краен резултат: Изготвил и изпълнил: Ивлин Стеданов
42
Обект на тестване: Администриране на роля ТСц №: 09 G/01Тип на тестване: Функционално Начин на тестване: Ръчно
Начални изисквания: Потребителя на еИ да е влязъл в профила си№ Тестов случай
№Име на тестов случай Резултат [pass/fail]
1 ТСл №: 09P/01 Изтриване на роля
2 ТСл №: 09N/01 Изтриване на роля - негативен
3 ТСл №: 09P/02 Избор на роля за изтриване
4 ТСл №: 09N/02 Избор на роля за изтриване - негативен
5 ТСл №: 09P/03 Съобщение за грешно избрана роля
6 ТСл №: 09N/03 Съобщение за грешно избрана роля - негативен
7 ТСл №: 09P/01 Добавяне на роля – попълнени са всички полета
8 ТСл №: 09N/01 Добавяне на роля - негаривен
9 ТСл №: 09P/02 Описание на роля
10 ТСл №: 09N/02 Описание на роля - негативен
11 ТСл №: 09P/03 Добавяне на име на роля
12 ТСл №: 09N/03 Добавяне на име на роля - негативен
13 ТСл №: 09P/04 Актуализиране на права за функции
14 ТСл №: 09N/04 Актуализиране на права за функции - негативен
15 ТСл №: 09P/05 Актуализиране на родителски роли
16 ТСл №: 09N/05 Актуализиране на родителски роли - негативен
Краен резултат [pass/fail]: Изготвил и изпълнил: Ивелин Стефанов
43
ТЕСТВАНЕ (2) Функционалност
ръчно SoapUI
Производителност BlazeMeter (включва JMeter) LoadUI Yslow Low Orbit Ion Cannon
Сигурност OWASP Zed Attack Proxy
44
ФУНКЦИОНАЛНО ТЕСТВАНЕ
Нисък
21%
Среден
30%
Висок
34%
Много
висок
15%
Открити дефекти споредприоритета им
45
ФУНКЦИОНАЛНО ТЕСТВАНЕ
Активни18%
Отстранени
82%
Открити дефекти споредсъстоянието им
46
ФУНКЦИОНАЛНО ТЕСТВАНЕ
Нисък
22%
Среден50%
Висок28%
Активни дефекти споредприоритета им
47
ТЕСТВАНЕ С НАТОВАРВАНЕ
48
ТЕСТВАНЕ С НАТОВАРВАНЕ
49
ТЕСТВАНЕ С НАТОВАРВАНЕ
50
СТРЕСОВО ТЕСТВАНЕ
51
ЕКСТРЕМНО СТРЕСОВО ТЕСТВАНЕ
52
АТАКА ЗА ОТКАЗ НА УСЛУГА Натоварване 99 заявки в секунда Продължителност 5 минути Времето за зареждане на страница бе
повишено на 25-30 секунди
Системата не притежава автоматично блокиране на прекалено голямо натоварване от един хост
53
ТЕСТВАНЕ НА ПРОИЗВОДИТЕЛНОСТ НА УЕБ УСЛУГИ
Заявки в секундаСредно време за отговор
54
АНАЛИЗ НА УЕБ ПРОИЗВОДИТЕЛНОСТ Общ резултат 88/100
Съдържание – ОК Cookies – ОК CSS – OK Изображения – ОК JavaScript – OK Сървър – проблеми с нисък приоритет
55
ТЕСТВАНЕ НА СИГУРНОСТ Разнообразен набор от
атаки Проблеми с много
нисък приоритет
1 проблем със средновисок приоритет - отстранен
Path traversalRemote file inclusionURL redirector abuseServer side includeCross site scriptingSQL injectionDirectory browsingSession ID in URL rewriteSecure page browser cacheExternal redirectCRLF injectionParameter tampering
56
НЕСВЪРШЕНА РАБОТА ПО ТЕСТВАНЕТО Някои от инструментите предвидени в
Главен план за тестване не са използвани Не е проведено пълноценно тестване на
Internet Explorer
57
ДРУГИ СТАТИСТИКИМетрика Текущ
проектПредишен проект
Брой Java класове 155 142Брой таблици в БД 20 33Брой атрибути в БД 111 190Брой уеб страници 30 41Брой уеб услуги 3 3Брой операции в уеб услугите 26 12Реда Java код (без празни редове и коментари)
14442 19884
Реда Java коментари 5813 2230Реда xhtml код 3703 6964Брой „качвания“ на SVN сървъра 501 322Брой тестови сценарии 30 18
58
БРОЙ „КАЧВАНИЯ“ НА SVN СЪРВЪРА
59
БРОЙ „КАЧВАНИЯ“ НА SVN СЪРВЪРА (2)
60
БРОЙ ПРОМЕНЕНИ РЕДОВЕ В КОДА
61
ВЪЗМОЖНИ ПОДОБРЕНИЯ Използване на асиметрични ключове и
сертификати за удостоверяване на самоличността на потребителите (без тези неща сесията на потребителя може да бъде открадната)
Недопускане на replay атаки Поддържане на регистър с всички услуги
налични за ползване от гражданите (СеИ) Запускане на процеси почистващи базата данни
от вече невалидни записи Използване на Memcache услугата, която ще
ускори работата на системата и ще намали броя на запитванията към базата данни
Използване WSS във всички услуги
62
ПРОБЛЕМИ Лоша комуникация между членовете на
екипа Липса на достатъчно мотивация за работа Закъсняло предоставяне на работеща
система на тестова среда Липса на опит с определени инструменти
за тестване
63
ДЕМОНСТРАЦИЯ