【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

专访友录创始人姜洋,谈移动客户端安全

  • 2011-12-22
  • 本文字数:1590 字

    阅读完需:约 5 分钟

姜洋是知名手机软件“友录通讯录”的创始人之一,该软件1 年间收获了超千万次的下载,日前友录团队悄然推出了新的商务社交应用“友联系”,主打纸质名片识别、电子名片交换、同道聚会等维护和拓展人脉的功能。

从保存和保护用户备份的通讯录数据,到协助用户拓展人脉关系,安全性始终是姜洋及其团队考虑的重中之重,多年移动开发的经验也让他在这方面逐步有了真正的经验积累。针对近期用户信息泄露泄露的系列安全事件,InfoQ 对他进行了专访。

InfoQ:从移动客户端开发的安全来讲,您觉得最应该注意的是哪些东西?

姜洋:手机客户端的安全,首先密码不能明文保存,这是最基本的。一般都是做一个 MD5 加密,但是反向 MD5 的库其实也挺多的,所以 MD5 这事儿也并不那么安全。我觉得还是要用一些对称的加密策略,去加密和服务器通讯的协议,一般是用 AES。如果用 AES,必然涉及到密钥,这个密钥如果直接写在程序里面,也是不安全的,有可能被反编出来。如果使用常量,也肯定很容易就找到了,特别是 Java,Java 是可以反编译的,就是混淆了也可以被找的到。

我们用的办法是这样:我们的密钥是 t 和平台相关的,Android 平台用这个,iOS 用另外一个,Windows Phone 再换一个,这可以加强反编译的难度。还有很重要的一点:这个密钥也就是用一个函数算出来的,而不是写在常量里边,这是我们目前的做法。

手机客户端的安全这块儿,目前业界做得挺糟糕的。去年,美国的 Instagram 就出现了明文传输用户名和密码的重大安全漏洞。现在好多软件和新浪微博、FaceBook、QQ 这些 SNS 平台是打通的,只要知道一个密码,就相当于他什么都知道了,这个也很不安全。如果走 WiFi,通过 WiFi 抓取上行数据,WiFi 里边经过的各种协议和信息都有可能被截获,然后知道用户的密码,特别是公共 WiFi 上。

我觉得加密这个东西,很难做到非常彻底,真要想把你的密钥找出来,目前也能找出来,只不过是增加他们的成本。有时候我觉得更主要的原因,还是出于程序员比较懒,由于懒的结果才犯这种错。

在后端服务器的安全上,我们在一开始创业的时候也强调得非常多。现在友录整个的数据已经上亿条了,我估计会有黑客惦记,所以我们也比较紧张。特别现在安全事故也发生挺多的,我们反正也经常强调吧。

InfoQ:像我们 InfoQ 的很多读者除了是技术人员之外,他本身也是用户,从用户角度出发,您还有哪些安全方面的建议?

姜洋:我建议他们不用那些安全上不靠谱的应用,但这可能也不太现实。用户反正一直就看那功能对他有没有价值,有他可能就去下载了。我觉得这个只能靠提高从业人员的素质。莫名其妙的一个应用装上,没有品牌的这样一个应用,特别是说谁做了一个打通新浪微博的应用,然后用了一下,就可能会出问题。用户在用应用的时候,最好知道可能会发生什么,那会好一点。

这就好比说:大街上随便谁放一个提款机,让你把银行卡插进去,然后你就指着从里边取出来钱,其实这两个事挺类似的。之前好像也有人造那种假的提款机出来,然后窃取用户密码,你的钱就被偷走了。我觉得现在的互联网行业有点类似。

InfoQ:也就是说其实这种隐患还是很多的,用户一定要自己长个心眼就对了?

姜洋:对,这没啥办法,可能你大街上放个取款机这事儿挺大的,有人来查你。但是做一个 App 太容易了,目前没啥好办法。

InfoQ:这次用户信息泄露事件,你觉得大家应该从里面吸收什么样的经验教训?

姜洋:我觉得这给整个行业提了个醒,所有做同类事情的,保存用户名、密码的,都留神点。但因为某几个程序员懒了一下,就如何如何了,我觉得也不会。还是领导不够重视,领导如果亲自盯一下,问的多一点,把每个细节关键细节都问一遍,应该也不至于发生这种事。

