Смекни!
smekni.com

Система контроля доступа мобильных пользователей на основе технологии Bluetooth (стр. 14 из 14)

Международно-правовое регулирование использования радиотехнических средств связи и навигации в настоящее время осуществляется на основе Международной конвенции электросвязи, Регламента радиосвязи и соответствующих Резолюций, Рекомендаций и Документов ИМО, ВАКР, МККР.

Международная конвенция электросвязи была принята в Найроби в 1983 г. Конвенция электросвязи вместе с Регламентом, Резолюциями и Правилами МСЭ осуществляет правовое обеспечение устойчивой работы радиотехнических средств для ВМС, ликвидацию различных радиопомех и оповещение о возможных помехах для функционирования радиосредств. Конвенция МСЭ 1983 г. основывается на принципах, реализующих следующие права государств по использованию радиотехнического обеспечения ВМС:

- регламентировать устройство и работу всех средств радиосвязи, расположенных па его территории, установленных па его судах, самолетах и космических объектах;

- определять мощность своих радиоэлектронных средств, их количество, диапазон частот;

- контролировать прохождение любых радиоизлучений над своей территорией и препятствовать прохождению, если этого требуют интересы государства и безопасности, в том числе и ВМС.

Конвенция МСЭ провозглашает свободу и равенство всех государств в использовании радиоэлектронных средств при отсутствии дискриминации. Ограничение этой свободы возможно лишь тогда, когда такое использование ставит под угрозу безопасность какого-либо государства, либо мешает функционированию радиослужб безопасности и, прежде всего, радиотехническому обеспечению ВМС.

Реализация принципа свободы использования радиосвязи и радиоэлектронных средств не должна создавать вредных помех радиослужбам других государств или другогоназначения. С этой целью Регламент радиосвязи обязывает все государства ограничивать излучаемую мощность минимумом, необходимым для удовлетворенной работы всех радиослужб. Для ряда радиосредств обеспечивающих БМС, такой минимум определен Конвенцией СОЛАС - 74 и Резолюциями ИМО и ВАКР. Особая роль при этом принадлежит Регламенту радиосвязи.

Регламент радиосвязи представляет собой сборник основных международных постановлений, принятых на Всемирных административных конференциях по радиосвязи. В нем даны определения большинству терминов, относящихся к использованию радиочастотного спектра, к параметрам излучений радиосредств, а также к классификации радиоизлучений. Специальные главы Регламента посвящены установленному порядку международного присвоения частот и координации действий стран в части использования радиочастот, а также мерам против радиопомех. Большую часть в Регламенте занимает Таблица распределения радиочастот, занимающих общую полосу от 9 кГц до 275 ГГц. В Регламенте представлены отдельные постановления по радиослужбам, а также правила использования радиочастот. Полнее всего постановления Регламента охватывают правила эксплуатации радиослужб и их радиосредств, имеющих международный характер действия. Прежде всего, такие постановления относятся к радиослужбам морского назначения, космическим радиослужбам и др. В Регламенте установлены правила радиосвязи, способствующие повышению БМС, и правила радиосвязи при организации поиска и спасания терпящих бедствие. Неотъемлемой частью Регламента радиосвязи являются Резолюции и Рекомендации ВАКР. Ныне действующий Регламент был принят ВАКР в 1979 г. В ближайшее время вступит в силу новый Регламент радиосвязи, принятый ВАКР— 87. Наряду с общими вопросами международно-правового регулирования радиосвязи, относящейся к бедствию и безопасности на море, Регламент 1987 г. определил статус частот, сигналов и отдельных видов радиооборудования перспективной ГМССББ, определяющей основное направление развития радиотехнического обеспечения БМС в 1992—1999 гг., а также требования к подготовке радиоспециалистов для ГМССББ.


7.3 Правовое регулирование Российской Федерации в области БМС и

РТС

В РФ применение средств радиотехнического обеспечения БМС и надзор за ними определяются правовыми общегосударственными и ведомственными постановлениями, отражающими требования Международных конвенций, Регламента радиосвязи и Резолюций ИМО и ВАКР, а также учитывающими основные положения Кодекса торгового мореплавания РФ, устава службы на судах Министерства морского флота РФ, Наставления по борьбе за живучесть судов Министерства морского флота РФ (НБЖС), Наставления по организации штурманской службы на судах Министерства морского флота РФ. Общегосударственная правовая регламентация радиотехнического обеспечения БМС определяется Правилами радиосвязи морской подвижной службы РФ и Правилами по конвенционному оборудованию морских судов Регистра РФ (часть IV «Радиооборудование» и часть V «Навигационное оборудование»). По Минморфлоту РФ действуют Правила радиосвязи, различные инструкции и рекомендации по использованию судовых средств связи и навигации Минморфлота.


Заключение

В ходе проделанной работы была разработана система контроля и управления доступом на основе технологии Bluetooth, которая обеспечивает решение поставленных ранее задач :

- охрана предприятия от несанкционированного доступа

- разграничение физического доступа собственных сотрудников

- определение местоположения сотрудника

Особое внимание было уделено разработке алгоритма обмена информацией между клиентом и сервером, а так же защите этой информации от внешних посягательств. Этот вопрос был решён с помощью алгоритмов шифрования идентификаторов.

