V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
manami
V2EX  ›  问与答

双因素认证(2FA, two-factor authentication)在国内似乎不流行?

  •  
  •   manami · 2021-01-05 09:47:09 +08:00 · 6859 次点击
    这是一个创建于 497 天前的主题,其中的信息可能已经有所发展或是发生改变。

    双因素认证能很好地防止密码泄露导致的入侵问题。国外的很多网站在开启双因素认证,比如 Github 、Gmail 、Reddit 等。

    经常多个网站使用同一套密码的原因,自己从去年年初开始习惯在一些国外网站开启双因素认证。试了 Google Authenticator 、Authy 、FreeOTP 等几款身份认证器,目前比较喜欢 Authy 这款 APP 。

    但是双因素认证技术似乎在国内不流行?国内的网站、APP 好像更多的是通过发送短信的方式进行二次验证。从节省成本的角度考虑,对采用短信而不用双要素认证不太理解。

    或者是我不知道,国内是否已经有在广泛使用双因素认证的案例。比如微信电脑端登录需要手机微信扫码确认这种是不是双因素认证的变体?

    79 条回复    2021-11-24 06:57:36 +08:00
    cairnechen
        1
    cairnechen  
       2021-01-05 09:53:07 +08:00   ❤️ 6
    我不太理解,短信验证码难道不是双因素的一种吗?
    Maxxxxyu
        2
    Maxxxxyu  
       2021-01-05 09:56:00 +08:00   ❤️ 5
    短信,邮件接受验证码都可以算双因素验证,只不过国内现在连输密码这个步骤都跳过了,可能是因为国内手机号都是实名的?

    另外国内游戏用双验证挺早的,以前用那种物理的密保卡,现在各种令牌之类的都算双验证。
    manami
        3
    manami  
    OP
       2021-01-05 09:56:09 +08:00
    @cairnechen 其实我对 2FA 的概念也不是太了解。目前我接触到国外的 2FA 都是下载身份认证器 APP 扫码绑定,然后每次可以进去刷新获取一个动态码的方式
    manami
        4
    manami  
    OP
       2021-01-05 09:58:11 +08:00
    银行的电子密码器这种物理固件好像
    tangds99
        5
    tangds99  
       2021-01-05 09:58:27 +08:00   ❤️ 1
    @manami 这不就是 10 几年前流行的将军令吗
    HFX3389
        6
    HFX3389  
       2021-01-05 09:58:58 +08:00   ❤️ 1
    @manami #3 就像以前的 QQ 动态令牌
    agagega
        7
    agagega  
       2021-01-05 09:59:42 +08:00 via iPhone   ❤️ 3
    国内手机号都快成惟一的账号 id 了,靠邮箱来 2fa 肯定不行。离线的 totp 和 hotp 没 App 搞,我猜想产品他们肯定又要说什么国内用户水平不高之类的话,然而我寻思其他国家也不是人均懂王。
    Googlefan
        8
    Googlefan  
       2021-01-05 10:00:13 +08:00 via Android   ❤️ 1
    QQ 安全中心令牌,银行电子验证器,应该也算是吧?
    iceneet
        9
    iceneet  
       2021-01-05 10:00:15 +08:00   ❤️ 1
    现在主要是手机都实名制了 所以用手机验证了
    xingyuc
        10
    xingyuc  
       2021-01-05 10:00:40 +08:00   ❤️ 4
    短信安全吗,手机丢了,卡丢了,不危险吗。手机放家里了,无法登录,不折腾吗
    jfdnet
        11
    jfdnet  
       2021-01-05 10:01:05 +08:00   ❤️ 1
    @manami 手机短信验证码 也是动态码 一个意思。
    wangxiaoaer
        12
    wangxiaoaer  
       2021-01-05 10:01:10 +08:00   ❤️ 1
    了解一下畅游旗下的各种游戏,就是你说的两步验证。
    manami
        13
    manami  
    OP
       2021-01-05 10:01:10 +08:00
    2FA 身份验证好像可以离线的,现在用的 Authy 都是可以离线获取动态码,有没有专业人士解答下
    easonHHH
        14
    easonHHH  
       2021-01-05 10:04:31 +08:00   ❤️ 1
    @manami #13
    https://www.ruanyifeng.com/blog/2017/11/2fa-tutorial.html
    所以为什么要求时间跟服务器要求 30 秒误差内
    boris93
        15
    boris93  
       2021-01-05 10:04:42 +08:00 via Android   ❤️ 1
    @manami #13 正好我们前两天刚实现了一个
    因为 TOTP 算法是定好的,我们服务端生成好一个密钥,做成二维码给用户扫,扫完了手机端按照相同的算法就生成了那 6 位数字,不需要联网
    ysc3839
        16
    ysc3839  
       2021-01-05 10:04:47 +08:00   ❤️ 1
    @manami Authy 那是 Time-based One-time Password (TOTP),是通过一个密钥加上当前时间算出来的,密钥是存在本地的,所以可以离线使用。
    chroming
        17
    chroming  
       2021-01-05 10:10:28 +08:00 via iPhone   ❤️ 1
    在公司维护了一个对内的 totp 服务,软件也是内部用的软件对接 sso 自动开通令牌。国内不普遍我觉得重要的原因是手机人人都有,用短信能减少用户学习成本。
    charseer
        18
    charseer  
       2021-01-05 10:17:45 +08:00   ❤️ 1
    用 keepass 就能很好代替各种 2fa 客户端,暴雪的啊 steam 的啊都能装一起
    ired
        19
    ired  
       2021-01-05 10:27:29 +08:00   ❤️ 7
    负责过用户系统,也调研 过 2FA/MFA(多因素)。
    海外用户多的主要的原因在于,账户习惯使用邮箱。从而在安全性上更加需要二次验证。(如 Github 、Gmail 、Reddit )
    国内由于手机号(并且近些年的实名),本身短信验证码就是 2FA 的一种实现方案。

    ------------------------

    题外话,从安全性来说,手机短信的安全性 > TOTP 离线动态码(简称令牌)。
    业界通用的方案是绑定令牌前,需要绑定手机号。
    也可以通过手机验证码解绑令牌。

    ------------------------

    为什么要求时间跟服务器要求 30 秒误差内?
    这个只是 Google 提供的算法默认配置而已,算法本身可以简单理解为 hash (密钥 + current_time() / 30) 得到的值。
    所以大于 > 30 秒,客户端 和 服务端 计算出来的 hash 值就不一致了。

    ------------------------

    误差大于 30 秒的解决方案?
    server 的校验客户端计算出的 hash 值时,可以配置允许的误差,如前后加 N 个时间片( current_time() / 30 )。
    举例:如果允许前后加 1 个时间片,服务端几计算的动态值为 CH 。
    那么 server 会校验 3 次。
    CH == hash (密钥 + current_time() / 30)
    || CH ==hash (密钥 + (current_time() / 30) - 1)
    || CH == hash (密钥 + (current_time() / 30) + 1)

    匹配成功一次即为验证成功。
    dnsdk
        20
    dnsdk  
       2021-01-05 10:28:47 +08:00
    微软自家的 Authenticator,连密码都不用输就登录了。既然都需要打开 app 了,感觉扫码登录更快。
    Jooooooooo
        21
    Jooooooooo  
       2021-01-05 10:30:29 +08:00
    tob 的很多, 为了安全可以牺牲便捷性

    比如登录公司内网
    ired
        22
    ired  
       2021-01-05 10:32:54 +08:00
    @ired
    举例:如果允许前后加 1 个时间片,服务端几计算的动态值为 CH 。
    -------------笔误--------------
    举例:如果允许前后加 1 个时间片,客户端计算的动态值为 CH 。
    essethon
        23
    essethon  
       2021-01-05 10:47:53 +08:00   ❤️ 2
    @dnsdk 微软是我用过的登录方式选择最多、体验最好的,YubiKey 一插,莫说密码,连用户名都不用输入😂

    @manami 据我所知国内大厂(就是那两家大厂)的习惯是,2FA 可以有,除了短信外 TOTP 可以有,但是一定要自己搞一套,坚决不支持公开通用的洋人的 App.
    比如说腾讯云,它也支持 6 位数验证码,但是必须用那个腾讯云助手微信小程序绑定,不给你使用 Google Authenticator 等通用 App 的机会。

    当然可能有例外,如有请指正。
    yuhuike
        24
    yuhuike  
       2021-01-05 10:51:19 +08:00 via Android
    国内现在啥都是短信,很多网站密码都是废的,你换了设备必须手机验证
    libook
        25
    libook  
       2021-01-05 11:02:41 +08:00
    现在运营商搞了一个一键登录的功能,类似短信验证码,但是把收发验证码的过程省了,运营商在用户同意之后直接提供手机号给 App 厂商,确保是准确的。

    有安全意识的人不多,这部分人又觉得大多数 App 都没必要做到特别安全,剩下的密码加短信也就够了,海外一般是密码加动态口令,这个是不同的用户习惯导致的。

    国内等保会对企业内系统要求使用双因素认证,但不要求具体形式,只要求使用现代密码技术。
    USAA
        26
    USAA  
       2021-01-05 11:03:13 +08:00
    我是不想花钱买设备。
    就算有设备,我只想买一个设备所有的网站都可以使用
    但是问题是,这是块大蛋糕,除非是能垄断,不然谁碰谁死
    337799
        27
    337799  
       2021-01-05 11:12:53 +08:00
    国内都是短信了。 国外当年应该是由于短信属于个人隐私,用户不太愿意填,大部分是 email,或者类似 Google Authenticator 之类的 app 。 华为手机禁了 google service 之后,Google Authenticator 也用不了了,就很难受了。
    linksNoFound
        28
    linksNoFound  
       2021-01-05 11:39:22 +08:00
    你说的这个设备,它免费吗?
    manami
        29
    manami  
    OP
       2021-01-05 11:42:22 +08:00
    @linksNoFound 是免费的
    v2tudnew
        30
    v2tudnew  
       2021-01-05 11:44:23 +08:00
    @337799 #27 我记得谷歌是离线版,不需要联网也可以用啊,也不需要谷歌构架。
    v2tudnew
        31
    v2tudnew  
       2021-01-05 11:45:53 +08:00
    其实我想给 OpenWRT 也加个 TOTP,但不知道怎么弄。
    baomoe
        32
    baomoe  
       2021-01-05 11:48:51 +08:00
    玩过网游没 古剑奇谭网络版 剑网 3,都是你说的这种,既可以离线也可以在线。叫安全令牌。魔兽应该也有。
    xmumiffy
        33
    xmumiffy  
       2021-01-05 12:10:52 +08:00 via Android
    因为国内大部分你见到的账号系统没有这么高的安全需求
    toptyloo
        34
    toptyloo  
       2021-01-05 12:15:27 +08:00 via Android   ❤️ 1
    @essethon 阿里云支持通用的 TOTP 软件
    crab
        35
    crab  
       2021-01-05 12:15:59 +08:00
    @xingyuc 这就属于抬杠了,毕竟任何都可以泄露。
    belin520
        36
    belin520  
       2021-01-05 12:24:42 +08:00   ❤️ 1
    你的标题幸亏是问号结尾的,不然就是错的。
    miaoever
        37
    miaoever  
       2021-01-05 12:36:45 +08:00   ❤️ 3
    请不要使用手机短信作为 2FA 验证手段,因为及其不安全,难道大家忘了之前那个因为手机被盗而一夜间被开通各种网贷的事了么。
    miaoever
        38
    miaoever  
       2021-01-05 12:40:22 +08:00   ❤️ 2
    接楼上,补上链接:<一部手机失窃而揭露的窃取个人信息实现资金盗取的黑色产业链> https://www.freebuf.com/articles/network/249294.html
    taobibi
        39
    taobibi  
       2021-01-05 13:03:00 +08:00   ❤️ 1
    国内“安全”的核心是实名+可管可控。楼主可以关注一下各种国内安全大会的讲演。每次“可管可控”都是第一位的。至于用户端安全,不是核心内容。因为造成了经济损失可以通过打官司解决,而做的完全可管可控之后,也很方便给法院提供证据。
    去年开始,有的安全厂家开始推广“诱导安全”策略,就是不再堵截账号入侵,而做好日志及追踪系统。通过日志系统把人抓了就解决问题了
    ahhui
        40
    ahhui  
       2021-01-05 13:06:33 +08:00   ❤️ 7
    @miaoever 是的,而且手机已经不是双因素的因子了,它已经成为单因素登录。很多 app 都支持手机号一键登录。而双因素最主要的问题是,丢失任何一个 因素都不会导致被盗号,而且有至少 3 个因子存在(密码、2FA 密码、救援码),只要保证手里同时有 2 个因子,账号就不会丢。丢失任意一个,也不会导致账号被盗。而手机号不仅做不到上述几点,甚至还弱化了双因素的安全性。为了弥补这个缺失,所以很多厂商,采取了获取扫脸信息的其它因素来辅助验证,美其名曰更安全,实际上是抛弃了安全方案而选用了一个需要泄露生物信息的更复杂方案。
    ahhui
        41
    ahhui  
       2021-01-05 13:07:16 +08:00
    而双因素最主要的问题是->而双因素最主要的好处是
    essethon
        42
    essethon  
       2021-01-05 13:20:46 +08:00
    @toptyloo #34 感谢,查了一下文档确实。我最近都没有在用阿里云产品,不过印象中前两年我还在用阿里云的时候是不支持的,可能那时候还叫 MFA 。现在文档里有一句「多因素认证( MFA )已更名为 TOTP 。」
    xingyuc
        43
    xingyuc  
       2021-01-05 15:16:26 +08:00
    @crab 但是在中国手机丢了问题很严重啊,我以前丢了整个人都懵了,挨个给银行打电话冻结银行卡
    lbyo
        44
    lbyo  
       2021-01-05 16:16:53 +08:00
    @337799 #27 用 Gmail 注册了 Microsoft Authenticator
    crab
        45
    crab  
       2021-01-05 16:18:10 +08:00
    @xingyuc 你是不是没设置 sim 卡的 Pin 锁,理论上丢了补卡下就好啊。
    systemcall
        46
    systemcall  
       2021-01-05 16:52:35 +08:00 via Android
    @crab 理论上,知道手机号有很多办法得到身份证号,凭着身份证号可以去运营商的客服那里得到 pin 码
    hyshuang2006
        47
    hyshuang2006  
       2021-01-05 18:15:55 +08:00
    短信接收验证码?几分钟后甚至半小时后才收到,效率体现在哪?
    systemcall
        48
    systemcall  
       2021-01-05 18:47:06 +08:00   ❤️ 1
    @hyshuang2006 用户只是消耗品而已,要考虑消耗品的感受吗?
    shyling
        49
    shyling  
       2021-01-05 18:48:10 +08:00
    国内一般的场景是不那么流行,有的直接手机号一键就登陆了。

    支付时大部分还是密码 + 短信验证码的。。

    真要是手机丢了,app 看 code 和 收短信好像区别也不大。。(手机还能挂失搞个临时停机?)
    tsukiikekaoru
        50
    tsukiikekaoru  
       2021-01-05 19:01:37 +08:00 via iPhone   ❤️ 4
    因为没有经过 web 的大规模洗礼。web 时代电子邮件才是底层的基础设施服务,每个人都必有一个电子邮件账户。而国内全民数字化是在移动互联网微信、抖音、快手崛起以后,手机成了底层的基础设施,每个人必有一个手机号,而此时的用户由于不再需要接触 web,电子邮件服务根本不再是必需品,这一阶段的用户由于知识水平问题也不会 web 、电子邮件那一套逻辑,再叠加 17 年的实名制,导致所有企业可以名正言顺的采取统一行动强制从账户体系从电子邮件切换到手机号,而不必担心反弹。在那之后的公司很多更进一步完全舍弃电子邮件甚至舍弃密码,强制要求验证码登录。这一现象再注重数据的公司和盛行广告推销的企业尤其严重。
    TypeError
        51
    TypeError  
       2021-01-05 19:21:03 +08:00 via Android   ❤️ 1
    @cairnechen 短信风险极高
    hshpy
        52
    hshpy  
       2021-01-05 19:49:13 +08:00
    @systemcall 解锁拿 puk 码或补卡要本人和身份证,如果在异地还需要服务密码。
    SenLief
        53
    SenLief  
       2021-01-05 19:49:29 +08:00
    @systemcall pin 更改后运营商那边应该是没有的,需要 puk 解锁掉 pin 。这个就要看营业厅是否违规操作了。
    SenLief
        54
    SenLief  
       2021-01-05 20:28:39 +08:00
    其实手机验证码也算是 2fa 吧,和那些 app 验证有什么本质上的区别吗?手机丢了被解锁了,一样不是打开 app 看。
    Tumblr
        55
    Tumblr  
       2021-01-05 21:04:32 +08:00
    楼主对 MFA/2FA 的理解太狭隘了。。。
    一般说到认证首先是账号+密码,除此之外,场所(比如信任的网络环境)、密保问题、图片、短信、验证器以及一些物理验证(卡、密钥等)等都算是多因子验证的方式。
    chinvo
        56
    chinvo  
       2021-01-05 21:14:40 +08:00 via iPhone   ❤️ 2
    @ired #18 短信的安全性是低于 OTP 的,除非 2G 网完全关闭

    激活 OTP 前验证手机是因为单验证密码的安全性低于密码+手机的组合,而不是因为手机比 OTP 安全
    systemcall
        57
    systemcall  
       2021-01-05 21:22:30 +08:00
    @hshpy #52
    只要是线上办理的话,就有些办法。有人脸照片甚至录像,过活体检测没那么难。我去过一些网吧,那边的活体检测就有办法弄过去。而且活体检测所采集的视频,又怎么防止再泄漏呢?
    另外,如果是 2G 没有关的地区,降到 2G,有办法弄下来短信
    服务密码好像可以用身份证号重置。人脸+身份证,并不算难弄到。比起买那些东西花的钱,可能得到的利益多得多
    littiefish
        58
    littiefish  
       2021-01-05 21:26:20 +08:00 via iPhone
    国内只要你手机号
    xcstream
        59
    xcstream  
       2021-01-05 21:27:32 +08:00
    微信 pc 登陆要拿手机 就很烦
    beijiaoff
        60
    beijiaoff  
       2021-01-05 21:52:44 +08:00
    @hshpy 去年 9 月,北京移动,自己不小心锁了 sim 卡,让别人帮我打电话,没有本人就要来了 puk 码。
    2yuansvip
        61
    2yuansvip  
       2021-01-05 22:32:00 +08:00
    @yuhuike 还有像微博这种流氓网站,密码从来没记住过
    隔段时间就喊着改密码,改的时候之前用过的还不能用,
    avrillavigne
        62
    avrillavigne  
       2021-01-05 22:33:58 +08:00
    公司内网用
    hshpy
        63
    hshpy  
       2021-01-05 22:36:51 +08:00   ❤️ 1
    @systemcall 一般设置号锁屏密码和 pin 码手机泄露的几率就很低了,大部分情况都有时间办补卡,2G 网络,mac 网卡这些另说,如果碰上专业的就得争分夺秒了。


    @beijiaoff 同,家人把解 pin 当成解屏给锁了,跑沟通 100 要服务密码,号码十多年了一直没用过服务密码早忘了,没有就得回老家,回老家路上没流量用也不方便,最终在 zfb10086 查到 puk 码,一下子看到了曙光,解锁后马上重置了服务密码。
    Maskeney
        64
    Maskeney  
       2021-01-05 22:54:00 +08:00   ❤️ 1
    跟节省成本没关系,短信验证码反而会提高成本。但是网安法要求必须实名,业内惯用做法就是绑定手机号间接实名,并且用户也乐得不用记密码,很多用户想能记清楚六位数银行卡密码就已经实属不易,当然会给日后换手机、号卡等埋下深坑,可是那又怎样呢?现在有几个不去图一时方便的呢,更何况更多的情况下你根本没得选,只能用唯一的短信验证码登录
    Maskeney
        65
    Maskeney  
       2021-01-05 22:58:23 +08:00
    @ired #19 你说的这一堆不敢说完全错误吧,但是的确与事实有出入,特别是你说的这个所谓“Google 算法默认配置”,Many OTP technologies are patented. This makes standardization in this area more difficult, as each company tries to push its own technology. Standards do, however, exist – for example, RFC 1760 (S/KEY), RFC 2289 (OTP), RFC 4226 (HOTP) and RFC 6238 (TOTP).
    TigerK
        66
    TigerK  
       2021-01-05 23:01:47 +08:00   ❤️ 1
    短信跟随手机号码,即使手机更换了,也可以继续使用这种方式完成验证过程。
    而基于 app 的二次验证,因为 app 卸载或手机重置后会丢失验证信息,导致用户无法登录,而大部分(国内)用户可能不会保存恢复密钥,产生的问题及解决成本更高。
    shijingshijing
        67
    shijingshijing  
       2021-01-05 23:08:43 +08:00   ❤️ 1
    最早银行发的电子令牌是这种,其实挺好用的。
    然后是外企里面接入 VPN,验证权限什么的用的很多。



    我不太喜欢手机上的,我喜欢这种 RSA key
    dallaslu
        68
    dallaslu  
       2021-01-05 23:14:10 +08:00
    提供短信验证,还需要额外付出费用,国内厂商也不傻,为啥还要这么做呢?自然是有好处:

    1. 免安装 APP,门槛低
    2. 手机 OS 提供自动填写验证码功能,操作更快捷(此条存疑,因为防滥用还要填验证码)
    3. 确认手机号即相当于实名
    4. 每人号码有限,避免被薅羊毛
    5. 手机号可用于大数据分析、电话营销
    Luker
        69
    Luker  
       2021-01-06 00:08:40 +08:00 via iPhone
    国内啥都要你的手机号,还是不给不让用那种 就很离谱
    fline
        70
    fline  
       2021-01-06 00:54:07 +08:00
    国内的 2FA 都倾向于不让用户知道密钥是什么
    ily433664
        71
    ily433664  
       2021-01-06 09:05:13 +08:00
    国内都用手机号就挺离谱的,手机一丢别人啥都能上去
    heliotrope
        72
    heliotrope  
       2021-01-06 09:15:40 +08:00
    前几年都用动态口令
    以前做的项目 要用硬件二次认证 还有手机令牌 APP (和谷歌的那个身份验证器一样)
    只是现在不流行罢了
    不实用 都要一定的学习成本 要绑定
    还不如手机短信直接认证的方便
    zhaozs1
        73
    zhaozs1  
       2021-01-06 09:20:50 +08:00
    在服务器,云厂商用的都挺广泛的,私有云的动态口令也挺多的.我用的就挺多
    raptor
        74
    raptor  
       2021-01-06 09:40:19 +08:00
    你说的这叫 TOTP,只是 2FA 的一种,短信也是 2FA 的一种。
    ahhui
        75
    ahhui  
       2021-01-06 14:22:05 +08:00 via iPhone   ❤️ 1
    楼上那么多人迷信手机号是安全的,只是自己没遇到而产生的错觉。我有个手机号,多年前帮老妈办理的,号拿到后发现原主人绑的支付宝没解绑,联系支付宝客服,客服说帮通知原机主注销。过了一天来电话说联系不上原机主,让我用邮箱注册。然后我不甘心,登录淘宝,查看购物历史,找几个购物地址里的 3 个电话发了短信,要他们通知机主。可能是被当垃圾短信,没人理,没人回。当然我拿不到支付密码,但手机登录还是很容易的,隐私也能看到。而且最后多年后我还是成功把那个支付宝解绑掉了,把我这个手机号空出来了。至于怎么做到的,就不方便说了。但整件事告诉我的道理就是,手机号验证登录一点都不安全。
    xingyuc
        76
    xingyuc  
       2021-01-06 18:40:23 +08:00
    @crab 我设置了啊,但是大多数人没有设置的吧
    taobibi
        77
    taobibi  
       2021-01-07 13:33:59 +08:00
    @systemcall 活体检测所采集的视频不确定是不是有本地缓存,我们公司拍下来用户的身份证照片都是本地有缓存的。另外移动 APP 在线开卡的人类活体认证的视频,可以在手机里面找到本地视频(😓)
    justaname
        78
    justaname  
       174 天前
    @miaoever 防止手机失窃带来损失的做法是给手机卡上 PIN 码
    justaname
        79
    justaname  
       174 天前
    @systemcall 伪造身份去运营商线下补卡本身就是犯罪风险很高的事情了,除了网银这种产品几乎没人会冒这么大风险干这事,这比以前偷偷跑别人屋里偷现金还容易被抓吧
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4093 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 08:34 · PVG 16:34 · LAX 01:34 · JFK 04:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.