您的位置:首页 > 其它

基于思维识别的身份认证技术--快速入门

2017-07-06 20:20 239 查看
摘要:这是一种用户拥有安全选择权的新一代密码技术,具有防窥视、防钓鱼、抗未知风险能力,非常适合用户把各个密码安全地统一起来,也适合增强未来的刷脸时代(消费和取现)的安全。

 

你是否有过混淆、忘记各种密码的困扰?
你是否有过担心你的密码存在被窥视、被拦截、被钓鱼的可能?

你是否对将来的“刷脸”消费和取现,既期待,又心存疑虑?(空付,空取)

 

一直以来,用户在账号安全上都是被动的,是被厂商所限定的,用户并没有提升账号安全的自主选择权.

生物识别技术:(如指纹识别,刷脸识别等)存在先天缺陷,如易复制、不可更改、非100%识别率、依赖外部硬件等,使得它在诸多环节都存在潜在安全风险,在道高一尺,魔高一丈的时代,它的抗未知风险能力较差。一般来说,它更适合于作为一种辅助验证手段和小金额的便捷支付,不适合单独承担重要的身份认证。

短信验证:实现动态口令,比较安全,但依赖硬件,当手机遗失、系统漏洞或中木马时,可能导致所有账号瞬间崩溃

传统固定密码:需要经过大脑知情的,认证准确,具有不可替代性。但对于普通用户来说,存在密码不同时则容易混淆和忘记、密码统一却又不安全的困扰,而且还存在易被窥视、易被钓鱼的风险。

这是一种基于数字矩阵的新一代的动态密码技术。它充分发挥人脑在图形空间记忆和简单数字单向处理方面的特长,它具有:

 高安全:用户是唯一知情者,防窥视,服务器也不知情,它也属于一种规则密码,却避免了其它规则密码必须将规则存储在服务器上,以及可实施性差的缺点,同时实现了“三高”(客户端、传输过程、服务器端的高抗风险能力)

 双向验证能力:让用户也有能力对服务器进行隐式验证,防范钓鱼欺诈

 

它的优势在于:

 容易记忆:它可以比传统密码更好记,却更安全

 实现密码统一:只需牢记一个,就可以安全地将各种账号密码统一起来

 增强未来的刷脸时代的空付、空取的安全:结合未来的生物识别技术,可以更安全地进行零依赖的空身消费和空身取现

 

 

人脑的优缺点

缺点:记住数字串“1235789”,时间稍久,可能就容易忘。
优点:但记住下面图形就容易多了



缺点:要计算 3 * 6 * 7 + 5 = 131,一般来说是较困难的
优点:但要计算 3 * 6 * 7 + 5 的个位数,很容易得出是 1,因为运算当中只需保留个位就可以了,如3*6*7+5  ->  8*7+5 ->  6+5  -> 1

而且,它的单向性还起到保护表达式的作用,通过结果1来反推表达式变得更加不容易

动态密码认证过程样例

 


(注:它和传统静态密码区别是:它的密码是用户根据自己预先定义的规则结合本次的数字矩阵,从而得到对应的密码,密码随数字矩阵的不同而可能动态变化。)

 

传统静态密码:

传统密码是静态的,即密码中的每一位都是固定的,如“abcd12”



动态密码:

密码上的每一位既可以是静态的,也可是动态的,可以由数字矩阵中的某些数经过组合运算而得到的。

 

 例:取指定位置上的值



说明:密码的后5,6两位分别取矩阵上的1,5位置上的值,每次认证时,将随数字矩阵的不同而不同。

具体规则设定:

R-=abcd

R5R6=$1$5

( R-表示剩余部分的静态密码。

获取矩阵中的值用 $ 加位置号获取如: $1 = 8, $2 =6)

 

例:取多个固定位置上的值,进行再运算后的值



说明:密码的第6位分别取矩阵上的4,6位置上的值,相加后个位上的值。注:有进位时只取个位上的值,既利于单向性,又利于速算。

具体规则设定:

R-=abcd1

R6=$4 + $6

 

 

例:取两个位置上组成的值的平方根



具体规则设定:

R-=abcd1

R6=平方根($4$6)

 

这里再介绍一个简单又有用的运算,求余数(符号%)

前面提及的取个位上的数,实质上就是求10的余数。 如 5 % 10 = 5, 15 % 10 = 5,26 % 10 = 6

