从 Android 发送到 Azure 云的数据有多安全?

Posted

技术标签:

【中文标题】从 Android 发送到 Azure 云的数据有多安全?【英文标题】:How secure is data sent Android from to Azure Cloud? 【发布时间】:2014-12-26 20:11:45 【问题描述】:

我想知道用于传输要发送到 Azure Cloud Mobile 服务的数据的通道是否安全。使用下面的代码作为参考..

table.execute(new TableQueryCallback<tableEntity>() 
        public void onCompleted(List<tableEntity> result, int count,
            Exception exception, ServiceFilterResponse response) 
            if (exception == null) 
                for (tableEntity tableItem: result) 
                    //Some algorithm here
                
            
        
    );

代码执行并尝试从 Azure 检索数据,但我不确定此过程的安全性如何。阅读 Azure 网站上的文档,它没有提供我正在寻找的答案..

我读过的参考资料:

azure.microsoft.com/en-us/documentation/articles/mobile-services-android-how-to-use-client-library/

azure.microsoft.com/en-us/services/mobile-services/

azure.microsoft.com/en-us/documentation/articles/mobile-services-android-get-started/

azure.microsoft.com/en-us/documentation/articles/mobile-services-android-get-started-data/

我正在寻找的是从 Azure 发送/检索数据的过程是如何工作的,我是否需要加密数据通道?任何指南将不胜感激!谢谢!

【问题讨论】:

【参考方案1】:

Azure 移动服务是托管在云中的 REST 服务。客户端代码在幕后对 REST API 进行 HTTP 调用。所以所有的加密都是通过 HTTPS/SSL 完成的。

您可以在此处找到 REST API 详细信息:http://msdn.microsoft.com/en-us/library/azure/jj710108.aspx

如果您愿意,您可以使用 PostMan/curl/Fiddler 或任何其他 HTTP 客户端来测试您的服务。

AppKey 与您的其他请求一起在 X-ZUMO-APPLICATION HTTP 标头中发送,并作为一种非常简单的身份验证方法,在您设置具有“应用程序密钥”权限的 API/表端点时使用。

这里的权限详情:http://msdn.microsoft.com/en-us/library/azure/jj193161.aspx

【讨论】:

非常感谢您。我已经放弃从可以包含在我的理由中的来源获得具体答案。但只是另一个问题,考虑到请求 URL 使用“https://.azure-mobile.net/login/”,我可以假设已经涉及加密吗? 如果您还没有阅读这篇博文,请查看:blogs.msdn.com/b/carlosfigueira/archive/2012/10/23/… ... 从上面继续:这解释了登录流程的工作原理。所有登录功能都由登录提供商处理(就像您从他们自己的网站登录到 facebook/google 一样),并且您会收到一个加密令牌,用于对您的移动服务进行身份验证。这也有一些有用的信息:***.com/questions/20987682/… 嗨,brettsam,感谢您回复我。现在我了解了 Azure 实际上是如何与身份提供者一起工作的。我想我错过了这个。如果我没有使用任何身份提供者,那该怎么办?我现在正在使用这个 MobileServiceClient mClient = new MobileServiceClient("MobileServiceUrl", "AppKey"); 这是否意味着我们不需要在插入 azure 存储之前加密数据?因为我所有的客户都将与数据库进行交互,但只会查询属于他们的数据。如果 MobileServices 已经安全,我应该使用加密还是可以跳过它?【参考方案2】:

我找不到可靠的来源,但我的印象是AppKey 用于加密客户端和移动服务之间的数据连接。

// Create the Mobile Service Client instance, using the provided
// Mobile Service URL and key
mClient = new MobileServiceClient(
        "MobileServiceUrl",
        "AppKey", 
        this).withFilter(new ProgressFilter());

当然,您可以设置表权限以限制对任何敏感数据的访问。显然,如果您正在处理一些您非常需要加密和保持安全的东西,这显然是不够的。

【讨论】:

不知何故符合我的想法!感谢您的建议!

以上是关于从 Android 发送到 Azure 云的数据有多安全?的主要内容,如果未能解决你的问题,请参考以下文章

传递到 Azure 通知中心的通知消息未到达设备 (Android)

从 C# Azure Web 应用程序向前台 iOS 和 Android 应用程序发送静默实时事件更新

将文件备份到 Azure 存储

如何从 Azure 流分析仅将数据发送到一个 Azure SQL 数据库表?

Azure 通知中心 - 从移动应用注册并通过应用后端发送通知

如何从 azure blob 存储中获取 json 数据并使用 azure 数据工厂将其发送到 power apps dataverse