2014-10-26 93 views
16

使用CloudKit有兩種或兩種以上用戶共享私人數據的直接方式嗎?使用CloudKit分享私人數據

公共和私人日期很明顯,但似乎沒有辦法允許一組用戶組織他們自己的筒倉在他們之間共享數據,而不會讓系統的所有其他用戶給應用開發者。

我有一個學術協作應用程序,但最簡單的例子是兩個用戶之間的私人消息。

我想可以嘗試在CloudKit之上構建一個公鑰加密系統來實現這一目標,但這並不是我所期望的,並且會超出每個組的兩個用戶。

+0

公鑰(非對稱加密)不會很好地擴展,則每個用戶只需要一個鍵。按需求獲得每個用戶的公共中心點。對稱密鑰加密不會伸縮,因爲它需要每個潛在連接的密鑰,即每個用戶都與每個其他用戶有一個對稱密鑰。所有的安全都需要付出代價。 – zaph 2014-10-27 00:56:06

+0

爲了澄清,我的意思是,如果用戶試圖與多於一個其他用戶共享數據(例如:與其他五個用戶進行羣聊),那麼它不會很好地擴展,因爲發送消息的用戶需要使用需要爲組中共享的每條消息存儲每個其他組成員的公鑰和五個加密副本。 – hashemi 2014-10-27 02:48:16

+1

[布倫特西蒙斯對此進行了博客,並認爲這是不可能的。](http://inessential.com/2014/07/28/setting_expectations_about_cloudkit) – hashemi 2014-10-27 02:56:39

回答

0

從技術上講,您可以通過CloudKit在兩位更多用戶之間共享私人數據。雖然數據存儲是公開的,但這並不意味着每個用戶都可以訪問整個公用存儲。您的設計可以控制對每個應用程序實例中公共數據庫部分的訪問。

通過開發使用使用CKRecordZoneNotification管理通知的用戶組的唯一標識符和區域公共數據庫的應用程序,你應該能夠創建一個合理的安全解決方案。你決定什麼合理安全的意思。

這裏是蘋果公司的文檔的鏈接CKRecordZoneNotification

+1

我們不同意認爲合理的安全措施。這基本上是默默無聞的安全。如果有足夠的動機需要數據,任何人都可以繞過應用程序並直接訪問數據存儲。 – hashemi 2014-11-26 17:49:51

+0

我還沒有深入研究CloutKit的認證機制,所以我不能說這是唯一的SBO。 「任何人」都可以繞過應用程序真的很微不足道嗎? – bitsand 2014-12-17 22:34:15

+4

區域不能與公用數據庫一起使用。 – Shmidt 2015-03-26 20:59:47

0

使用公共數據庫和加密共享的內容是可行的。可能不會太有趣,因爲那時你需要共享加密密鑰。

5

在WWDC 2016上,蘋果公司推出CKShare,它解決了這個用例。截至2016年6月13日,測試版API是公開的,但沒有記錄。共享API在WWDC 2016視頻What's new with CloudKit中展示,從19:57開始。