290 likes | 374 Views
Unstructured Supplementary Service Data (USSD) Aula 8 : OpenBSC e OpenBTC Porto Alegre, outubro de 2013. Data Communication Group http://networks.inf.ufrgs.br/dcg/. Agenda. OpenBTS e OpenBSC Protocolo Gateway/APP Desenvolvendo Aplicações. OpenBTS.
E N D
Unstructured SupplementaryService Data (USSD) Aula 8: OpenBSC e OpenBTCPorto Alegre, outubro de 2013 Data Communication Group http://networks.inf.ufrgs.br/dcg/
Agenda • OpenBTS e OpenBSC • Protocolo Gateway/APP • Desenvolvendo Aplicações Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013
OpenBTS • Aplicação Unix para plataformas SDR • Planejada com o objetivo de baratear o custo de serviços GSM em áreas rurais • Interface Um da rede GSM UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
OpenBTS MS NSS BSS OpenBTS Um A-bis A UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
OpenBTS • Substitui a infraestrutura GSM convencional da camada 3 para cima • É uma forma simplificada de IP MultimediaSubsystem (IMS) • Trabalha com aparelhos de telefonia 2G • Versão atual: 2.8 UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
OpenBTS – versão 2.8 • Statusde relatórios através de um arquivo de banco de dados sqlite3 • Possibilita controle de configuração externa • Suporte à Syslogd • Envio e recebimento de SMS in-call • Suporte a payloads binário e alfabetos não latinos em SMS • Radio Resource Location Services Protocol (RRLP) UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exemplo de Operação • Atualização de localização MS OpenBTS Registro Requisição de Canal Sinalização Imediata Requisição de atualização de localização Registro Ok Aceite de atualização de localização Liberação de Canal UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
OpenBTS – versão 2.8 • Suporte “realtime” ao Asterisk • Suporte para diferentes tipos de SDR: • Ettus: USRP1 e USRP2 • Range Networks: RAD1 e Leapfrog • Suporte à chamada de emergência com prioridade de alocação de canal • SMS Cell Broadcast (SMSCB) • Operação Multi-ARFCN (multi canal) • Suporteaosalgoritmos A3/A8 para autenticação UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
Segurança • DEF CON 2010 • Conferência internacional sobre segurança • Demonstrou-se que chamadas GSM podem ser interceptadas com OpenBTS • Em sistemas GSM o aparelho não se autentica junto a BTS antes de acessar à rede • Autenticação ocorre no MSC UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
OpenBSC • Parte do projeto OSMOCOM • Implementação em software livre de elementos de uma rede GSM e do protocolo A-Bis • Contém o mínimo necessário para construir uma pequena rede GSM completa • Inclui funcionalidades realizadas pelos seguintes elementos de uma rede GSM: • BSC • MSC • HLR • AuC • VLR • EIR UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
OpenBSC MS NSS BSS OpenBSC Um A A-bis UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
OpenBSC • São objetivos do OpenBSC: • Possibilitar experimentos e pesquisa em segurança de redes GSM • Expor falhas de segurança • Aprendizado sobre redes GSM, inclusive aspectos práticos de equipamentos reais UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
OpenBSC • NÃO são objetivos do OpenBSC: • Construir BSC/MSC estáveis e confiáveis para utilização em uma rede com alta disponibilidade • Construir aplicações que seguem à risca as regulamentações GSM • Interferir no comércio de redes GSM reais UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
OpenBSC • Ultrapassou as intenções iniciais de pesquisa e experimentação • Aplicações para serviços de emergência em desastres • Provimento de telefonia móvel para passageiros e tripulação de embarcações marítimas UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
OpenBSC • Possui duas configurações: • BSC Only • Situado entre uma BTS e um MSC • Pode ser integrado com o OpenBTS • Network in the box • Configuração composta pelos demais elementos de uma rede GSM • Pode ser considerado análogo a um dos setups do OpenBTS UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
OpenBTS vs. OpenBSC • Seguem diferentes abordagens de equipamentos GSM, i.e. não competem entre si e podem ser integrados • OpenBTS • Permite que um PC conectado a um SDR forneça serviços de rede móvel integráveis com VoIP (Asterisk) • OpenBSC • Pode substituir uma BSC proprietária em uma rede GSM ou prover uma rede GSM completa UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
Agenda • OpenBSC e OpenBTS • Protocolo Gateway/APP • Desenvolvendo Aplicações Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013
Exemplo de troca de mensagens MS OpenBSC e Gateway APP DTAP (“*#10#”: request) TCP/IP (XML: begin) Menu Input Exit TCP/IP (XML: continue) DTAP (“Menu...”: request) UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exemplo de troca de mensagens MS OpenBSC e Gateway APP DTAP (‘1’: request) TCP/IP (XML: continue) “Enteryour input:” TCP/IP (XML: continue) DTAP (“Enteryour input: ”: request) DTAP (“987”: request) TCP/IP (XML: continue) Youtyped: 987 Menu Input Exit DTAP (“Youtyped...”: request) TCP/IP (XML: continue) UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
Exemplo de troca de mensagens MS OpenBSC e Gateway APP DTAP (“2”: request) TCP/IP (XML: continue) Bye TCP/IP (XML: end) DTAP (“Bye”: request) UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
Agenda • OpenBSC e OpenBTS • Protocolo Gateway/APP • Desenvolvendo Aplicações Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013
DesenvolvendoAplicações • Contextualizar as atividades de desenvolvimento • Especificação do XML (begin, continue e end) • Tester • Código copiado para o ambiente de programação UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
DesenvolvendoAplicações • Especificação do XML UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
Tester • Baixar testerdo site: • labcom.inf.ufrgs.br/dcg/wp-content/uploads/2013/10/USSDXML.zip • Execução: • Compilar OU • Executar o USSDXML.jar UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
DesenvolvendoAplicações UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
DesenvolvendoAplicações UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
DesenvolvendoAplicações UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
Ambiente de Produção • Aplicação desenvolvida utilizando o OpenBSC • Celular conecta-se à rede GSM (OpenBSC) • Requisito 1: Recebe short code • Requisito 2: Passar menu com duas opções • Requisito 3: Atenter às requisições do usuário, controlando o seu estado UnstructuredSupplementary Service Data (USSD) Porto Alegre, outubro de 2013
Obrigado!Perguntas? Cristiano Bonato Both cbboth@inf.ufrgs.br http://networks.inf.ufrgs.br/dcg Unstructured SupplementaryService Data (USSD) Porto Alegre, outubro de 2013