Transcript Aula 4 – Questões de Segurança
Slide 1
Unstructured Supplementary
Service Data (USSD)
Aula 4: Questões de Segurança
Porto Alegre, setembro de 2013
Data Communication Group
http://networks.inf.ufrgs.br/dcg/
`
Slide 2
Agenda
① Segurança na Rede GSM
② Segurança no Gateway USSD
③ Segurança entre Gateway USSD e Aplicação
④ Estudo de Caso
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
2
Slide 3
Necessidades de Segurança na Rede GSM
Das operadoras
Cobrar por serviços
Evitar fraudes
Proteger os serviços prestados
Dos clientes
Privacidade
Anonimato
Segurança mínima igual ao de uma Rede Pública de
Telefonia Comutada (RPTC)
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
3
Slide 4
Objetivos de Segurança na Rede GSM
Confidencialidade e Anonimato no rádio
Autenticação forte contra repúdio de cobranças
(fraudes)
Prevenir relacionamento entre operadoras
Sem advertência
Por competição
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
4
Slide 5
Requisitos de um Mecanismo de
Segurança em Redes GSM
Não deve:
Adicionar significante sobrecarga na chamada
Aumentar o tráfego do canal
Aumentar a taxa de erros
Adicionar complexidade custosa aos sistemas
Deve:
Ser eficiente com baixos custos
Ser capaz de identificar acesso de equipamentos
suspeitos
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
5
Slide 6
Arquitetura GSM
MS
NSS
BSS
GMSC
HLR
BTS
BSC
MSC
VLR
BTS
BSC
SMSC
AuC
BTS
EIR
MS - Mobile Station
BSS - Base Station Subsystem
BTS - Base Transceiver Station
BSC - Base Station Controller
NSS - Network Station Subsystem
MSC - Mobile Services Switching Center
VLR - Visitior Location Register
HLR - Home Location Register
AuC - Autentiction Center
EIR - Equipment Identitty Register
SMSC - Short Message Service Center
6
GMSC – Gateway MSC
Slide 7
Segurança em Redes GSM
SIM Card possui 4 informações de segurança:
International Mobile Subscriber Identity (IMSI)
Authentication Key (Ki)
O algoritmos de autenticação A3
O algoritmo de criação da chave cifrada A8
Equipamento Móvel (ME) possui mais uma
informação de segurança
O algoritmo de criptografia A5
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
7
Slide 8
International Mobile Subscriber Identity
Identifica o usuário e operadora
Usuário pode “passar” seus dados para
diferentes dispositivos móveis
MCC
MCN
MSIN
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
MCC – Mobile Country code
MCN - Mobile Network Code
MSIM – Mobile Station Identification Number
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
8
Slide 9
Authentication Key (Ki)
Chave de 128 bits
É a semente utilizada para a criação de
todas as chaves e desafios na rede GSM
Armazenada no SIM e no AuC
i.e. cada SIM possui um Ki único
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
9
Slide 10
Algoritmos A3
Confidencialidade da identidade do usuário
RAND (128 bits)
Ki (128 bits)
A3
SRES (32 bits)
RAND – Desafio randômico gerado pelo AuC
Ki – Authentication Key
SRES – Signed Response
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
10
Slide 11
Algoritmos A8
Confidencialidade de dados (SMS, voz, etc.)
RAND (128 bits)
Ki (128 bits)
A8
Kc (64 bits)
RAND – Desafio randômico gerado pelo AuC
Ki– Authentication key
Kc – Ciphering Key – Chave de cifra
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
11
Slide 12
Mobile Station (MS)
MS = SIM + ME
O SIM pode ser protegido com um Personal
Identification Number (PIN) gerado pelo usuário
O PIN é armazenado no cartão
Quando digitado incorretamente três vezes
bloqueia o mesmo
Para o desbloqueio utiliza-se o Personal
Unblocking Key (PUK), que também é
armazenado no cartão e pode ser obtido com a
operadora
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
12
Slide 13
Criptografia no ME
Kc (64 bits)
(produzido pelo A8)
A5
Fn (22 bits)
Texto criptografado
(114 bits)
Dado (plaintext)
Kc – Ciphering Key – Chave de cifra
Fn– Número do Quadro
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
13
Slide 14
A5/0, A5/1, A5/2 e A5/3
A5/0
Não possui criptografia
A5/1
Mais forte e pode ser utilizado por países filiados ao CEPT
(European Conference of Postal and Telecommunications)
A5/2
Mais fraco que o A5/1
A5/3
Baseado no algoritmo Kasumi (3GPP 2002)
Suportado em redes 2G e 3G
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
14
Slide 15
Segurança em Redes GSM
Mobile Switching Center (MSC)
Responsável por realizar redirecionamentos,
autenticação, registro (auditoria) e criação das
ligações entre os dispositivos de uma rede GSM
Home Location Register (HLR)
Responável pelo registro da localização de cada
usuário da rede GSM. Informação importante
para evitar fraudes (auditoria)
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
15
Slide 16
Authentication Centre (AuC)
Utilizado pelo HLR para gerar desafios
randômicos (RAND)
Pode ser integrado com outras funções da rede,
e.g. com o HLR
O banco de dados do AuC contém:
IMSI
Temporary Mobile Subscriber Identity (TMSI)
Location Area Identity (LAI)
Ki
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
16
Slide 17
International Mobile Station Equipment
Identity (IMEI)
Identificação exclusiva do dispositivo
Utilizado para identificação de dispositivos
válidos (autorizados). Ex: *#06#
CC
FAC
MC
SN
U
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CC: Country Code
FAC: Final Assembly Code
MC: Manufacturer Code
SN: Serial Number
U: Unused
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
17
Slide 18
Equipment Identity Register (EIR)
Armazena as listas de acesso sobre os IMEIs,
que pode ser :
Preta: bloqueados
Branca: liberados
Cinza: suspeitos
EIR impede o acesso de dispositivos com
IMEIs inválidos/bloqueados
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
18
Slide 19
Segurança no GSM
Rede GSM
ME
SIM
1. Envia IMSI
2. Repassa IMSI
3. Envia TMSI
4. Estabelecimento do canal
5. REQUISIÇÃO DE AUTENTICAÇÃO (RAND)
6. EXECUTA ALGORITMO
GSM (RAND)
7. RESPOSTA (SRES, Kc)
8. RESPOSTA DE AUTENTICAÇÃO (SRES)
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
19
Slide 20
Esquema de Autenticação e Criptografia
ME
Operadora GSM
Desafio RAND
SIM
Ki
Signed Response (SRES)
Ki
A3
A3
Desafio RAND
A8
Fn
mi
Autenticação: Valores
de SRES são iguais?
A8
Kc
Kc
Dado Criptografado
A5
A5
Fn
mi
mi– Mensagem
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
20
Slide 21
Agenda
① Segurança na Rede GSM
② Segurança no Gateway Gateway
③ Segurança entre Gateway USSD e Aplicação
④ Estudo de Caso
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
21
Slide 22
Requisitos para um Gateway USSD
Gateway USSD deve:
Repassar informações da rede GSM para a
aplicação
Traduzir protocolos
Interconectar redes
Diminuir ao máximo o transporte de
informações não criptografadas
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
22
Slide 23
Segurança no Gateway Público
Compartilhado com diferentes aplicações USSD
terceirizadas
Localizados na operadora
Acesso físico de estranhos:
Gateways podem ser modificados por diferentes
operadores que podem ver mensagens confidenciais
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
23
Slide 24
Segurança no Gateway Público
Mistura de conteúdo:
Não confiável
Confiável
Cobrança dos usuários:
Pela conta telefônica das operadoras
Ausência de auditoria
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
24
Slide 25
Segurança no Gateway Privado
Uso exclusivo por aplicações USSD específicas
Localização:
Local restrito na operadora
No próprio serviço terceirizado
Cobrança:
Pode ser cobrado na conta bancária
Permite auditoria
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
25
Slide 26
Segurança no Gateway
Gateway USSD Seguro
Hardware
SS7
Interface de
Rádio e SS7
Gateway
HSM
Banco
Tráfego Seguro
HSM: Hardware Securiy Model
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
26
Slide 27
Agenda
① Segurança na Rede GSM
② Segurança no Gateway USSD
③ Segurança entre Gateway USSD e Aplicação
④ Estudo de Caso
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
27
Slide 28
Segurança entre Gateway e Aplicação
Grande maioria dos Gateways criptografa a
comunicação com o servidor
Algoritmos mais utilizados:
RSA (Rivest, Shamir & Adleman)
Chave assimétrica
AES (Advanced Encryption Standard)
Chave simétrica
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
28
Slide 29
RSA
Algoritmo de chave assimétrica
Trabalha com duas chaves
Privada (ou secreta) e pública
Embora diferentes, estão matematicamente ligadas
Proposto por Ron Rivest, Adi Shamir e Leonard
Adleman em 1977
Tamanho das chaves: 512, 1024 ou 2048
(tipicamente)
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
29
Slide 30
RSA – Geração das chaves
Chave1 = {e,n} (privada)
Chave2 = {d,n} (pública)
Plaintext (M) e texto criptografado (C) são inteiros
entre 0 e n-1, onde n é o tamanho do dado e da
chave
Criptografia:
C = Me mod n
De-criptografia:
M = Cd mod n
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
30
Slide 31
RSA – Geração das chaves
Seleciona dois números primos grandes
p q, onde p ≠ q
n=p*q
Calcula Φ = (p-1)(q-1)
Seleciona e, tal que mmc(Φ,e)=1; 0 < e < Φ
Calcula d, tal que d * e mod Φ = 1
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
31
Slide 32
AES
Algoritmo de chave simétrica
Mesma chave utilizada para criptografar e decriptografar
Baseado no cifrador de Rijndael (Rijndael cipher)
Amplamente adotada pelo governo dos EUA
Considerada “quebrável” via força bruta
Não existe capacidade computacional suficiente
para quebra-la hoje
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
32
Slide 33
AES
Trabalha com 3 tamanhos de chaves
128, 192 e 256
Aplica o conceito de rede de permutação e substituição
Aplica um número de ciclos (rounds) de transformação do
dado de entrada (plaintext), de acordo com o tamanho da
chave
10 ciclos para chaves de 128 bits
12 ciclos para chaves de 192 bits
14 ciclos para chaves de 256 bits
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
33
Slide 34
AES - Detalhes
Entrada (plaintext) é transforada em uma matriz, chamada
de estado
Chave de criptografia também é transformada em uma
matriz
São geradas sub-chaves utilizadas em cada round
Rounds = número de ciclos
http://www.formaestudio.com/rijndaelinspector/archivos
/Rijndael_Animation_v4_eng.swf
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
34
Slide 35
RSA x AES
Ambos possuem implementação relativamente simples
RSA é computacionalmente mais caro do que AES
Trata-se de matemática com números muito grandes
Não há necessidade de compartilhamento de chaves privadas
AES pode ser implementado com operações entre bits
relativamente simples
Ambos os lados da comunicação devem compartilhar a mesma
chave
Quanto maior o volume de dados, mais perceptível a
diferencia entre complexidade de cada um
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
35
Slide 36
Qual Utilizar?
Resposta: AMBOS!
Gateway combina os dois algoritmos de
criptografia
RSA é utilizado para a troca segura de chaves
Chave AES é criptografada com a chave RSA
AES é utilizado para criptografar a mensagem
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
36
Slide 37
Troca de Mensagens Criptografadas
Aplicação Segura
Gateway USSD
RSASocket
RSASocket
Connect
Gera Chaves RSA Privada/Pública
PrivateKey = ARK
PublicKey = AUK
Chave AES = AKey
Gera Chaves RSA Privada/Pública
PrivateKey = GRK
PublicKey = GUK
Chave AES = GKey
TCP/IP Connect
TCP/IP Accept
Estabelecimento de conexão
TCP/IP
Envia AUK
Envia GUK
Troca das chaves RSA Públicas
Envia AKey (criptografada com GUK)
Envia GKey (criptografada com AUK)
Troca das chaves AES
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
37
Slide 38
Troca de Mensagens Criptografadas
Aplicação Segura
Gateway USSD
RSASocket
RSASocket
USSD XML (bind)
Processo
de
Binding
Criptografa com a chave GKey
Envia XML Criptografado
De-criptografa com a chave GKey
USSD XML (response)
Criptografa com a chave AKey
Envia XML Criptografado
De-criptografa com a chave AKey
USSD XML (response)
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
38
Slide 39
Troca de Mensagens Criptografadas
Aplicação Segura
Gateway USSD
RSASocket
RSASocket
USSD XML (begin)
Criptografa XML com AKey
USSD
Service
Envia XML Criptografado
De-criptografa XML com a chave AKey
USSD XML (begin)
USSD XML (end/continue)
Criptografa XML com a chave GKey
Envia XML Criptografado
De-criptografa XML com GKey
USSD XML (end/continue)
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
39
Slide 40
Troca de Mensagens Criptografadas
Demonstração de troca de pacotes no LeibICT
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
40
Slide 41
Análise de Desempenho
Análise sobre o Gateway LeibICT (simulador)
1000 requisições ao Gateway
Taxa de 10 requisições/segundo
Tamanho da
chave RSA
Pacotes
Bytes
Bytes/Pacote
%
Máx.
Requisições/s
Sem
criptografia
3006
1105182
367,7 100,00
750+
512
3001
1328380
442,6 120,40
67-69
1024
2988
1327960
444,4 120,88
35-36
2048
2693
1459414
541,9 147,40
11-12
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
41
Slide 42
Agenda
① Segurança no GSM
② Segurança no Gateway
③ Segurança entre Gateway e Aplicação
④ Estudo de Caso
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
42
Slide 43
Partner Matched Technology
(África do Sul)
Rede Nokia/Siemens
Afirmam que não se deve utilizar Gateways
públicos
Propõe uma solução para instituições financeiras,
que inclui:
Servidor de segurança
Serviços de auditoria
Pacote de integração com a prestadora de serviços
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
43
Slide 44
Segurança no Gateway
Facility Segura
Link Seguro
Infraestrutura
MNO existente
Banco
Dispositivo
VPN
Core
USSD
USSD
MAP
Gateway
HLR
Rede GSM
Banco
HSM
HSM: Hardware Securiy Model
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
44
Slide 45
Segurança no Gateway
Facility Segura
Link Seguro
Infraestrutura
MNO existente
Banco
Dispositivo
VPN
Core
USSD
USSD
MAP
Gateway
Rede GSM
HLR
Banco
HSM
Pilha SS7
USSD
MAP
Gateway
Hardware
SS7
STP
Pilha SS7
Hardware
SS7
Facility Segura
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Link E1
45
Slide 46
Partner Matched Technology
(África do Sul)
Garantem:
Validação do SIM card
Criptografia para transações financeiras, utilizando
um Hardware Security Model (HSM)
Cada instituição financeira registra sua chave
criptográfica no HSM
Habilita um processo de auditoria “aceitável”
Somente a instituição financeira consegue decriptografar
Segurança física de acesso ao ambiente de rede
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
46
Slide 47
Segurança no Gateway
VPN
Criptografia de
Rádio
Servidor
USSD
SSL
Roteador
Seguro
Gateway
USSD
Mobile
Banking
PIN
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
47
Slide 48
Referências
Raj Jain - Advanced Topics in Networking: Wireless and Mobile
Networking: Network Security Concepts (Spring 2006)
https://www.boxcryptor.com/en/aes-and-rsa-encryption
LeibICT – USSD S-Gateway Documentation
Desai, S. “Mitigating Security Risks in USSD-based Mobile
Payment Applications”, Aujas white paper, 2011.
“Secure USSD Facility for Financial Institutions”, Pattern Matched
Technologies white paper, 2010.
Korkusuz, A. “Security in the GSM Network”, Dissertação de
mestrado, Bogazici University, Turquial, 2012.
3 GPP TS 43.020 v12.0.0, 2013-03
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
48
Slide 49
Obrigado!
Perguntas?
Cristiano Bonato Both
[email protected]
http://networks.inf.ufrgs.br/dcg
Unstructured Supplementary
Service Data (USSD)
Porto Alegre, setembro de 2013
`
Unstructured Supplementary
Service Data (USSD)
Aula 4: Questões de Segurança
Porto Alegre, setembro de 2013
Data Communication Group
http://networks.inf.ufrgs.br/dcg/
`
Slide 2
Agenda
① Segurança na Rede GSM
② Segurança no Gateway USSD
③ Segurança entre Gateway USSD e Aplicação
④ Estudo de Caso
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
2
Slide 3
Necessidades de Segurança na Rede GSM
Das operadoras
Cobrar por serviços
Evitar fraudes
Proteger os serviços prestados
Dos clientes
Privacidade
Anonimato
Segurança mínima igual ao de uma Rede Pública de
Telefonia Comutada (RPTC)
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
3
Slide 4
Objetivos de Segurança na Rede GSM
Confidencialidade e Anonimato no rádio
Autenticação forte contra repúdio de cobranças
(fraudes)
Prevenir relacionamento entre operadoras
Sem advertência
Por competição
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
4
Slide 5
Requisitos de um Mecanismo de
Segurança em Redes GSM
Não deve:
Adicionar significante sobrecarga na chamada
Aumentar o tráfego do canal
Aumentar a taxa de erros
Adicionar complexidade custosa aos sistemas
Deve:
Ser eficiente com baixos custos
Ser capaz de identificar acesso de equipamentos
suspeitos
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
5
Slide 6
Arquitetura GSM
MS
NSS
BSS
GMSC
HLR
BTS
BSC
MSC
VLR
BTS
BSC
SMSC
AuC
BTS
EIR
MS - Mobile Station
BSS - Base Station Subsystem
BTS - Base Transceiver Station
BSC - Base Station Controller
NSS - Network Station Subsystem
MSC - Mobile Services Switching Center
VLR - Visitior Location Register
HLR - Home Location Register
AuC - Autentiction Center
EIR - Equipment Identitty Register
SMSC - Short Message Service Center
6
GMSC – Gateway MSC
Slide 7
Segurança em Redes GSM
SIM Card possui 4 informações de segurança:
International Mobile Subscriber Identity (IMSI)
Authentication Key (Ki)
O algoritmos de autenticação A3
O algoritmo de criação da chave cifrada A8
Equipamento Móvel (ME) possui mais uma
informação de segurança
O algoritmo de criptografia A5
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
7
Slide 8
International Mobile Subscriber Identity
Identifica o usuário e operadora
Usuário pode “passar” seus dados para
diferentes dispositivos móveis
MCC
MCN
MSIN
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
MCC – Mobile Country code
MCN - Mobile Network Code
MSIM – Mobile Station Identification Number
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
8
Slide 9
Authentication Key (Ki)
Chave de 128 bits
É a semente utilizada para a criação de
todas as chaves e desafios na rede GSM
Armazenada no SIM e no AuC
i.e. cada SIM possui um Ki único
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
9
Slide 10
Algoritmos A3
Confidencialidade da identidade do usuário
RAND (128 bits)
Ki (128 bits)
A3
SRES (32 bits)
RAND – Desafio randômico gerado pelo AuC
Ki – Authentication Key
SRES – Signed Response
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
10
Slide 11
Algoritmos A8
Confidencialidade de dados (SMS, voz, etc.)
RAND (128 bits)
Ki (128 bits)
A8
Kc (64 bits)
RAND – Desafio randômico gerado pelo AuC
Ki– Authentication key
Kc – Ciphering Key – Chave de cifra
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
11
Slide 12
Mobile Station (MS)
MS = SIM + ME
O SIM pode ser protegido com um Personal
Identification Number (PIN) gerado pelo usuário
O PIN é armazenado no cartão
Quando digitado incorretamente três vezes
bloqueia o mesmo
Para o desbloqueio utiliza-se o Personal
Unblocking Key (PUK), que também é
armazenado no cartão e pode ser obtido com a
operadora
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
12
Slide 13
Criptografia no ME
Kc (64 bits)
(produzido pelo A8)
A5
Fn (22 bits)
Texto criptografado
(114 bits)
Dado (plaintext)
Kc – Ciphering Key – Chave de cifra
Fn– Número do Quadro
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
13
Slide 14
A5/0, A5/1, A5/2 e A5/3
A5/0
Não possui criptografia
A5/1
Mais forte e pode ser utilizado por países filiados ao CEPT
(European Conference of Postal and Telecommunications)
A5/2
Mais fraco que o A5/1
A5/3
Baseado no algoritmo Kasumi (3GPP 2002)
Suportado em redes 2G e 3G
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
14
Slide 15
Segurança em Redes GSM
Mobile Switching Center (MSC)
Responsável por realizar redirecionamentos,
autenticação, registro (auditoria) e criação das
ligações entre os dispositivos de uma rede GSM
Home Location Register (HLR)
Responável pelo registro da localização de cada
usuário da rede GSM. Informação importante
para evitar fraudes (auditoria)
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
15
Slide 16
Authentication Centre (AuC)
Utilizado pelo HLR para gerar desafios
randômicos (RAND)
Pode ser integrado com outras funções da rede,
e.g. com o HLR
O banco de dados do AuC contém:
IMSI
Temporary Mobile Subscriber Identity (TMSI)
Location Area Identity (LAI)
Ki
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
16
Slide 17
International Mobile Station Equipment
Identity (IMEI)
Identificação exclusiva do dispositivo
Utilizado para identificação de dispositivos
válidos (autorizados). Ex: *#06#
CC
FAC
MC
SN
U
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CC: Country Code
FAC: Final Assembly Code
MC: Manufacturer Code
SN: Serial Number
U: Unused
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
17
Slide 18
Equipment Identity Register (EIR)
Armazena as listas de acesso sobre os IMEIs,
que pode ser :
Preta: bloqueados
Branca: liberados
Cinza: suspeitos
EIR impede o acesso de dispositivos com
IMEIs inválidos/bloqueados
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
18
Slide 19
Segurança no GSM
Rede GSM
ME
SIM
1. Envia IMSI
2. Repassa IMSI
3. Envia TMSI
4. Estabelecimento do canal
5. REQUISIÇÃO DE AUTENTICAÇÃO (RAND)
6. EXECUTA ALGORITMO
GSM (RAND)
7. RESPOSTA (SRES, Kc)
8. RESPOSTA DE AUTENTICAÇÃO (SRES)
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
19
Slide 20
Esquema de Autenticação e Criptografia
ME
Operadora GSM
Desafio RAND
SIM
Ki
Signed Response (SRES)
Ki
A3
A3
Desafio RAND
A8
Fn
mi
Autenticação: Valores
de SRES são iguais?
A8
Kc
Kc
Dado Criptografado
A5
A5
Fn
mi
mi– Mensagem
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
20
Slide 21
Agenda
① Segurança na Rede GSM
② Segurança no Gateway Gateway
③ Segurança entre Gateway USSD e Aplicação
④ Estudo de Caso
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
21
Slide 22
Requisitos para um Gateway USSD
Gateway USSD deve:
Repassar informações da rede GSM para a
aplicação
Traduzir protocolos
Interconectar redes
Diminuir ao máximo o transporte de
informações não criptografadas
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
22
Slide 23
Segurança no Gateway Público
Compartilhado com diferentes aplicações USSD
terceirizadas
Localizados na operadora
Acesso físico de estranhos:
Gateways podem ser modificados por diferentes
operadores que podem ver mensagens confidenciais
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
23
Slide 24
Segurança no Gateway Público
Mistura de conteúdo:
Não confiável
Confiável
Cobrança dos usuários:
Pela conta telefônica das operadoras
Ausência de auditoria
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
24
Slide 25
Segurança no Gateway Privado
Uso exclusivo por aplicações USSD específicas
Localização:
Local restrito na operadora
No próprio serviço terceirizado
Cobrança:
Pode ser cobrado na conta bancária
Permite auditoria
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
25
Slide 26
Segurança no Gateway
Gateway USSD Seguro
Hardware
SS7
Interface de
Rádio e SS7
Gateway
HSM
Banco
Tráfego Seguro
HSM: Hardware Securiy Model
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
26
Slide 27
Agenda
① Segurança na Rede GSM
② Segurança no Gateway USSD
③ Segurança entre Gateway USSD e Aplicação
④ Estudo de Caso
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
27
Slide 28
Segurança entre Gateway e Aplicação
Grande maioria dos Gateways criptografa a
comunicação com o servidor
Algoritmos mais utilizados:
RSA (Rivest, Shamir & Adleman)
Chave assimétrica
AES (Advanced Encryption Standard)
Chave simétrica
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
28
Slide 29
RSA
Algoritmo de chave assimétrica
Trabalha com duas chaves
Privada (ou secreta) e pública
Embora diferentes, estão matematicamente ligadas
Proposto por Ron Rivest, Adi Shamir e Leonard
Adleman em 1977
Tamanho das chaves: 512, 1024 ou 2048
(tipicamente)
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
29
Slide 30
RSA – Geração das chaves
Chave1 = {e,n} (privada)
Chave2 = {d,n} (pública)
Plaintext (M) e texto criptografado (C) são inteiros
entre 0 e n-1, onde n é o tamanho do dado e da
chave
Criptografia:
C = Me mod n
De-criptografia:
M = Cd mod n
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
30
Slide 31
RSA – Geração das chaves
Seleciona dois números primos grandes
p q, onde p ≠ q
n=p*q
Calcula Φ = (p-1)(q-1)
Seleciona e, tal que mmc(Φ,e)=1; 0 < e < Φ
Calcula d, tal que d * e mod Φ = 1
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
31
Slide 32
AES
Algoritmo de chave simétrica
Mesma chave utilizada para criptografar e decriptografar
Baseado no cifrador de Rijndael (Rijndael cipher)
Amplamente adotada pelo governo dos EUA
Considerada “quebrável” via força bruta
Não existe capacidade computacional suficiente
para quebra-la hoje
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
32
Slide 33
AES
Trabalha com 3 tamanhos de chaves
128, 192 e 256
Aplica o conceito de rede de permutação e substituição
Aplica um número de ciclos (rounds) de transformação do
dado de entrada (plaintext), de acordo com o tamanho da
chave
10 ciclos para chaves de 128 bits
12 ciclos para chaves de 192 bits
14 ciclos para chaves de 256 bits
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
33
Slide 34
AES - Detalhes
Entrada (plaintext) é transforada em uma matriz, chamada
de estado
Chave de criptografia também é transformada em uma
matriz
São geradas sub-chaves utilizadas em cada round
Rounds = número de ciclos
http://www.formaestudio.com/rijndaelinspector/archivos
/Rijndael_Animation_v4_eng.swf
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
34
Slide 35
RSA x AES
Ambos possuem implementação relativamente simples
RSA é computacionalmente mais caro do que AES
Trata-se de matemática com números muito grandes
Não há necessidade de compartilhamento de chaves privadas
AES pode ser implementado com operações entre bits
relativamente simples
Ambos os lados da comunicação devem compartilhar a mesma
chave
Quanto maior o volume de dados, mais perceptível a
diferencia entre complexidade de cada um
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
35
Slide 36
Qual Utilizar?
Resposta: AMBOS!
Gateway combina os dois algoritmos de
criptografia
RSA é utilizado para a troca segura de chaves
Chave AES é criptografada com a chave RSA
AES é utilizado para criptografar a mensagem
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
36
Slide 37
Troca de Mensagens Criptografadas
Aplicação Segura
Gateway USSD
RSASocket
RSASocket
Connect
Gera Chaves RSA Privada/Pública
PrivateKey = ARK
PublicKey = AUK
Chave AES = AKey
Gera Chaves RSA Privada/Pública
PrivateKey = GRK
PublicKey = GUK
Chave AES = GKey
TCP/IP Connect
TCP/IP Accept
Estabelecimento de conexão
TCP/IP
Envia AUK
Envia GUK
Troca das chaves RSA Públicas
Envia AKey (criptografada com GUK)
Envia GKey (criptografada com AUK)
Troca das chaves AES
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
37
Slide 38
Troca de Mensagens Criptografadas
Aplicação Segura
Gateway USSD
RSASocket
RSASocket
USSD XML (bind)
Processo
de
Binding
Criptografa com a chave GKey
Envia XML Criptografado
De-criptografa com a chave GKey
USSD XML (response)
Criptografa com a chave AKey
Envia XML Criptografado
De-criptografa com a chave AKey
USSD XML (response)
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
38
Slide 39
Troca de Mensagens Criptografadas
Aplicação Segura
Gateway USSD
RSASocket
RSASocket
USSD XML (begin)
Criptografa XML com AKey
USSD
Service
Envia XML Criptografado
De-criptografa XML com a chave AKey
USSD XML (begin)
USSD XML (end/continue)
Criptografa XML com a chave GKey
Envia XML Criptografado
De-criptografa XML com GKey
USSD XML (end/continue)
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
39
Slide 40
Troca de Mensagens Criptografadas
Demonstração de troca de pacotes no LeibICT
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
40
Slide 41
Análise de Desempenho
Análise sobre o Gateway LeibICT (simulador)
1000 requisições ao Gateway
Taxa de 10 requisições/segundo
Tamanho da
chave RSA
Pacotes
Bytes
Bytes/Pacote
%
Máx.
Requisições/s
Sem
criptografia
3006
1105182
367,7 100,00
750+
512
3001
1328380
442,6 120,40
67-69
1024
2988
1327960
444,4 120,88
35-36
2048
2693
1459414
541,9 147,40
11-12
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
41
Slide 42
Agenda
① Segurança no GSM
② Segurança no Gateway
③ Segurança entre Gateway e Aplicação
④ Estudo de Caso
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
42
Slide 43
Partner Matched Technology
(África do Sul)
Rede Nokia/Siemens
Afirmam que não se deve utilizar Gateways
públicos
Propõe uma solução para instituições financeiras,
que inclui:
Servidor de segurança
Serviços de auditoria
Pacote de integração com a prestadora de serviços
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
43
Slide 44
Segurança no Gateway
Facility Segura
Link Seguro
Infraestrutura
MNO existente
Banco
Dispositivo
VPN
Core
USSD
USSD
MAP
Gateway
HLR
Rede GSM
Banco
HSM
HSM: Hardware Securiy Model
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
44
Slide 45
Segurança no Gateway
Facility Segura
Link Seguro
Infraestrutura
MNO existente
Banco
Dispositivo
VPN
Core
USSD
USSD
MAP
Gateway
Rede GSM
HLR
Banco
HSM
Pilha SS7
USSD
MAP
Gateway
Hardware
SS7
STP
Pilha SS7
Hardware
SS7
Facility Segura
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
Link E1
45
Slide 46
Partner Matched Technology
(África do Sul)
Garantem:
Validação do SIM card
Criptografia para transações financeiras, utilizando
um Hardware Security Model (HSM)
Cada instituição financeira registra sua chave
criptográfica no HSM
Habilita um processo de auditoria “aceitável”
Somente a instituição financeira consegue decriptografar
Segurança física de acesso ao ambiente de rede
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
46
Slide 47
Segurança no Gateway
VPN
Criptografia de
Rádio
Servidor
USSD
SSL
Roteador
Seguro
Gateway
USSD
Mobile
Banking
PIN
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
47
Slide 48
Referências
Raj Jain - Advanced Topics in Networking: Wireless and Mobile
Networking: Network Security Concepts (Spring 2006)
https://www.boxcryptor.com/en/aes-and-rsa-encryption
LeibICT – USSD S-Gateway Documentation
Desai, S. “Mitigating Security Risks in USSD-based Mobile
Payment Applications”, Aujas white paper, 2011.
“Secure USSD Facility for Financial Institutions”, Pattern Matched
Technologies white paper, 2010.
Korkusuz, A. “Security in the GSM Network”, Dissertação de
mestrado, Bogazici University, Turquial, 2012.
3 GPP TS 43.020 v12.0.0, 2013-03
Unstructured Supplementary Service Data (USSD)
Porto Alegre, setembro de 2013
48
Slide 49
Obrigado!
Perguntas?
Cristiano Bonato Both
[email protected]
http://networks.inf.ufrgs.br/dcg
Unstructured Supplementary
Service Data (USSD)
Porto Alegre, setembro de 2013
`