三点水弘读什么| 额头发黑是什么原因| 孕妇贫血吃什么补血最好| 婴儿胎发什么时候剪最好| 维生素E什么牌子的效果最好| 什么饼不能吃脑筋急转弯| 客单价什么意思| 养肝护肝吃什么好| 为什么半夜流鼻血| 尿胆原norm是什么意思| 血脂高不能吃什么食物| 二十四节气分别是什么| 坐飞机要什么证件| 女人耳鸣是什么前兆| 低血压高是什么原因| 1963年五行属什么| 距骨在什么位置| 交泰殿是干什么的| 怀孕不到一个月有什么症状| 多巴胺是什么| 抽烟打嗝是什么情况| 和胃降逆是什么意思| 牙齿掉了一小块是什么原因| 泛性恋是什么意思| 男同性恋叫什么| 水逆是什么| 升米恩斗米仇是什么意思| 向日葵什么时候采摘| 短头发烫什么发型好看| 牙齿浮起来是什么原因| 下午6点是什么时辰| 妈妈的哥哥的老婆叫什么| 试管移植后吃什么容易着床| out是什么意思| 出类拔萃什么意思| IC什么意思| ab型血为什么容易得精神病| 热火朝天是什么生肖| 汕头市花是什么花| doms是什么意思| 补铁的药什么时候吃最好| 康复是什么意思| 煮馄饨放什么调料| 前列腺有什么症状| 炁读什么| 梦见自己准备结婚是什么意思| 王字旁的字跟什么有关| 六个口是什么字| 试金石是什么意思| 外伤用什么消炎药| 螃蟹为什么横着走| 痛风该吃什么药好得快| 牙齿遇热就疼什么原因| 小孩下半夜咳嗽是什么原因| 经典是什么意思| 9.30号是什么星座| 血清高是什么原因| 血小板压积偏高是什么原因| 属虎的守护神是什么菩萨| 尿检ph值偏高说明什么| 梦见面包是什么意思| 钙化灶是什么意思| 昏昏欲睡是什么意思| 鼻窦炎都有什么症状| 毛尖是什么茶| 胃疼做什么检查| 阿司匹林和阿莫西林有什么区别| 2021年是属什么年| 头晕想吐是什么原因| 养老院和敬老院有什么区别| 桂圆什么时候上市| 避孕环是什么样子图片| 什么时候怀孕几率最高| 彩超挂什么科| 什么芦荟可以直接擦脸| 身心疲惫是什么意思| 为什么会有牙结石| 省军区司令员是什么级别| 为什么会宫寒| 协警是干什么的| 女人梦见桃子预示什么| 木石是什么字| 松树的叶子像什么| 小朋友坐飞机需要什么证件| 1.13是什么星座| 痔疮嵌顿是什么意思| 宫内早孕什么意思| 一步两步三步四步望着天是什么歌| 遭罪什么意思| 眼睛变红了是什么原因| 积食发烧吃什么药| 刚字五行属什么| 肺癌积水意味什么结果| 尿血吃什么药| 睡觉经常流口水是什么原因| lee是什么品牌| 虎父无犬女是什么意思| 昱这个字念什么| 有蛇进屋预兆着什么| 尿酸高说明什么问题| 湿热吃什么中药| 烫伤挂什么科室| 碱性磷酸酶偏低是什么原因| 什么什么为什么| 2月是什么星座| 这个表情什么意思| 南方有什么生肖| 阴茎出血是什么原因| 痛风可以吃什么| 浙江大学校长什么级别| 天下之奇是什么生肖| 咽隐窝在什么位置| 类风湿性关节炎用什么药| 精神病吃什么药最好| 女人一般什么时候绝经| 喝藿香正气水不能吃什么| 水痘长什么样| 肾尿盐结晶是什么意思| 决明子泡水喝有什么功效| 小满是什么季节| 老虎油是什么意思| 男人跑马是什么原因| 冬天有什么花| 上火流鼻血吃什么降火| 优对什么| 蒂芙尼属于什么档次| 2018 年是什么年| 2015属什么生肖| 熙熙攘攘什么意思| 木丹念什么| 脚后跟痛是什么原因| 十月十六号是什么星座| tomorrow什么意思| 鬼迷心窍是什么意思| 眼睛肿是什么原因| 1981年是什么年| 屁眼痒是什么原因| 脱毛膏是什么原理| 什么是溶血症| 舌头发麻看什么科| 做梦梦见下大雨是什么意思| 同甘共苦什么意思| 应接不暇的暇是什么意思| 总是干咳是什么原因| 黑头发有什么好处脑筋急转弯| 不自觉是什么意思| 河豚是什么| 佛珠生菇讲述什么道理| 下面干涩是什么原因导致的| 裤裙配什么上衣好看| 阿斯巴甜是什么东西| 吃叶酸有什么好处| 极核是什么| 青鱼是什么鱼| 用什么泡脚可以脸上祛斑| 8月15号什么星座| 蓝莓有什么好处| 肝癌是什么原因引起的| 肠子长息肉有什么症状| 脊髓损伤有什么症状| 孕妇吃辣椒对胎儿有什么影响| 报销凭证是什么| 梦见捡了好多钱是什么预兆| 窗口期什么意思| 什么是可支配收入| 尿出来很黄是什么原因| 妲己是什么生肖| 识大体是什么意思| 劳损是什么意思| 什么是气胸有什么症状| 棉涤是什么面料| 哽咽是什么意思| 扫把星代表什么生肖| s.m是什么意思| 什么是爱一个人| 早上喝牛奶有什么好处| 桃和什么不能一起吃| 梦见搞卫生什么意思| 草龟吃什么食物| 国务院秘书长什么级别| 眼镜是什么时候发明的| 做护士需要什么条件| 属猴女和什么属相最配| 什么人不能吃火龙果| 弓形虫是什么| 今年是什么年天干地支| 变白吃什么| 诺帝卡是什么档次| 方方土是什么字| 命里有时终须有命里无时莫强求什么意思| 便是什么意思| 梦见尸体是什么意思| 副处级干部是什么级别| 为什么会突然流鼻血| 海关锁是什么意思| 芥菜什么时候种| sc是什么意思| 普贤菩萨保佑什么生肖| 麦芽糊精是什么| fla是什么牌子| 尿道感染吃什么药好得快| 用什么洗脸可以祛斑| 保护眼睛用什么眼药水| 阳亢是什么意思| 60岁生日送什么礼物| 什么样的白带是怀孕了| 宫腔线分离是什么意思| 壁虎的尾巴有什么用| 宫内感染有什么症状| 女人更年期吃什么药调理最好| 化疗与放疗有什么区别| 女性白带发黄是什么原因| 梦见自己找工作是什么意思| 胆固醇高是什么原因引起| 气血不足吃什么补得快| 异麦芽酮糖醇是什么| 雷诺综合征是什么病| 宫腔镜是什么检查| 长脸适合什么短头发| 洗银水是什么成分| 孕晚期白细胞高是什么原因| 铁是什么颜色的| 经常吃紧急避孕药有什么危害| 血压高应该吃什么食物| 肝不好有什么症状表现| 黑魔鬼烟为什么是禁烟| 什么是代沟| 睡觉起来口苦是什么原因| 朱砂属于五行属什么| 检察院是做什么的| 阈值是什么意思| 北伐是什么意思| 血压低吃什么补血| 静脉血栓有什么症状| 芈月传芈姝结局是什么| 什么水果补充维生素c| 秦始皇的母亲叫什么名字| 甲功是什么| 人为什么要工作| 春天有什么植物| 脸发麻是什么原因| ccu是什么意思| 不均质回声是什么意思| 痞块是什么意思| 褐色分泌物是什么原因| 牙痛吃什么药最好| 咖啡有什么好处| 呕吐发烧吃什么药| 右肩膀疼是什么原因| 什么是比例| 转氨酶高什么症状| 步步高升是什么意思| 朱字五行属什么| 李时珍的皮是什么意思| 纳甲是什么意思| 慢性萎缩性胃炎伴糜烂吃什么药| 有什么小说| 今年气温为什么这么高| 辩证思维是什么意思| 反清复明的组织叫什么| 迁坟需要准备什么东西| 脉弱是什么原因导致的| 农历正月初一是什么节日| 金丝皇菊有什么功效| 百度