用% 2 则可以用来判断数字的奇偶数性

使用求余运算可以在表达式很长的情况下也能快速、准确地心算,它不但提高速算能力,又能提高单向性(安全)

如对于 ( 3*9+8 )%10, 我们计算时,可直接3*9=27忽略十位2,再7+ 8 得到个位5

 

前面的例子都是取固定位置上的值,下面则取的位置是动态的(变址)

下面的例子非常重要,它将在安全上带来质的飞跃,展示基于纯数学模型所带来的巨大优势

 

例:例如第6位密码,它所取矩阵中的值的所在位置由位置1上的数字所指向(1次跳转)



说明:第1位是5,所在再找第5位置上的数7。

具体规则设定:

R-=abcd1

R6=$($1)=$(5) =
7


 

$常数:    访问矩阵中确定位置上的值,如$1,$2,表示访问第1、2个位置上的值(可省略括号)。

$(表达式):  可访问不确定位置上的值,如 $($1 ), $ ($2 + 5 ) 等等

更进一步,上面的$1,也可以用任何数值表达式替换。如:

某两个位置上的值相加后的个位数

 

例:(变址)例如第5位密码,它所取矩阵中的值的所在位置由位置1,2上的和的个位数数字所指向



说明:第1,2位相加后的个位数为9,所以再找位置9上的值,为6

(注:%10表示求数除10的余数,也就是取个位上的数,如25%10 =5 )

延伸:还可以进行多次跳转,如2次跳转 $( $($1
)  )。

同样,您还可以,将跳转动态得到的值6继续和其它值或表达式进行进一步的运算

您也可以使用安全系数更高的各种函数,来作为变址表达式,如条件函数。

例:密码取某些位置上的最小值



说明:密码的第5位取矩阵上的1,3,4位置(如圈所示)上的最小值。

具体规则设定:

R-=abcdf

R5 = 最小值($1 ,$3
, $4 )


延伸:最小值函数中的元素,可以某一个位置上的值,也可以是多个位置上的值,先运算后得到的新值

除了极值函数外,进一步的相关函数还能实现:

最接近于某个确定的数,如返回某些位置上最近于5的数

最近于某个动态计算出来的数,如最近于位置1上的数,也可以是位置1和位置2相加后的个位数

 

例:取一些指定位置(如第一列)上的最小值所在位置的旁边位置上的值



说明:第1列中最小值是2,所在位置7,旁边位置是8,对应的值为6

具体规则设定:

R-=abcdf

R5 = $(最小值下标(1 , 4 , 7) + 1 )

(注:如有好几个值都符合时,取排在前面的,先到先得)

延伸:除了返回最大值、最小值所在位置外,还可以是

 最接近于某个固定数字所在位置,如5

 最接近于某个动态数字所在位置,如最接近位置上1上的值($1)

 这些位置函数,再结合位置偏移函数可实现强大又直观的快速跳转能力

 

例:根据某个位置上的值的奇偶性来动态选择



说明:当$2是奇数时,选择$3,  是偶数时,选择$9

具体规则设定:

R-=abcdf

R5 =如果(是奇数($2)==1 , $3, $9 )

延伸:if函数中的条件,也可以是某两个或多个数的相加或其它运算后的奇偶性

再加改进,if函数中$3,$9也可以用任何数值表达式替换

 

例:通过匹配表实现数字到数字、甚至数字到字符的无序转化。

在各个运算过程当中,用户都可以把一些对自己有意义的、容易记的特殊数字,进行无序转化,如只把1、3、7三个数字转成5,其余数字则都转成2,可以建立如下匹配表,然后再进行和其它表达式的运算。实现此方法可以用if函数、匹配函数等等,限于篇幅,不列表达式。



 

通过二维表转换:主要是为有特殊需求的用户群体

例:有用户为扩大输出范围,不再只限于是数字,也想包含字母,可以实行多维直观地转换,张是他的姓,于是选择zhang外加abcde,作为特殊字母,注意a重复,小写和大写分两行,如下表二维编码



如用户使用矩阵位置1,2相加后的个位数作为列坐标(蓝色)

使用位置4,5上的奇数个数作为行坐标(红色),则上面数字矩阵时,所对应的密码应该为e,

这里巧妙地利用了大小写,和对自己有特殊意义的字母组合,扩展了输出的值范围。一位输出从10个状态变成了28个状态(a重复了)。

