什么是签名?服务器和APP之间的API接口和数据怎么保证安全

什么是签名?服务器和APP之间的API接口和数据怎么保证安全,第1张

apk签名相当于程序的身份识别代码。
apk签名用于程序编译打包之后,手机在运行程序之前会先去验证程序的签名(可以看作类似于我们电脑上常说的md5)是否合法,只有通过了验证的文件才会被运行,所以签名软件的作用的让文件通过手机的验证为合法,不同的手机、系统是对应不同的签名的。

进行加密通讯防止API外部调用
服务器端与客户端各自会存储一个TOKEN,这个TOKEN我们为了防止反编译是用C语言来写的一个文件并做了加壳和混淆处理。
在客户端访问服务器API任何一个接口的时候,客户端需要带上一个特殊字段,这个字段就是签名signature,签名的生成方式为:
访问的接口名+时间戳+加密TOKEN 进行整体MD5,并且客户端将本地的时间戳作为明文参数提交到服务器
服务器首先会验证这两个参数:验证时间戳,如果时间误差与服务器超过正负一分钟,服务器会拒绝访问(防止被抓包重复请求服务器,正负一分钟是防止时间误差,参数可调整),
然后服务器会根据请求的API地址和提交过来的时间戳再加上本地存储的token按照MD5重新生成一个签名,并比对签名,签名一致才会通过服务器的验证,进入到下一步的API逻辑

一般情况下,时间戳由时间戳服务器完成申请,好多硬件设备厂商就能提供,把设备安装到公司的网络之中就可以使用了。但是这样的时间戳服务器在法庭取证的时候会有质疑,因为他的时间是可以通过修改服务器的时间来修改的。为了解决这个问题,给你推荐一种时间戳:可信时间戳。
可信时间戳服务是国家授时中心时间戳服务中心通过我国法定时间源和现代密码技术相结合而提供的一种第三方服务,可信时间戳有效证明了数据电文(电子文件)产生的时间及内容完整性。解决了数据电文(电子文件)的内容和时间易被人为篡改、证据效力低、当事人举证困难的问题,按照《中华人民共和国电子签名法》第二章第五条的的有关规定,申请了国家授时中心可信时间戳的数据电文具有法律法规规定的原件形式要求。
现在可信时间戳已经广泛的应用于司法电子证据固化、电子数据取证、电子保单、防电子签名伪造、电子病历、知识产权保护、网络著作权保护、网上招投标、电子商务、电子政务等等方面和领域。

方法:
1、需文件签名工具,打开,添加需要数字签名的程序。
2、自动选择自定义选项,下一步,然后点击从文件中选择1cer文件,1cer文件在第一个步骤,生成的目录中,点击下一步。
3、点击浏览按钮,添加文件1PVK,1PVK文件也是在第一步生成的目录中,点击下一步,哈希算法,任意选择,点击下一步。
4、默认点击下一步,出现数据描述框,可以填写,也可以不填。点击下一步。
5、填写时间戳服务器,也可以不选添加时间戳,点击下一步,完成,d出签名成功框。

时间戳服务器使用RSA算法为应用实现业务处理。时间戳服务是作为一个独立的服务调用,用于其他互联网服务的时间戳应用,则只需用户的业务系统按照RFC3161国际标准调用密信云时间戳服务即可。用户可以指定采用RSA算法还是采用国密SM2算法调用时间戳服务以获取不同算法的时间戳签名数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12657483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存