Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data...

29
Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Data Communication Group http://networks.inf.ufrgs.br/dcg/

Transcript of Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data...

Page 1: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Unstructured Supplementary

Service Data (USSD)

Aula 8: OpenBSC e OpenBTC

Porto Alegre, outubro de 2013

Data Communication Grouphttp://networks.inf.ufrgs.br/dcg/

Page 2: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Agenda

① OpenBTS e OpenBSC

② Protocolo Gateway/APP

③ Desenvolvendo Aplicações

Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

2

Page 3: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

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

OpenBTS

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

3

Page 4: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

OpenBTS

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

4

MS

BSC

EIR

SMSCAuC

BSS NSS

BTS

HLR

MSC

VLR

GMSC

OpenBTSUm

A-bis A

Page 5: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

OpenBTS

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

5

Substitui a infraestrutura GSM convencional da camada 3 para cima

É uma forma simplificada de IP Multimedia Subsystem (IMS) Trabalha com aparelhos de telefonia 2G

Versão atual: 2.8

Page 6: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

OpenBTS – versão 2.8

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

6

Status de 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)

Page 7: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Exemplo de Operação

Atualização de localização

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

7

MS OpenBTS Registro

Requisição de Canal

Sinalização Imediata

Requisição de atualizaçãode localização Registro

OkAceite de atualização

de localização

Liberação de Canal

Page 8: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

OpenBTS – versão 2.8

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

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)

Suporte aos algoritmos A3/A8 para autenticação

Page 9: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

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 MSCUnstructured Supplementary Service Data (USSD)

Porto Alegre, outubro de 2013 9

Page 10: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

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:

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

10

BSC MSC HLR

AuC VLR EIR

Page 11: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

OpenBSC

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

11

MS

BSC

EIR

SMSCAuC

BSS NSS

BTS

HLR

MSC

VLR

GMSC

OpenBSCUm

A-bis A

Page 12: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

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

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

12

Page 13: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

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

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

13

Page 14: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

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

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

14

Page 15: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

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

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

15

Page 16: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

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

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

16

Page 17: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Agenda

① OpenBSC e OpenBTS

② Protocolo Gateway/APP

③ Desenvolvendo Aplicações

Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

17

Page 18: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Exemplo de troca de mensagens

18

MSOpenBSC e Gateway

APP

DTAP (“*#10#”: request)

TCP/IP (XML: begin)

Menu1. Input2. ExitTCP/IP (XML: continue)

DTAP (“Menu...”: request)

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

Page 19: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Exemplo de troca de mensagens

19

MSOpenBSC e Gateway

APP

DTAP (‘1’: request)

TCP/IP (XML: continue)

“Enter yourinput:”TCP/IP (XML: continue)DTAP (“Enter your input: ”:

request)

DTAP (“987”: request)TCP/IP (XML: continue)

You typed: 987Menu1. Input2. Exit

TCP/IP (XML: continue)DTAP (“You typed...”:request)

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

Page 20: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Exemplo de troca de mensagens

20

MSOpenBSC e Gateway

APP

DTAP (“2”: request)

TCP/IP (XML: continue)

Bye

TCP/IP (XML: end)

DTAP (“Bye”: request)

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

Page 21: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Agenda

① OpenBSC e OpenBTS

② Protocolo Gateway/APP

③ Desenvolvendo Aplicações

Unstructured Supplementary Service Data (USSD)Porto Alegre, outubro de 2013

21

Page 22: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Desenvolvendo Aplicações

Contextualizar as atividades de desenvolvimento Especificação do XML (begin, continue e

end) Tester Código copiado para o ambiente de

programação

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

22

Page 23: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Desenvolvendo Aplicações

Especificação do XML

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

23

Page 24: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Tester

Baixar tester do site: labcom.inf.ufrgs.br/dcg/wp-content

/uploads/2013/10/USSDXML.zip

Execução: Compilar OU Executar o USSDXML.jar

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

24

Page 25: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Desenvolvendo Aplicações

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

25

Page 26: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Desenvolvendo Aplicações

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

26

Page 27: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Desenvolvendo Aplicações

Unstructured Supplementary Service Data (USSD) Porto Alegre, outubro de 2013

27

Page 28: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

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 estadoUnstructured Supplementary Service Data (USSD)

Porto Alegre, outubro de 2013 28

Page 29: Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro de 2013 Unstructured Supplementary Service Data (USSD) Aula 8: OpenBSC e OpenBTC Porto Alegre, outubro.

Obrigado!Perguntas?

Cristiano Bonato [email protected]

Unstructured SupplementaryService Data (USSD)

Porto Alegre, outubro de 2013

http://networks.inf.ufrgs.br/dcg