李明博夫人私自使用DAS法人信用卡十年 或被控贪污

百度 ”  周秉宜来到北京时才5岁。

从基础库 2.18.0 开始支持

很多小程序业务需要输入一些敏感信息,比如密码口令,身份证,手机号等。不专业的做法是使用明文提交到业务后台,在网络传输中非常容易泄漏出去,同时也不满足合规要求。也有一些改进的做法,利用javascript对敏感信息进行加密,比如把明文的密码口令加密成为密文后再提交到业务后台。但因为小程序本质是基于H5技术,安全性不高,比如在H5上使用javascript比较容易能看到加密逻辑,或者加密强度不够,第三方输入法监听,内存遍历等,还是会造成口令泄露等问题。

为提高微信开放平台生态安全性,针对小程序内数字密码输入场景中可能存在的安全问题,微信侧在input组件开放了安全键盘类型。通过引入安全键盘,小程序可以在用户输入过程中对关键信息时进行加密,防止键盘窃听,内存保护,有效保障用户数据资产的安全。

# 安全键盘保护原理

安全键盘采用非对称加解密算法,该算法需要两个密钥,一个叫公钥,可以公开,另一个叫私钥,需要私密保管。其中公钥加密的密文,只有私钥才能解开,而且通过公钥没办法计算出私钥,这样黑客即使拿到公钥也没办法解密密文。我们一般把公钥放到客户端上(比如小程序环境)做加密,私钥放到业务后台,这样就只有后台才能解密。黑客比较容易攻击本地客户端,但是攻破后台则难很多,甚至有些业务把私钥存储到硬件加密机芯片里面,这种情况黑客更是没办法获取得到私钥,因此采用非对称加解密算法是安全键盘推荐的模式,安全性可以得到保障。 为了保证私钥的私密性价值,我们要求不同的小程序业务使用自己独有的公钥私钥对,这样就可以完美的做到业务加密的数据隔离,业务A的公钥加密数据,就只有业务A自己的私钥可以解开,业务A的责任就是负责保护好自己的独有私钥即可。 为了证明一个公钥是属于业务A的,我们会颁发一个数字证书给到业务A的开发者,数字证书由腾讯官方签名,保证了可靠性与不可篡改性,数字证书里面会绑定一个业务独有的公钥, 业务的私钥是在向腾讯申请数字证书的过程中产生的,业务负责管理好自己的私钥,这个过程中,腾讯仅能接触到公钥,没办法得到业务自己的私钥,意味着即使是腾讯也没办法去解密小程序业务的用户输入的密码口令。为了国家合规的要求,我们颁发的是国产密码算法的数字证书,意味着非对称加解密算法是使用sm2算法,而非rsa等国际算法。

