如何在Android上制作自己的安全VOIP应用?

3
我希望在GSM网络中呼叫数据进入之前实现自己的加密规则,即我想以比特流的形式发送呼叫流,然后实现自己的加密算法,再发送到网络上。在接收端,我的应用程序将接收数据,解密并转换为音频。
我想知道这是否可行,如果可行,如何实现?我的意思是,我想像Airtel、Vodafone等一样使用手机网络。
如果不可能,是否可以通过互联网(2G或3G)来实现?
如果有任何指导,我只需要方向。
谢谢提前。
3个回答

3
您可以使用Adobe Flex快速创建聊天应用程序,它将创建一个可在Android上运行的Adobe Air应用程序(如果需要,还可以编译iOS版本)。Adobe Flex的核心优势是在开发人员很少努力的情况下发送音频(和视频)数据。
如果您希望传输的数据被加密,可以使用rtmps协议配置应用程序以使用SSL。
此页面向您展示了如何使用Flex为Android创建简单的视频聊天应用程序-如果您不想要视频,只需发送音频数据即可。参考链接:http://coenraets.org/blog/2010/07/video-chat-for-android-in-30-lines-of-code/

您需要一个支持以下功能的SSL实现:1)服务器和客户端双方;2)(EC)DHE套件;3)客户端证书。即使如此,它仍会泄漏参与者的公钥。 - CodesInChaos

0

我无法想象任何理由,为什么这不可能,因为网络只是在传递数据,我认为它们不关心它是否加密 - 它只是一系列的1和0。

至于如何实现,这超出了Stack Exchange的范围 - 如果您有具体的问题,请发布带有代码的问题。

还有其他类似的问题,您可以查看:


0
在Android上,使用GCM(或其他)网络的调用由基带处理器处理,您无法直接访问它。您通过rild(Radio Interface Layer daemon)与其通信,后者使用专有库与实际硬件通信。因此,在实践中,您无法干扰移动网络。
VOIP应用程序将使用数据连接,您可以发送/接收几乎任何内容。如果您使用标准技术(如SIP),则可以使用TLS来进行通信通道,以便流量被加密。如果您正在创建自己的应用程序,则可以通过使用SSL套接字来执行类似操作。
“如何”部分实际上并不适合SO格式,因为它非常开放,并取决于您决定如何实现它。

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