В дальнейшем планируется добавление таких функций как подсчёт рабочего времени и заработной платы, а так же возможность посылки оповещений всем абонентам в зоне конкретного сервера.

Система имеет несомненные достоинства и рекомендуется к внедрению в офисы как малых так и крупных фирм и предприятий.

контроль доступ управление


Список использованных источников

1 К. Арнольд, Д. Гослинг Язык программирования Java – СПб, : Питер, 2002.

2 Буткевич Е. Пишем программы и игры для сотовых телефонов –

СПб, : Питер, 2006.

3 С. Стелтинг О. Маассен Применение шаблонов Java– СПб, : Вильямс, 2002.

4 http://forum.vingrad.ru – форум программистов

5 http://www.mobilab.ru – портал о мобильных телефонах

6 http://forum.codeby.net - форум программистов

7 http://forums.realcoding.net – форум программистов

8 http://www.javatalks.ru – Java портал

9 http://www.progz.ru/forum - форум программистов

10 http://www.secnews.ru – Газета международных новостей по техническим средствам и системам безопасности.

11 http://control-dostupa.ru – сайт о скуд

12 http://pro-security.ru – сайт о скуд

13 http://www.r-control.ru – сайт о скуд

14 http://www.spektrsec.ru – сайт о скуд


ПРИЛОЖЕНИЕ

В данном разделе приводится листинг кода демонстрационной программы на языке программирования Java.

Сервер:

package btserver;

import btUtils.MiscFunc;

import java.nio.*;

import java.io.*;

import java.util.*;

import java.sql.*;

import org.xsocket.stream.*;

import org.apache.log4j.Logger;

public class BTServer implements IConnectHandler, IDataHandler, IDisconnectHandler

{

static Logger logger = Logger.getLogger(BTServer.class.getName());

private UserManager userMgr = null;

public BTServer()

{

logger.debug("[Init start ...]");

userMgr = UserManager.getInstance();

logger.debug("[Init success]");

}

public boolean onData(INonBlockingConnection connection) throws IOException

{

NetUser cur_gmr = userMgr.findByConnection(connection);

if(cur_gmr == null)

{

cur_gmr = new NetUser(connection, false);

logger.debug("[New connection: IP = " + connection.getRemoteAddress().getHostAddress() + "; Address = " +

connection.getRemoteAddress().getHostName() + ";]");

}

ByteBuffer[] bbuf = connection.readAvailable();

int index = 0;

byte[] buf = null;

for(int i=0; i < bbuf.length; i++)

{

buf = new byte[bbuf[i].capacity()];

for(int k=0; k < buf.length; k++)

buf[k] = bbuf[i].get();

if(cur_gmr.last_msg == null)

cur_gmr.last_msg = new NetMessage();

while( (index = cur_gmr.last_msg.createFromBuffer(buf,index)) > 0)

{

if(cur_gmr.last_msg.complete)

ProcessMsg(cur_gmr);

if(cur_gmr.last_msg == null)

cur_gmr.last_msg = new NetMessage();

}

if(cur_gmr.last_msg != null)

{

ProcessMsg(cur_gmr);

}

buf = null;

}

return true;

}

private void ProcessMsg(NetUser usr)

{

NetMessage nm = null;

Random rnd = null;

List<Object> params = null;

boolean status = false;

logger.debug("[" + usr.last_msg.type + " from " + usr.userName + "(" + usr.ID + ")]");

usr.bytes_send += usr.last_msg.body.length;

switch(usr.last_msg.type)

{

case MSGC_LOGIN:

status = userMgr.clientLogin(usr, usr.last_msg.params);

break;

case MSGC_PING:

int userID = (Integer)usr.last_msg.params.get(0);

String key = (String)usr.last_msg.params.get(1);

usr.lastPingTime = MiscFunc.getSeconds();

if(userID != usr.ID && !key.equals(usr.currentKey))

{

logger.info("Client info is wrong!; Removing client from user list");

userMgr.removeClient(usr);

try

{

usr.connection.close();

}

catch (IOException ex)

{

ex.printStackTrace();

}

}

break;

default:

break;

}

usr.last_msg.params.clear();

usr.last_msg = null;

nm = null;

}

public boolean onConnect(INonBlockingConnection connection) throws IOException

{

return true;

}

public boolean onDisconnect(INonBlockingConnection connection) throws IOException

{

NetUser player = userMgr.findByConnection(connection);

if(player != null)

{

logger.info("[Client " + player.userName + "(" + player.ID + ") disconnected]");

userMgr.removeClient(player);

}

else

{

logger.warn("[Unknown client disconnected]");

}

return true;

}

}

Клиент :

package Main;

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class BTMidlet extends MIDlet implements CommandListener{

Display display = null;

BTApp game = null;

Form form = null;

TextField textField = null;

int fieldType;

public BTMidlet(){

super();

display = Display.getDisplay(this);

game = new BTApp(this);

display.setCurrent(game);

game.start();

}

public void startApp() {

}

public void pauseApp() {

}

public void destroyApp(boolean unconditional) {

notifyDestroyed();

}

public void quit(){

game.stop();

notifyDestroyed();

}

public void commandAction(Command command, Displayable displayable)

{

}

}