不同小程序业务,可能要加密的数据的格式可能有不同的要求,比如当用户输入的口令是“123456”,有些业务直接对明文做加密即可, 有些业务可能想先做一个哈希处理再加密,比如使用md5("123456"), 做了哈希后,能更有效的保护用户的明文密码,让业务都不好推测用户实际密码是什么, 另一些业务可能采用sha1哈希算法sha1("123456"), 也有业务采用更合规的国产密码哈希算法sm3(“123456”),甚至有些业务希望加上一些混淆字符(密码学中叫加盐)到口令明文里面,做更好的保护,就可能会变成sm3("123456+abc"), 这里面"+abc"就是额外加上的混淆字符示例。 所以为了能让不同的小程序业务有符合自己业务需求的加密格式,小程序安全键盘也开放了密码格式配置的能力,从而更好的跟自己的整体业务结合在一起,但是这个格式做不到万能兼容所有,所以当你应用小程序安全键盘的时候,可能会涉及部分后台验密服务的改造工作量,请提前评估可行性。

# 使用流程

# 1 生成证书签署请求

开发者可自行生成公钥私钥、证书签署请求,也可通过微信侧提供的工具生成证书签署请求。通过微信侧提供的工具(Windows / Mac)生成证书签署请求的步骤如下:

  1. 通过SM2 Generate Key Pair功能生成公钥私钥

  1. 通过SM Generate Cert CSR功能生成CSR

# 2 生成证书

在小程序管理后台「开发」-「开发管理」-「开发设置」-「安全键盘证书」板块填入CSR进行生成。

# 3 使用证书

  1. 将生成的证书放入小程序代码包中。
  2. input组件中设置type=“safe-password”,并设置相关参数(safe-password-cert-path、safe-password-time-stamp、safe-password-length、safe-password-nonce、safe-password-salt、safe-password-custom-hash)。

# 代码示例

<input 
  style="border: 1px solid blue;"
  type="safe-password"
  placeholder="123456"
  safe-password-cert-path="/minipro_test_cert.crt" 
  safe-password-time-stamp="1618390369" 
  safe-password-nonce="1618390369" 
  safe-password-salt="zefengwang" 
  safe-password-custom-hash="md5(sha1('foo' + sha256(sm3(password + 'bar'))))"
  bind:blur="onBlur"
  bind:input="onInput"
  value="{{value}}"
></input>
<button bind:tap="onClear">clear</button>

<view>{{detail}}</view>
Page({
  data: {
    value: '123'
  },
  onInput(res) {
    console.log('onInput', res)
    this.setData({
      value: res.detail.value,
    })
  },
  onClear() {
    this.setData({
      value: '',
    })
  },
  onConfirm() {
    console.log('confirm')
  },
  onBlur(res) {
    console.log('onBlur', res)
    this.setData({
      detail: JSON.stringify(res.detail, null, 2)
    })
  },
})