例:移动函数(水平或垂直)

以第5位为基点,垂直循环上移的步数为:第1位数除3后的余数



说明:第1位为2,除3的余数也为2,所以位置5上跳2格到位置8

具体规则设定:

R-=abcdf

R5 = $( 循环上移(5, 
$1 % 3 )) = $( 8 )  = 3


延伸:基点位置,除了是固定外,也可以是动态得到,如通过前面的变址得到。

水平移动和垂直移动函数可组合使用,实现到任一位置上的快速跳转。

 

实现双向认证:用户可通过干预数字矩阵的生成,无须依赖其它手段,就可以实现用户对服务器身份的隐式认证,防止被钓鱼

例:用户指定第1位的值由第2,3位相乘得到,如图



说明:左图是真网站发送过来的,而右图则是钓鱼欺诈网站发送的

规则 $1 = $2 * $3

 

为便于理解,以下是一些函数的逐步演变过程。

 部分函数循序渐进变化路线

 


定址和变址



可以看出,它的强大灵活之处在于,表达式中的数字均可以由其它数值表达式进行层层替换,各种函数都可以相互组合,结合图形方便记忆,单向赋值方式既利于规则保护,又利于速算。

 

写在结尾:在越来越高度依赖于手机等硬件的时代,用户自身的作用越来越被边缘化,而且多数用户的各种各样的账号的密码其实都是一样的,随着进行各种支付宝、微信、网银、刷卡等操作时,也潜藏和累积着各种风险。一觉醒来,财产不翼而飞也不是没有可能。

 

身份验证技术一直以来和大多数人都是密切相关的,因此,它的发展进步也将是影响广泛而又深远的。

这是一种真正意义上的“放心密码”,规则只在心里,不输出,甚至连服务器也不知情,它是传统静态密码的升级。它也不存在人脸、虹膜、指纹识别等静态生物识别技术所固有的缺陷,如易复制、不可更改、非100%识别率、严重依赖外部硬件等。
它可以比传统密码更好记,却又比它更安全
在高科技犯罪不断涌现的未来,它拥有良好的抗未知风险和漏洞的能力

 

三类密码技术的主要特点是:

生物识别技术:信息暴露于外,也存放于外
动态密码:信息隐藏于内
静态密码:信息平时藏于内,用时露于外

 

它尤其适合以下几类用户:

  想轻松的人:借助图形线条,可以轻松做到比静态密码更加容易牢记。

  关心安全的人:借助简单又单向的运算规则,实现了速算又安全。以免过度依赖可能存在潜在未知风险的外部设备,进行思维认证,防窥视,重要的交易和设定须经由大脑知情的用户。

  想统一密码的人:想将各种账户的密码安全地统一起来,不再混淆,只需牢记一个,就能到处使用的用户

  想更便捷的人:在未来,将更倾向于无需手机、无银行卡的空付、空取,如果说未来的静态生物识别技术(如刷脸识别,指纹,虹膜)可使我们摆脱对手机等设备的依赖,空身零携带就可实现小金额快速支付的话,那么再结合它就可以更安全地实现大金额的支付和取现。它可以使我们在应用这些新技术带来的便利时,也能保持很强的抗未知风险的能力。

 


如果还想做进一步地了解,如:

(应用方面)了解更多函数,更多灵活的用法
(应用方面)如何设计易记、又超高安全规则的一些建议
(应用方面)如何实现无运行期异常的低门槛设计
( 技术方面)如何实现用户的规则可以只唯一地放在用户心里,连服务器也不知情的原理
( 技术方面)预生成模式中,如何对抗不法程序对各种用户名的存在性进行嗅探

可以与作者联系:张吕全

微信(可通过QQ号加) : zhang_lvquan  邮箱: zhanglvquan@163.com

QQ:99296575 请注明与动态密码相关(欢迎转载,请保留出处)

 

附加一些java常用的关键字:

 synchronized reentrantlock 的区别 implements stringbuffer和stringbuilder的区别

继承Thread类 和 实现Runnable接口 hashCode()和equals()方法区别,Array和ArrayList,LinkedList System.gc()和Runtime.gc() HashSet和TreeSet区别

PreparedStatement比Statement CallableStament.prepareCall(); ServletRequest session和cookie区别


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息