USSD安全吗?

11

我有关于 USSD 和该通道的安全性的问题。

如您所知,今天移动银行和许多支付都使用 USSD,我想知道 USSD 是否安全?

如果 USSD 交易使用 a5/1 进行加密,则几年前已被完全破解,现在可以通过 usrp(或 HackRF 板)捕获并通过为 a5/1 创建的彩虹表进行解码。

我认为这种交易并不真正安全,但我想更多地了解此协议和在此类交易中使用的加密。我不知道 USSD 代码是否使用 a5/1 或 GSM-7 编码... 所以我的问题是:

  1. USSD 交易使用什么样的加密方式? USSD 使用 GSM 语音加密(a5/1)还是使用 GSM-7 或其他方式?
  2. 我们如何使 USSD 安全?是否可以向交易添加额外的加密,或者您对保护 USSD 代码和交易有什么看法?

感谢大家。


2
这个问题似乎不是一个编程问题,因此不适合讨论。 - President James K. Polk
这不是编程,而是深入安全领域。 - jMoshayem
1个回答

10

通常移动网络(在本例中为GSM)有两个安全级别:

  1. 空中接口安全
  2. 核心网络安全

对于空中接口(移动设备和基站之间的无线接口),它可以加密或不加密(取决于网络设置)。

https://en.wikipedia.org/wiki/A5/1 
https://en.wikipedia.org/wiki/A5/2

正如您所看到的,当前的加密方法对于金融交易而言非常薄弱(与在线银行接受的加密方法相比)。

USSD消息的真正问题在于它们与核心网络中的MAP/SS7(Sigtran)相关消息。不幸的是,GSM网络中的所有USSD消息都作为明文传输(作为MAP消息的一部分),并且所有E1链路都很容易被监视。

在缺乏数据连接(GPRS-3G-LTE)的情况下使用USSD作为传输层是可能的,但需要一个加密层(并且可以在Android或IOS应用中实现)。


感谢您的帮助... A5/2 确实不安全,但 A5/1 相对较安全,并且现在在全球所有运营商中都在使用,但正如您所知道的,它可以在不到几分钟内被破解... USSD 消息是否使用语音通道发送和接收消息?如果是的话,命令应该使用 A5/1 进行加密,是否使用唯一的频段,这是什么,这些命令使用的加密方式是什么?我认为使用 USSD 使用 GSM 7 编码,但它真的很不安全,可以用简单的 JS 代码轻松破解... 为了保护 USSD 命令,唯一的方法是使用手机上的应用程序吗?我不想使用任何应用程序。 - jMoshayem
1
GSM网络中有两种不同的无线电信号。一种用于通话,另一种用于信令,在建立通话后,两部分都在同一信道上传输。USSD和SMS使用(传输)信令部分。因此,USSD不是通过语音进行传输。甚至TDMF也是通过信令部分传输的。请查看http://www.tutorialspoint.com/gsm/gsm_security.htm以获取更多详细信息。 - Soheil Karshenas
USSD和SMS在信令部分使用(传输)。因此,USSD不是通过语音传输的。这是否意味着短信和USSD消息在手机和BTS之间以明文形式传输? - Ebrahim Ghasemi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接