# 密文

# 密文格式

安全键盘为了保护用户口令,采用了各种密码学算法来保护用户敏感信息,这些算法是可以根据小程序业务的实际需要做灵活配置的,因为不同的小程序,采用的口令加密格式不同,所以有必要做符合自己业务的配置。

小程序安全键盘对用户密码口令加密后的通用格式如下:

'V02_' + sm2(header + timestamp + '\0' + pbkdf_hmac_hex(password, salt) + '\0' + nonce + '\0' + 随机数)

其中,pbkdf_hmac_hex()为安全键盘计算hash的算法表达式,可通过safe-password-custom-hash属性进行设置。 header前两个字节,用于标识密码hash算法:

  1. 0x00 0x00: custom hash
  2. 0x00 0x07: pbkdf_hmac_hex

这个格式考虑了几点安全因素:

  1. 防重放:传入正确的时间戳timestamp,每次加密nonce 保持自增,保证了即使口令相同,每次加密密文也不相同
  2. 防暴力破解:sm2非对称算法本身保证了防暴力破解的可能
  3. 防追溯原文:内置pbkdf_hmac_hex 算法,也可以自定义hash算法;
  4. 防彩虹表攻击:小程序开发者可以自定义动态salt;

小程序开发者如果打算使用安全键盘,首先在本地生成sm2 秘钥对,然后前往小程序管理后台申请小程序安全键盘数字证书。证书下发下来后,需要和小程序代码一起发布。 小程序调用安全键盘时,需要传入小程序安全键盘数字证书,完成证书合法性校验之后,再提取证书公钥并采用sm2 算法对用户数据进行加密。 由于采用证书公钥加密,只有用开发者自己持有的私钥才可以解密出数据明文。网络传输过程中,即使密文被恶意拦截,攻击者也无法拿到明文。

# 如何解密或验密

'V02_' + sm2(header + timestamp + '\0' + hash(password, salt) + '\0' + nonce + '\0' + 随机数)

后台接收到密文后,参照以上格式进行解析: 1、 移除密文4字节前缀; 2、 使用小程序安全键盘证书对应的sm2 私钥解密,得到明文数据; 3、 解析明文数据,可以得到时间戳、密码hash、nonce 等字段;

首先,小程序开发者后台只能得到脱敏后的密码hash,无法得到明文。当然,根据合规要求,后台也不应该获取到用户密码明文。 其次,小程序开发者后台应妥善保存密码hash,作为匹配用户密码是否一致的依据。比如在用户注册或修改密码流程中,后台SM2 私钥解密出密码hash 之后,应当在数据库中(或者其它存储技术)持久化保存该密码hash。在后续用户登录或其它需要校验密码的场景,通过对比用户请求过来的密码hash 和之前保存的密码hash 是否一致,来确定密码是否验证通过。

哈哈是什么意思 经常喝蜂蜜水有什么好处和坏处 吃蝎子有什么好处 没事找事是什么意思 注是什么意思
心脏积液吃什么药最好 什么是新陈代谢 不想要孩子用什么办法最好 篱笆是什么 意境是什么意思
仰卧是什么姿势 弟是什么结构的字 尿素高不能吃什么 么么哒什么意思 后羿射日什么意思
龙马精神代表什么生肖 眼皮红肿是什么原因 腮腺炎什么症状 lac是什么意思 干白是什么酒
老师的老公叫什么hcv9jop0ns8r.cn 鬼蝴蝶为什么不能抓clwhiglsz.com 婴儿为什么老吐奶hcv9jop5ns8r.cn 基因突变是什么意思hcv7jop5ns3r.cn 眼睛流泪是什么原因qingzhougame.com
血压的低压高是什么原因hcv8jop7ns1r.cn 组织液是什么hcv7jop5ns6r.cn 梦见猫咬我是什么意思hcv8jop4ns4r.cn 肺结核是什么症状hcv9jop1ns2r.cn 1月14日什么星座hcv9jop4ns4r.cn
破相是什么意思hcv7jop9ns3r.cn 身上长血痣是什么原因引起的hcv9jop0ns0r.cn 槲皮素是什么东西hcv9jop4ns9r.cn 乳房胀痛是什么原因引起的hcv9jop2ns4r.cn 柴米油盐什么意思luyiluode.com
脾虚吃什么药hcv7jop4ns6r.cn 背部疼痛挂什么科hcv8jop9ns7r.cn csv文件用什么打开hcv9jop5ns7r.cn 佛道是什么意思hcv8jop8ns5r.cn 小巴西龟吃什么食物hcv9jop0ns2r.cn
百度