zoukankan      html  css  js  c++  java
  • 基于B/S下的IC智能卡的安全问题解决方案

            最近在很多社区都有人问到B/S下的IC卡的读写,当然要用ActiveX了,不知道有没有其他好的办法。
            但是他们都忽略了一个问题----安全性。
            B/S下的IC卡的读写需要使用ActiveX来辅助完成,ActiveX是下载到每个客户端执行的,任何个用户都可以得到该ActiveX。如果对IC卡在安全性方面要求很高,在加密数据或密码的过程中很难做到完美,原因是客户端的ActiveX需要配合脚本如js或vbs来完成,而客户端脚本通常都是透明的,目前尚未找到特别安全的基于B/S的解决方案。


           我在实际应用中用到两种方法:

           第一种:利用加密解密技术   
           流程如下:
           1.用户的浏览器发出浏览登陆网页的请求。
           2.服务器生成一个长的随机串A,并纪录A,把这个串写在网页中的activex的参数里。
           3.浏览器收到该页面, 显示,并创建 activex 实例, acrivex 实例将此字串发给刷卡机, IC卡用其内部的算法(复杂的如私钥加密)对A加密,返回串 B 到 activex实例。
           4.网页提交时, 将 activex实例 中的B读出, post给 服务器。
           5.服务器收到B后, 使用相应的算法(复杂的如公钥解密)算出 xA, 比较 A?=xA, 就知道使不是合法登陆了。
          

            第二种方法, 利用 M$的用户验证方法。
            客户机先利用IC卡登陆本地系统(M$有此项接口), 之后,利用M$身份认证机制,让 服务器检查,是不是指定的用户。


             个人认为,你用第一种会更好点。

  • 相关阅读:
    vue项目总结,所用到的技术点
    豆瓣电影个人项目总结
    博学谷项目总结,个人总结经验
    JavaScript数组的常用方法
    移动端base.css的内容,
    normalize.css可以对css初始化,不同浏览器可以统一初始样式
    jsp第十次作业
    jsp第九次作业
    jsp第八次作业
    jsp第七次作业
  • 原文地址:https://www.cnblogs.com/jintan/p/239735.html
Copyright © 2011-2022 走看看