API出入参加解密与防篡改,保障企业数据安全

随着API成为企业系统对接的主流方式,黑客们的主要目标也变为API攻击,尤其是涉及到企业内部机密信息、金融、海关等相关敏感业务交互场景中。因此,API安全防护起着尤为重要的作用,以下述两个场景为例:
业务场景一:A公司开发的客户查询API未进行接口数据加解密,有黑客通过爬虫程序调用开放API查询客户信息的接口。由于没有加解密,A公司的客户数据通过客户信息查询API流出,竞争公司拥有了这批客户数据,对A公司造成损失。
业务场景二:A公司开发的交易API未对接口进行防篡改控制,黑客通过技术手段,对客户提交的表单进行篡改,将1万元的价格改成100元,给A公司造成了经济损失。
针对上述业务场景,苍穹提供了相应的解决方案。本期小编就带大家了解苍穹是如何防止API接口出入参泄露和恶意篡改问题。
1 适用版本
该功能适用版本为金蝶云·苍穹V5.0.011及以上。
2 功能详情
金蝶云·苍穹开放平台已上线接口签名认证功能。签名认证是一种实现第三方系统和苍穹双向签名认证+加密/解密的认证方式,解决了第三方系统和苍穹安全高效的接口交互需求,具备接口参数防篡改、传输数据加解密、数据完整性校验等特性,可支持涉及敏感业务数据的高安全性应用场景。 用户使用签名认证关键有以下三个步骤:
2.1 配置并获取签名认证相关参数
如下图所示,在开放平台进入方应用详情页面,路径:【开发服务云】→【开放平台】→【安全策略】→【第三方应用】。 1、在认证方式模块,开启“签名认证”开关,选择签名策略,并设置认证密钥(appSecret); 2、在代理用户模块,配置代理用户,并获取Secret key; 3、在API加密策略模块,选择加密策略,并配置需要加密的API,下载平台公钥证书。
签名认证配置示例
完成以上配置后,即可获取关键参数,示例参考如下:
# 1. 金蝶云苍穹开放平台公钥 bosPublickBase64Key=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDydqUnwsuqwtsZHSNxf25T/ljk5DE3R4dAJlZCHrwVMNXIsnS97wlhIWq6boAP4DZwry8a9/K40EzkraG4VUpGTOZuP+w5p5fJY8apMkKYKmxtJD1SgWqPkpPyHjanT6v7TmHQ3FUX0GflNXS4Hc8TUUH+TStpggKRsBV+p4VCrwIDAQAB # 2. 金蝶云苍穹开放平台第三方应用代理用户SecretKey openApiSign=SU9hV3Y2MUFYVl9Qb0diVURtb2Y4NFg4bXNWSUVGWFloTTBvbXA5Y0RuWT06MTM1NTYzMzUxOTYxMDU2MTUzNg== # 3. 金蝶云苍穹开放平台第三方应用签名认证的认证密钥 appSecret=Ahg8t9RlLehjlCmz7KbXXQ== # 4. 接口访问上下文 urlPrefix=http://localhost:8080/ierp
注意事项:签名认证目前仅支持POST请求类型的接口
2.2 认证及加解密代码编写
1、签名认证过程说明,具体如下图所示: 签名认证流程示例
URL:{host}/kapi/v2/kdtest/open/openapi_unittest/findOrders
请求方式:POST
请求Header参数:Content-Type=application/jsonOpenApiAuth=5
请求BODY参数:
{
"dgtlEnvlp": "6F56001A8479097414D4F3137C25D0A72EA7D3D9D089AF0498CC1CF9CD90C8D583C0135049B64764AEE26C30DA1C1295F5F21C80F3DC901293A8C64624B66399B95255E8932C3D8F9E65F1FE6AD091948DB8BED453E80B8A4CF2E32E0227E9AEC96B3BE5B57C457589B7578EBADC6EBB4F5ABDD98B6614E3C741AA691FF0259D",
"encryptData": "AAAADKPWJMKRjHiwR67fLSUUfkwcZo0XJQeSEGExBDp1jDCqGl+FB8GNLUQXzLsIdP6kbkyCNTPpYLdu4x5f7EJgPbzJ7fLWN+Cs44OJMKeHapFOgKM=",
"signature": "712f5d468ecb13c8b8fc24118d23bc541a93d2f3d6b5f998af8952bbc862387c",
"signatureNonce": "0f8cf008-9095-4ce7-9600-e28e564aaae7",
"timestamp": "2022-10-19 15:26:33"
}
请求结果:
{
"accountId": "1355633519610561536",
"authType": "5",
"data": {
"data": API出入参加解密与防篡改,保障企业数据安全
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



