发明内容
本申请提供一种判断交易是否安全的方法和设备,通过账户与实体数据的关联关系来识别当前进行交易的账户和与所述账户有关联的实体数据的关联关系,从而降低关系数据的底层存储量,并且通过结合当前进行交易的账户和不同实体数据的直接关系和间接关系来判断交易的安全性,提高了安全交易的覆盖率,同时,在判断交易是否安全是通过涉及到的多个实体数据来进行的,从而提高了判断交易是否安全的灵活度。
为了达到上述目的,本申请提供了一种判断交易是否安全的方法,所述方法包括:
服务器根据账户与实体数据的关联关系获取当前进行交易的账户到所述账户在进行交易时关联到的实体数据的安全路径中的所有账户的安全级别;
所述服务器根据所述关联关系确定与所述安全路径中除账户之外的其他实体数据有直接关联关系的账户的数量;
所述服务器根据确定的账户的数量和预先设定的第一阈值确定所述其他实体数据的安全级别;
所述服务器根据所述关联关系确定所述安全路径中各账户和与所述安全路径中各账户有关联的实体数据之间的安全关系级别;
所述服务器根据所述所有账户的安全级别、所述其他实体数据的安全级别和所述安全关系级别确定当前进行的交易的安全级别,以使所述服务器根据当前进行的交易的安全级别和预设的第二阈值判断当前进行的交易是否安全;
其中,所述级别越低表示安全性越高。
在账户与实体数据的关联关系中如果当前进行交易的账户到所述账户在进行交易时关联到的实体数据间存在连通的通路,所述通路称为当前进行交易的账户到所述账户在进行交易时关联到的实体数据的安全路径;
其中,在一条安全路径中,所述安全路径中的账户和除账户之外的其他实体数据只能出现一次。
所述服务器根据确定的账户的数量和预先设定的第一阈值确定所述其他实体数据的安全级别,具体为:
所述服务器判断确定的账户数量是否大于所述预设的第一阈值;
如果不大于,所述服务器将所述其他实体数据的安全级别确定为1;
如果大于,所述服务器根据公式:L=1+log2(n/t)确定所述其他实体数据的安全级别;
其中,L为实体数据的安全级别,n为所述账户的数量,t为所述第一阈值。
所述服务器根据所述关联关系确定所述安全路径中各账户和与安全路径中各账户有关联的实体数据之间的安全关系级别,具体为:
所述服务器根据账户与实体数据的关联关系中包含的账户在与该账户有关联的实体数据上的最近一次消费时间、消费频率和消费金额确定所述安全路径中各账户和与所述安全路径中各账户有关联的实体数据之间的安全关系级别。
所述服务器根据所述所有账户的安全级别、所述其他实体数据的安全级别和所述安全关系级别确定当前进行的交易的安全级别,具体为:
所述服务器确定当前进行交易的账户在进行交易时关联到的实体数据;
所述服务器根据所述所有账户的安全级别、所述其他实体数据的安全级别和所述安全关系级别通过所述关联关系确定当前进行交易的账户到所述关联到的实体数据的安全路径中的安全性最高的路径;
所述服务器根据当前进行交易的账户在进行交易时关联到的不同的实体数据的安全性最高的路径生成当前进行交易的账户到所述关联到的不同的实体数据的平均安全路径;
所述服务器将所述平均安全路径确定为当前进行的交易的安全级别;
其中,所述安全级别越低,交易的安全性越高。
一种服务器设备,所述设备包括:
获取模块,用于根据账户与实体数据的关联关系获取当前进行交易的账户到所述账户在进行交易时关联到的实体数据的安全路径中的所有账户的安全级别;
第一确定模块,用于根据所述关联关系确定与所述安全路径中除账户之外的其他实体数据有直接关联关系的账户的数量;
第二确定模块,用于根据所述第一确定模块确定的账户的数量和预先设定的第一阈值确定所述其他实体数据的安全级别;
第三确定模块,用于根据所述关联关系确定所述安全路径中各账户和与所述安全路径中各账户有关联的实体数据之间的安全关系级别;
第四确定模块,用于根据所述获取模块获取的所述所有账户的安全级别、所述第二确定模块确定的所述其他实体数据的安全级别和所述第三确定模块确定的所述安全关系级别确定当前进行的交易的安全级别,以使所述服务器根据当前进行的交易的安全级别和预设的第二阈值判断当前进行的交易是否安全;
其中,所述级别越低表示安全性越高。
在账户与实体数据的关联关系中如果当前进行交易的账户到所述账户在进行交易时关联到的实体数据间存在连通的通路,所述通路称为当前进行交易的账户到所述账户在进行交易时关联到的实体数据的安全路径;
其中,在一条安全路径中,所述安全路径中的账户和除账户之外的其他实体数据只能出现一次。
所述第二确定模块具体用于:
判断确定的账户数量是否大于所述预设的第一阈值;
如果不大于,将所述其他实体数据的安全级别确定为1;
如果大于,根据公式:L=1+log2(n/t)确定所述其他实体数据的安全级别;
其中,L为实体数据的安全级别,n为所述账户的数量,t为所述第一阈值。
所述第三确定模块具体用于:
根据账户与实体数据的关联关系中包含的账户在与该账户有关联的实体数据上的最近一次消费时间、消费频率和消费金额确定所述安全路径中各账户和与所述安全路径中各账户有关联的实体数据之间的安全关系级别。
所述第四确定模块具体用于:
确定当前进行交易的账户在进行交易时关联到的实体数据;
根据所述所有账户的安全级别、所述其他实体数据的安全级别和所述安全关系级别通过所述关联关系确定当前进行交易的账户到所述关联到的不同的实体数据的安全路径中的安全性最高的路径;
所述服务器根据当前进行交易的账户在进行交易时关联到的不同的实体数据的安全性最高的路径生成当前进行交易的账户到所述关联到的不同的实体数据的平均安全路径;
所述服务器将所述平均安全路径确定为当前进行的交易的安全级别;
其中,所述安全级别越低,交易的安全性越高。
本申请通过账户与实体数据的关联关系来识别当前进行交易的账户和与所述账户有关联的实体数据的关系,从而降低关系数据的底层存储量,并且通过结合当前进行交易的账户和不同实体数据的直接关系和间接关系来判断交易的安全性,提高了安全交易的覆盖率,同时,在判断交易是否安全是通过涉及到的多个实体数据来进行的,从而提高了判断交易是否安全的灵活度,降低了对账户的干扰。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的其他实施例,都属于本申请保护的范围。
如图1所示,为本申请一种判断交易是否安全的方法,所述方法包括以下步骤:
步骤101,服务器根据账户与实体数据的关联关系获取当前进行交易的账户到账户在进行交易时关联到的实体数据的安全路径中的所有账户的安全级别。
其中,所述级别越低表示安全性越高。
在账户与实体数据的关联关系中如果当前进行交易的账户到所述账户在进行交易时关联到的实体数据间存在连通的通路,所述通路称为当前进行交易的账户到所述账户在进行交易时关联到的实体数据的安全路径;
其中,在一条安全路径中,所述安全路径中的账户和除账户之外的其他实体数据只能出现一次。
具体的,如图2所示,如果当前进行交易的账户为账户A,所述账户A在进行交易时关联到的实体数据有网络IP、位置、设备1,那么账户A到设备1的所有安全路径为:账户A-设备1;账户A-设备2-账户B-设备1;账户A-好友账户A-设备1;账户A-好友账户A-好友账户B-好友账户C-设备1;账户A-网络IP-好友账户B-好友账户A-设备1;账户A-网络IP-好友账户B-好友账户C-设备1。
如图2所示,如果当前进行交易的账户为账户A,所述账户A在进行交易时关联到的实体数据有网络IP、位置、设备1,那么所述服务器获取账户A到设备1的安全路径中涉及到的账户的安全级别,以及账户A到网络IP和位置的安全路径中涉及到得账户的安全级别。
账户的安全级别是根据账户的历史行为得到的,并且已进行存储,存储的账户的安全级别可以根据所述账户的发生过的行为产生变化,例如:当前账户根据其历史行为确定的安全级别为1,如果所述账户进行了密码修改或其他行为,服务器可以根据所述账户的历史行为和当前的行为确定所述账户的安全级别。在某账户进行交易时,在所述账户到在所述账户进行交易时关联到的实体数据的安全路径中的账户的安全级别就已经确定了,且不同的账户其安全级别也是不同的,如何确定账户的安全级别为现有技术,在此不再赘述。
账户与实体数据的关联关系是在某一账户的使用过程中生成的,账户与实体数据的关联关系记录了所述账户与哪些实体数据发生过关系,以及在所述账户进行交易时关联到的实体数据,如:所述账户在哪个IP上登录过,所述账户的好友账户、所述账户的好友账户的好友账户、所述账户使用哪个设备登录过,在与所述账户有关联的某一实体数据上登录过的所有账户,以及与好友账户和非好友账户相关的实体数据,同时,还记录了所述账户在不同的数据实体上的最近一次消费时间、消费频率和消费金额等信息。
一条安全路径中涉及到账户和其他实体数据,如:网络IP、位置等都称为所述安全路径的实体数据,或者称为账户与实体数据的关联关系中的实体数据。与账户有直接关联关系的信息也可以成为所述账户的实体数据。实体数据包括:IP地址、位置、设备标识和账户等信息,具体的如图2所示,其中,账户A的实体数据为网络IP、位置、设备1、设备2、好友账户A,其中,账户A、网络IP、位置、设备1、设备2和好友账户A分别也可以成为某一安全路径的实体数据,或账户与实体数据的关联关系的实体数据,好友账户A的实体数据包括账户A、设备1、好友账户B,账户和好友账户互为对方的好友账户,且互为对方的实体数据,如:好友账户A是账户A的实体数据,账户A也是好友账户A的实体数据,好友用户B和好友用户C为账户A好友账户的好友账户,其中,账户A、好友账户A、好友账户B、好友账户C和账户B都属于账户。
步骤102,服务器根据关联关系确定与所述安全路径中除账户之外的其他实体数据有直接关联关系的账户数量。
日常交易中,一个账户可能对应对个实体数据,同时,一个实体数据也可能对应多个账户,例如:在同一个IP地址上可能会出现多个账户登录的情况,登录一个实体数据的账户越少表示该实体数据越安全,为此,本申请中需要对步骤101中除账户以外的其他实体数据(例如图2中的对应账户A的位置,网络IP,设备1,也即除好友账户A以外的3个实体数据)进行判断,明确各其他实体数据所直接关联的账户的数量。
所述服务器获取与所述安全路径中除账户之外的其他实体数据有直接关联关系的账户的数量是为了确定判断当前关联到的实体数据的安全路径中除账户之外的实体数据的安全程度。
如图2所示,假如当前进行交易的账户为账户A,且账户A在进行交易时关联到的除好友账户A以外的其他实体数据为位置、网络IP和设备1,那么所述服务器需要确定的是账户A到所述位置、网络IP和设备1的安全路径中的网络IP、位置、设备1和设备2对应的账户的数量,如:所述位置对应的账户是账户A,与所述位置有直接关联关系的账户数量为1;所述网络IP对应的账户为账户A和好友账户B,与所述网络IP有直接关联关系的账户数量为2;所述设备1对应的账户为账户A、好友账户A、账户B和好友账户C,与所述设备1有直接关联关系的账户数量为4;所述设备2对应的账户有账户A和账户B,与所述设备2有直接关系的账户数量为2。
步骤103,服务器根据确定的账户数量和预先设定的第一阈值确定其他实体数据的安全级别。
在由步骤102确定了各其他实体数据关联的账户的数量之后,根据确定的账户的数量与预先设定的第一阈值确定各其他实体数据的安全级别,该过程具体包括如下步骤:
所述服务器判断所述账户数量是否大于所述预设的第一阈值;
如果不大于,所述服务器将所述其他实体数据的安全级别确定为1;
如果大于,所述服务器根据公式:L=1+log2(n/t)确定所述其他实体数据的安全级别;
其中,L为实体数据的安全级别,n为所述账户的数量,t为所述第一阈值。
步骤104,服务器根据关联关系确定安全路径中各账户和与安全路径中各账户有关联的实体数据之间的安全关系级别。
所述服务器根据关联关系确定所述安全路径中各账户和与安全路径中各账户有关联的实体数据之间的安全关系级别,具体为:
所述服务器根据账户与实体数据的关联关系中包含的账户在与该账户有关联的实体数据上的最近一次消费时间、消费频率和消费金额确定所述安全路径中各账户和与所述安全路径中各账户有关联的实体数据之间的安全关系级别。
如图2所示,仍以账户A为例来进行说明,如果当前进行交易的账户为账户A,在账户A进行交易时关联到的实体数据有网络IP、位置和设备1,那么所述服务器根据账户A在设备1的安全路径(如:账户A-好友账户A-好友账户B-好友账户C-设备1)中的账户在实体数据的最近一次消费时间、消费频率和消费金额生成账户A-好友账户A、好友账户A-好友账户B、好友账户B-好友账户C和好友账户C-设备1之间的安全关系级别,其中,账户与好友账户的安全关系级别是相互的,例如:确定出的账户A和好友账户A的安全关系级别为1,那么好友账户A和账户A的安全关系级别也为1,同时,所述服务器还要生成账户A到网络IP和位置的安全路径中账户与实体数据之间的安全关系级别,当然,针对在安全路径中的其他账户,例如好友账户A,按照针对账户A的处理方式进行相似的处理。
具体的,账户在某个实体数据上消费的越频繁、消费的金额越多、距离最近一次消费的时间越近表示该实体数据与账户的安全级别越高,通过对最近一次消费时间、消费频率和消费金额赋予不同的权重,根据预先设定的相应规则可以确定出账户与所述有关联的实体数据之间的安全关系级别。
步骤105,服务器根据所有账户的安全级别、其他实体数据的安全级别和安全关系级别确定当前进行的交易的安全级别,以使服务器根据当前进行的交易的安全级别和预设的第二阈值判断当前进行的交易是否安全。
所述服务器根据所述所有账户的安全级别、所述其他实体数据的安全级别和所述安全关系级别确定当前进行的交易的安全级别,具体为:
所述服务器确定当前进行交易的账户在进行交易时关联到的实体数据;
所述服务器根据所述所有账户的安全级别、所述其他实体数据的安全级别和所述安全关系级别通过所述关联关系确定当前进行交易的账户到所述关联到的实体数据的安全路径中的安全性最高的路径;
所述服务器根据当前进行交易的账户在进行交易时关联到的不同的实体数据的安全性最高的路径生成当前进行交易的账户到所述关联到的不同的实体数据的平均安全路径;
所述服务器将所述平均安全路径确定为当前进行的交易的安全级别;其中,所述安全级别越低,交易的安全性越高。
每条安全路径都有对应的安全级别,安全路径的安全级别是按照当前进行交易的账户指向与所述账户关联到的实体数据的顺序,根据M*N+(M+1)*(N+1)+……得到的。
其中M是安全路径中与当前进行交易的账户有直接关联关系的第一个实体数据的安全等级,N是安全路径中当前进行交易的账户和所述第一个实体数据之间的安全关系级别。
具体的,在计算安全性最高的路径时可以通过迪杰斯特拉Dijkstra算法得到,例如:如果所述所有账户的安全级别、所述其他实体数据的安全级别和所述安全关系级别如图3所示,如果当前进行交易的账户为账户A,并且关联到的实体数据为网络IP、位置和设备1,那么,账户A到网络IP的安全路径中安全性最高的路径是:账户A-好友账户A-好友账户B-网络IP,该路径的安全级别为:1*1+1*1+1*1=3,账户A到位置的安全路径只有1条:账户A-位置,该路径的安全级别为:5*1=5,账户A到设备1的安全路径中安全性最高的路径是:账户A-好友账户A-设备1,该路径的安全级别是:1*1+2*1=3。
此时确定出了账户A到网络IP、位置和设备1的安全性最高的路径,根据这三条安全性最高的路径的安全级别确定出账户A到网路IP、位置和设备的平均安全路径:(3+5+3)/3≈3.67,此时,当前进行的交易的安全级别为3.67,如果设定的第二阈值为4,即只有安全级别低于4的交易才会被认为是安全的,那么当前交易被认作是安全交易。
本申请通过账户与实体数据的关联关系来识别当前进行交易的账户和与所述账户有关联的实体数据的关系,从而降低关系数据的底层存储量,并且通过结合当前进行交易的账户和不同实体数据的直接关系和间接关系来判断交易的安全性,提高了安全交易的覆盖率,同时,在判断交易是否安全是通过涉及到的多个实体数据来进行的,从而提高了判断交易是否安全的灵活度,降低了对账户的干扰。
基于与上述方法同样的申请构思,本申请还提出了一种服务器设备,如图4所述,该设备包括:
获取模块41,用于根据账户与实体数据的关联关系获取当前进行交易的账户到所述账户在进行交易时关联到的实体数据的安全路径中的所有账户的安全级别。
第一确定模块42,用于根据所述关联系确定与所述安全路径中除账户之外的其他实体数据有直接关联关系的账户的数量。
第二确定模块43,用于根据所述第一确定模块确定的账户的数量和预先设定的第一阈值确定所述其他实体数据的安全级别。
第三确定模块44,用于根据所述关联关系确定所述安全路径中各账户和与所述安全路径中各账户有关联的实体数据之间的安全关系级别。
第四确定模块45,用于根据所述获取模块获取的所述所有账户的安全级别、所述第二确定模块确定的所述其他实体数据的安全级别和所述第三确定模块确定的所述安全关系级别确定当前进行的交易的安全级别,以使所述服务器根据当前进行的交易的安全级别和预设的第二阈值判断当前进行的交易是否安全。
其中,所述级别越低表示安全性越高。
在账户与实体数据的关联关系中如果当前进行交易的账户到所述账户在进行交易时关联到的实体数据间存在连通的通路,所述通路称为当前进行交易的账户到所述账户在进行交易时关联到的实体数据的安全路径;
其中,在一条安全路径中,所述安全路径中的账户和除账户之外的其他实体数据只能出现一次。
所述第二确定模块43具体用于:
判断所述账户数量是否大于所述预设的第一阈值;
如果不大于,将所述其他实体数据的安全级别确定为1;
如果大于,根据公式:L=1+log2(n/t)确定所述其他实体数据的安全级别;
其中,L为实体数据的安全级别,n为所述账户的数量,t为所述第一阈值。
所述第三确定模块44具体用于:
根据账户与实体数据的关联关系中包含的账户在与该账户有关联的实体数据上的最近一次消费时间、消费频率和消费金额确定所述安全路径中各账户和与所述安全路径中各账户有关联的实体数据之间的安全关系级别。
所述第四确定模块45具体用于:
确定当前进行交易的账户在进行交易时关联到的实体数据;
根据所述所有账户的安全级别、所述其他实体数据的安全级别和所述安全关系级别通过所述关联关系确定当前进行交易的账户到所述关联到的不同的实体数据的安全路径中的安全性最高的路径;
所述服务器根据当前进行交易的账户在进行交易时关联到的不同的实体数据的安全性最高的路径生成当前进行交易的账户到所述关联到的不同的实体数据的平均安全路径;
所述服务器将所述平均安全路径确定为当前进行的交易的安全级别;其中,所述安全级别越低,交易的安全性越高。
本申请通过账户与实体数据的关联关系来识别当前进行交易的账户和与所述账户有关联的实体数据的关系,从而降低关系数据的底层存储量,并且通过结合当前进行交易的账户和不同实体数据的直接关系和间接关系来判断交易的安全性,提高了安全交易的覆盖率,同时,在判断交易是否安全是通过涉及到的多个实体数据来进行的,从而提高了判断交易是否安全的灵活度,降低了对账户的干扰。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本申请的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署;可以合并为一个模块,也可以进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。