簡體   English   中英

iOS MDM配置文件簽名,使用哪個證書?

[英]iOS MDM profile signing, which certificate to use?

好的,請看這個圖

有兩個小框,表示應如何簽署給定的配置文件。

在第2階段,第1步,它顯示“Apple頒發的證書”,但它沒有說明哪個蘋果頒發了證書(他們簽發的證書不止一個)。 我已經嘗試過我的開發人員證書和MDM(APNS)證書。 這不是其中之一。 是否有我需要的第三個魔法證書(我怎么得到它)?

在階段3,第2步,它顯示“身份證書”,但同樣在細節上有點粗略。 我所知道的唯一身份證書是使用設備的私鑰安裝在設備上的,服務器應該如何使用它來簽署配置文件?

我實現這一目標的唯一方法是創建自己的自簽名證書,並在設備上預先安裝它。 顯然,這不是一種優雅或特別安全的做事方式。

跟進問題

我的服務器證書由“DigiCert High Assurance EV Root CA”頒發,並在列表中: http//support.apple.com/kb/ht5012 ,但iOS 6設備在簽署配置文件時認為它“不受信任”,但就好了對於很奇怪的SSL。 iOS 5設備很好。 知道為什么嗎?

我也不太了解加密位。 從MDM文檔:“每個設備必須具有唯一的客戶端身份證書。您可以將這些證書作為PKCS#12容器或通過SCEP提供。建議使用SCEP,因為協議確保身份的私鑰僅存在於設備。”

雖然我同意最終只有設備本身知道其私鑰才更安全,但它有點問題,因為2048位公鑰只能用於加密大約100字節的數據,這對於即使是最小的數據也是不夠的有效載荷。

讓我先來看看第2階段和第3階段

在階段2,步驟1中,iOS設備將發送到服務器響應,該響應由設備證書/密鑰簽名(每個設備都附帶預先安裝的證書/密鑰,每個設備都有不同的證書/密鑰)。 這些設備證書/密鑰由Apple發行。

在服務器端,您應該使用Apple Root Cetificate進行驗證。

在階段2,步驟1-3中,您的配置文件服務將發送SCEP請求。 此SCEP請求包含讓設備知道它應該與哪個SCEP服務器通信的信息。 此SCEP服務器是您的服務器。 因此,設備將與此SCEP服務器通信,並將從中請求新的身份證書。

在階段3中,步驟2設備響應將使用此身份證書的證書/密鑰進行簽名。 現在,您應該使用證書頒發機構根證書進行驗證。 (還有一個說明,第2階段的SCEP服務器是您的證書頒發機構的代理)

現在回答您的問題“MDM配置文件簽名,使用哪個證書?”

MDM配置文件可以加密和/或簽名。

如果要對其進行加密,請使用與此設備關聯的身份證書對其進行加密。 因此,具有此標識密鑰的設備,因此它可以解密它。

如果要對其進行簽名,請使用服務器密鑰進行簽名。 設備應安裝服務器證書,以便驗證簽名。

BTW。 在這個問題上。 有一點未在此圖中顯示,但通常是需要的 - 第一步(在整個注冊之前)通常是安裝服務器證書(用於將來的配置文件簽名驗證)。 如果您的服務器證書由知名CA頒發(例如Verisign或類似的東西),您可以跳過此步驟。

如果您有任何后續問題,請告訴我。 我花了一段時間才了解整個OTA / MDM注冊情況。

更新1

我不知道為什么iOS 6會將您的證書視為不受信任的簽名。 我沒有使用由着名的CA簽署的證書。

我只有一個猜測。 可能是在iOS 5和iOS 6之間他們改變了關鍵鏈的一些東西。 一般來說,每個應用程序都有自己的密鑰鏈。 我相信所有知名證書都應該存儲在Mobile Safari鑰匙串中。 可能是MDM / Preferences在iOS 6中與MobileSafari共享此密鑰鏈,現在他們不共享它。 在這種情況下,您必須通過配置文件安裝此“DigiCert High Assurance EV Root CA”(將其放入正確的鑰匙串中)。 然而,這是瘋狂的猜測。

關於加密。 首先,你是對的,如果每個設備都有自己的私鑰,那么它就更安全了。 在這種情況下,如果任何人竊取個人資料,他們將無法解密它(因為只有設備有私鑰才能這樣做)。 如果您要發送敏感的配置文件(例如,同時包含用戶名和密碼的電子郵件帳戶),這一點尤其嚴重。

密碼學的高級別介紹:

任何密鑰(任何長度)都可以加密任何長度的數據。 所有加密算法的設計方式都可以使用相同的密鑰來加密任意數量的數據。

非對稱算法(如RSA)很少用於直接加密數據。 在大多數情況下,此算法用於加密對稱算法的密鑰(例如AES),並且所有后續加密/解密都使用AES完成。 這有兩個原因:性能(AES比RSA快)和資源(AES比RSA的資源消耗更少)。

因此,如果您需要加密配置文件,則使用PKCS7 ,它在內部使用RSA,AES(或其他算法)。 通常,您有一個庫(OpenSSL或BouncyCastle)。 所以,你不必弄清楚所有這些復雜性。

BTW。 如果您有不適合SO的問題,歡迎您直接與我聯系(我的個人資料中的聯系信息)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM