Iphone 手机授权系统问题

Iphone 手机授权系统问题,iphone,security,mobile,Iphone,Security,Mobile,我有一个很难确定/解决的问题 我正在创建一个由两方组成的系统:用户希望执行并授权操作,而需要确认此操作的第二方已经授权 问题是,只有想要执行该操作的用户才会拥有iphone(在许多情况下),从而能够从我们的服务器获得授权。第二方无法访问internet连接,无法直接确认第一个用户的请求是否已被授权 所以,我的问题是。。。我可以使用什么样的系统/项目来确保第二方可以确认第一方的移动电话操作是由我们的服务器授权的 到目前为止,我提出的所有想法都可能被一个聪明的黑客颠覆,他只是复制了第二方希望看到的确

我有一个很难确定/解决的问题

我正在创建一个由两方组成的系统:用户希望执行并授权操作,而需要确认此操作的第二方已经授权

问题是,只有想要执行该操作的用户才会拥有iphone(在许多情况下),从而能够从我们的服务器获得授权。第二方无法访问internet连接,无法直接确认第一个用户的请求是否已被授权

所以,我的问题是。。。我可以使用什么样的系统/项目来确保第二方可以确认第一方的移动电话操作是由我们的服务器授权的

到目前为止,我提出的所有想法都可能被一个聪明的黑客颠覆,他只是复制了第二方希望看到的确认请求。像。。。为第二方提供一个唯一的代码,需要在第一方的移动应用程序中输入该代码才能接收确认。但是聪明的用户可以创建一个模仿真实应用程序的黑客应用程序。显然,这将是一个问题,因为如果第二方认为该行动是授权的,而实际上不是授权的(由于黑客攻击),他们将损失金钱/时间/等等

下面的图表可能会让我的问题更清楚一些:

任何想法都将不胜感激


***编辑:我想补充一点-第2方在某些情况下无法访问移动设备/计算机,因此我需要找出一些硬件,这些硬件可以便宜地部署,但也可以执行验证任务。

如果我理解您的问题正确;您有一个可授权参与方1的操作的受信任服务器。也就是说,服务器可以决定是否允许第1方执行操作。您可以将其称为授权服务。然后,甲方需要证明其有权为乙方采取该行动。乙方无法直接联系授权服务部门以验证该索赔

自然的解决方案是让授权服务器向第1方发出数字签名的授权声明。该声明可以是描述第1方拥有何种授权的xml。声明必须使用只有授权服务器知道的私钥进行数字签名。第1方从服务器收到此索赔,并将索赔发送给第2方。第2方使用授权服务器的公钥验证数字签名。如果数字签名正确,则第2方知道该声明有效,以及第1方从授权服务器获得了何种授权

为此,必须在授权服务器上生成密钥对,并将公钥分发给第2方的每个实例。这只需要做一次。公钥不是秘密,但非常重要的是,它是正确的密钥,任何恶意的人都不能用假密钥替换第二方的公钥


在第二方,您需要某种能够验证已签名声明的设备。如果没有这一点,我认为这种情况是不可能解决的。

如果我理解你的问题是正确的;您有一个可授权参与方1的操作的受信任服务器。也就是说,服务器可以决定是否允许第1方执行操作。您可以将其称为授权服务。然后,甲方需要证明其有权为乙方采取该行动。乙方无法直接联系授权服务部门以验证该索赔

自然的解决方案是让授权服务器向第1方发出数字签名的授权声明。该声明可以是描述第1方拥有何种授权的xml。声明必须使用只有授权服务器知道的私钥进行数字签名。第1方从服务器收到此索赔,并将索赔发送给第2方。第2方使用授权服务器的公钥验证数字签名。如果数字签名正确,则第2方知道该声明有效,以及第1方从授权服务器获得了何种授权

为此,必须在授权服务器上生成密钥对,并将公钥分发给第2方的每个实例。这只需要做一次。公钥不是秘密,但非常重要的是,它是正确的密钥,任何恶意的人都不能用假密钥替换第二方的公钥


在第二方,您需要某种能够验证已签名声明的设备。如果没有这一点,我认为这种情况是不可能解决的。

我将研究私钥/公钥对签名/身份验证过程。但是第二方没有互联网连接(曾经?)意味着密钥永远不会过期,这有点不利。在部署第二方软件之前,应该知道/提取公钥,这种形式的身份验证过程会以何种方式受到损害**补充一点,在某些情况下,第2方将无法访问移动设备/计算机。因此,如果密钥对泄露(私钥泄漏)或有人设法复制私钥,我也在研究一种硬件解决方案,以提供给他们(某种基本的lcd设备?)。要了解这项技术有多困难,市场上有没有任何硬件可以插入移动设备(iphone/android)接收加密消息,然后使用编程私钥解密该消息(对每一方来说都是唯一的2)为了确保操作得到确认,我将研究私钥/公钥对签名/身份验证过程。但是第二方没有互联网连接(曾经?)意味着密钥永远不会过期,这有点不利。在第二方软件部署到何处之前,公钥应已知/提取