InfoQ 安全系列—专访韩轶平:整个行业都要提高安全意识

InfoQ 安全系列—专访土豆网技术副总黄冬:后端服务器的隔离非常重要

InfoQ 安全系列—专访安全宝 CEO 马杰:安全需要做到整条战线的严丝合缝

InfoQ 安全系列—安全问题成为社区热点

2011-12-22 20:281909
用户头像

发布了 479 篇内容, 共 152.6 次阅读, 收获喜欢 47 次。

关注

评论

发布
暂无评论
发现更多内容

WebAssembly技术_JS调用C函数示例_传递参数、方法导出

DS小龙哥

webassembly 3月月更

presto是如何保证作业内存不会发生冲突和溢出

华为云开发者联盟

内存 presto 内存计算引擎 System Pool general Pool

Rust的Cow类型

Shine

rust cow

你了解部署流水线吗?

华为云开发者联盟

自动化 软件开发 devcloud 部署流水线 流水线

FAQ(常见问题)页面的编写技巧

小炮

企业 常见问题 客户服务

Redis集群架构剖析(3):集群处理redis-cli指令

非晓为骁

redis 架构 分布式 redis cluster

《软件开发的201个原则》思考:4. 高质量软件是可以实现的

非晓为骁

个人成长 软件工程 软件开发

RocketMQ的tag还有这个“坑”!

中间件兴趣圈

RocketMQ tag 消息过滤

java培训Redis高频面试考点

@零度

Java redis

玩转OpenMLDB社区,四张角色卡待解锁

第四范式开发者社区

人工智能 数据库 开源 贡献者 特征平台

春招进行时!当代大学生求职行为大赏

易观分析

求职 招聘 春招

☕️从Java8到Java17的新特性(一):Java8 的新特性

看山

Java java8

大数据培训十大Hive调优技巧

@零度

大数据 hive调优

公有云RDS太贵?基于ECS构建的多云RDS服务可降低近半成本

沃趣科技

数据库 公有云 RDS 云数据库RDS for MySQL 云数据库Redis

昇腾CANN论文上榜CVPR,全景图像生成算法交互性再增强!

华为云开发者联盟

CVPR CANN 图像生成 昇腾AI处理器 图像布局

深入浅出 Vue3 核心知识点

百瓶技术

Vue 前端 VUE 3.0 源码 vue3.0

DPU芯片头部企业云豹智能加入龙蜥社区,共同推动新一代数据中心基础设施蓬勃发展

OpenAnolis小助手

云计算 开源 芯片 龙蜥社区

小程序电商微服务设计

唐尤华

架构实战营

Redis:在windows环境安装Redis

喀拉峻

redis

最好的 6 个 React Table 组件详细亲测推荐

蒋川

React

如何消除代码山中那一大坨参数列表

华为云开发者联盟

代码 软件设计 参数 全局变量 参数列表

使用APICloud AVM多端框架开发仿微信通讯录功能

YonBuilder低代码开发平台

前端开发 APP开发 APICloud 多端开发 avm.js

一文搞定 Flutter 底部弹窗实现

岛上码农

flutter 跨平台 ios开发 Android开发 3月月更

IOS技术分享| ARCallPlus 开源项目(一)

anyRTC开发者

ios 移动开发 语音通话 视频通话 呼叫邀请

HertzBeat赫兹节拍 v1.0.beta.6 发布,Linux监控来啦

TanCloud探云

开源 APM 监控 告警

Jetpack Compose之 在Compose中使用Navigation导航

黄林晴

android Compose JetPack

云效DevOps全家桶评测征集令重磅来袭!免费使用云效全套功能

阿里云云效

云计算 阿里云 DevOps 云原生

焕然一新的 Vue 3 中文文档来了

CRMEB

如何在新公司快速落地

Hockor

5G 和 Wi-Fi 市场与技术的一些思考系列之二

李伟-晨泳

聊聊 C 语言和 ABAP 这两门编程语言的关系

Jerry Wang

c++ 编程语言 C语言 abap 3月月更

专访友录创始人姜洋,谈移动客户端安全_安全_郑柯_InfoQ精选文章